文档详情

单片机ADC0809数码管程序PCB.doc

发布:2019-01-17约2.73千字共6页下载文档
文本预览下载声明
12 AIWl J 3 2 — ?SIXTHS 12 5 ■ INS 3 INS 4 IN7 5 SI 6 BX 7 PB 8 (E 9 ax )0 11 n 12 B P1I 14 PD.a?5nn ro.KADIl R).aAD3 叭曲 HMMMi PMAI 用 R)AA]? PKtAS J Pig I PL3A1Q PIX/MH P2.4/M3 PWAJ3I P2.1/M3 L ⑹2 ixx J R INI J f 1 LJ 沐J si S2 2 25① A弘 27 S? 5F^r m n A 10 F 9 S2 8 7 B 6 S4 5 G 4 C 3H H o ■ D 1 E 29 IW INI IN IN7 SD\RT BX am CE a xxx \W1-) \咖?丿 OH7 \in 旳辰 J E2 im J % J I K;I2 程序: #includeat89x51.h sbit al=P3A2; sbit bl=P3Al; sbit cl=P3A0; sbit clk=P3A3; sbit st=P3A6; sbit eoc=P3A5; sbit oe=P3A4; sbit key=P3A7; unsigned char code dispbitcode[9] = { 0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xff}; 〃数码管位分布(自左至右) unsigned char code dispcode[] = { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x70,0x07,0x7^0x6^0x40,0x77,0x7C,0x39,0x5E,0x79,0x71}; // 数码管字段 04,2,3,4,5,6,7,9 unsigned long int ad_data=0; unsigned long int DATA=0; unsigned long int ddata=O; unsigned char dispbuf[8]={0}; unsigned char dispcount=0,count=0; void delay(unsigned int Ms) { unsigned char i; for(; Ms != 0; Ms-) { for(i = 1; i != 0; i-); } } void Display}unsigned long dat) { unsigned char i; for(i = 0; i != 8; i++) { P2 = OxFF; 〃消除重影 P0 = dispcode[dat%10]; P2 = dispbitcode[i]; dat /= 10; delay(255); } } void time」nit() { TMOD=Oxl2; TH0=6; TL0=6; TRO=1; ETO=1; THl=(65536-1000)/256; TLl=(65536-1000)%256; TR1=1; ET1=1; EA=1; } void adc0809_init() { st=O; st=l; st=O; oe=0; unsigned long int adc_data(unsigned char id) switch(id) j case 0: al=0;bl=0;cl=0;break; case 1: al=l;bl=O;cl=O;break; case 2: al=O;bl=l;cl=O;break; case 3: al=l;bl=l;cl=O;break; case 4: al=O;bl=O;cl=l;break; case 5: al=l;bl=O;cl=l;break; case 6: al=O;bl=l;cl=l;break; case 7: } while(!eo oe=l; al=l;bl=l;cl=l;break; ); DATA=P1; oe=0; st=O; st=l; st=O; oe=0; ad data=DATA; ad_data*=500; ad_data/=255; ad_data*=5; retur n( ad_data); } void main() { unsigned char i=0; unsigned char aa=0; time」nit(); adc0809_init(); while(l) { if(key==O) { delay(lOOOO); if(key==O) count++; if(count=8)co un t=O; } } data(O);break; data(l);break; data(2);break; data(3);break; dat
显示全部
相似文档