Ⅰ 单片机的程序计数器PC的作用是啥子
根据二进制编码、译码的原理,n根导线可以译成2^n个地址号,单片机中的程序计数器PC是16位,也就是16根地址线,可以译成2^16=65536个地址号,也成为16根地址线的最大寻址范围。
单片机中用于存放下一条指令所在单元的地址的就是程序计数器,其作用是保证程序(在操作系统中理解为进程)能够连续地执行下去,又称为指令计数器。
每当一个指令被获取,程序计数器的存储地址就加1,指向顺序中的下一条指令,计算机重启或复位后,程序计数器通常恢复到0。
(1)单片机程序计数器的功能扩展阅读
51单片机程序计数器中特殊功能单元:
1)0000H:8051单片机复位后,程序从0000H开始执行指令;
2)0003H:外部中断0入口;
3)000BH:定时器0溢出中断入口;
4)0013H:外部中断1入口;
5)001BH:定时器1溢出中断入口;
6)0023H:串行口中断入口。
Ⅱ 单片机 计数器 设定计数初值
单片机的计数器主要用于计数功能。单片机内部配备晶振,类似人体的心脏,为单片机工作提供脉冲信号。每接收到一个脉冲信号,计数器就会增加一次计数值,记录的是单片机内部的时钟脉冲数。利用这一特性,计数器还可以实现定时功能。每完成一次计数,都会产生一个固定的时间段,因此通过计数的方式能够实现定时效果。
计数器的初值是程序中根据需要设定的,而非通过手动按键来调整。常见的设定初值的方法有两种:第一种是每当计数器计数至65536时需要重新赋初值,这种方法通常在中断函数中重新编写赋初值的语句。这种方式虽然能实现计数功能,但由于计数到最大值后需要重新赋值,因此在精度上有所欠缺。另一种方式是8位自动重装模式,无需再次赋值,这种方式在精度上比第一种方法更加可靠。
如果需要设计类似于钟表的计时仪器,单片机的计数器可能无法满足需求,因为它们的计数精度可能不够。在这种情况下,可以考虑使用市面上专门设计的时钟芯片来实现更精确的计时功能。
掌握这两种计数方式对于单片机编程来说非常重要。而关于方式0,据称在更早的单片机中曾被使用,但现在已经很少见。80C51单片机与其早期版本保持兼容,因此也保留了这种方式。对于方式二,建议尝试使用,它可能为计数器应用提供更多可能性。