不支持2进制
SH79F166 ,SH88F54,都实验过了都不支持2进制,为什么啊何以见得
#define Bat_Seg0 (disbuff&=~0b11111000)这个就报错了,
#define Bat_Seg0 (disbuff&=~0xF8)要这样才行
请问是什么原因,为什么不支持2进制了 难到是那里还要什么设置吗
8051指令集,怎么会不支持二进制。
8051指令集,怎么会不支持二进制。
要将中断使能寄存器设置为 01011010B
IE = Bin(01011010);
注:头文件中加入下面两段定义
#define LongToBin(n) \
( \
((n >> 21) & 0x80) | \
((n >> 18) & 0x40) | \
((n >> 15) & 0x20) | \
((n >> 12) & 0x10) | \
((n >>9) & 0x08) | \
((n >>6) & 0x04) | \
((n >>3) & 0x02) | \
((n ) & 0x01) \
)
#define Bin(n) LongToBin(0x##n##l)//write binary charactor set 0xexsample : Bin(11111111) = 0xff 是KEIL 对0b11111000 不支持,所以LS的方法比较好。
6楼的宏定义是常用之方法
嗯,我了解了,多谢啊
4位机使用ram超过7fh时需要注意些什么问题
什么片子,详细点
我现在做的一款程序ram的使用超过了7fh,
SH69P24的自定义RAM区为:30h ~ 12fh,当使用的ram超过7fh时,就是使用80h~12fh的RAM时有些指令有限制吗? 不懂,帮顶了
BANK0: 7F以下
BANK1:80H~FFH
.........以此类推
BANK1和BANK1以上的RAM,在使用的时候,不能进行立即数寻址,只能进行直接数寻址。 没遇到过这个问题
要使用BANK1中的RAM进行立即数寻址,可以先将该立即数保存到BANK0中的临时寄存器,然后使用直接数寻址的方式保存到BANK1的目标RAM中。
能举个例子吗?
临时寄存器: TEMP1(30H)
目标寄存器: TARGET_RAM(80H)
目标:将TARGET_RAM赋值为05H
LDI TEMP1 ,05H
STA TARGET_RAM
如果写成LDI TARGET_RAM ,05H错误 sh88f54如何设计复位
页:
[1]
2