我的数字电压表程序——51单片机 ADC0804

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit L1=P2^2;
sbit L2=P2^1;
sbit L3=P2^0;
unsigned char getdata;
uchar code LED0[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void display();
void delay()
{
uint x;
for(x=400;x>0;x--);
}
void main()
{
ST=0;
OE=0;
TMOD=0X01;
TH0=(65536-50)/256;
TL0=(65536-50)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
ST=0;
_nop_();
_nop_();
ST=1;;
_nop_();
_nop_();
ST=0;
P0=0XFF;
while(!EOC);
OE=1;
getdata=P0;
display();
}
}
void timer0(void) interrupt 1 using 0 {
TH0=(65536-50)/256;
TL0=(65536-50)%256;
CLK^=1;
}
void display()
{
uint bai,shi,ge;
bai=(uint)(getdata*2/100);
shi=(uint)(getdata*2%100/10);
ge=(uint)(getdata*2*100%10);
L1=0;
P1=LED0[bai];
delay();
L1=1;
L2=0;
P1=LED[shi];
delay();
L2=1;
L3=0;
P1=LED[ge];
delay();
L3=1;
}。

相关文档
最新文档