大家好,这段程序是C51单片机汇编程序定时器查询方式实现LED闪烁,我有不懂的地方需要请教!

2019-07-15 13:30发布

;********************初始化存储单元地址***********************;ORG0000H;ORG伪指令,指程序从OGR后面指定的地址开始AJMP START;AJMP是无条件短转移指令。addr11 2K范围内绝;对调用ORG 0030H;主程序从0030H开始;***********************进入主程序***************************;START:MOV P0,#0FFH;关闭所有灯MOV TMOD,#00000001B;定时器/计数器0工作方式1  请问:这个00000001B如何理解?我大概知道TMOD有8位,低4位为定时器0的方式控制,有没有人知道这“00000001B”如何理解?M1M0=01,定时器工作于方式1(16位),那么,如果我需要定时器1工作于方式0,或者方式2有该如何写呢?;MOV TH0,#15H;MOV TL0,#0A0H;装初值,15A0H即十进制数5536MOV TH0,#3CHMOV TL0,#0B0H;装初值,3CB0H即十进制数15536即50ms一次SETB TR0;定时器/计数器0开始运行LOOP:JBC TF0,NEXT;如果TF0=1,则清TF0并且转NEXT处LJMP LOOP;LJMP是无条件短转移指令。addr16 K范围内长;转移。这里是返回主程序执行。NEXT:CPL led;MOV TH0,#15H;MOV TL0,#0A0H;重装初值,15A0H即十进制数5536MOV TH0,#3CHMOV TL0,#0B0H;重装初值,3CB0H即十进制数15536即50ms一次 LJMP LOOP;LJMP是无条件短转移指令。addr16 K范围内长;转移。这里是返回主程序执行。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
chenwei6991627
1楼-- · 2019-07-15 17:04
都标注好了,还有什么问题
liuxiu1991
2楼-- · 2019-07-15 22:45
看完以后似乎你标注里面就一个问题,00000001B怎么理解?对吧。这个就是往TMOD这个寄存器里面写值,用来设置定时器的工作模式。具体的看技术手册,找到这个寄存器你就明白了
Tom猫
3楼-- · 2019-07-16 03:46
 精彩回答 2  元偷偷看……
xxin@mao
4楼-- · 2019-07-16 07:13
Tom猫 发表于 2016-7-6 15:52
总中断EA打开了吗

你好,这个是采用查询方式的。
yinhang665
5楼-- · 2019-07-16 10:59
有个问题,,定时器以后后产生中断,,程序应该是跳至中断程序入口地址,,而我们在这什么指令都没有,程序是怎么进行的,还是说我们没有放程序在那,,就不会自动跳转过去呢?

一周热门 更多>