发布网友 发布时间:2022-04-23 18:35
共4个回答
热心网友 时间:2023-10-13 04:10
8051中有4个寄存器组,地址从00H~1FH,每组8个字节。依次是、PC 16bit 2byte,Acc 8bit 1byte,B 8bit 1byte ,PWS 8bit 1byte,SP 8bit 1 byte,DPTR 16bit 2 byte 共8字节。 共32 字节。00H~01H、08H~09H、 10H~11H、18H~19H都是PC寄存器地址。只是在同一时刻只能使用其中之一组寄存器而已。所以在中断服务程序的第一条指令既是转换寄存器组,保留中断前状态。临时使用空闲寄存器组工作。追问那在SFR中ACC,B,PSW,SP,DPTR等特殊功能寄存器都有他们自己的位置,为什么PC没有呢?
追答无条件转移 JMP ,条件转移,子程序调用、系统中断 都是在改变PC的值!LJMP 指令就相当于 MOV PC,[adress] 只是 MOV 和 LJMP 不是同一个程序码。
热心网友 时间:2023-10-13 04:11
程序计数器PC不能直接操作
这是单片机取指令的计数器,用于存放CPU下一条要执行的指令地址。
无法写入跟读取操作 不存在内存单元当中。
要修改PC的值可以通过跳转、调用、返回指令实现
热心网友 时间:2023-10-13 04:11
PC不属于内部RAM的任意地址。也就是说不属于存储结构中。追问他也是一个特殊功能寄存器呀!不属于存储结构那它怎么寄存数据
热心网友 时间:2023-10-13 04:12
每一个都不一样,你最好找厂家问下