




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PCF8591 芯片的应用 C 语言编程 1 PCF8591 芯片的使用芯片的使用 基于 PCF8591 的 AD DA 的程序设计 本设计是通过 PCF8591 芯片选择通道 1 将滑动 变阻器的电压记过 A D 转换 有单片机读回 并在数码管显示 比且有这个数据再经过 D A 转换成模拟电压驱动发光二极管 发光二极管的亮度与数码管显示的电压值相对 1 PCF8591 芯片 PCF8591 是单片 单电源低功耗 8 位 CMOS 数据采集器件 具有 4 个模拟输入 一个 输出和一个串行 I2C 总线接口 3 个地址引脚 A0 A1 和 A2 用于编程硬件地址 允许将最 多 8 个器件连接至 I2C 总线而不需要额外硬件 器件地址 控制和数据通道通过两线双向 I2C 总线传输 器件功能包括多路复用模拟量输入 片上跟踪和保持功能 8 位模数转换和 8 位数模转 换 最大转换速率取决于 I2C 总线的最高速率 我实现的 AD 转换是使用通道 0 将滑动变阻器两端的电压 AIN0 AIN3 模拟信号输入端 A0 A2 引脚地址端 VDD VSS 电源端 2 5 6V SDA SCL I2C 总线的数据线 时钟线 OSC 外部时钟输入端 内部时钟输出端 EXT 内部 外部时钟选择线 使用内部时钟时 EXT 接地 AGND 模拟信号地 AOUT D A 转换输出端 VREF 基准电源端 地址地址 I2C 总线系统中的每一片 PCF8591通过发送有效地址到该器件来激活 该地址包 括固定部分和可编程部分 可编程部分必须根据地址引脚 A0 A1和 A2来设置 在 I2C 总线 PCF8591 芯片的应用 C 语言编程 2 协议中地址必须是起始条件后作为第一个字节发送 地址字节的最后一位是用于设置以后数 据传输方向的读 写位 见下图 控制字 控制字 发送到 PCF8591的第二个字节将被存储在控制寄存器 用于控制器件功能 控 制寄存器的高板字节用于允许模拟输出 和将模拟输入编程为单端过查分输入 低半字节选 择一个有高板字节定义的模拟输入通道 如果自动增量标志置1 每次 A D 转换后通道号将 自动增加 如果自动增量模式是使用内部振荡器的应用中所需要的 那么控制字中模拟输出允许标 志应置1 这要求内部振荡器持续运行 因此要防止振荡器启动延时的转换错误结果 模拟 输出标志可以在其他时候复位以减少静态功耗 D A 转换 转换 发送给 PCF8591的第三个字节被存储到 DAC 数据寄存器 并使用片上 D A 转换器转换成对应的模拟电压 这个 D A 转换器由连接至外部参考电压的具有256个接头的 电阻分压电路和选择开关组成 模拟输出电压由自动清零单位增益放大器缓冲 这个缓冲放 大器可通过设置控制寄存器的模拟输出允许标志来开户或关闭 在激活状态 输出电压保持 到新的数据字节被发送 A D 转换 转换 A D 转换器采用逐次逼近转换技术 在 A D 转换周期将来临时片上 D A 抓 换器和高增益比较器 一个 A D 转换周期总是开始于发送一个有效读模式地址给 PCF8591 之后 A D 转换周期在应答时钟脉冲的后沿被触发 并在传输前一次转换结果时执行 一旦 一个转换周期被触发 所选通道的输入电压采样将保存到芯片被转换为对应的8为二进制码 2 74HC573芯片 74HC573为八位制3态非反转透明锁存器 具有高性能硅门 CMOS 器件 管脚图如下 PCF8591 芯片的应用 C 语言编程 3 1脚三态允许控制端低电平有效 D0 D7为数据输入端 Q0 Q7为数据输出端 3 74LS138芯片 74LS138为3线 8线译码器 引脚图如下 工作原理 工作原理 当一个选通端 E1 为高电平 另两个选通端 E2 和 E3 为低电平时 可将地址端 A0 A1 A2 的二进制编码在 Y0至 Y7对应的输出端以低电平译出 比如 A2A1A0 110时 则 Y6输出端输出低电平信号 利用 E1 E2和 E3可级联扩展成 24 线译码器 若外接一个反相器还可级联扩展成 32 线译码器 若将选通端中的一个作为数据输入端时 74LS138还可作数据分配器 可用在8086的译码电路中 扩展内存 引脚功能 引脚功能 A C 地址输入端 STA G1 选通端 STB G2A STC G2B 选通端 低电平有效 Y0 Y7 输出端 低电平有效 VCC 电源正 GND 地 PCF8591 芯片的应用 C 语言编程 4 4 电路图 5 源程序代码 include define uchar unsigned char define uint unsigned int define PCF8591 0 x90 PCF8591 地址 bit write 0 写 24c02 的标志 sbit SCL P1 5 串行时钟输入端 sbit SDA P3 6 串行数据输入端 PCF8591 芯片的应用 C 语言编程 5 sbit LS138A P2 0 138 译码器的 3 位 控制数码管的 sbit LS138B P2 1 sbit LS138C P2 2 uchar code table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 数显管字模 void delay 延时 4 5 个微秒 void delay 1ms uint z uint x y for x z x 0 x for y 110 y 0 y void start 开始信号 SDA 1 delay SCL 1 delay SDA 0 delay void stop 停止信号 SDA 0 delay SCL 1 delay SDA 1 delay void respons 应答 相当于一个智能的延时函数 uchar i SCL 1 delay while SDA 1 SCL 0 delay PCF8591 芯片的应用 C 语言编程 6 void init 初始化 SDA 1 delay SCL 1 delay uchar read byte uchar i k SCL 0 delay SDA 1 delay for i 0 i 8 i SCL 1 delay k k 1 SDA 先左移一位 再在最低位接受当前位 SCL 0 delay return k void write byte uchar date 写一字节数据 uchar i temp temp date for i 0 i 8 i temp temp 1 左移一位 移出的一位在 CY 中 SCL 0 只有在 scl 0 时 sda 能变化值 delay SDA CY delay SCL 1 delay SCL 0 delay PCF8591 芯片的应用 C 语言编程 7 SDA 1 delay void write add uchar control uchar date start write byte PCF8591 10010000 前四位固定 接下来三位全部被接地了 所以 都是 0 最后一位是写 所以为低电平 respons write byte control respons write byte date respons stop uchar read add uchar control uchar date start write byte PCF8591 respons write byte control respons start write byte PCF8591 1 把最后一位变成 1 读 respons date read byte stop return date uchar DAC uchar light start write byte PCF8591 respons write byte 0 x40 写入控制位 使能 DAC 输出 respons write byte light respons stop return 1 PCF8591 芯片的应用 C 语言编程 8 void display uchar ge uchar shi uchar bai P0 0 xff LS138A 1 第一位 LS138B 1 LS138C 1 P0 table ge delay 1ms 5 P0 0 xff LS138A 0 第二位 LS138B 1 LS138C 1 P0 table shi delay 1ms 5 P0 0 xff LS138A 1 第三位 LS138B 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年职业技能养老护理员参考题库含答案解析
- 2025年特种作业类危险化学品安全作业烷基化工艺作业-胺基化工艺作业参考题库含答案解析
- 2025年广东省深圳市南山区教科院附属学校中考二模物理试题含答案
- 2025年特种作业类危险化学品安全作业氧化工艺作业-胺基化工艺作业参考题库含答案解析
- 2025年平板显示自动化设备项目立项申请报告
- 2025年建筑工程类环境影响评价工程师相关法律法规-案例分析参考题库含答案解析
- 2023年广东省广州市中考化学真题+(解析版)
- 历年张掖市中考数学试卷
- 2025年化学气相沉积硒化锌(CVDZNSE)晶体项目规划申请报告范文
- 七年级竞赛数学试卷
- 净菜加工行业标准化实施方案
- 2025年上半年内蒙古检察系统招聘用制书记员1428人过渡易考易错模拟试题(共500题)试卷后附参考答案
- 《抗日战争的》课件
- 数据结构C语言版(第2版)严蔚敏人民邮电出版社课后习题答案
- 门窗拆除服务合同范例
- 葡萄胎课件教学课件
- 新人教版四年级英语上册教学计划
- 大数据时代到来的成因
- 趣味数学探索模板
- 教学常规管理要求
- 国家电网公司招聘高校毕业生应聘登记表
评论
0/150
提交评论