首页 > 应用 > 单片机应用
[导读]
;利用51单片机设计一个计数显示系统,要求8个数码管显示T1输入脉冲的个数。;最好用汇编语言,加注释,尽量别太复杂。尽量快些哈!;悬赏分:30 | 解决时间:2011-7-20 19:15 |;========================

;利用51单片机设计一个计数显示系统,要求8个数码管显示T1输入脉冲的个数。
;最好用汇编语言,加注释,尽量别太复杂。尽量快些哈!
;悬赏分:30 | 解决时间:2011-7-20 19:15 |
;=====================================================
;最佳答案:
;题目要求在T1端输入脉冲,统计脉冲个数,并即时输出显示,使用8个LED数码管,显示:0000 0000~9999 9999。
;计数、显示,很简单的。虽然要求的位数较多,但是循环一下,也就可以了。
;程序用汇编汇编语言编写好了,指令不超过50行,太简单了。
;题目只是要求在T1端输入脉冲,并没有指出显示电路,那么就设计一个仿真实验电路如下:

本文引用地址: http://www.21ic.com/app/mcu/201806/764429.htm


;仿真图中使用了两种虚拟仪器:“信号发生器”和“计数器”,通过按键即可输入单次脉冲和连续脉冲。

;全部程序如下:

NUM_B EQU 30H ;计数、显示单元起始地址
NUM_N EQU 8 ;计数、显示单元的字节数

ORG 0000H
JMP START
ORG 001BH
JMP T1_INT
;------------------------
START:
MOV TMOD, #60H ;T1计数方式2
MOV TH1, #255 ;初始值为FF
MOV TL1, #255 ;当收到一个输入,立刻引起中断
SETB TR1 ;启动T1
MOV IE, #10001000B;允许中断
MOV SP, #40H ;设置堆栈
;------------------------
M_LOOP:
CALL DISP
SJMP M_LOOP
;------------------------
DISP:
MOV R0, #NUM_B ;30H
MOV R2, #1 ;先显示最低位
D_LOOP:
MOV A, @R0
ADD A, #(D_TAB - $ - 3)
MOVC A, @A + PC
MOV P2, #0 ;关闭显示,消隐
MOV P0, A ;输出段码
MOV P2, R2 ;输出位码
CALL DL1MS
MOV A, R2 ;修改位码
RL A
MOV R2, A
INC R0 ;修改显示指针
CJNE R0, #NUM_B + NUM_N, D_LOOP
RET
;------------------------
D_TAB: ;共阳极段码
DB 0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H
DB 80H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH,0FFH;FF是空白的代码
;------------------------
DL1MS: ;延时
MOV R7, #242
DJNZ R7, $
DJNZ R7, $
RET
;------------------------
T1_INT: ;T1中断程序
PUSH PSW ;保护现场
SETB RS0 ;换用工作区
MOV R0, #NUM_B
T1_LOOP:
INC @R0 ;数字加一
CJNE @R0, #10, T1_END ;不到10就退出
MOV @R0, #0 ;到10就清零
INC R0 ;转去下一位
CJNE R0, #NUM_B + NUM_N, T1_LOOP
T1_END:
POP PSW ;恢复现场
RETI
;------------------------
END
;=====================================================
回答时间:2011-7-18 07:56
回答者: 做而论道 | 十五级  采纳率:43%
提问者对于答案的评价:非常感谢!
;=====================================================
后记:
仿真时,信号发生器有个控制框,可以选择信号的输出频率、幅度等,屏幕截图如下:


在仿真时,计数器是上升沿计数,而单片机是下降沿计数,所以,两者显示的数字,有一个时间差。
另外,刚刚启动时,计数器总要先计一个数,不知如何控制才好。


换一批

延伸阅读

[真心话] 一个实例简单明了告诉你为什么要用RTOS

一个实例简单明了告诉你为什么要用RTOS

对于搞单片机的特别用8051系列工程师来说,谈到单片机的RTOS,很多时候会问一句:“为什么要用RTOS?单片机就这一点资源,使用RTOS能保证效率吗?”......

关键字:单片机 RTOS

[真心话] 单片机大师郭天祥的大学六年,看看与你的有何不同?

单片机大师郭天祥的大学六年,看看与你的有何不同?

在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。......

关键字:单片机 郭天祥

[真心话] 漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

现在想起来,当时的情形还历历在目。当时工作非常艰辛,累得我是满地找牙。记得进厂的第一天,就加班通霄,以后天天晚上加班至12点,早上7点起床。......

关键字:电子工程师 单片机
条评论

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客