1、基于单片机AT89C51控制的动态流水灯课程设计报告 宁波技师学院 课 程 设 计 报 告 论文题目 动态流水灯 专业班级 学生姓名 学 号 导师指导 宁波技师学院电气技术系 2013年9月29号 摘要 80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个
2、外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。 动态流水灯的原理图 PCB图 单片机程序;*伪定义* ;*键控流水灯* ORG 00H SJMP START ORG 00BH SJMP T_0 ORG 30H;*全部初始化*START: MOV P0,#0C0H MOV P2,#0FEH CLR 25H CLR 26H CLR 27H CLR 28H MOV 10H,#
3、04H MOV 11H,#0C8H MOV 20H,#00H MOV 30H,#00H MOV SP,#5FH LCALL INIT;*主程序*MAIN: JNB 25H,ONE1 CLR 25H LCALL KEY SJMP MAINONE1: JNB 26H,TWO1 CLR 26H LCALL DISPLAY SJMP MAINTWO1: JNB 27H,THREE1 CLR 27H LCALL MAIN_QUICKLYTHREE1: JNB 28H,MAIN CLR 28H LCALL MAIN_LED SJMP MAIN;*中断定时器*T_0: PUSH PSW PUSH ACC M
4、OV TH0,#0F6H MOV TL0,#043H DJNZ 10H,DIS11 MOV 10H,#04H SETB 25HDIS11: SETB 26H DJNZ 11H,LIGHT SETB 27H SETB 28HLIGHT: POP ACC POP PSW RETI;*中断初始化*INIT: MOV TMOD,#01H MOV TH0,#0F6H MOV TL0,#043H MOV IP,#00H MOV IE,#82H MOV TCON,#10H RET;*调用按键按下次数子程序*KEY: JB P3.0,ONE JNB P3.0,$ INC 20H MOV A,20H CJNE
5、A,#01H,AAA MOV 40H,#0FCHAAA: CJNE A,#02H,BBB MOV 40H,#03FHBBB: CJNE A,#03H,CCC MOV 40H,#0FFHCCC: CJNE A,#04H,OUT MOV P1,#0FFH MOV 20H,#00HONE: JB P3.1,OUT JNB P3.1,$ MOV 11H,#01H INC 30H MOV A,30H CJNE A,#03H,OUT MOV 30H,#00HOUT: RET;*调用显示子程序*DISPLAY: MOV P2,#0FEH MOV A,20H MOV DPTR,#TAB MOVC A,A+DP
6、TR MOV P0,A RET;*调用流水灯调速方式子程序*MAIN_QUICKLY: MOV A,30H CJNE A,#00H,QUICKLY_ONE MOV 11H,#016H SJMP QUICKLY_THREEQUICKLY_ONE: CJNE A,#01H,QUICKLY_TWO MOV 11H,#069H SJMP QUICKLY_THREEQUICKLY_TWO: CJNE A,#02H,QUICKLY_THREE MOV 11H,#0FAHQUICKLY_THREE: RET;*调用流水灯循环方式子程序*MAIN_LED: MOV A,20H CJNE A,#00H,LED_
7、ONE SJMP LED_FOURLED_ONE: CJNE A,#01H,LED_TWO LCALL LED1 SJMP LED_FOURLED_TWO: CJNE A,#02H,LED_THREE LCALL LED2 SJMP LED_FOURLED_THREE: CJNE A,#03H,LED_FOUR LCALL LED3LED_FOUR: RET;*调用流水灯1子程序*LED1: MOV A,40H MOV P1,40H RL A MOV 40H,A RET;*调用流水灯2子程序*LED2: MOV A,40H MOV P1,40H RR A MOV 40H,A RET;*调用流水灯1子程序*LED3: MOV A,40H MOV P1,40H CPL A MOV 40H,A RET;*共阳极数码管译码表格*TAB: DB 0C0H,0F9H,0A4H,0B0H,099H DB 092H,082H,0F8H,080H,090H END 动态流水灯实物图 .
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1