打印

SEG1寄存器的地址

[复制链接]
1095|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llia|  楼主 | 2012-5-17 19:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
114页中对SEG寄存器的赋值怎么是从00H开始
;************************************************
; 系统寄存器BANK6(LCD)
;************************************************
SEG1  EQU 00H  ;SEG1寄存器
SEG2  EQU 01H  ;SEG2寄存器
SEG3  EQU 02H  ;SEG3寄存器
SEG4  EQU 03H  ;SEG4寄存器
SEG5  EQU 04H  ;SEG5寄存器
SEG6  EQU 05H  ;SEG6寄存器
SEG7  EQU 06H  ;SEG7寄存器
SEG8  EQU 07H  ;SEG8寄存器

SEG1寄存器的地址不是300H吗
沙发
wangpe| | 2012-5-17 19:37 | 只看该作者
4Bit MCU的寄存器是按BANK划分。

使用特权

评论回复
板凳
wangzsa| | 2012-5-17 19:41 | 只看该作者
嗯,BANK0:00H~7FH,BANK1:80H~FFH,BANK2:100H~17FH,BANK3:180H~1FFH,BANK4:200H~27FH,BANK5:280H~2FFH, BANK6:300H~37FH

  SEG的RAM是位于BANK6,所以300H -> 00H(BANK6)是没有错的。

使用特权

评论回复
地板
wangpe| | 2012-5-17 19:41 | 只看该作者
使用是要注意指定BANK区,例:ORM SEG1,06H

使用特权

评论回复
5
zhuww| | 2012-5-17 19:44 | 只看该作者
其实也可以不用那么麻烦的,直接头文件中定义SEG1 EQU 300H,SEG2 EQU 301H..........

使用特权

评论回复
6
zhanglli| | 2012-5-17 19:46 | 只看该作者
嗯,使用时,就不用指定BANK区了,但需要注意的是BANK0以外区域的RAM不用进行直接寻址

使用特权

评论回复
7
llia|  楼主 | 2012-5-17 19:48 | 只看该作者
能举个例子吗?

使用特权

评论回复
8
zhanglli| | 2012-5-17 19:49 | 只看该作者
SEG1赋值0001B,不能直接 ldi  SEG1,0001B,只能先将0001B存放在临时寄存器(BANK0),再保存到SEG1.

    ldi   zWk0,0001B
    sta  SEG1

使用特权

评论回复
9
llia|  楼主 | 2012-5-17 19:51 | 只看该作者
哦,多谢

使用特权

评论回复
10
llia|  楼主 | 2012-5-17 19:51 | 只看该作者
先就这样吧,再次感谢

使用特权

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

本版积分规则

961

主题

8893

帖子

4

粉丝