×
单片机 > 单片机程序设计 > 详情

嵌入式arm学习总结(五)--RTC-TIME-PWM-Watchdog-AD-TP

发布时间:2024-05-07 发布时间:
|

RTC


常用RTC模块:

PCF8563 IIC接口

DS302 SPI接口

DS87887 功能多,比较贵


BCD码: 十进制数


压缩BCD码,一个BCD码从0—9,需要4位二进制存储


以BCD,码存数的数 例如:0X59 表示59秒(直接是BCD值,即十进制数)


定时器、PWM


1.定时器的工作原理:以固定的频率(可以编程改变这个频率)进行计数


2.单片机定时器的预置数递增

ARM定时器的预置数为递减


3.GPIO引脚输出电流一般为几毫安到十几毫安

但蜂鸣器的驱动电流至少要几十毫安,所以在用IO口驱动蜂鸣器时要加一个三极管方大电流,并作为开关作用


4.定时器内部工作流程:

1)设置预置数

设定TCNTBn/TCPMBn这两个寄存器,它们表示定时器n的比较值(比较值只与PWM有关,与定时器无关),初始化计数值

2)启动定时器

如果设置了TCON寄存器启动了定时器n,这时TCNTBn/TCMPBn寄存器的值装入内部寄存器TCNTn/TCMPn中,在定时器n的工作频率下,TCNTn开始减1计数,其值可以通过读取TCNTOn寄存器得知

3)PWM管脚第一次反转

当TCNTn的值等于TCMPn的值时,定时器n的输出管脚TOUTn反转,TCNTn继续减1计数


4)PWM管脚第二次反转,如果设置中断模式,那么会触发中断

当TCNTn的值达到0时,定时器n的输出管脚TOUTn再次反转,如果中断使能的话,也会触发中断

5)再重新装载预置数(可以设置为自动加载),然后继续循环

当TCNTn的值达到0时,如果在TCON中将定时器n设为自动加载,则TCNTBn/TCMPBn的值被自动装入内部寄存器TCNTn、TCMPn中,下一个计数流程开始


5.定时器n的输出管脚TOUTn初始状态为高电平(如果TCON[2]=1反转,那么TOUTn的出事状态就为低电平),以后在TCNTn的值等于TCMPn额定值反转一次,TCNTn的值等于0 再反转一次


6.通过设置TCMPn、TCNTBn的值可以设置管脚TOUTn输出信号的占空比,这就是PWM(Pulse Width Modulation),所以定时器又称PWM定时器


7.占空比:一个周期内高电平占的比例

TCNTn决定输出频率

TCMPn决定占空


WatchDog


CAT823/824/825

看门狗原理:

如果看门狗的输入管脚每隔一秒收到一个来自CPU控制器的脉冲信号,那么看门狗的输出就会永远保持低电平(或者高电平)

如果看门狗的输入引脚超过一秒没有收到来自CPU控制器的脉冲信号,那么它的输出引脚就会输出一个20ms的高脉冲(或者低脉冲)

不同的看门狗芯片间隔时间不一样,有些芯片还可以自己设定

在选择芯片间隔时间时应该选最小时间 Time-Out (具体参考WTD的数据手册)


当看门狗的复位功能使能后,它的中断功能就会无效

因为复位优先级最高,复位后重新启动时会关闭所有的中断


S3C2440它有内部RTC和内部看门狗,但在实际产品应用中,一般只能用一个,另外一个要用外部的,

两个同时用可能会存在隐患问题。一般用外部的用WDT 因为WDT芯片 0.5—2元 便宜 但RTC芯片要3—5元


ADC/触摸屏


1.AD芯片选型标准

1)分辨率 多少位的AD 常用 8、10、12位

2)偏移量误差:

输入数字量为零时输出模拟量对零的偏移量这种误差可以通过DAC的外接Vref和电位计加以调整

3)转换精度

满量程时(比如0——5V时5V)实际的值和理论值之间的接近程度

4)转换速度

单位KSPS 每秒转换的次数

2.触摸屏

电阻屏 便宜

电容屏 利用人体等的电容耦合 ,不能使用触摸笔等,只能用人体皮肤接触

表面声波屏

红外屏

近场成像屏


注:以下都是基于S3C2440平台的一些总结


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法