辅助控制寄存器 A和B问题

[复制链接]
1933|11
 楼主| bnn330 发表于 2014-4-22 13:40 | 显示全部楼层 |阅读模式
辅助控制寄存器 A和B 都是IFMT地址,那要怎么才能用呢?希望高手能解答,小弟先谢谢了
MG_FAE 发表于 2014-4-22 13:50 | 显示全部楼层
写入P页SFR(辅助控制寄存器 A和B)例程:

IFADRH = 0x00;
ISPCR = ISPEN;                           //使能IAP/ISP功能
IFMT = MS2;                                 // 設置P页写模式,IFMT =MS2=0x04
IFADRL = AUXRA;                       //設置相对应的AUXRA  P页SFR地址
IFD = AUXRA_DATA;                  // 寫入AUXRA 資料 AUXRA_DATA
SCMD = 0x46;                            //模式寫入命令1
SCMD = 0xB9;                            //模式寫入命令2
IFMT = Flash_Standby;               // IAP/ISP备用模式,IFMT =0x00
ISPCR &= ~ISPEN;                    //

 楼主| bnn330 发表于 2014-4-22 14:15 | 显示全部楼层
谢谢高手的回答,我主要想把P6口当IO口用,不知道这样配置?
 楼主| bnn330 发表于 2014-4-22 14:16 | 显示全部楼层
我用的是MA805-24
MG_FAE 发表于 2014-4-22 14:25 | 显示全部楼层
bnn330 发表于 2014-4-22 14:16
我用的是MA805-24

P6输出只要设置SFRPI的SFR控制页即可
P6的SFR页面在0x0F,
所以
SFRPI=0x0F;    //设置P6的SFR页面,0x0F
P6=P6_Data;
SFRPI=0x00;   //回复原始SFR控制页
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| bnn330 发表于 2014-4-22 14:30 | 显示全部楼层
资料上说,芯片出厂默认内部高震荡,但是芯片P6口却控制不了,为什么?
MG_FAE 发表于 2014-4-22 14:36 | 显示全部楼层
bnn330 发表于 2014-4-22 14:30
资料上说,芯片出厂默认内部高震荡,但是芯片P6口却控制不了,为什么?

程序控制没正确,当然不受控制
 楼主| bnn330 发表于 2014-4-22 14:47 | 显示全部楼层
这样写对吗?
SFRPI =0x0f;
P6=0xc8;
SFRPI=0x00;
 楼主| bnn330 发表于 2014-4-22 14:48 | 显示全部楼层
但是还是控制不了
MG_FAE 发表于 2014-4-22 14:55 | 显示全部楼层
本帖最后由 MG_FAE 于 2014-4-22 15:12 编辑
bnn330 发表于 2014-4-22 14:47
这样写对吗?
SFRPI =0x0f;
P6=0xc8;

P6口只有P6.0 以及P6.1~~~
为何写P6=0xC8; ?????

P6的控制输出只有以下4种赋值控制。
P6=0x00;
P6=0x01;
P6=0x02;
P6=0x03;
 楼主| bnn330 发表于 2014-4-22 15:44 | 显示全部楼层
啊,理解错了,谢谢。。。
bkvalve 发表于 2014-4-23 09:09 | 显示全部楼层
这个 还真是不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部