|
初學(xué)者搞不清楚ADC轉(zhuǎn)換步驟設(shè)置,我把每一步的控制字做了注釋,同時把初始數(shù)組和初始值做了優(yōu)化,希望能夠幫助到列位黑友
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (21.19 KB, 下載次數(shù): 39)
下載附件
2020-5-25 19:12 上傳
單片機源程序如下:
- #include <reg51.h>
- #define Data0 P0
- #define Data2 P2
- sbit rdad = P3^7; //IO口定義
- sbit wrad = P3^6;
- sbit csad = P3^4;
- sbit DIN = P0^7; //LED小數(shù)點控制
- unsigned char j,k,ad_data,t;
- unsigned char dis[4]={0x00,0x00,0x00,0x00}; //給dis[4]賦初值
- unsigned char code dis_7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- unsigned char code bit_scan[4]={0xfe,0xfd,0xfb,0xf7}; // 位掃描控制字,有些程序為0xf0,與邏輯不符
- /*************************************************
- 函數(shù)功能:軟件消抖延時(約11ms)
- **************************************************/
- void Delay(unsigned int t)
- {
- for(;t>0;t--)
- {
- ;
- }
- }
- /*************************************************
- 函數(shù)功能:四位數(shù)碼管掃描控制
- **************************************************/
- void scan()
- {
- char k;
- for(k=0;k<4;k++)
- {
- Data0 = dis_7[dis[k]]; //給P0口段碼賦初值[0000]
- if(k==1)
- {
- DIN=1; //點亮小數(shù)點位
- }
- Data2=bit_scan[k]; //P2口位碼動態(tài)掃描
- Delay(50);
- Data2=0xff; //全不亮(因為是共陰極接法)
- }
- }
- /*************************************************
- 函數(shù)功能:讀取ADC0804
- **************************************************/
- void adc0804()
- {
- P1 = 0xff; //讀取P1口之前先給其全寫1
- csad = 0; //選通ADC
- rdad = 0; //ADC讀使能
- ad_data = P1; //把P1口數(shù)據(jù)數(shù)據(jù)傳給ad_data
- rdad = 1; //ADC停止讀 (以上三行為ADC讀取P1口數(shù)據(jù))
- csad = 1; //關(guān)閉ADC片選ˋDC處于鎖存狀態(tài))
- wrad = 0; //啟動ADC輸出到單片機
- }
- /*************************************************
- 函數(shù)功能: 顯示數(shù)值計算, u=2.55+T/100, 2.55反映在ADC上為0x83
- **************************************************/
- void ad_compute()
- {
- unsigned char temp;
- ad_data=ad_data-0x83;
- temp=ad_data*2-4;
- if(temp<=200)
- {
- dis[3]=temp/100;
- dis[2]=temp/10-dis[3]*10;
- dis[1]=temp%10;
- dis[0]=t%5*2;
- }
- else
- {
- temp=256-temp;
- dis[3]=11;
- dis[2]=temp/10;
- dis[1]=temp%10;
- dis[0]=t%5*2;
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
51hei.png (6.3 KB, 下載次數(shù): 37)
下載附件
2020-5-25 19:12 上傳
所有資料51hei提供下載:
PT100電阻溫度計程序設(shè)計與仿真.zip
(203.14 KB, 下載次數(shù): 79)
2020-5-25 15:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|