2025 单片机学习总结与心得单片机学习总结与心得为了给前一段时间学习 pic16f616 型单片机的一个总结和方便大家的沟通,我写了这篇关于 pic 单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批判,提出宝贵的意见。复位、中断和睡眠(1)复位pic16f616 包括这样的几个复位功能,上电复位(power-on)、硬件复位、欠压复位(brown-out)、看门狗复位。关于上电复位 por,大家都不陌生,单片机在上电的时候保持复位直到电压能够满足其正常的工作电压,同时你可以通过对 connfig(编译器上即可设置)的设置,来开启 power-uptime,这个时间一般为64ms。硬件复位可以通过 mclr 引脚外界复位电路,即可实现硬件复位(将此引脚接低电平)。欠压复位这个功能是可选的,也可以直接在编译环境中配置config 寄存器来开启此功能。当此功能开启时,假如单片机在运行的时候,供电电压不足就会引起欠压复位,复位后单片机假如发现供电电压已经达到正常值的时候,会有一个 64ms 的延时,然后再运行程序。关于看门狗的复位在看门狗部分已经说了。这里的一些复位还涉及到一些标志位。这些标志位分布在 status 和 pcon 上面。status 上有两个位 to、pd,当标志位 to=1 时,表示表示已经操作了上电复位或者是执行了 clrwdt 或者 sleep 指令,当 to=0 时,表示发生了看门狗复位。当标志位 pd=1 时表示操作了上电复位或者是执行了 clrwdt 指令,当 pd=0 时,表示执行了 sleep 指令。pcon 上有两个标志位是 por 和bor,分别表示的是上电复位和欠压复位标志。具体的可以参看手册。(2)中断pic16f616 包括这样的几个中断源:ra2/int 引脚外部中断、ra 端口电平变化中断、定时器 timer0、timer1、timer2 溢出中断、比较器中断、ad 转换中断、捕获/比较/pwm 中断。这 些 中 断 的 允 许 位 和 中 断 标 志 位 分 别 位 于intcon、pie1、pir1、ioca 这些寄存器里面,假如要开启相应的中断,就要置相应的中断允许位,开启总中断位(intcon 寄存器的 gie位),还要开启 intcon 上的 peie 位(定时器 0 溢出中断、int 引脚沿中断和 ra 端口的电平变化中断除外)。当中断发生的时候,相应的中断标志位就会置起来,同时总中断标志位 gie 会被清零,保证在此时间内不会相应其他的中断,然后将当前的 pc 指针值压栈保存,以用来保证中断能正...