单片机ADC0809+数码管+程序+PCB.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机ADC0809数码管程序PCB

程序:#includeat89x51.hsbit a1=P3^2;sbit b1=P3^1;sbit c1=P3^0;sbitclk=P3^3;sbitst=P3^6;sbiteoc=P3^5;sbitoe=P3^4; sbit key=P3^7; unsigned char code dispbitcode[9] = {0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xff}; //数码管位分布(自左至右)unsigned char code dispcode[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40,0x77,0x7C,0x39,0x5E,0x79,0x71}; //数码管字段0,1,2,3,4,5,6,7,8,9 unsigned long intad_data=0;unsigned long int DATA=0;unsigned long intddata=0;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 = 0xFF; //消除重影P0 = dispcode[dat%10]; P2 = dispbitcode[i];dat /= 10;delay(255);}} voidtime_init(){TMOD=0x12; TH0=6; TL0=6;TR0=1; ET0=1;TH1=(65536-1000)/256; TL1=(65536-1000)%256;TR1=1; ET1=1;EA=1;}void adc0809_init(){st=0;st=1;st=0;oe=0; }unsigned long intadc_data(unsigned char id){switch(id){case 0:a1=0;b1=0;c1=0;break;case 1:a1=1;b1=0;c1=0;break;case 2:a1=0;b1=1;c1=0;break;case 3:a1=1;b1=1;c1=0;break;case 4:a1=0;b1=0;c1=1;break;case 5:a1=1;b1=0;c1=1;break;case 6:a1=0;b1=1;c1=1;break;case 7:a1=1;b1=1;c1=1;break;}while(!eoc);oe=1;DATA=P1; oe=0;st=0;st=1;st=0;oe=0;ad_data=DATA;ad_data*=500;ad_data/=255;ad_data*=5; return(ad_data);}void main(){unsigned char i=0;unsigned char aa=0;time_init();adc0809_init();while(1){if(key==0) {delay(10000);if(key==0){count++; if(count=8)count=0;} } switch(count){case 0:ddata=adc_data(0);break;case 1:ddata=adc_data(1);break;case 2:ddata=adc_data(2);break;case 3:ddata=adc_data(3);break;case 4:ddata=adc_data(4);break;case 5:ddata=adc_data(5);break;case 6:ddata=adc_data(6);break;case 7:ddata=adc_data(7);break;} dispbuf[1]=count;dispbuf[2]=10;dispbuf[3]=10;dispbuf[4]=ddata%10;dispbuf[5]=ddata/10%10;dispbuf[6]=ddata/100%10;dispbuf[7]=ddata/1000%10; }}void t0() interrupt 1{clk=~clk; }void t1() interrupt 3{TH1=(65536-1000)/256;TL1=(65536-1000)%256; dispcount+

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档