您的位置:首页技术文栏LED应用
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

单片机AT89C51 00——99带倒计时计数器

[日期:2008-01-29 ] [来源:东哥开发网(www.picavr.com) 作者:佚名] [字体: (投递新闻)

1. 设计任务

(1. 上电时显示“00”,第一次按下SP1后就开始计数。

(2. 第二次按SP1后,计数停止。

(3. 第三次按SP1后,计数清零。

 (4.   第四次按下倒计时  。

2.  电路的原理图

 3. 系统板上硬件连线

(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。

(2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。

(3.把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;

4.

 汇编源程序

D1A EQU 30H                           个位寄存地址设置;

D1B EQU 31H                           十位寄存地址设置;

SEC EQU 32H

KY1 EQU 33H     

SP1 BIT P3.5                               位选口设置;

ORG 0000H

LJMP START

ORG 0B00H                                中断方式选折;

LJMP INT_T0

START: MOV KY1,#00H

MOV SEC,#00H

MOV A,SEC

MOV B,#10

DIV AB                                         个位和十位的区分;           

MOV DPTR,#TABLE                    开始查个位的段码;

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

MOV TMOD,#02H

SETB ET0

SETB EA                             开启中断;

WT: JB SP1,WT               

LCALL DELY10MS

JB SP1,WT                         

INC KY1                                  第一次按下键盘,开始计数;

MOV A,KY1

CJNE A,#01H,KN1

SETB TR0

MOV TH0,#06H

MOV TL0,#06H

MOV D1A,#00H

MOV D1B,#00H

LJMP DKN

KN1: CJNE A,#02H,KN2

CLR TR0

LJMP DKN

KN2: CJNE A,#03H,DKN

MOV SEC,#00H

MOV A,SEC

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

MOV KY1,#00H

KN3:  INC KY1   

 DEC KY1                            第4次按下键盘,开始计数;

MOV A,KY1

CJNE A,#04H,KN3

SETB TR0

MOV TH0,#06H

MOV TL0,#06H

MOV D1A,#00H

MOV D1B,#00H

LJMP DKN

DKN: JNB SP1,$

LJMP WT

DELY10MS:                    延时子程序;

MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

INT_T0:                                中断子程序;

INC D1A

MOV A,D1A

CJNE A,#100,NEXT

MOV D1A,#00H

INC D1B

MOV A,D1B

CJNE A,#5,NEXT

MOV TCNTB,#00H

INC SEC

MOV A,SEC

CJNE A,#100,DONE

MOV SEC,#00H

DONE: MOV A,SEC

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

NEXT: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