深圳市华胄科技有限公司 >> MCU专题 >> MCU单片机


MCU51学习例程----抢答器



提交者 华胄斑竹  在  2008-6-23 14:12:14 

上一篇 下一篇
;=================================================
; 抢答器
;
; SW1 SW2 SW3 SW4
; 用数码管显示最先按下的按键 01 02 03 04
; 并点亮对应灯: D2 D3 D4 D5
; 显示2S后退出。
; 同时发出 “嘟”一声。
;
;=================================================
;
; mcu51实验板配套学习例程
;
;=================================================
Beep BIT P2.3


LED1 EQU 08H
LED2 EQU 09H
LED3 EQU 0AH
LED4 EQU 0BH
LedT0 EQU 0CH ;0-3 轮流点亮4个数据管


ORG 0000H
LJMP START ;转入主程序


ORG 000BH
;=================================================
;定时器0中断入口
INT_TO:
PUSH ACC
PUSH PSW


CLR TF0 ;清定时0中断标志
MOV TH0,#0F6H ;2.5MS
MOV TL0,#03DH ;


MOV A,#11110000B ;关数码管
ORL P2,A


MOV A,LedT0
CJNE A,#0,INT_T0_1
MOV A,LED1
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
MOV LedT0,#1
LJMP INT_T0_END
INT_T0_1:

MOV A,LedT0
CJNE A,#1,INT_T0_2
MOV A,LED2
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
MOV LedT0,#2
LJMP INT_T0_END
INT_T0_2:

MOV A,LedT0
CJNE A,#2,INT_T0_3
MOV A,LED3
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
MOV LedT0,#3
LJMP INT_T0_END
INT_T0_3:

MOV A,LED4
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
MOV LedT0,#0
LJMP INT_T0_END

INT_T0_END:


POP PSW
POP ACC


RETI


;=============================================


START:
MOV SP,#60H


MOV TMOD,#01H ;设定T0为十六位定时模式。
MOV TH0,#0F6H ;2.5MS
MOV TL0,#03DH ;
SETB TR0 ;开定时器0
SETB ET0 ;致能定时0中断
CLR TF0 ;清定时0中断标志
SETB EA ;开总中断


MOV LedT0,#00H
MOV DPTR,#TABLE


MOV LED1,#10H
MOV LED2,#10H
MOV LED3,#10H
MOV LED4,#10H
;=============================================
SCAN:
;按键扫描
JNB P3.2,KEY_SW1
JNB P3.3,KEY_SW2
JNB P3.4,KEY_SW3
JNB P3.5,KEY_SW4
LJMP SCAN
;=============================================
KEY_SW1:
LCALL DELAY_10MS ;去抖动
JB P3.2,SCAN


MOV LED3,#0H
MOV LED4,#01
CLR P1.0 ;点亮LED
CLR Beep
CALL DELAY_100MS
SETB Beep
CALL DELAY_2S

MOV LED3,#10H
MOV LED4,#10H
SETB P1.0
JMP SCAN
;=============================================
KEY_SW2:
LCALL DELAY_10MS ;去抖动
JB P3.3,SCAN


MOV LED3,#0H
MOV LED4,#02
CLR P1.1 ;点亮LED
CLR Beep
CALL DELAY_100MS
SETB Beep
CALL DELAY_2S

MOV LED3,#10H
MOV LED4,#10H
SETB P1.1
JMP SCAN
;=============================================
KEY_SW3:
LCALL DELAY_10MS ;去抖动
JB P3.4,SCAN


MOV LED3,#0H
MOV LED4,#03
CLR P1.2 ;点亮LED
CLR Beep
CALL DELAY_100MS
SETB Beep
CALL DELAY_2S

MOV LED3,#10H
MOV LED4,#10H
SETB P1.2
JMP SCAN
;=============================================
KEY_SW4:
LCALL DELAY_10MS ;去抖动
JB P3.5,SCAN


MOV LED3,#0H
MOV LED4,#04
CLR P1.3 ;点亮LED
CLR Beep
CALL DELAY_100MS
SETB Beep
CALL DELAY_2S

MOV LED3,#10H
MOV LED4,#10H
SETB P1.3
JMP SCAN


;=============================================
DELAY_2S:
MOV R3,#200
JMP DELAY10MS
DELAY_100MS:
MOV R3,#10
JMP DELAY10MS
DELAY_10MS:
MOV R3,#1
;=============================
DELAY10MS:
MOV R4,#20
DELAY10MSA:
MOV R5,#247
DJNZ R5,$
DJNZ R4,DELAY10MSA
DJNZ R3,DELAY10MS
RET
;=============================================
TABLE:
DB 00101000B ;0
DB 11101011B ;1
DB 00110010B ;2
DB 10100010B ;3
DB 11100001B ;4
DB 10100100B ;5
DB 00100100B ;6
DB 11101010B ;7
DB 00100000B ;8
DB 10100000B ;9
DB 01100000B ;A
DB 00100101B ;b
DB 00111100B ;C
DB 00100011B ;d
DB 00110100B ;E
DB 01110100B ;F
DB 11110111B ;-
DB 11111111B ;
END



单片机教程,五系列(55讲)电子书全集下载

