数字电压表的设计_第1页
数字电压表的设计_第2页
数字电压表的设计_第3页
数字电压表的设计_第4页
数字电压表的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理课程结业报告题目(14):(数字电压表的设计)学号:031240634姓名:刘漫设计要求以单片机为核心,设计一个数字电压表。 采用中断方式,对2路。5V的模拟电压进行循环采集,采集的数据送LED显示,并 存入内存。超过界限时指示灯闪烁。100),其计算的数值为:addata 1002565Vaddata 1.96V设计原理以单片机为控制器, ADC080耿ADC器件的AD转换电路,设计要求的电压显示,是对ADC采集所得信号的进一 步处理。为得到可读的电压值,需根据 ADC的原理,对采集所得 的信号进行计算,并显示在 LED上。本项目中ADC0809的参考电压为+5V,根据定义,采集

2、所得的二进制信号 addata所指代的电压值 为:adata 广、, 5V256而若将其显示到小数点后两位,不考虑小数点的存在(将其乘以1.25 V和2.5 V作为O将小数点显示在第二位数码管上,即为实际的电压。本示例程序将两路输入的报警值,反映在二进制数字上,分别为 0x40和0x80。当AD结果超过这一数 值 时,将会出现二极管闪烁和蜂鸣器发声。三、设计电路图3.1 设计思路1、根据设计要求,选择 AT89C51单片机为核心控制器件。2、A/D转换采用ADC0809实现,输出端口与单片机的接口为P1 口,时钟等端口与 P2 口的低四位引脚相连。3、数字电压显示采用 LCD显示。3.2 系统

3、组成硬件电路设计由3个部分组成:A/D转换电路,AT89C51单片机系统,LCD显示系统。硬件电路设计框图如图所示模拟电压ADC0809AT89C51转换数字电压表系统硬件设计框图3.3原理图单片机数据显示器丁gUT5 VCC EM Vnc ix GNDVrtf- D1 D2期ST_TTadinj 与1旬N|至,W1M节 EH卜 i2_srr ih 后一. rm一 UXQSMHDf-rst vrPJ u RXL PJ.lP1电压达到报警值后Vl-S.eeeabnorrwlU2=5 * 0崎司匕门口甲司1m sim平i 14tM imUL比札 hiwtxroii-ml-kl3一 考 FM*1 l

4、 reJMj藤wnTZJ* IIPJJWlSAj3注 H.rna H JWTTF h jrrrPlJMTluvnr.JFDC htCbTi藤CUT中MTJMDMT&W 口 U皿 T处白工EUTTMJFOjHwrmMWEmdlexTxT达到最大测量范围值时六、Keil核心源代码#include reg51.h#include #define uchar unsigned char#define uint unsigned intuchar code normal尸normal;uchar code abnormal尸abnormal;sbit ST_ALE=P3A0; /START and AL

5、E both connect to P3.0sbit EOC=P3A1; /EOC connect to P3.1sbit OE=P3A2; /OE conect to P3.2sbit CLK=P3A3;sbit lcdrs=P2A4;sbit lcdrw=P2A5;sbit lcden=P2A6;sbit beep=P3A4;sbit led=P3A5;unsigned char CHANNEL; /AD channel variableuchar code num尸0123456789”;/*void delay(unsigned char time)unsigned char i,j;

6、for(i=time;i0;i-)for(j=250;j0;j-);*/void delay(uint x)uint i;for(;x0;x-)for(i=110;i0;i-);void write_com(uchar com )lcden = 0;lcdrs = 0;/ 表示命令选择P1 = com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcden = 0;lcdrs = 1;/n.1 write into the data;P1 = date;delay(5);lcden=1;delay(5);lcden=

7、0;void init()lcden=0;lcdrw=0;write_com(0x38);/lcd 显示模式, 16x02 ; 8 接口write_com(0x0c);/ 开显示,显示光标,光标闪烁write_com(0x06);/ 地址自加,字符不整屏移动;write_com(0x01);/ 清屏;void display(uchar channel)unsigned long temp;unsigned char DATA,count,digit4;unsigned int k=0,i=0;DATA=P0;/save AD datatemp=DATA;/the temporary vari

8、abletemp=temp*1000/51; /AD formula:D=A*5/255 digit0=temp/1000; /the thousands place digit1=temp%1000/100; /the hundreds place digit2=temp%1000%100/10; /the tens place digit3=temp%1000%100%10; /the ones placeif(channel=0)write_com(0x80);write_data(V);write_data(1);write_data(=);write_data(numdigit0);

9、write_data(.);write_data(numdigit1);write_data(numdigit2);write_data(numdigit3); write_com(0x80+0x08);if(DATA0x40) for(count=0;count8;count+) write_data(abnormalcount); beep=1; else for(count=0;count0x80)for(count=0;count8;count+)write_data(abnormalcount); led=1; elsefor(count=0;count8;count+)write_

10、data(normalcount); led=0; void main() CHANNEL=0xF8; /AD channel 0ST_ALE=0; /START and ALE defaultOE=0; /OE defaultTMOD=0x02; /T0 operate in mode 2 TH0=0xFF;/auto load valueTL0=0xFF;/default valueEA=1; /all interrupt enable ET0=1;/T0 interrupt enableTR0=1;/T0 runinit();beep=0;led=0;while(1)P2=0x07&CH

11、ANNEL; /choose AD channelST_ALE=1; /lock the AD channel addressST_ALE=0; /AD runwhile(EOC=0); /wait until AD overOE=1; /enable to transmit AD dataif(CHANNEL=0xF8)display(0); /view the AD result and diaplay LEDif(CHANNEL=0xF9)display(1); /view the AD result and diaplay LEDdelay(50); /delay to prepare fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论