微控制器AduC812通用數(shù)據(jù)端口介紹及P1口的應用
由于ADC0作為心電信號的模擬輸入,選擇ADCCON1可使ADC正常工作,ADC時鐘分頻比為2。由于LM324輸出阻抗遠遠小于8kΩ,所以選擇ADC采集時鐘1,得到ADCCON1=50H。選擇通道0,可利用ADCCON2的默認值00H。本文引用地址:http://2s4d.com/article/172008.htm
由于ADC1作為電源監(jiān)測的模擬輸入,選擇ADCCON1可使ADC正常工作,ADC時鐘分頻比為2。由于電源阻抗遠遠小于8kΩ,所以選擇ADC采集時鐘1,得到ADCCON1=50H。選擇通道1,ADCCON2=01H。
在下面程序中,堆棧設置在60H,利用定時器0中斷后執(zhí)行采樣程序,選取采樣頻率為200Hz,因而定時器0的定時值為TL0=3CH,TH0=F6H。由于啟動單個轉換周期完成一次A/D轉換需要16×2+1=33個AduC812主時鐘,程序中一次延時循環(huán)為2個主時鐘,因而在采樣程序中利用R0=16作為單個轉換周期,延時36個主時鐘,以完成一次采樣后的A/D轉換。ADCDATAL為A/D轉換低8位,ADCDATAH為A/D轉換高4位;R1、R2用于存放12位A/D轉換結果,設置00H位作為采樣結束標志位。
2.2按鍵控制
當不需要使用AduC812的ADC的全部8個通道時,剩余的ADC輸入可用作數(shù)字輸入端。例如,我們將P1口中的幾位用于按鍵控制的輸入端口,此時要先將0寫至端口值。需要注意的是,AduC812的P1口用作按鍵時是高電平有效,在沒有按鍵輸入時,P1口應保持低電平,因此在用作按鍵的P1口應加下拉電阻(即P1.3~P1.7在沒有輸入時為低電平),阻值一般為幾千歐。在前面的例子中,按鍵分別連接到P1.3~P1.7,它們通過2kΩ的下拉電阻接至地;插座的第6腳接高電平VCC,用于觸發(fā)按鍵。當有鍵按下時,P1.3~P1.7中的相應位接至高電平VCC,這樣就給出了按鍵信息。通過上面的程序就可以進行判斷并執(zhí)行相應的按鍵功能,并且采用防抖方法來提高可靠性,具體程序如下:
評論