STC12C5A60S2 AD電壓高級采集_第1頁
STC12C5A60S2 AD電壓高級采集_第2頁
STC12C5A60S2 AD電壓高級采集_第3頁
STC12C5A60S2 AD電壓高級采集_第4頁
STC12C5A60S2 AD電壓高級采集_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、STC12C5A60S2-Afe壓高級采集/*使用STC單片機內(nèi)置10AD僅用高八位,分辨 率為 5mV)做的簡易電壓表 */*本程序AD部分使用了深圳宏晶公司官方 AD轉(zhuǎn) 換示范程序修改,特此鳴謝 */*使用STC12C5A60S2T單片機,12M外部晶振,Keil V3編譯通過,AD轉(zhuǎn)換腳定義為P1.1, */*使用芯片本身5V電源為基準,在深圳精創(chuàng)電 子的51/AVR開發(fā)板實現(xiàn)。8位共陽LED字符碼*/*接P0 口,位線接在P2 口,均為低電平顯示, 使用右4位。本顯示程序摘自網(wǎng)上,一并感謝*/by/*-2010.07.04writtenaut opccopy (mo on 1.c n)

2、*/#in clude <i ntri ns.H>#i nclude <stc12c5a60s2.H> /STC的新頭文件個位十位百位千位 小數(shù)點sbit P20 = P2 八 0; / sbit P21 = P2 八 1; / sbit P22 = P2 八 2; / sbit P23 = P2 八 3; / sbit P07 = P0 八 7; II typ edef un sig ned char INT8U;typ edef un sig ned int INT16U;#define AD_SPEED0x40 /0100,00000140個時鐘周期轉(zhuǎn)換一次/延時

3、INT8U get_AD_result(INT8U cha nn el); void delay(INT8U delay_time); / 函數(shù)int DATA_LED11=0X3F,/*0*/0X06,/*1*/0X5B,/*2*/0X4F,/*3*/0X66,/*4*/0X6D,/*5*/0X7D,/*6*/0X07,/*7*/0X7F,/*8*/0X6F,/*9*/OxFF數(shù)碼管顯示及數(shù)據(jù)處理;void led(i nt n) /程序P0 = 0xFF;P0 = DATA_LEDn % 10; / 個位 P20 = 0;delay(1);P20 = 1;P0 = 0xFF;P0 = DA

4、TA_LEDn / 10 % 10; / P21 = 0;delay(1);P21 = 1;百位PO = OxFF;PO = DATA_LEDn / 100 % 10; /P22 = 0;delay(1);P22 = 1;P0 = 0xFF;P0 = DATA_LEDn / 1000 % 10; /位顯示小數(shù)點P23 = 0;P07=0; /delay(1);P23 = 1;/INT8U get_AD_result(INT8U轉(zhuǎn)換部分INT8U AD_fi ni shed=0;儲A/D轉(zhuǎn)換標志ADC RES = 0;/cha nn el)/AD高八/位ADC_RESL = 0;位(本例未使用)

5、0x07;cha nnel&=0000,0111 清 0 高 5 位ADC_CONTR = AD_S PEED;cha nn el;/_nop_();選擇ADC_CONTR|=A/D當前通道/0x80;_nop_();啟動ADC_CONTR|=/A/D電源delay(1);輸入電壓達到穩(wěn)定0x08;啟動A/D轉(zhuǎn)換,ADC_CONTR/0000,1000 令 ADCS = 1,/AD_fi nished = 0;等待while (AD_fi ni shed =0 )A/D轉(zhuǎn)換結(jié)束AD_fi nished = (ADC_CONTR & 0x10);/0001,0000 測試A/D轉(zhuǎn)

