




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一路模拟电压检测器设计1、 任务与计划:任务主要内容: 采用AT89S51单片机的I/O口,选用PCF8591串行模数转换器,采用C语言编程,设计一路模拟电压检测器,显示班级和学号。 工作学习过程要求: 1.单片机并口共用、LED数码管动态显示及AD转换器知识和案例学习,画出电路图, 编写源程序。2.运行验证:加载程序运行演示。2、 方案与电路设计如图1-1数码管锁存器模块如图1-2PCF8591A/D转换模块如图1-3电路连接图如图1-4开发板模块连接模块接线表图1-1图1-2图1-3图1-4三、程序设计#include <reg52.h> #include “i2c.h”#in
2、clude “display.h”#define AddWr 0x90 /写数据地址 #define AddRd 0x91 /读数据地址extern bit ack;unsigned char ReadADC(unsigned char Chl); /输入参数 Chl 表示需要转换的通道,范围从0-3,返回值范围0-255bit WriteDAC(unsigned char dat);void DelayMs(unsigned char z)unsigned int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);main() unsigned char
3、num=0; unsigned char a=0; Init_Timer0();while (1) a=ReadADC(0); num=a*1.0*5/255*1000; /求各显示值 TempData0=DuanManum/100; /求百位 TempData1=DuanMa(num%100)/10; /求十位 TempData2=DuanMa(num%100)%10; /求个位 TempData3=DuanMa1; TempData4=DuanMa1; TempData5=0x40; TempData6=DuanMa1; TempData7=DuanMa9; DelayMs(100); u
4、nsigned char ReadADC(unsigned char Chl) unsigned char Val; Start_I2c(); /启动总线 SendByte(AddWr); /发送器件地址 if(ack=0)return(0); SendByte(0x40|Chl); /发送器件子地址 if(ack=0)return(0); Start_I2c(); SendByte(AddWr+1); if(ack=0)return(0); Val=RcvByte(); NoAck_I2c(); /发送非应答位 Stop_I2c(); /结束总线 return(Val); 4、 安装与调试如
5、图1-5电压中间值显示如图1-6电压最大值显示如图1-7电压最小值显示5、 小结 通过本次实训,我基本了解到T2C协议的基本内容,与各项功能,提高了对单片机总线传输的应用,加深了对PCH8591模数转换芯片的应用能力,加深了对AD转换的理解,同事提高了我的画图视图能力,电路连接能力,以及电路各元件的特性。三路模拟电压检测器设计1、 任务与计划任务主要内容: 采用AT89S51单片机的I/O口,选用PCF8591串行模数转换器,采用C语言编程,设计四路模拟电压检测器,显示班级和学号。 工作学习过程要求: 1.单片机并口共用、LED数码管动态显示及AD转换器知识和案例学习,画出电路图, 编写源程序
6、。 2.运行验证:加载程序运行演示2、 方案与电路设计如图1-1数码管锁存器模块如图1-2PCF8591A/D转换模块如图1-3电路连接图如图1-4开发板模块连接模块接线表 图1-1 图1-2图1-3图1-43、 程序设计#include <reg52.h> #include "i2c.h"#include "display.h"#define AddWr 0x90 /写数据地址 #define AddRd 0x91 /读数据地址extern bit ack;unsigned char ReadADC(unsigned char Chl);
7、/输入参数 Chl 表示需要转换的通道,范围从0-3,返回值范围0-255bit ReadADFlag;void DelayMs(unsigned char z)unsigned int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main() unsigned char i,num=0; Init_Timer0(); DelayMs(100);while (1) /主循环 if(ReadADFlag) ReadADFlag=0; for(i=0;i<5;i+) /连续读五次,输入通道后多读几次,取最后一次值,以便读出稳定 num=Re
8、adADC(0);num=num*5*10/256;/乘以10表示吧实际值扩大10倍,方便下一步处理TempData0=DuanManum/10|0x80; TempData1=DuanManum%10; for(i=0;i<5;i+) num=ReadADC(1);num=num*5*10/256;TempData2=DuanManum/10|0x80; TempData3=DuanManum%10;for(i=0;i<5;i+) num=ReadADC(2);num=num*5*10/256;TempData4=DuanManum/10|0x80; TempData5=Duan
9、Manum%10;TempData6=DuanMa1; /显示学号 TempData7=DuanMa9; unsigned char ReadADC(unsigned char Chl) unsigned char Val; Start_I2c(); /启动总线 SendByte(AddWr); /发送器件地址 if(ack=0)return(0); SendByte(0x40|Chl); /发送器件子地址 if(ack=0)return(0); Start_I2c(); SendByte(AddWr+1); if(ack=0)return(0); Val=RcvByte(); NoAck_I
10、2c(); /发送非应位 Stop_I2c(); /结束总线 return(Val); 4、 安装与调试如图1-5电压最大值显示如图1-6电压中间值显示如图1-7电压最小值显示 图1-5图1-6图1-7五、小结 通过本次实训,基本掌握PCF8591模数转换的原理与用法,复习并巩固了74HC573锁存器,还有8位共阴极的数码管的应用,掌握了延时函数的改写,以及程序编译问题的分析与解决,加深了对单片机定时器与计数器的掌握,提高了对电路连接原理的分析能力。DA转换器动态显示应用设计 一、任务与计划任务主要内容:采用AT89S51单片机的I/O口,选用PCF8591串行数模转换器,采用C语言编程,设计
11、DA数模转换器,显示班级和学号。 工作学习过程要求: 1.单片机并口共用、LED数码管动态显示及DA转换器知识和案例学习,画出电路图, 编写源程序。 2.运行验证:加载程序运行演示。2、 方案与电路设计如图1-1数码管锁存器模块如图1-2PCF8591A/D转换模块如图1-3电路连接图如图1-4开发板模块连接模块接线表 图1-1 图1-2图1-3图1-43、 程序设计#include <reg52.h> #include "i2c.h"#include "display.h"#define AddWr 0x90 /写数据地址 #define
12、AddRd 0x91 /读数据地址extern bit ack;unsigned char ReadADC(unsigned char Chl);bit WriteDAC(unsigned char dat);void delay(unsigned char z)unsigned int x ,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main() unsigned char num=0; Init_Timer0();while (1) /主循环 WriteDAC(num); num+;/从0255反复循环累加 TempData0=DuanMa
13、num/100; /分离百位 TempData1=DuanMa(num%100)/10;/分离十位 TempData2=DuanMa(num%100)%10; /分离个位 TempData3=0x40; TempData4=DuanMa1;/显示班级学号 TempData5=DuanMa1; TempData6=DuanMa1; TempData7=DuanMa9; delay(100); bit WriteDAC(unsigned char dat) Start_I2c(); /启动总线 SendByte(AddWr); /发送器件地址 if(ack=0)return(0); SendByt
14、e(0x40); /发送器件子地址 if(ack=0)return(0); SendByte(dat); /发送数据 if(ack=0)return(0); Stop_I2c(); 四、安装与调试如图1-5数码管显示数字信号LED灯亮度观察模拟信号如图1-6数码管一开始LED亮度 图1-5图1-65、 小结通过本次实训我了解了从模数转换到数模转换的的跳变,掌握了A/D转换的芯片基本应用,对PCF8591芯片的更加深入的掌握,复习了锁存器的应用,夯实了以后发展的基础,掌握了子函数的调用,以及数组的应用,掌握了I2C总线协议的应用。 液晶显示数字电压表设计 一、任务与计划任务主要内容: 采用AT8
15、9S51单片机的I/O口,选用PCF8591串行模数转换器,采用C语言编程,设计数字电压表,采用液晶显示,显示电压、班级和学号。 工作学习过程要求: 1.单片机并口共用、液晶显示及AD转换器知识和案例学习,画出电路图, 编写源程序。 2.运行验证:加载程序运行演示。2、 方案与电路设计如图1-1液晶显示模块如图1-2PCF8591A/D转换模块如图1-3电路连接图如图1-4开发板模块连接模块接线表图1-1图1-2图1-3图1-43、 程序设计#include <reg52.h> #include "i2c.h"#include "1602.h"
16、;#include <stdio.h>#define AddWr 0x90 /写数据地址 #define AddRd 0x91 /读数据地址extern bit ack;unsigned char ReadADC(unsigned char Chl);bit WriteDAC(unsigned char dat);void DelayMs(unsigned char z);void DelayMs(unsigned char z)unsigned int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main() unsigned
17、char num=0,i; unsigned char temp7;/定义显示区域临时存储数组 float Voltage; /定义浮点变量 LCD_Init(); /初始化液晶 DelayMs(20); /延时有助于稳定 LCD_Clear(); /清屏while (1) /主循环 for(i=0;i<5;i+)/连续读5次,取最后一次,以便读取稳定值 num=ReadADC(0); /读取第1路电压值,范围是0-255 Voltage=(float)num*5/256; /根据参考电源VREF算出时间电压,float是强制转换符号,用于将结果转换成浮点型 sprintf(temp,&
18、quot;%4.3fV",Voltage);/格式输出电压值,%4.3f 表示浮点输出,共4位数,小数点后3位 LCD_Write_String(0,0,temp); LCD_Write_String(7,0,"1101-19 LiuPP"); DelayMs(200); unsigned char ReadADC(unsigned char Chl) unsigned char Val; Start_I2c(); /启动总线 SendByte(AddWr); /发送器件地址 if(ack=0)return(0); SendByte(0x40|Chl); /发送器件子地址 if(ack=0)return(0); Start_I2c();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供地合同标准文本
- 健身会所转让合同范例
- 农村土地股合同样本
- 完善仓库内部沟通的工作机制计划
- 个人土方回填合同样本
- 与演员合同标准文本
- 农村房子盖瓦合同样本
- 幼儿园小班的社会实践教育工作计划
- 农村商铺中介合同样本
- 出售车库合同标准文本
- 定额〔2025〕20号 定额管理总站关于发布2024年电力建设工程装置性材料综合信息价的通知
- 养老年护理员职业道德规范
- 2025年-浙江建筑安全员A证考试题库附答案
- 动物生理学第十二章-泌乳
- 金属矿床地下开采-全知识点
- 血站服务礼仪培训
- 八下历史第三单元大单元教学设计
- 本科毕业论文完整范文(满足查重要求)城市社区管理中存在的问题与对策研究
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)解读
- 《明清家居家具设计》课件
- 【MOOC】《大学生计算与信息化素养》(北京林业大学)章节作业中国大学慕课MOOC答案
评论
0/150
提交评论