原创 利用protues仿真51的中断和定时器实验

2009-9-17 13:50 4509 9 10 分类: MCU/ 嵌入式
步骤:
1、利用protues软件,画出电路图,如下图
点击开大图
2、利用wave软件,编译你的汇编程序,生成hex文件
;*******************************************************************
;名称:中断和定时器实验,P1接8个LED,p2口低四位接6位74LS48,高位的前三位接74LS138
;功能:每隔一段时间(利用定时器实现),led右移一位,数码管+1
;作者:littlebird100
;时间:2009-9-17
;******************************************************************
NUM1 EQU 20H
NUM2 EQU 21H
NUM3 EQU 22H
LED1 EQU 23H
LED2 EQU 24H
LED3 EQU 25H
LED4 EQU 26H
LED5 EQU 27H
LED6 EQU 28H
     ORG 0000H
     AJMP MAIN
     ORG 000BH
     LJMP MYINT
     ORG 0100H
MAIN:
;初始化
     MOV NUM1,#0
     MOV NUM2,#0
     MOV NUM3,#0
     MOV LED1,#0
     MOV LED2,#0
     MOV LED3,#0
     MOV LED4,#0
     MOV LED5,#0
     MOV LED6,#0
     MOV R2,#0FEH
;定时器和中断设置
     MOV TMOD,#01H
     MOV TH0,#0F0H
     MOV TL0,#0FAH
     SETB EA
     SETB ET0
     SETB TR0
;显示
DISPLAY:
     MOV R1,#0
     MOV R0,#23H
LOOP:
     MOV A,R1
     SWAP A
     ORL A,@R0
     MOV P2,A
     INC R0
     INC R1
     LCALL DELAY
     CJNE R1,#6,LOOP
     AJMP DISPLAY
;延时模块
DELAY:
     MOV R7,#0FH
LOOP1:
     MOV R6,#0FH
LOOP2:
     DJNZ R6,LOOP2
     DJNZ R7,LOOP1
     RET
;中断子程序
MYINT:
     CLR TR0        ;停定时器
     MOV TH0,#100
     MOV TL0,#155
;8位LED显示
     MOV P1,R2
     MOV A,R2
     RL A
     MOV R2,A
;6位数码管显示的数字
     INC NUM1
     MOV A,NUM1
     CJNE A,#100,LL1
     MOV NUM1,#0
     INC NUM2
     MOV A,NUM2
     CJNE A,#100,LL2
     MOV NUM2,#0
     INC NUM3
     MOV A,NUM3
     CJNE A,#100,LL3
     MOV NUM3,#0
LL1:
     MOV B,#10
     DIV AB
     MOV LED5,A
     MOV LED6,B
LL2:
     MOV B,#10
     DIV AB
     MOV LED3,A
     MOV LED4,B
LL3:
     MOV B,#10
     DIV AB
     MOV LED1,A
     MOV LED2,B
DONE:
     SETB TR0           ;开定时器
     RETI
     END
3、双击电路图中的单片机芯片,载入hex文件,点左下脚的运行按钮就行了
点击开大图
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户235330 2009-9-21 16:39

IC渠道网,www.17ic.com 为广大的供应商和采购商提供最真切的服务123
相关推荐阅读
用户194501 2009-09-14 20:43
51单片机汇编伪指令
最近在学KEIL在进行编译时,生成的SRC文件,里面的许多命令都不大知道,于是自己找资料查了查。现总结如下,希望对大家有点帮助。为了大家查找方便,命令按字母排序:1、ALTNAME功能: 这一伪指令用...
用户194501 2009-09-14 15:42
Keil C51初始化代码 Startup.a51的中文说明
Keil C51初始化代码 Startup.a51的中文说明 Keil C51初始化代码 Startup.a51的中文说明;--------------------------------...
用户194501 2009-09-12 20:53
DS18B20测温系统
经过几天的研究,终于将DS18B20测试温度系统做出来了,下面讲一下DS18B20要点(有些是自己做实验过程中的体会)1、芯片管脚:2、DS18B20内部结构DS18B20内部结构主要由四部分组 成:...
用户194501 2009-09-12 20:10
石英晶体振荡器原理
1、压电效应压电效应简单来说是机械能与电能的互相转换。顺压电效应:物质在沿一定方向上受到外力的作用变形时,内部会产生极化现象,同时在其表面上会产生电荷;当外力去掉后,又重新回到不带电的状态。逆压电效应...
用户194501 2009-09-11 00:50
8段数码管显示深入分析
在开始之前,先推荐一个十分有用的工具:LED代码段生成器,可自己随意修改,下面是图下面进入正题:      光源闪烁就是光源发出的光随时间呈快速、重复的变化,使得光源跳动和不稳定。当然人的肉眼并不能很...
EE直播间
更多
我要评论
1
9
关闭 站长推荐上一条 /3 下一条