0位开始。当在连续模式向时钟寄存器写数据时,前8个寄存器必须按传送数据顺序写。然而,此方式写入RAM时,不需要把传送数据的31B都写入。写入的每一个字节将传送到RAM不管是否所有的31B都写入。
当时间能连续运行时,在时钟脉冲读的开始,当前时间被传送到另外一组寄存器,时间信息从这些从寄存器读出。这免去了在读取期间为刷新主寄存器而重读寄
11
f存器的需求。
图34实时时间读写流程图
要注意的是,控制寄存器的第7位是写保护位。在对时钟或RAM读操作之前
第7位必须是0。当为1时写保护位阻止对任何其他寄存器的写操作。初始的上电
状态未被设置,因此,写保护位应该在试图写入器件之前清零。下面分别给出单字
节和多字节两种传送方式下向DS写入命令字节和显示数据的程序例子:
Write_E
able
MOVComma
d8Eh
;命令字节为8E
MOVByteC
t1
;单字节传送模式
MOVR0XmtDat
;数据地址覆给R0
MOVXmtDat00h
;数据内容为0写入允许
12
fACALLSe
d_ByteRET
;用写入数据子程序;返回调用本子程序处
Write_Multiplebyte
MOV
Comma
d0BEh
MOV
ByteC
t8
MOV
R0XmtDat
MOV
XmtDat59h
;命令字节为BEh;多字节写入模式此模块为8个
;数据地址覆给R0;秒单元内容为59h
MOVMOVMOVMOVMOVMOVMOVACALLRET
XmtDat159hXmtDat213hXmtDat321hXmtDat406hXmtDat503hXmtDat60XmtDat70Se
d_Byte
;分单元内容为59h;时单元内容为13h;日期单元内容为21h;月单元内容为06h;星期单元内容为03h;年单元内容为00h;写保护单元内容为00h;调用写入数据子程序;返回调用本子程序处
323显示模块数码管的接口有静态接口和动态接口两种方式。静态接口问固定显示方式,无闪烁。位选线同时选通,每位的段选线分别与一
个8位锁存器输出相连,各位互相独立。各位显示一经输出,则相应显示将维持不变,直至显示下一位字符为止。静态显示方式有较高的亮度和简单的软件编程,缺点是占用口线资源太多。
为避免这个缺点,本设计采用动态显示方式,将所有位的相应段选线并在一起,用一个接口完成字形码的输出(字形选择),位选线则分时轮流选通,即另一个接口完成各数码管的循环轮流点亮(数位选择),利用人眼视觉的暂留现象获得稳定的视觉效果。显示程序流程图如图35所示。
13
f开始初始化显示参数关所有数码管显示
取显示数据输出段码数据
输出位选通信号延时
位选通信号移位,显示下一位数码管
指向下一个显示字符
否8位显示完?是
关所有数码管显示,返回图35显示流程图
设定8位数码管的显示r