RTC是一种可以提供精确实时计时的计时器,可产生年、月、日、时、分、秒等信息。对于UM202模块来讲,它是采用内部32.768KHz时钟作为RTC时钟源,并具有RTC报警功能。
在应用过程中,程序是通过 RTC 设备管理接口来访问 RTC 硬件,其相关接口如图1所示。
图1 相关接口
通过对RTC例程的编译和下载,可以体验到它的实时计时功能,其运行结果如图2所示。
图2 运行效果
在RTC的计时过程中,主要经过这样几个环节,即:
1)使用函数对RTC及其时钟进行初始化,语句为:
2)设置RTC计时器的初始值,语句为:
3)若需要定时提示功能,则设置提醒的时间,语句为:
4)使能RTC提醒功能及开中断,语句为:
5)循环读取RTC计时值并添加适当的延时以确保不过多地显示输出,语句为:
2.温度检测
A/D转换是大多数单片机及嵌入式器件多具备的功能,对于UM202模块来讲自然也不例外。此外,利用它还可进行温度检测。
通过对温度检测例程的编译和下载,其运行结果如图3所示。
图3 片内温度检测
在温度检测的过程中,主要经过这样几个环节,即:
1)设置温度检测通道,语句为:
2)复位温度检测通道,语句为:
3)使能ADC中断及开中断,语句为:
4)循环读取检测值并添加适当的延时以确保不过快地显示输出,语句为:
注:ADC检测值与温度变换的语句为:resis_vaule_temp = (adc_data -(float)2036.5)/(float)23.375;
通过对运行结果的观察,似乎其输出结果有不小的偏差,在夏季室内温度怎么也不会在零的左右吧。
通常来讲,温度检测的例程多是对片内温度进行检测,并使用的是片内的温度检测通道。从结果来看不像是片内温度检测,后找到图4所示的温度检测电路,果然是通过配置相应的NTC电阻来辅助检测。
图4周围温度检测电路
更多回帖