程序ADC0809模拟检测电压数码管显示.doc_第1页
程序ADC0809模拟检测电压数码管显示.doc_第2页
程序ADC0809模拟检测电压数码管显示.doc_第3页
全文预览已结束

下载本文档

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

文档简介

程序/*- 名称:ADC0808模拟检测电压数码管显示 编写:人言者007 日期:2013.5.20 说明:ADC0808的其中两路去检测电压,电压范围05V, 电压用电阻器调节模拟出来。检测到模拟电压转化为数字量后转变为16进制在数码管中显示,每两位数码管显示一路电压的数字量,声明:显示的数不是实际电压,只是与电压呈现性关系。-*/#include#define uchar unsigned char#define uint unsigned intuchar temp,dianya0,dianya1;uchar code LED=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /共阴数码管断码09afuchar disbuff4; /显示缓冲器(数组)sbit clk=P33; / 芯sbit EOC=P32; / 片sbit OE=P30; / 引sbit start=P31; / 脚sbit adress_A=P34; / 定 / 义void delay(uint z)while(z-);void timer0init()TMOD=0x01; /设置定时器0为工作方式1TH0=(65536-1)/256; /定时器0高八位赋值 1us中断一次 TL0=(65536-1)%256; /定时器0低八位赋值 EA=1; /开总中断ET0=1; /开定时器0中断TR0=1; /启动定时器0 void display()/disbuff0=dianya%10; /个位/disbuff1=dianya/10%10; /十/disbuff2=dianya/100%10; /百/disbuff3=dianya/1000; / 千P2=0xfe; /打开第一个数码管P0=LEDdisbuff3; /给数码管送数据(段码)delay(60); /延时,防止数码管重影P2=0xfd; / 以P0=LEDdisbuff2; / 下delay(60); / 功P2=0xfb; / 能P0=LEDdisbuff1; / 类delay(60); / 同P2=0xf7; P0=LEDdisbuff0;delay(60);void main() timer0init();/定时器0初始化 while(1) adress_A=0;/打开通道0 delay(10);/延时等待芯片反应 start=1; /开始ADC转换/ while(!EOC); /等待转换完成标志(未知原因,此语句导致数码管不能显示) OE=1; /输出允许 P1=0XFF;/输入前P1口需置1 dianya0=P1; /AD转换完成,读取值 OE=0;/关闭输出 start=0;/关闭AD转换 disbuff0=dianya0%16;/将二进制数据转换为16进制低位 disbuff1=dianya0/16;/将二进制数据转换为16进制高位 delay(10);/延时等待芯片反应 adress_A=1;/打开通道1 delay(10); start=1; OE=1; / while(!EOC); P1=0XFF; dianya1=P1; OE=0; start=0; disbuff2=dianya1%16; disbuff3=dianya1/16; display(); /显示 void timer0() interrupt 1TH0=

温馨提示

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

评论

0/150

提交评论