跑马灯课程设计报告.docx

上传人:b****3 文档编号:5060348 上传时间:2023-05-08 格式:DOCX 页数:14 大小:144.19KB
下载 相关 举报
跑马灯课程设计报告.docx_第1页
第1页 / 共14页
跑马灯课程设计报告.docx_第2页
第2页 / 共14页
跑马灯课程设计报告.docx_第3页
第3页 / 共14页
跑马灯课程设计报告.docx_第4页
第4页 / 共14页
跑马灯课程设计报告.docx_第5页
第5页 / 共14页
跑马灯课程设计报告.docx_第6页
第6页 / 共14页
跑马灯课程设计报告.docx_第7页
第7页 / 共14页
跑马灯课程设计报告.docx_第8页
第8页 / 共14页
跑马灯课程设计报告.docx_第9页
第9页 / 共14页
跑马灯课程设计报告.docx_第10页
第10页 / 共14页
跑马灯课程设计报告.docx_第11页
第11页 / 共14页
跑马灯课程设计报告.docx_第12页
第12页 / 共14页
跑马灯课程设计报告.docx_第13页
第13页 / 共14页
跑马灯课程设计报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

跑马灯课程设计报告.docx

《跑马灯课程设计报告.docx》由会员分享,可在线阅读,更多相关《跑马灯课程设计报告.docx(14页珍藏版)》请在冰点文库上搜索。

跑马灯课程设计报告.docx

跑马灯课程设计报告

 

课程设计报告

课题名称基于AT89S51的跑马灯设计

系别机电系

专业

班级

学号

学生姓名

指导教师

完成日期2010年月

 

教务处制

基于AT89S51的跑马灯设计

一、设计任务与要求

1.设计任务

选择采用AT89S51、74LS245、ULN2803、LED等器件,使用汇编语言实现各种跑马灯动态显示效果设计。

2.设计要求

实现16个LED的全亮、全灭、交错显示、流水灯显示等。

可结合灯的排布以及程序设计实现各种跑马灯动态显示效果。

三个输入按键,按键S2时,LED灯亮点依次流动;按键S3时,依次点亮LED灯;按键S4时,LED灯交错点亮。

3.设计目的

通过本课程设计掌握单片机系统设计思路和基本步骤;掌握LED驱动电路、延时程序和按键处理程序设计。

能熟练使用Wave6000软件、编程器或下载线。

熟悉Keil、PROTEUS、Protel99se等相关软件的使用。

二、方案设计与论证

在日常生活中,我们总是花样百出的流水灯光,随着电子技术的飞速发展,人们对灯的花样要求也就更多,如全亮、全灭、交错显示、流水灯显示等。

因此,跑马灯得到了广泛的应用。

一个由单片机控制的较简单的数字钟由电源电路、控制电路、驱动电路、显示电路4部分组成。

1.控制电路

控制电路时整个电路的核心,主要由单片机来完成。

AT89S51单片机的管脚图如图

(1)所示。

单片机执行指令是在时钟脉冲控制下进行的,因此,单片机必须外接振荡器构成时钟电路才能正常工作。

另外,还应该在单片机的RES端外接电阻电容构成复位电路,当单片机运行错误时可以给一个复位信号使其复位。

单片机的对接口电路的控制是由软件向单片机的I/O口(即P0~P3口)来实现的。

AT89S51单片机内部由两个定时/计数器,可以用其中一个定时/计数器来对时间进行计数,而另一个可以对显示器的显示延时进行定时并通过中断把相应的数据通过I/O口送给显示器显示。

同时,通过对图1AT89S51管脚图

外部按键的状态判断来进行时间的调整。

2.显示电路

作为显示电路,采用16个LED灯来进行显示,实现全亮、全灭、交错显示、流水灯显示等。

3.驱动电路

由于单片机的I/O口输出电流比较弱,不够驱动一位LED数码管,因此,必须在I/O口和LED数码管之间接一驱动器和限流电阻来驱动LED数码管。

4.电源电路

由于外部的干扰如电压、电流的波动可能造成直流电源的不稳定,因此,可在电源两端接上滤波器来降低外部干扰对电源造成的影响。

三、单元电路设计

1.时钟电路

单片机执行指令是在时钟脉冲控制下进行的,因此时钟信号时单片机的基本工作条件。

可以通过测量第30脚ALE是否有输出时钟脉冲的六分频信号来判断时钟信号是否正常。

时钟可以由内部和外部两种方式产生,本设计采用内部方式。

如图

(2)所示,在XTAL1和XTAL2引脚上外接定时元件。

定时元件通常采用振荡器和电容组成的并联谐振电路。

X1为振荡器,C1、C2为电容。

振荡器的振荡频率主要取决于晶体,电容对振荡频率由微调作用。

外接晶体振荡器时,电容值可选在30pF左右。

图2内部时钟电路图3电源滤波电路

2.电源电路

如图(3)所示,为了提高电源的稳定,由两个电容并联连接电源两极构成电源滤波电路。

C4电容值比较大,用于滤低频;C5容值比较小,用于滤高频。

3.复位电路

一个时钟周期为振荡周期的2倍,6个时钟周期构成一个机器周期,即12个时钟周期构成一个机器周期。

在RES引脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。

如时钟频率为12MHz,则有效的复位信号至少应保持2μs以上。

复位电路可以有两种方式:

上电复位电路和外部按键复位电路。

图(4)所示为单片机的上电复位电路。

在上电瞬间,因为电容两端的电压不能突变,RST引脚上电位与Vcc相同。

随着电容器充电过程的进行,RST引脚上的电位逐渐下降。

只要适当选择C和R的数值,即可顺利实现复位操作。

图(5)所示为单片机的外部按键复位电路。

选择R1=1KΩ,R2=10KΩ,当按下按键时R1与R2分压,RST引脚上能得到一个高电平的输入信号,实现复位操作。

图4上电复位电路图5外部按键复位电路

4.接口电路

P1、P2口上每个引脚分别接一发光二极管(LED),通电后电路进入就绪状态,等待用户输入,当用户点击S2,各LED轮流点亮。

当用户点击S3,各LED依次点亮。

当用户点击S4,P1.0至P2.7依次交错点亮。

当用户点击S1后,不论LED工作在那种状态,各LED熄灭。

图6接口电路

四、总原理图及元器件清单

1.总原理图

图7电子钟总原理图

 

2.元件清单

元件序号

类别

主要参数

数量

备注

R5

色环电阻

1KΩ(1/4瓦)

1

R1~R4

色环电阻

10KΩ(1/4瓦)

4

R6

色环电阻

390Ω(1/4瓦)

1

X1

晶振

12MHz

1

C1、C2

陶瓷电容

30pF

2

C3

电解电容

22μF

1

U1

单片机

AT89S51

1

D1~D17

发光二极管

LED(高绿)

17

DC2.1

电源插座

ULN2803

2

RP1~RP2

排阻

A102J

3

S1~S4

按键

6×6×6

4

五、硬件焊接与调试

1.先排好电路格局,再按照电路格局把电路焊接好。

2.焊好电路后,先不接通电源,用万用表测试一下电路有没有短接或断开,并做相应的修整。

3.检测好后,通上电源,检测芯片插座电源两端的电压会不会正常。

4.断开电源,插上芯片,再接通电源,用万用表检查一下输出电压是否正常。

5.检测完全没问题后,用仿真器代替单片机,检测程序是否正确,并进行相应的调整。

完全没问题后,就可以将程序烧入单片机,并将单片机芯片插入电路,就可以了。

六、软件设计与调试

程序开始先使P1口为低电平,熄灭各LED,随后系统进入键盘检测循环,当检测到某个键被按下,则转到该键对应的程序处执行。

按键处理程序循环执行各自的功能后,每循环一次后检测S1是否按下,如果按下,各LED熄灭,重新进入键盘检测循环,否则继续循环。

程序流程图如图8。

图8跑马灯程序流程图

跑马灯程序设计清单如下:

;************;

;中断入口程序;

;************;

;

ORG0000H

LJMPSTART

ORG0003H

RETI

ORG000BH

RETI

ORG0013H

RETI

ORG001BH

RETI

ORG0023H

RETI

;************;

;初始化程序;

;************;

INIT:

MOVP1,#00H

MOVP2,#00H

RET

;************;

;主程序;

;************;

START:

ACALLINIT

STAR1:

MOVP3,#0FFH

JNBP3.3,FUN0;亮点流动

JNBP3.4,FUN1;依次点亮

JNBP3.5,FUN2;交错点亮

AJMPSTAR1

FUN0:

LCALLDL20MS;消岸抖动

JBP3.3,STAR1

WAITL0:

JNBP3.3,WAITL0;等待键释放

LCALLFUN00

FUN1:

LCALLDL20MS;消岸抖动

JBP3.4,STAR1

WAITL1:

JNBP3.4,WAITL1;等待键释放

LCALLFUN11

FUN2:

LCALLDL20MS;消岸抖动

JBP3.5,STAR1

WAITL2:

JNBP3.5,WAITL2;等待键释放

LCALLFUN22

 

FUN00:

MOVA,#01H

FUN000:

MOVP1,A

LCALLDL05S

JBACC.7,FUN011

RLA

AJMPFUN000

FUN011:

MOVP1,#00H

MOVA,#01H

FUN001:

MOVP2,A

LCALLDL05S

JBACC.7,OUT

RLA

AJMPFUN001

OUT:

MOVP2,#00H

LCALLFUN00

RET

FUN11:

MOVA,#01H

FUN111:

MOVP1,A

MOVR1,A

LCALLDL05S

CJNEA,#0FFH,CNTN

AJMPFUN12

CNTN:

RLA

ORLA,R1

AJMPFUN111

FUN12:

MOVA,#01H

FUN112:

MOVP2,A

MOVR1,A

LCALLDL05S

CJNEA,#0FFH,CNTN1

MOVP1,#00H

MOVP2,#00H

LCALLDL05S

LCALLFUN11

RET

CNTN1:

RLA

ORLA,R1

AJMPFUN112

FUN22:

SETBP1.0

LCALLDL05S

SETBP1.2

LCALLDL05S

SETBP1.4

LCALLDL05S

SETBP1.6

LCALLDL05S

SETBP2.0

LCALLDL05S

SETBP2.2

LCALLDL05S

SETBP2.4

LCALLDL05S

SETBP2.6

LCALLDL05S

SETBP1.1

LCALLDL05S

SETBP1.3

LCALLDL05S

SETBP1.5

LCALLDL05S

SETBP1.7

LCALLDL05S

SETBP2.1

LCALLDL05S

SETBP2.3

LCALLDL05S

SETBP2.5

LCALLDL05S

SETBP2.7

LCALLDL30S

MOVP1,#00H

MOVP2,#00H

LCALLDL30S

MOVP1,#0FFH

MOVP2,#0FFH

LCALLDL30S

MOVP1,#00H

MOVP2,#00H

LCALLDL30S

MOVP2,#0FFH

MOVP1,#0FFH

LCALLDL30S

MOVP1,#00H

MOVP2,#00H

LCALLFUN22

RET

;************;

;延时程序;

;************;

DL512:

MOVR2,#0FFH

LOOP1:

DJNZR2,LOOP1

RET

DL20MS:

MOVR3,#28H

LOOP2:

LCALLDL512

DJNZR3,LOOP2

RET

DL05S:

MOVR4,#0AH

LOOP3:

LCALLDL20MS

DJNZR4,LOOP3

RET

DL30S:

MOVR5,#03H

LOOP4:

LCALLDL05S

DJNZR5,LOOP4

RET

END

七、结论与心得

1.通过仿真软件和自己动手的实践,调动了我的学习兴趣和积极性。

2.将实践应用与课堂教学联系在了一起,解决了理论与实践脱节的问题。

3.应用仿真软件,节省了硬件资源,节省资金,避免了实际硬件开发与应用过程中的浪费。

4.使我熟识掌握单片机开发软件的应用,与新技术接轨,为将来从事实际工作打下良好的基础。

八、参考文献

[1]李秀忠.单片机应用技术.北京:

人民邮电出版社.2007

[2]胡汉才.单片机原理及接口技术.北京:

清华大学出版社,2004.

[3]郑毛祥.单片机应用基础.人民邮电出版社,2006.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2