21ic电子技术开发论坛
标题:
汇编问题
[打印本页]
作者:
yinxiangh
时间:
2012-3-24 20:01
标题:
汇编问题
用1602显示 而且是用汇编 编的。设置初始化后的程序,时间都能正常显示。但是对于如何调整时间的设置程序,小弟一直没能修改好。
我觉得应该是 先把时钟晶振停止振荡,然后通过光标,按键结合修改时间数据,再送回到时钟,时钟晶振重新启动,1602显示。不知道这样想对不对?
作者:
chuxh
时间:
2012-3-24 20:03
1302里面有个停止标志位,你把那个位置一它就不走了。
作者:
pangb
时间:
2012-3-24 20:04
先想清楚需求,画流程图,不要埋着头就写!
作者:
chenjunt
时间:
2012-3-24 20:05
尝试加入 datasheet 中给的时钟停止位操作程序。
INT:
MOV COM,#80H ;命令字节为80H
MOV ByteC,#01H ;单字节传送模式
MOV R1,#Send ;数据地址赋给R1
MOV Send,#80H ;数据内容为80H(振荡器停止)
LCALL WR_Byte ;调用写入数据子程序
RETI
但是这样加进去,中断后毫无反应,时钟还是依旧走时,显示没有停止。不知是什么原因。
作者:
ousj
时间:
2012-3-24 20:05
把R1换成R0
作者:
yinxiangh
时间:
2012-3-24 20:07
这有区别吗,R0不会是在这里有什么特别用途吧?
作者:
yinxiangh
时间:
2012-3-24 20:07
还有一个问题就是,使用这个程序后,时钟是从初始时间开始,而不是我所想要的把现在的时间停止不动,一直显示。难道还是因为R0才回到初始化的时间的吗?不是很明白.....
作者:
morrisk
时间:
2012-3-24 20:08
1302初始化时,就是把秒寄存器地址给R0
作者:
zyf部长
时间:
2012-3-24 20:12
初始化程序放在大循环外面啊,每次复位都只执行一次初始化程序。写这样的程序还是用C吧!汇编麻烦的很
作者:
yinxiangh
时间:
2012-3-24 20:14
哦,我再揣摩揣摩
作者:
yinxiangh
时间:
2012-3-24 20:14
先结贴了
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)