微控制器AduC812通用数据端口介绍及P1口的应用
由于ADC0作为心电信号的模拟输入,选择ADCCON1可使ADC正常工作,ADC时钟分频比为2。由于LM324输出阻抗远远小于8kΩ,所以选择ADC采集时钟1,得到ADCCON1=50H。选择通道0,可利用ADCCON2的默认值00H。 本文引用地址: //m.amcfsurvey.com/article/172008.htm
由于ADC1作为电源监测的模拟输入,选择ADCCON1可使ADC正常工作,ADC时钟分频比为2。由于电源阻抗远远小于8kΩ,所以选择ADC采集时钟1,得到ADCCON1=50H。选择通道1,ADCCON2=01H。
在下面程序中,堆栈设置在60H,利用定时器0中断后执行采样程序,选取采样频率为200Hz,因而定时器0的定时值为TL0=3CH,TH0=F6H。由于启动单个转换周期完成一次A/D转换需要16×2+1=33个AduC812主时钟,程序中一次延时循环为2个主时钟,因而在采样程序中利用R0=16作为单个转换周期,延时36个主时钟,以完成一次采样后的A/D转换。ADCDATAL为A/D转换低8位,ADCDATAH为A/D转换高4位;R1、R2用于存放12位A/D转换结果,设置00H位作为采样结束标志位。
![程序](http://m.amcfsurvey.com/editerupload/fetch/20130926/172008_3_0.jpg)
2.2按键控制
当不需要使用AduC812的ADC的全部8个通道时,剩余的ADC输入可用作数字输入端。例如,我们将P1口中的几位用于按键控制的输入端口,此时要先将0写至端口值。需要注意的是,AduC812的P1口用作按键时是高电平有效,在没有按键输入时,P1口应保持低电平,因此在用作按键的P1口应加下拉电阻(即P1.3~P1.7在没有输入时为低电平),阻值一般为几千欧。在前面的例子中,按键分别连接到P1.3~P1.7,它们通过2kΩ的下拉电阻接至地;插座的第6脚接高电平VCC,用于触发按键。当有键按下时,P1.3~P1.7中的相应位接至高电平VCC,这样就给出了按键信息。通过上面的程序就可以进行判断并执行相应的按键功能,并且采用防抖方法来提高可靠性,具体程序如下:
![](http://m.amcfsurvey.com/editerupload/fetch/20130926/172008_3_1.jpg)
评论