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


MCU51学习例程----0-9999记数器



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

上一篇 下一篇
;=================================================
; 0-9999记数器 sw1 + sw2 - sw3 清零
; 按下sw时对应 D9 D8 点亮
;=================================================
;
; mcu51实验板配套学习例程
;
;=================================================


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 ;2MS
MOV TL0,#03DH ;
SETB TR0 ;开定时器0
SETB ET0 ;致能定时0中断
CLR TF0 ;清定时0中断标志
SETB EA ;开总中断


MOV LedT0,#00H
MOV DPTR,#TABLE


MOV LED1,#0
MOV LED2,#0
MOV LED3,#0
MOV LED4,#0
;=============================================
SCAN:
;按键扫描
MOV A,#11100011B
ORL A,P3
CPL A
JZ SCAN
LCALL DELAY10MS ;去抖动
JNB P3.2,KEY_SW1_INC
JNB P3.3,KEY_SW2_DEC
JNB P3.4,KEY_SW3_RST
LJMP SCAN
;=============================================
KEY_SW1_INC:
;点灯d9
CLR P1.7
JNB P3.2,$ ;放开按键


INC LED4
MOV A,LED4
CJNE A,#10,KEY_SW1_END ;等于10,进位
MOV LED4,#00
INC LED3
MOV A,LED3
CJNE A,#10,KEY_SW1_END
MOV LED3,#00
INC LED2
MOV A,LED2
CJNE A,#10,KEY_SW1_END
MOV LED2,#00
INC LED1
MOV A,LED1
CJNE A,#10,KEY_SW1_END
MOV LED1,#00
MOV LED2,#00
MOV LED3,#00
MOV LED4,#00
KEY_SW1_END:
;灭灯d9
SETB P1.7
JMP SCAN
;=============================================
KEY_SW2_DEC:
;点灯d8
CLR P1.6
JNB P3.3,$ ;放开按键


CLR C
MOV A,LED4
SUBB A,#1
MOV LED4,A
JNC KEY_SW2_END ;借位,表示已经减到小于0
MOV LED4,#09
CLR C
MOV A,LED3
SUBB A,#1
MOV LED3,A
JNC KEY_SW2_END
MOV LED3,#09
CLR C
MOV A,LED2
SUBB A,#1
MOV LED2,A
JNC KEY_SW2_END
MOV LED2,#09
CLR C
MOV A,LED1
SUBB A,#1
MOV LED1,A
JNC KEY_SW2_END
MOV LED1,#09
MOV LED2,#09
MOV LED3,#09
MOV LED4,#09
KEY_SW2_END:
;灭灯d8
SETB P1.6
JMP SCAN


;=============================================
KEY_SW3_RST:
MOV LED1,#00
MOV LED2,#00
MOV LED3,#00
MOV LED4,#00
;检测按键是否放开
JNB P3.4,$
JMP SCAN


DELAY10MS:
MOV R4,#20
DELAY10MSA:
MOV R5,#247
DJNZ R5,$
DJNZ R4,DELAY10MSA
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 楼  提交者:Guest 在 2008-6-23 16:57:39
2 楼  提交者:Guest 在 2008-6-28 8:33:12
good
3 楼  提交者:Guest 在 2008-6-30 15:31:11
看下
4 楼  提交者:Guest 在 2008-7-1 13:52:52
好资料   不错   
5 楼  提交者:Guest 在 2008-7-13 20:35:32
kanxia
6 楼  提交者:Guest 在 2008-7-17 11:33:20
vb
7 楼  提交者:Guest 在 2008-7-21 15:14:16
8 楼  提交者:Guest 在 2008-7-23 18:00:41
121
9 楼  提交者:dataie 在 2008-7-24 16:35:36
kankan
10 楼  提交者:fangxx_2005 在 2008-7-27 16:29:11
GOOD!
11 楼  提交者:Guest 在 2008-7-28 7:22:49
hgjhj
12 楼  提交者:Guest 在 2008-7-28 14:04:22
自己欣赏   
13 楼  提交者:Guest 在 2008-7-29 14:38:24
7878
14 楼  提交者:xjl 在 2008-7-31 13:24:44
飞啦,什么样子的
15 楼  提交者:Guest 在 2008-7-31 14:00:10
16 楼  提交者:金麟 在 2008-7-31 16:21:06
sss
17 楼  提交者:Guest 在 2008-9-12 22:21:27
hao
18 楼  提交者:陈俊旭 在 2008-9-18 19:46:38
aaaaaaaaaa
19 楼  提交者:Guest 在 2008-10-29 16:14:47
hehe
20 楼  提交者:wenrunxi 在 2008-11-10 8:56:50
看看
21 楼  提交者:小宾 在 2008-11-11 17:01:47
KAN KAN 
22 楼  提交者:Guest 在 2008-12-4 23:01:21
无内容
23 楼  提交者:Guest 在 2008-12-5 12:17:05
24 楼  提交者:Guest 在 2008-12-5 15:56:52
好产品,大家一起分享:
华邦W78E052 完全兼容AT89S52\STC89C52\SM8952 价格3.00元
华邦W78E365 完全兼容AT89C55\STC89C58\STC89C516 价格:5.50元
华邦W79E2051\4051 完全兼容AT89C2051\4051和STC12C2052\4052 价格分别为:2.80元\3.00元
华邦一级代理商: 联系人:唐先生 0755-61392396-809 13410362373
QQ:37150839 E-MAIL:tangsunlin@163.com
25 楼  提交者:Guest 在 2008-12-13 12:31:29
good
26 楼  提交者:rxdz888 在 2008-12-25 22:07:50
看看
27 楼  提交者:Guest 在 2008-12-29 14:56:41
28 楼  提交者:louisky 在 2009-1-9 17:23:45
jkghjkgh
29 楼  提交者:Guest 在 2009-1-19 0:46:08
30 楼  提交者:小丫她爸 在 2009-2-27 17:28:50
非产感谢。很好的资料      
上一篇 下一篇
当前第〖1〗页 共有3页 转到第 1 2 3