首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教版主

请教版主

版主啊,我看这个实例程序,怎么读写信号,以及片选信号都需要自己手动设置啊?如果是这样的话,在硬件上的设计就可以不考虑时序问题了啊?通过软件自己手动把握时序啊!
这种读写扩展地址,不象51那样吗?一条指令就行了,只是执行的指令周期稍微长些啊!这个N464它的片外地址和片内地址到底是怎么分开的啊!我自己的理解应该是依靠XA15-----XA19来选择片外的啊!这样地址就分开了,片内的肯定是16位的,片外的就可定大于16位了啊!

;/**********************************************************
5;** Flash software interface
6
;*********************************************************
7;tU16 Flash_Read(tU32 address)
8;{
9;tU16 data; ;enter with addr on stack
10im.pth.byte = address>>16;
1000 [05] 180D8102 11 movb 1,sp,pth ;move A0-A7 to port H
60
12im.ptp.byte = address>>8;
1005 [05] 180D8202 13 movb 2,sp,ptp ;move A8-A15 to port P
58
14im.ptj.byte = address;
100A [05] 180D8302 15 movb 3,sp,ptj ;move A16,17 to port J
68
16; Flash_WEHI;Flash_CSLO;
100F [04] 4C0804 17 BSET porte,4 ;set r/w high
1012 [04] 4D0810 18 BCLR porte,16 ;set chip select low
19;data = (Regs.porta.word);
1015 [03] DE00 20 LDX porta ;load D0-D16
21;Flash_CSHI;
1017 [04] 4C0810 22 BSET porte,16 ;disable chip select
23
24;return (data);
101A [01] B754 25 TFR X,D ;return with data in D
26;}
101C [02] 1B83 27 LEAS 3,SP ;de-allocate stack
101E [06] 0A 28 RTC
一切都好
你对地址扩展方式的理解是不对的。还是请你仔细看一下NE64的数据手册及AN2287。
海纳百川  有容乃大
返回列表