51 汇编语言编程:8个按键控制8个LED
2016-01-25 12:04
381 查看
;89C51汇编语言写8个按键控制8个LED
;按键接P2口,LED接P1口。
;有6按键,按下对应LED长亮,重复按下,LED灭;
;有两个特殊按键,按下,对应LED每隔1秒闪烁,重复按下,LED灭。
;题目网址:http://zhidao.baidu.com/question/591052586.html
;做而论道编写的程序如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_INT
ORG 0030H
;---------------------------------
MAIN:
MOV TMOD, #01H
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
SETB TR0
MOV IE, #82H
MOV R7, #50 ;500ms
LOP:SJMP LOP
;---------------------------------
T0_INT:
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
MOV A, P2
CPL A
MOV B, A
XRL A, 21H
ANL A, 21H
MOV 22H, A
MOV 21H, B
ANL A, #3FH
XRL 20H, A
MOV A, 22H
ANL A, #0C0H
XRL 23H, A
DJNZ R7, T0_E
MOV R7, #50 ;500ms亮500ms灭
JB 23H.7, S2
XRL 20H, #80H
SJMP S3
S2: ORL 20H, #80H
S3: JB 23H.6, S4
XRL 20H, #40H
SJMP T0_E
S4: ORL 20H, #40H
T0_E: MOV P1, 20H
RETI
;---------------------------------
END
;仿真电路如下:
;图片链接:http://xiangce.baidu.com/picture/detail/b13fd0df0ff8c029222ecb222f7b961dc49698d2
;经过仿真实验,本程序,符合题目要求。
;D1~D6,受 K1~K6 控制,长亮/熄灭;D7~D8,受到 K7~K8 控制,闪烁/熄灭。
C 语言程序可见:http://hi.baidu.com/do_sermon/item/f8812371c31434590d0a0791
注意这两个题目的接口要求不同。
;按键接P2口,LED接P1口。
;有6按键,按下对应LED长亮,重复按下,LED灭;
;有两个特殊按键,按下,对应LED每隔1秒闪烁,重复按下,LED灭。
;题目网址:http://zhidao.baidu.com/question/591052586.html
;做而论道编写的程序如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_INT
ORG 0030H
;---------------------------------
MAIN:
MOV TMOD, #01H
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
SETB TR0
MOV IE, #82H
MOV R7, #50 ;500ms
LOP:SJMP LOP
;---------------------------------
T0_INT:
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
MOV A, P2
CPL A
MOV B, A
XRL A, 21H
ANL A, 21H
MOV 22H, A
MOV 21H, B
ANL A, #3FH
XRL 20H, A
MOV A, 22H
ANL A, #0C0H
XRL 23H, A
DJNZ R7, T0_E
MOV R7, #50 ;500ms亮500ms灭
JB 23H.7, S2
XRL 20H, #80H
SJMP S3
S2: ORL 20H, #80H
S3: JB 23H.6, S4
XRL 20H, #40H
SJMP T0_E
S4: ORL 20H, #40H
T0_E: MOV P1, 20H
RETI
;---------------------------------
END
;仿真电路如下:
;图片链接:http://xiangce.baidu.com/picture/detail/b13fd0df0ff8c029222ecb222f7b961dc49698d2
;经过仿真实验,本程序,符合题目要求。
;D1~D6,受 K1~K6 控制,长亮/熄灭;D7~D8,受到 K7~K8 控制,闪烁/熄灭。
C 语言程序可见:http://hi.baidu.com/do_sermon/item/f8812371c31434590d0a0791
注意这两个题目的接口要求不同。
相关文章推荐
- C51 编程,要求按照指定的次序按键
- 51 单片机汇编编程:记录按键
- python分布式进程
- 80x86汇编语言编程:利用写显示缓冲区的方法,显示彩色文字
- 用80x86汇编语言编程--输入、储存与输出
- 51 汇编语言编程--输入密码
- 51 汇编语言编程:变速计数
- 80x86汇编语言编程:循环显示 26 个小写字母的 ASCII 码
- 51 汇编编程:使蜂鸣器发出“嘀、嘀。。。”报警声
- 80x86汇编语言编程:键入、过滤与显示
- 51 单片机编程:双路计数器
- 80x86汇编语言编程:显示杨辉三角形
- 80x86汇编语言编程:两个矩阵相乘
- 51 汇编编程:8×8 点阵驱动
- 51 汇编编程:倒计时交通灯
- 51 汇编编程:多路延时开关
- 51 汇编编程:中断的现场保护与恢复
- 51 汇编编程:一种单片机抢答器
- 51 汇编编程:停留保持的流水灯
- 80x86汇编语言编程:求两个单元中,有多少个对应的位是不同的