不管是MCU还是ARM及DSP等程序控制类,最关键的当数IO,定时及中断。
只要很好地应用此三板斧,MCU基本就算结业并可谋生了···
IO基本由2类代表作,即51的准双向和其他MCU/ARM/DSP的真双向。
准双向的特点是高电平的驱动能力较弱,但其优点是控制方便,不需设定输入输出方式。更难得的是它模拟串行时序非常完美,几乎可以和任何串行接口匹配。
真双向的特点是高电平的驱动能力较强,优点是方向控制明确,但在模拟时序方面显然不如前者。
特别注意的是在方向可以变化时,如果外部接口的拉电流或灌电流较大时,该IO做输出高电平时就有很大的危险性,故有时需要加电阻限流或二极管隔离。
有时在模拟时序时,想要输出高电平时,要"曲线救国",既设置为输入方式!!!并且外部加上拉电阻(内部当然更好,像AVR的IO就很有特点),这样就利用上拉电阻"输出"了高电平!!!注意,输出低电平是真的!!!
定时器应该是不可缺少的,它可以很方便控制的延迟和OS的构成。这里就不多说了。。。
中断是控制的精华,可能没什么工控程序能离得开中断了,可以想象没有中断的PIC12C508的定时器有多倒塌呀···
当然中断也不是万能的,至少它的响应是需要时间的。而且有时要中断比有中断不用更难为情···
如键盘中断,当键盘压下进入中断服务程序后只能反映可能发生了键盘的跳变事件,但并不代表真的压下键盘!!!难道要在键盘中断里调用20mS软件延时程序来进行键盘消抖吗???真倒塌了···
当然要学的还很多,但先掌握此三板斧是很有必要的。。。