6、換結(jié)束否0xE7;關(guān)閉A/D轉(zhuǎn)換,返/道選擇ADC_CONTR&=/1111,0111 清 ADC_FLAG位,return (ADC_RES);/回A/D高8位轉(zhuǎn)換結(jié)果void delay(INT8U delay_time) 時函數(shù)INT16U n;while(delay_time-)n = 100; while(-n);/ void ADzhua nhua n1(INT8U zh)INT16U ADC_result;0x02;0000,0010,AUXR1將P1.1置成模擬口&=0x04;令ADRJ=0 : 10 位A/D轉(zhuǎn)換結(jié)P1ASF/0000,0100,果的高8位放在

7、ADC_RE涪存器,低2位放在0x80;ADC_RES寄存器ADC_CONTR|=/1000,0000 打開A/D轉(zhuǎn)換電源while(1)ADC resultget_AD_result(zh);/P1.1 為 A/D 當前通道, 測量并發(fā)送結(jié)果led(ADC_result*19.53); /顯示數(shù)值。19.53是AD轉(zhuǎn)換系數(shù):原公式是ADC result/256*5V*1000 void ADzhua nhua n2(INT8U zh)INT16U ADC_result;0x04;/0000,0010,AUXR1/0000,0100,將P1.1置成模擬口&=P1ASF0x04;令ADR

8、J=0 : 10 位A/D轉(zhuǎn)換結(jié)果的高8位放在ADC_RE騎存器,低2位放在ADC_RES寄存器0x80;ADC_CONTR|=/1000,0000 打開A/D轉(zhuǎn)換電源while(1)ADC resultget_AD_result(zh);/P1.1 為 A/D 當前通道, 測量并發(fā)送結(jié)果led(ADC_result*19.53); /顯示數(shù)值。19.53是AD轉(zhuǎn)換系數(shù):原公式是ADC result/256*5V*1000void ADzhua nhua n3(INT8U zh)INT16U ADC_result;0x08;/0000,0010,AUXR1/0000,0100,將P1.1置成模

9、擬口&=P1ASF0x04;令ADRJ=0 : 10 位A/D轉(zhuǎn)換結(jié) 果的高8位放在ADC_RE騎存器,低2位放在ADC_RES寄存器0x80;ADC_CONTR|=/1000,0000 打開A/D轉(zhuǎn)換電源while(1)為A/D當前通道,ADC resultget_AD_result(zh);/P1.1測量并發(fā)送結(jié)果led(ADC_result*19.53); /顯示數(shù)值。19.53是AD轉(zhuǎn)換系數(shù):原公式是ADC result/256*5V*1000void ADzhua nhua n4 (INT8U zh)INT16U ADC_result;P1ASF0000,0010,AUXR1

10、將P1.1置成模擬口&=0x04;令ADRJ=0 : 10 位A/D轉(zhuǎn)換結(jié)0x10;0000,0100,果的高8位放在ADC_RE涪存器,低2位放在ADC_RES寄存器0x80;ADC_CONTR|=1000,0000 打開A/D轉(zhuǎn)換電源 while(1) ADC_result get_AD_result(zh);/P1.1 為 A/D 當前通道, 測量并發(fā)送結(jié)果led(ADC_result*19.53); /顯示數(shù)值。19.53是AD轉(zhuǎn)換系數(shù):原公式是ADC result/256*5V*1000/匚二r口顯示void time()TMOD|=0x02;TH0=0xb6;TL0=0xb

11、6;TR0=1;void uart(void)SCON=0x50;TMOD|=0x20;TH1= 0xfd;TL1= 0xfd;TR1=1;un sig ned char getc(void) while(!RI);RI=0;return(SBUF); void pu tc( un sig ned char ch) SBUF=ch;while(!TI);TI=0;/ void mai n()INT16U ADC_result,k;uart();time();/ ADzhua nhua n1(1);/ ADzhua nhua n2(2);/ ADzhua nhua n3(3);P1ASF=0x10;0000,0010,將P1.1置成模擬匚AUXR1&=0x04;/0000,0100,令 ADRJ=0 : 10 位A/D轉(zhuǎn)換結(jié)果的高8位放在ADC RE騎存器,低2位放在ADC_RES寄存器ADC_CONTR|=0x80;/1000,0000打開A/D轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論