课题:数字电压表

课题:数字电压表

ID:15102887

大小:548.00 KB

页数:13页

时间:2018-08-01

课题:数字电压表_第1页
课题:数字电压表_第2页
课题:数字电压表_第3页
课题:数字电压表_第4页
课题:数字电压表_第5页
资源描述:

《课题:数字电压表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字电压表一.设计要求功能:简易数字电压表可以测量0—5V范围内的电压输入值,并在3位LED数码管上轮流显示。主要器件:51系列单片机、AD转换器、LED数码显示器1·1方案分析:按系统实现要求,决定控制系统采用STC89C52单片机,A/D转换采用ADC0804,数码显示管采用三位共阳极数码管。数字电压表系统框图如图(1)所示。采用ADC0804转换器将采集的模拟信号转化为数字信号,并将数字信号送入到单片机,利用单片机对数码管进行位选和段选,,从而实现数字电压的显示。ADC0804STC89C52三位数码显示器图

2、(1)1·1·1STC89C52单片机及其最小系统12数字电压表STC89C52是深圳宏晶科技有限公司推出的新一代单片机,具有速度快、功耗低、加密性强、可靠性高、抗干扰能力强等优点,指令代码与传统的8051单片机完全兼容。其内部有8KB的FlashROM(可擦写10万次以上),512字节的RAM,3个定时/计数器,8个中断源,4个中断优先级,一个UART(通用异步串行口),支持ISP(在系统可编程)和IAP(在应用可编程),工作电压范围为3.8V~5.5V。最小系统是单片机运行所必不可少的电路。STC89C52单片

3、机的最小系统电路和传统的8051单片机一样,主要由复位电路、晶振电路和电源电路三部分组成,如图1所示。复位电路中电解电容C一般取10μF,电阻R取10kΩ;晶振电路中电容C1、C2一般取30pF。另外,第31引脚()如果悬空或接至VCC,则上电复位后单片机从内部开始执行程序;如果接地,则上电复位后单片机从外部开始执行程序。12数字电压表1·1·2ADC0804ADC0804主要技术指标:12数字电压表ADC0804典型应用接法ADC0804控制时序图12数字电压表1·2STC89C52单片机接口分配电路设计如图(2

4、)所示图(2)12数字电压表ADC0804转换设计如图(3)图(3)数码管设计电路如图(4)12数字电压表图(4)晶振的电路设计如图(5)12数字电压表图(5)Protel原理图12数字电压表Protues设计仿真图二、数字电压表软件流程图(6)12数字电压表2·1数字电压表源程序#include#defineucharunsignedchar#defineuintunsignedintsbitCSad=P3^3;//定义AD片选信号sbitRDad=P3^4;//定义AD读信号sbitWRad=

5、P3^5;//定义AD写信号sbitdian=P2^7;//定义小数点位ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9数码管编码voiddelay(uintus)//延时函数,us级!{while(us--);}voidADC0804(){ucharbyte,ge,dp1,dp2;floatvoltage,decimal;ucharintvolt,intvoltage;//因为uch

6、ar的值最大是128,所以可以定义为unsignedchar型CSad=0;//一直选通ADC0804WRad=0;//启动ADCWRad=1;//将写信号置高,为下次产生下降沿准备delay(500);//延时1000us,等待AD转换结束(转换速度:1/8770s~~1/9708s)(114us~103us)RDad=0;//rd=0,即下降沿,将P0口数据释放//delay(100);byte=P0;//将读取的数值赋给byte12数字电压表RDad=1;//将读信号置高,为了能使下次可以产生下降沿volta

7、ge=byte;voltage=voltage*0.0195;//将二进制字节数据变成实际电压值:5/256=0.0195(最大测5.00V)!!!Vref=5Vintvolt=voltage;//取整数部分intvoltage=intvolt;//将整数部分赋给intvoltagedecimal=voltage-intvoltage;//取小数部分decimal=decimal*100;//将小数部分变成整数(只取小数的前两位)ge=intvolt%10;//分离整数部分,(对10求余!)intvolt=deci

8、mal;//将变化后的小数部分赋给intvoltdp1=intvolt/10;//分离第一位小数部分,(对10求模!)dp2=intvolt%10;//分离第二位小数部分,(对10求余!)}voiddisplay(){uchari,ge,dp1,dp2;P1=0;//先关闭所有的数码管for(i=100;i>0;i--){P1=0xfe;P2=table[g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。