PIC单片机是Microchip公司的产品,在工业控制和小家电领域用得特别多。跟51单片机比,PIC的指令集更精简,抗干扰能力强,价格也便宜,很多工厂的老产品里都是PIC。想学嵌入式又觉得51太老、ARM太难的话,PIC是个不错的切入点。今天聊聊PIC的学习路线。
第一步当然是选芯片和开发板。入门推荐PIC16F系列,比如PIC16F877A或者PIC16F1829,资料多、例程多。开发板不用太复杂,带几个LED、按键、数码管、串口就行。烧录器用PICkit 3或者PICkit 4,官方出品兼容性好。软件用MPLAB X IDE,免费的,配合XC8编译器就能写C程序。
第一个程序照例是点亮LED。PIC的IO口配置跟51不太一样,需要先设置TRIS寄存器(方向)和ANSEL寄存器(模拟/数字选择)。很多新手点灯点不亮,就是忘了把ANSEL清零,IO口还处于模拟模式。点亮LED之后试试按键输入、定时器中断、PWM输出,把基本外设都过一遍。
接下来学串口通信(UART)。PIC的串口模块叫EUSART,配置TXSTA、RCSTA、SPBRG这几个寄存器。波特率根据晶振频率算好,写到SPBRG里。串口通了之后就能跟电脑交互,调试也方便了。然后再学SPI和I2C,这两个是跟外部器件通信的常用接口,比如接OLED屏、传感器、存储器都会用到。
进阶一点可以玩ADC和定时器。PIC的ADC是逐次逼近型,精度10位,采样率不高但够用。定时器可以做精确延时、计数、PWM。做个小项目,比如温度采集显示、红外遥控解码、简易示波器,把这些模块串起来用一遍,PIC基本就入门了。PIC的官方文档写得很详细,遇到问题多翻datasheet,比在网上搜靠谱。
上一篇:UFS 2.0科普:手机存储从eMMC到UFS的速度革命
下一篇:没有了