论坛精选:
单片机教程,MCS51单片机从零开始 第一讲:初识单片机
http://bbs.huazhoucn.com/Topic.aspx?id=2539
单片机教程,MCS51单片机从零开始 第二讲:MCS-51单片机简述
http://bbs.huazhoucn.com/Topic.aspx?id=2540
单片机教程,MCS51单片机从零开始 第三讲:单片机相关常用名词解释
http://bbs.huazhoucn.com/Topic.aspx?id=2541
单片机教程,MCS51单片机从零开始 第四讲:计算机中数的表示及运算
http://bbs.huazhoucn.com/Topic.aspx?id=2542
单片机教程,MCS51单片机从零开始 第五讲:常用逻辑电路
http://bbs.huazhoucn.com/Topic.aspx?id=2544
单片机教程,MCS51单片机从零开始 第六讲:51单片机的结构及其组成
http://bbs.huazhoucn.com/Topic.aspx?id=2545
单片机教程,MCS51单片机从零开始 第七讲:51单片机的引脚
http://bbs.huazhoucn.com/Topic.aspx?id=2546
单片机教程,MCS51单片机从零开始 第八讲:8051单片机I/O引脚工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2547
单片机教程,MCS51单片机从零开始 第九讲:8051单片机的存储器结构
http://bbs.huazhoucn.com/Topic.aspx?id=2548
单片机教程,MCS51单片机从零开始 第十讲:编码及译码器工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2549
单片机教程,MCS51单片机从零开始 第十一讲:存储器的存储原理
http://bbs.huazhoucn.com/Topic.aspx?id=2550
单片机教程,MCS51单片机从零开始 第十二讲:51单片机的特殊功能寄存器
http://bbs.huazhoucn.com/Topic.aspx?id=2551
单片机教程,MCS51单片机从零开始 第十三讲:51单片机CPU的内部结构
http://bbs.huazhoucn.com/Topic.aspx?id=2552
单片机教程,MCS51单片机从零开始 第十四讲:定时器/计数器的基本结构及工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2553
单片机教程,MCS51单片机从零开始 第十五讲:51单片机的中断系统
http://bbs.huazhoucn.com/Topic.aspx?id=2554
单片机教程,MCS51单片机从零开始 第十六讲:51单片机的复位
http://bbs.huazhoucn.com/Topic.aspx?id=2555
单片机教程,MCS51单片机从零开始 第十七讲:51单片机执行指令的过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第十八讲:51单片机的延时及时序分析
http://bbs.huazhoucn.com/Topic.aspx?id=2557
单片机教程,MCS51单片机从零开始 第十九讲:汇编语言基础
http://bbs.huazhoucn.com/Topic.aspx?id=2558
单片机教程,MCS51单片机从零开始 第二十讲:汇编语言及汇编过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第二十一讲:汇编程序的基本结构
http://bbs.huazhoucn.com/Topic.aspx?id=2560
单片机教程,MCS51单片机从零开始 第二十二讲:51单片机的寻址方式
http://bbs.huazhoucn.com/Topic.aspx?id=2561
单片机教程,MCS51单片机从零开始 第二十三讲:数据传送类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2562
单片机教程,MCS51单片机从零开始 第二十四讲:算术运算类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2563
单片机教程,MCS51单片机从零开始 第二十五讲:逻辑运算及移位指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2564
单片机教程,MCS51单片机从零开始 第二十六讲:控制转移类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2565
单片机教程,MCS51单片机从零开始 第二十七讲:布尔变量操作指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2566
单片机教程,MCS51单片机从零开始 第二十八讲:伪指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2567

1 楼  提交者:qinghe251 在 2008-6-23 14:26:51
SEE
2 楼  提交者:可乐爱笑 在 2008-6-25 8:47:11
很好
3 楼  提交者:Guest 在 2008-6-30 15:21:22
看看 能不能 用
4 楼  提交者:Guest 在 2008-7-1 13:46:36
有运行过吗?
5 楼  提交者:Guest 在 2008-7-13 20:34:28
ok
6 楼  提交者:Guest 在 2008-7-21 15:30:15
7 楼  提交者:Guest 在 2008-7-22 23:14:16
8 楼  提交者:Guest 在 2008-7-23 17:54:00
VERYMUCHGOOD
9 楼  提交者:Guest 在 2008-7-23 17:54:02
VERYMUCHGOOD
10 楼  提交者:xjl 在 2008-7-31 13:34:53
11 楼  提交者:Guest 在 2008-8-14 20:51:20
v  
12 楼  提交者:Guest 在 2008-8-27 16:10:19
学习
13 楼  提交者:Guest 在 2008-8-28 7:10:20
12223333333
14 楼  提交者:Guest 在 2008-9-2 22:47:38
15 楼  提交者:Guest 在 2008-9-10 22:42:39
好啊


16 楼  提交者:中国长航 在 2008-9-28 21:33:45
17 楼  提交者:齐天大圣 在 2008-10-6 17:16:42
18 楼  提交者:Guest 在 2008-11-18 19:48:05
dfa
19 楼  提交者:新岁纷飞 在 2008-12-26 10:35:47
RGTG
20 楼  提交者:Guest 在 2009-1-1 1:39:55
下野
21 楼  提交者:Guest 在 2009-3-3 10:25:12
我看再说
22 楼  提交者:Guest 在 2009-5-3 19:36:40
他如果
23 楼  提交者:Guest 在 2009-5-4 17:00:10
123
24 楼  提交者:Guest 在 2009-5-27 9:54:47
拭目以待
25 楼  提交者:2222h 在 2009-5-27 11:53:11
26 楼  提交者:Guest 在 2009-6-4 23:43:02
无内容
27 楼  提交者:Guest 在 2009-7-1 10:53:40
不错的平台
28 楼  提交者:骆毅 在 2009-10-3 23:35:30
看一下咯
29 楼  提交者:骆毅 在 2009-10-4 21:21:27
30 楼  提交者:Guest 在 2009-10-11 22:30:12
看看
上一篇 下一篇
当前第〖1〗页 共有2页 转到第 1 2