基于单片机AT89C51控制的动态流水灯课程设计报告Word文档下载推荐.docx
《基于单片机AT89C51控制的动态流水灯课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51控制的动态流水灯课程设计报告Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
采用40引脚双列直插式DIP(DualInLinePackage),内有128个RAM单元及4K的ROM。
80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。
80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。
由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。
动态流水灯的原理图
PCB图
单片机程序
;
***************伪定义*****************
***************键控流水灯*****************
ORG00H
SJMPSTART
ORG00BH
SJMPT_0
ORG30H
***************全部初始化*****************
START:
MOVP0,#0C0H
MOVP2,#0FEH
CLR25H
CLR26H
CLR27H
CLR28H
MOV10H,#04H
MOV11H,#0C8H
MOV20H,#00H
MOV30H,#00H
MOVSP,#5FH
LCALLINIT
***************主程序*****************
MAIN:
JNB25H,ONE1
LCALLKEY
SJMPMAIN
ONE1:
JNB26H,TWO1
LCALLDISPLAY
TWO1:
JNB27H,THREE1
LCALLMAIN_QUICKLY
THREE1:
JNB28H,MAIN
LCALLMAIN_LED
***************中断定时器*****************
T_0:
PUSHPSW
PUSHACC
MOVTH0,#0F6H
MOVTL0,#043H
DJNZ10H,DIS11
SETB25H
DIS11:
SETB26H
DJNZ11H,LIGHT
SETB27H
SETB28H
LIGHT:
POPACC
POPPSW
RETI
***************中断初始化*****************
INIT:
MOVTMOD,#01H
MOVIP,#00H
MOVIE,#82H
MOVTCON,#10H
RET
***************调用按键按下次数子程序*****************
KEY:
JBP3.0,ONE
JNBP3.0,$
INC20H
MOVA,20H
CJNEA,#01H,AAA
MOV40H,#0FCH
AAA:
CJNEA,#02H,BBB
MOV40H,#03FH
BBB:
CJNEA,#03H,CCC
MOV40H,#0FFH
CCC:
CJNEA,#04H,OUT
MOVP1,#0FFH
ONE:
JBP3.1,OUT
JNBP3.1,$
MOV11H,#01H
INC30H
MOVA,30H
CJNEA,#03H,OUT
OUT:
***************调用显示子程序*****************
DISPLAY:
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
***************调用流水灯调速方式子程序*****************
MAIN_QUICKLY:
CJNEA,#00H,QUICKLY_ONE
MOV11H,#016H
SJMPQUICKLY_THREE
QUICKLY_ONE:
CJNEA,#01H,QUICKLY_TWO
MOV11H,#069H
QUICKLY_TWO:
CJNEA,#02H,QUICKLY_THREE
MOV11H,#0FAH
QUICKLY_THREE:
***************调用流水灯循环方式子程序*****************
MAIN_LED:
CJNEA,#00H,LED_ONE
SJMPLED_FOUR
LED_ONE:
CJNEA,#01H,LED_TWO
LCALLLED1
LED_TWO:
CJNEA,#02H,LED_THREE
LCALLLED2
LED_THREE:
CJNEA,#03H,LED_FOUR
LCALLLED3
LED_FOUR:
***************调用流水灯1子程序*****************
LED1:
MOVA,40H
MOVP1,40H
RLA
MOV40H,A
***************调用流水灯2子程序*****************
LED2:
RRA
LED3:
CPLA
**************共阳极数码管译码表格*********************
TAB:
DB0C0H,0F9H,0A4H,0B0H,099H
DB092H,082H,0F8H,080H,090H
END
动态流水灯实物图
.