① 单片机定时器初值计算
呵呵 帮你分析一下啊
定时时间2ms=(2的16次方-时间常数X)12/f 即晶振为12M f=12*1000000
2ms=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)/(1000000)
2000=65536-时间常数X
时间常数X=65536-2000
TH0=(65536-2000)/256; 就是转换成十六进制 再除以256 取整数 即高8位送时间常数寄存器的高8位计数器
TL0=(65536-2000)%256; 就是转换成十六进制 再除以256 取余数 即低8位送时间常数寄存器的低8位计数器
哈哈 满意就选满意回答吧
② 单片机中的程序计数器PC是16位的寻址范围是64KB怎么来的呀不太明白!
根据二进制编码、译码的原理,n根导线可以译成2^n个地址号,单片机中的程序计数器PC是16位,也就是16根地址线,可以译成2^16=65536个地址号,也成为16根地址线的最大寻址范围。
单片机中用于存放下一条指令所在单元的地址的就是程序计数器,其作用是保证程序(在操作系统中理解为进程)能够连续地执行下去,又称为指令计数器。
每当一个指令被获取,程序计数器的存储地址就加1,指向顺序中的下一条指令,计算机重启或复位后,程序计数器通常恢复到0。
(2)为什么单片机是2的十六次方扩展阅读
51单片机程序计数器中特殊功能单元:
1)0000H:8051单片机复位后,程序从0000H开始执行指令;
2)0003H:外部中断0入口;
3)000BH:定时器0溢出中断入口;
4)0013H:外部中断1入口;
5)001BH:定时器1溢出中断入口;
6)0023H:串行口中断入口。
③ 一个16位地址的存储器为什么可以储存2的16次方个byte的数据
因为储存器是十六位的地址,就意味着0000H-FFFFH都是存在的,那么不就是,而每个地址可以存储一个字节,那么就是2^16个了。