標(biāo)題: 51單片機(jī)ADC0808直流數(shù)字電壓表系統(tǒng)Proteus仿真程序 [打印本頁]
作者: MIKEZJR 時間: 2020-12-11 19:43
標(biāo)題: 51單片機(jī)ADC0808直流數(shù)字電壓表系統(tǒng)Proteus仿真程序
基于51單片機(jī)的直流數(shù)字電壓表系統(tǒng)。
采用掌握LED動態(tài)顯示和A/D轉(zhuǎn)換接口的設(shè)計方法,制作直流數(shù)字電壓表。
用到了ADC0808芯片和四位七段LED顯示器。
將待顯示的數(shù)據(jù)拆解為3位十進(jìn)制數(shù),并分時的顯示在其相應(yīng)的數(shù)碼管上。一次完整的輸出過程:最低位數(shù)據(jù)傳送P0口—P2.3清零—軟件延時—P2.3置1—中間位數(shù)據(jù)送P0口—P2.2清零—軟件延時—P2.2置1—最高位數(shù)據(jù)送P0口—P2.1清零—軟件延時—P2.1置1,如此循環(huán)。
啟動信號與輸出使能信號(START、ALT、OE)均由軟件方式的正脈沖提供;結(jié)束信號(EOC)由P2.6的高電平提供。A/D轉(zhuǎn)換時鐘信號由T0定時方式2中斷提供(設(shè)系統(tǒng)的振蕩頻率為12MHz)。一次完整的A/D轉(zhuǎn)換過程:發(fā)出啟動信號—查詢EOC標(biāo)志—發(fā)出OE置1信號—讀取A/D結(jié)果—發(fā)出OE清零信號,如此無限循環(huán)。
仿真原理圖如下:
51hei.png (16.39 KB, 下載次數(shù): 54)
下載附件
2020-12-12 00:07 上傳
1.png (17.63 KB, 下載次數(shù): 71)
下載附件
2020-12-11 19:44 上傳
2.png (19.69 KB, 下載次數(shù): 66)
下載附件
2020-12-11 19:44 上傳
3.png (16.2 KB, 下載次數(shù): 66)
下載附件
2020-12-11 19:44 上傳
單片機(jī)C語言程序如下:
#include <reg51.h>
sbit _st= P2^5;
sbit _eoc=P2^6;
sbit _oe=P2^7;
sbit led0=P2^3;
sbit led1=P2^2;
sbit led2=P2^1;
sbit led3=P2^0;
unsigned char ad_result=0;
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //×ÖÄ££¬êééÏ158ò3
unsigned char table2[]={0x3e};
void delay(unsigned int time)
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void disp(void)
{
led3=0;
P0=table[ad_result/100];
delay(10);
led3=1;
led2=0;
P0=table[(ad_result/10)%10];
delay(10);
led2=1;
led1=0;
P0=table[(ad_result/1)%10];
delay(10);
led1=1;
led0=0;
P0=table2[0];
delay(10);
led0=1;
}
void main(void)
{
while(1)
{
_st=0;_st=1;_st=0;
while(!_eoc);
_oe=1;
ad_result=P1;
_oe=0;
disp();
}
}
附件下載(包含Protues工程和C語言程序):
text7.rar
(64.53 KB, 下載次數(shù): 50)
2020-12-11 19:45 上傳
點(diǎn)擊文件名下載附件
直流數(shù)字電壓表系統(tǒng)
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |