单片机实习彩灯

更新时间:2024-07-09 07:03:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机原理与接口技术课

程设计报告

姓 名 所在学院 电气与电子工程学院 专业班级 学 号

指导教师 邸建红

日 期 2011 年 7 月 2 日

单片机课程设计报告

彩灯控制设计报告

一、实验目的

1、使学生对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。 2、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。

3、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。

4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

5、通过小组内部讨论和合作,培养学生团队合作精神和分析问题、解决问题的能力。

二、设计要求

1.花型种类不少于四种,花型自拟;

2.可用键控制彩灯按预设的花型进行变换;

3.可用键控制分别用快/慢两种节拍实现花型变换。 本机地址为00H,当接到上位机发的00H时,则回发00H 当接到上位机发的AAH时,则将预设花型代号发出 当收到55H时,则后面的数据为新的花型

三、原理图

该原理图中通过P2口来实现彩灯花型的输出,外部中断0实现对彩灯变换的开与关,外部中断1实现对彩灯变换快慢两种节拍的控制。RXD和TXD实现主机对从机的呼叫以及相互间的数据传送。本次设计采用AT89S51系列单片机来实现相关的控制。

1

单片机课程设计报告

四、系统流程图

开始 初始化 N 是否有外中断0 Y 按照预定花型变换或者彩灯关闭 N 是否有外中断1 Y 彩灯花型变换快慢调节 结束 主程序流程图

2

N 是否有串行中断 Y 执行串行中断

单片机课程设计报告

开始 初始化定时器及其相关的控制寄存器 接收数据是否为00H 回发00H N Y 接收数据是否为AAH Y 回发花型序号 N 接收数据55H? Y N 返回 回发新花型号

主从机通信流程图

3

单片机课程设计报告

五、程序

ORG 0000H AJMP MAIN

ORG 0003H ;外中断0入口地址 LJMP INT0

ORG 000BH ;定时器中断T0入口地址 LJMP TM0

ORG 0013H ;外中断1入口地址 LJMP INT1

ORG 0023H LJMP CUK ORG 0100H

MAIN:MOV TMOD,#21H MOV TL1,#0FCH MOV TH1,#0FCH MOV TH0,#3CH MOV TL0,#0B0H

SETB EA SETB ES SETB EX0 ETB EX1 SETB IT0 SETB IT1

SETB PX0 SETB PX1 SETB PT0

MOV PCON,#00H MOV SCON,#0F0H SETB TR1 MOV R7,#96 MOV R6,#191 MOV R5,#00H

CLR F0 MOV R0,#00H MOV R3,#00H

MOV P2,#0FFH SJMP $ INT0:JB F0,A1 SETB ET0 SETB TR0 SETB F0 SJMP A2

A1:CLR F0 CLR ET0

;串行中断入口地址 ;定义定时器T0,T1,赋初值 ;开中断 ;设定外中断0,1和定时中断为高优先级 ;F0,R0和R3相当于软开关 ;将P2口电位抬高,是灯全灭 ;等待

;外中断0服务程序 ;开定时器T0 ;关定时器T0 4

单片机课程设计报告

CLR TR0

MOV R5,#00H ;重新初始化 MOV R3,#00H MOV R0,#00H MOV R7,#96 MOV R6,#191 MOV P2,#0FFH A2:RETI

INT1:CJNE R0,#00H,A3 ;外中断1服务程序 INC R0

MOV R3,#01H CJNE R5,#00H,D1 MOV R4,A ADD A,R4 INC A

MOV R6,A

D1:CJNE R5,#01H,D2 MOV R4,A ADD A,R4 INC A

MOV R6,A

D2:CJNE R5,#02H,D3 MOV R4,A ADD A,R4 INC A

MOV R6,A

D3:CJNE R5,#03H,D4 MOV R4,A ADD A,R4 INC A

MOV R6,A D4:SJMP D5 D5:SJMP A4

A3:MOV R0,#00H MOV R3,#00H

CJNE R5,#00H,E1 MOV B,#2 DIV AB INC A

MOV R7,A

E1:CJNE R5,#01H,E2 MOV B,#2 DIV AB INC A

MOV R7,A

;R3为定时器中的软开关

;判断彩灯的当前花型,使彩灯从快节拍跳变到慢节拍 ;判断彩灯的当前花型,使彩灯从慢节拍跳变到快节拍5

单片机课程设计报告

E2:CJNE R5,#02H,E3 MOV B,#2 DIV AB INC A

MOV R7,A

E3:CJNE R5,#03H,E4 MOV B,#2 DIV AB INC A

MOV R7,A E4:AJMP A4 A4:RETI K:LJMP M0

TM0:MOV TH0,#3CH MOV TL0,#0B0H CJNE R3,#00H,K

DEC R7 MOV A,R7

CJNE R5,#00H,B5 CJNE A,#95,B1 MOV P2,#0FCH B1:CJNE A,#90,B2 MOV P2,#0F0H B2:CJNE A,#85,B3 MOV P2,#0C0H B3:CJNE A,#80,B4 MOV P2,#00H B4:CJNE A,#75,B5 MOV P2,#0FFH

INC R5 B5:CJNE R5,#01H,B10 CJNE A,#70,B6 MOV P2,#0E7H B6:CJNE A,#65,B7 MOV P2,#0C3H B7:CJNE A,#60,B8 MOV P2,#81H B8:CJNE A,#55,B9 MOV P2,#00H B9:CJNE A,#50,B10 MOV P2,#0FFH INC R5

B10:CJNE R5,#02H,B15 CJNE A,#45,B11 MOV P2,#7EH

;定时器T0中断服务程序,定时器赋初值 ;快节拍彩灯 ;第一种花型入口

;第二种花型入口 ;第三种花型 6

单片机课程设计报告

B11:CJNE A,#40,B12 MOV P2,#3CH B12:CJNE A,#35,B13 MOV P2,#18H B13: CJNE A,#30,B14 MOV P2,#00H B14:CJNE A,#25,B15 MOV P2,#0FFH INC R5

B15:CJNE R5,#03H,G0 CJNE A,#20,B16 MOV P2,#0AAH B16: CJNE A,#15,B17 MOV P2,#55H B17:CJNE A,#10,B18 MOV P2,#00H B18:CJNE A,#5,B19 MOV P2,#0FFH B19:CJNE A,#0,G0 MOV R5,#00H MOV R7,#96

G0:RETI M0: DEC R6 MOV A,R6

CJNE R5,#00H,M5 CJNE A,#190,M1 MOV P2,#0FCH M1:CJNE A,#180,M2 MOV P2,#0F0H M2:CJNE A,#170,M3 MOV P2,#0C0H M3:CJNE A,#160,M4 MOV P2,#00H M4:CJNE A,#150,M5 MOV P2,#0FFH INC R5

M5:CJNE R5,#01H,M10 CJNE A,#140,M6 MOV P2,#0E7H M6:CJNE A,#130,M7 MOV P2,#0C3H M7:CJNE A,#120,M8 MOV P2,#81H M8:CJNE A,#110,M9 MOV P2,#00H

;第四种花型 ;中断返回 ;慢节拍 ;第一种花型 ;第二种花型 7

单片机课程设计报告

M9:CJNE A,#100,M10 MOV P2,#0FFH INC R5

M10:CJNE R5,#02H,M15 ;第三种花型 CJNE A,#90,M11 MOV P2,#7EH M11:CJNE A,#80,M12 MOV P2,#3CH M12:CJNE A,#70,M13 MOV P2,#18H M13:CJNE A,#60,M14 MOV P2,#00H M14:CJNE A,#50,M15 MOV P2,#0FFH INC R5

M15:CJNE R5,#03H,G1 CJNE A,#40,M16 MOV P2,#0AAH M16:CJNE A,#30,M17 MOV P2,#55H M17:CJNE A,#20,M18 MOV P2,#00H M18:CJNE A,#10,M19 MOV P2,#0FFH M19:CJNE A,#0,G1 MOV R5,#00H MOV R6,#191

G1:RETI CUK:PUSH A CLR RI MOV A,SBUF XRL A,#00H JZ S1 RETU:POP A RETI S1:CLR SM2 MOV A,#00H MOV SBUF,A JNB RI,$ CLR RI JNB RB8,S2 SETB SM2 SJMP RETU

S2:MOV A,SBUF CJNE A,#0AAH,AA1 ;第四种花型 ;中断返回

;串行中断服务程序 ;接收地址,判断与本从机地址是否一致 ;接收指令,判断是AA还是55 ;若是AA,将预设花型发给主机

8

单片机课程设计报告

MOV A,#7FH SETB ACC.1 MOV SBUF,A JNB TI,$ CLR TI

LCALL DELAY MOV 60H,#5 CDZ:MOV SBUF,R5 JNB TI,$ CLR TI

LCALL DELAY DJNZ 60H,CDZ SETB SM2 SJMP RETU

AA1:CJNE A,#55H,BB1 MOV A,#7FH SETB ACC.0 MOV SBUF,A JNB TI,$ CLR TI

LCALL DELAY MOV R2,#3 MOV R1,#40H ZDC:JNB RI,$ CLR RI

MOV @R1,SBUF INC R1

DJNZ R2,ZDC SETB SM2 SJMP RETU

BB1:MOV SBUF,#80H JNB TI,$ CLR TI

SJMP RETU

DELAY:MOV 30H,#0FFH FF:MOV 31H,#0FFH DJNZ 31H,$ DJNZ 30H,FF RET

END

;若是55,接收主机数据 ;不识别指令,就回发80H ;延时程序 ;结束 9

单片机课程设计报告

六、心得体会

做了一周的课程设计,让人感受颇深,我们小组一共3个人,人多,分工就显得很重要,在我们的集体的讨论之下,我得到了设计硬件电路和总体调试的任务,当时让我感到很有压力。因为我们平时接触的都是纯粹理论的东西,做实验也是雾里看花,对硬件的认识是很缺乏的。

一回我就去图书馆和网上查阅了大量的单片机和数字芯片的资料,由于资料比较分散,所以整理有用的资料就显得很重要,有些东西实在是不懂我就把资料带回来请教同学,让我受益匪浅。在硬件电路的设计中,由于要涉及软件设计的具体情况,又和组员共同讨论,最终确定了一个大家都可以接受的方案。当时感觉这下任务该完成了,没有想到的是在实际的调试中更是遇到了太多的麻烦。

在焊接电路过程中由于我们是在电路板后面接得导线,所以有时不仔细的话,就会造成线路短路的情况出现。幸好我们仔细检查了电路板的接线情况,把挨得较近的焊点都进行了处理,使它们尽量避免接触造成短路。我们拿着设计好的电路接线图和设计的程序去实验室调试,另人兴奋的是我们第一次就实现了程序 。

接下来我们又把主从机通信的部分加到了程序中,虽然失败了很多次,但通过我们不断的修改,终于还是成功了,那时真的是非常高兴。

很感谢学校和老师给我们安排了这次课程设计,让我真正感受到的是合作的重要,许多时候都是组员的讨论,老师的指导中的一句半句启发了我,就出现的让人欣喜的结果;理论知识同样很重要,有些问题都是由于基础知识掌握不好才出现的。

10

单片机课程设计报告

附录1 元件清单 AT89C51单片机芯片 1K电阻 LED灯 10uF电解电容 30uF电容 12M晶振 2K电阻 按钮 附录2 焊接电路板

1个 8个 8个 1个 2个 1个 2个 3个

11

单片机课程设计报告

12

本文来源:https://www.bwwdw.com/article/v8f.html

Top