|
51单片机ADC0809 数码管 显示光照强度 源码及仿真文件请自行下载
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源码如下:
- #include <reg52.h>
- #include<intrins.h>
- #include<absacc.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define COM0808 XBYTE[0XEFF8]
- char code dis_code[]={0xc0,0xf9,0xa4,0xb0,
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0xff};
- char find_code[4];
- char seg_wei[]={0x01,0x02,0x04,0x08};
- //引脚定义
- sbit EOC=P3^3;
- //延时函数
- void Delay1ms(uint count)
- {
- uint j;
- while(count--!=0)
- {
- for(j=0;j<80;j++);
- }
- }
- //数码管显示处理
- void disp()
- {
- uchar i;
- for(i=0;i<4;i++)
- {
- P2=seg_wei[i];
- P1=dis_code[find_code[i]];
- Delay1ms(1);
- }
- }
- int ad0808()
- {
- int m;
- COM0808=0X00;
- do{}while(!EOC);
- m=COM0808;
- return(m);
- }
- void main()
- {
- while(1)
- {
- int X;
- X=ad0808();
- X=X*20;
- find_code[0]=X%1000%100%10;
- find_code[1]=X%1000%100/10;
- find_code[2]=X%1000/100;
- find_code[3]=X/1000;
- disp();
- }
- }
复制代码
|
评分
-
查看全部评分
|