打印

都是IFMT地址,那要怎么才能用

[复制链接]
1024|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2015-2-11 20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
辅助控制寄存器 A和B 都是IFMT地址,那要怎么才能用呢?希望高手能解答,小弟先谢谢了
沙发
renyaq| | 2015-2-11 20:20 | 只看该作者
写入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;                    //

使用特权

评论回复
板凳
pengf|  楼主 | 2015-2-11 20:22 | 只看该作者
谢谢高手的回答,我主要想把P6口当IO口用,不知道这样配置?

使用特权

评论回复
地板
pengf|  楼主 | 2015-2-11 20:22 | 只看该作者
我用的是MA805-24

使用特权

评论回复
5
栩栩如生| | 2015-2-11 20:23 | 只看该作者
P6输出只要设置SFRPI的SFR控制页即可
P6的SFR页面在0x0F,
所以
SFRPI=0x0F;    //设置P6的SFR页面,0x0F
P6=P6_Data;
SFRPI=0x00;   //回复原始SFR控制页

使用特权

评论回复
6
pengf|  楼主 | 2015-2-11 20:23 | 只看该作者

资料上说,芯片出厂默认内部高震荡,但是芯片P6口却控制不了,为什么?

使用特权

评论回复
7
supernan| | 2015-2-11 20:25 | 只看该作者
程序控制没正确,当然不受控制

使用特权

评论回复
8
pengf|  楼主 | 2015-2-11 20:25 | 只看该作者
这样写对吗?
SFRPI =0x0f;
P6=0xc8;
SFRPI=0x00;

使用特权

评论回复
9
pengf|  楼主 | 2015-2-11 20:26 | 只看该作者
但是还是控制不了

使用特权

评论回复
10
栩栩如生| | 2015-2-11 20:26 | 只看该作者
P6口只有P6.0 以及P6.1~~~
为何写P6=0xC8; ?????

P6的控制输出只有以下4种赋值控制。
P6=0x00;
P6=0x01;
P6=0x02;
P6=0x03;

使用特权

评论回复
11
pengf|  楼主 | 2015-2-11 20:27 | 只看该作者
啊,理解错了,谢谢。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