关于单片机C51的一些问题,求解谢谢!!!

关于单片机C51的一些问题,求解谢谢!!!,第1张

如果你是想在对temp赋值后、立即改变不同端口多个管脚的电平状态,那么这是不能实现的。
对51的管脚输出 *** 作始终都要经过Px寄存器,这个你是绕不开的。不管你在软件层面如何玩弄花巧,最终也必须按顺序 *** 作Px寄存器。

51单片机中可以进行位寻址的内存空间:
1、内部 RAM 区 从字节地址 20H - 2FH ( 16个字节可以位寻址)
位地址 00H - 7FH 这部分是可以用bdata定义的,地址一般从20H开始。
2、特殊功能寄存器字节地址 80H 88H 90H 98H - - - F0H F8H ( 16个字节可以位寻址)
位地址 80H - FFH 这部分可以位寻址,但是不能用bdata类型定义。

可以,一共有16字节的位寻址区。
例:
static uchar bdata CanBusFlag=0; //can标志
sbit CanRcv_Good=CanBusFlag^0; //成功接收标志
sbit CanSend_Good=CanBusFlag^1; //成功发送标志
sbit CanErrFlag=CanBusFlag^2; //can总线错误标志
sbit CanDtOverFlag=CanBusFlag^3; //can总线超载标志
sbit CanWuiFlag=CanBusFlag^4; //can总线唤醒中断


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10234163.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存