在前面学习完了软件部分之后,我开始了对嵌入式中的硬件部分进行了学习,首先这四天我对嵌入式中最简单的89c51单片机进行了学习,从最简单的点灯,点亮数码管,蜂鸣器发声等,到学习51的定时器,中断系统,uart通用异步收发器,使用modbus对不同的从机发出指令,并让其执行不同的操作,使用DS18B20温度传感器测试温度,然后通过串口通信将测得的温度发到电脑端等。
通过这些天的学习,我了解了51单片机是由众多寄存器和外设构成的,比如点灯是有p2寄存器的八个比特位的高低电平来控制的。而蜂鸣器发声的声音则与电平的占空比相关,也就是pwm,要调节蜂鸣器的音频,需要算出其周期,然后设置其占空比,通过定时器中断实现电平的翻转。中断系统的定时器中断,串口中断,外部中断等都需要配置许多的寄存器,IE,SCON,TMOD,TCON等。而温度传感器DS18B20与单片机之间有三根线连接,分别是地线,电源线和通信线,通过通信线上的高低电平来实现信息的传递,是一种异步半双工的通信方式。要实现信息的读取和写入,就需要学会看该传感器的通信时序图,然后才能编写出对应的驱动程序。