小弟是剛剛做完單片機課程設計,由于一直在論壇下載大佬們的作品,今天我也回饋下大佬們,有需要的歡迎下載。另附注意:如果想做實物的話要另加分頻器,信號源借助單片機接到30管腳,因為ADC0809要有一個時鐘信號。上傳的資料是純仿真,不帶分頻電路。
1KGO59M6ZV842X@Y2R)FP(5.png (49.46 KB, 下載次數: 46)
下載附件
仿真結果
2017-12-27 15:35 上傳
%WP2]MSCA}L6F]JLI1J5O.png (49.05 KB, 下載次數: 29)
下載附件
仿真結果
2017-12-27 15:35 上傳
O51153(N`59AOTD~LJ@3]BO.png (49.09 KB, 下載次數: 46)
下載附件
仿真內容
2017-12-27 15:34 上傳
85BT8{ZVIT{KLTLGM$A($]8.png (44.21 KB, 下載次數: 35)
下載附件
程序
2017-12-27 15:34 上傳
`Q89Y1Y5U[DF7L0[4784A@V.png (16.24 KB, 下載次數: 46)
下載附件
仿真文件
2017-12-27 15:34 上傳
0.png (8.71 KB, 下載次數: 34)
下載附件
2017-12-27 16:55 上傳
單片機源程序如下:
- #include<reg51.h>
- unsigned char a[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陰極數碼管
- unsigned char b[4],c=0x01 ;
- sbit START = P2^4; //ad的轉換開始高電平使能
- sbit OE = P2^6; //高電平時轉化結果輸出
- sbit EOC = P2^5; //ad轉換開始為低電平,轉換結束為高電平
- sbit add_a=P2^2; //信道a
- sbit add_b=P2^1; //信道b
- sbit add_c=P2^0; //信道c
- void delay1ms(unsigned int count) //延時函數 1ms
- {
- unsigned int i,j;
- for(i=0;i<count;i++)
- for(j=0;j<120;j++);
- }
- void show() //數碼管顯示
- {
- unsigned int r;
- for(r=0;r<4;r++)
- {
- P1=(c<<r); //左移選哪一位數碼管
- P3=b[r]; //把要顯示的數據送到選中的 數碼管里
- if(r==1) //此句以后為顯示小數點
- P3=P3|0x80;
- delay1ms(5);
- }
- }
- void main(void)
- {
- unsigned int ch1;
- unsigned int addata=0;
- while(1)
- {
- add_a=0;
- add_b=0;
- add_c=0;//上三句模擬信號輸入口選擇IN0
- START=0; //后三句根據時序啟動ADC0809
- START=1;
- START=0;
- while(EOC==0)
- {
- OE=1;
- }
- addata=P0; //將0809轉換出的數據送到addata
- ch1=addata;
- ch1=ch1*3.92;
- OE=0;
- b[0]=a[ch1%10];
- b[1]=a[ch1/10%10];
- b[2]=a[ch1/100%10];
- b[3]=a[ch1/1000];
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
電壓表.zip
(62.35 KB, 下載次數: 93)
2017-12-27 15:36 上傳
點擊文件名下載附件
仿真文件和程序 下載積分: 黑幣 -5
|