
对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总线唤醒中断
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)