文档库 最新最全的文档下载
当前位置:文档库 › 8x8单片机课设

8x8单片机课设

编号:课程设计说明书

题目:8*8阵式彩灯显示控制

院(系):

专业:

学生姓名:

学号:

指导教师:

2012年12月04 日

摘要

本设计利用单片机最小系统实现在8×8点阵式LED上显示柱形,让柱形按题目要求移动,如此循环下去。利用Keil uVision3软件编译程序,生成hex文件,经过AVR_fighter软件将程序烧入AT89S51。利用Altium Designer Winter 09绘出PCB图,按图制作电路板,插入芯片连接电路板显示功能。

关键词:最小系统;Keil uVision3;hex文件;AVR_fighter;AT89S51;PCB 图;Altium Designer Winter 09

目录

引言 (1)

1硬件设计 (1)

1.1总体方案设计 (1)

1.2单片机的选择 (2)

1.3显示电路的设计 (3)

1.4系统总体电路设计及材料 (3)

2软件设计 (4)

2.1主程序设计 (4)

2.2延时子程序设计 (4)

2.3程序清单 (5)

3系统调试 (7)

3.1程序编译与调试 (7)

3.2电路板的制作 (7)

3.3仿真 (7)

4 结论 (8)

参考文献 (10)

附录 (11)

引言

最小应用系统是指用最少软件组成的单片机可以工作的系统。对51系列单片机来说,最小系统应该包括:单片机、晶振电路、复位电路。

本设计主要任务以A T89S51单片机最小应用系统为核心,在8×8点阵式LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

1 硬件设计

1.1 总体方案设计

硬件电路的设计要遵循以下原则:

(1)在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。

(2)尽可能选择较成熟的典型应用电路,以提高系统的可靠性。

(3)单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。

(4)应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。

(5)整个系统的相关器件应尽可能做到性能匹配,如电平、速度的匹配等。

(6)充分考虑整个系统的抗干扰设计,如选择具有抗干扰设计的单片机并充分筛选芯片与器件,在电路中采取隔离和屏蔽措施等。

根据以上原则,通过分析与比对,我们选用较熟悉的具有内部程序存储器的AT89S51单片机作为主控电路,选用8*8LED显示屏作为显示电路来组成硬件电路,其基本原理图如下(1-1)所示:

图1-1

在硬件电路中,通过软件利用AT89S51单片机控制P1、P3口输出控制8*8LED 显示屏显示柱形移动。

1.2 单片机的选择

本设计在选取单片机时选用了ATMEL公司的AT89S51。

AT89S51是一种低功耗、高性能CMOS8位微控制器,具有 8K在系统可编程Flash存储器。与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,p0口定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,它支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S51单片机采用40脚的DIP封装,其引脚图如下(1-2)所示:

图1-2

1.3 显示电路的设计

8*8点阵LED工作原理如下:8*8点阵由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横,因此实现柱的亮的方法如下所述:

一根竖柱:对应的列置1,而行则采用扫描的方法来实现;

一根横柱:对应的行置0,而列则采用扫描的方法来实现。

1.4 系统总体电路的设计及材料

系统采用AT89S51单片机为主电路的核心部分,各个电路均与单片机相连,由单片机统筹协调各个电路的运行工作。

系统总体电路原理图见附录一:

PCB图见附录二

8*8矩阵图见附录三

芯片对应引脚图见附录四

2 软件设计

2.1 主程序设计

本系统程序主要模块由主程序、延时子程序组成。其中主程序是整个程序的主体。可以对延时子程序进行调用,以能清楚地显示柱形移动过程。

依据本课设题目要求:在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。因此,主程序可分为功能类似的四部分,分别实现以上所述的移动效果,延时子程序则是使柱形显示得使人容易分辨出来。程序流程图如下:

图2-1

2.2 延时子程序设计

利用CPU中每执行一条指令都有固定的时序这一特征,令其重复执行某些指令从而达到延时的目的。

2.3 程序清单

ORG 00H

START: NOP

MOV R3,#3 //设置循环移动次数

LOP2: MOV R4,#8 //移动一次的范围为整个点阵

MOV R2,#0

LOP1: MOV P1,#0FFH //对应列置1

MOV DPTR,#TABA

MOV A,R2

MOVC A,@A+DPTR

MOV P3,A

INC R2

LCALL DELAY //调用延时子程序

DJNZ R4,LOP1 //柱形从左到右移动一次

DJNZ R3,LOP2 //柱形从左到右平滑移动三次

MOV R3,#3

LOP4: MOV R4,#8

MOV R2,#7

LOP3: MOV P1,#0FFH

MOV DPTR,#TABA

MOV A,R2

MOVC A,@A+DPTR

MOV P3,A

DEC R2

LCALL DELAY

DJNZ R4,LOP3

DJNZ R3,LOP4

MOV R3,#3

LOP6: MOV R4,#8

MOV R2,#0

LOP5: MOV P3,#00H

MOV DPTR,#TABB

MOV A,R2

MOVC A,@A+DPTR

MOV P1,A

INC R2

LCALL DELAY

DJNZ R4,LOP5

DJNZ R3,LOP6

MOV R3,#3

LOP8: MOV R4,#8

MOV R2,#7

LOP7: MOV P3,#00H

MOV DPTR,#TABB

MOV A,R2

MOVC A,@A+DPTR

MOV P1,A

DEC R2

LCALL DELAY

DJNZ R4,LOP7

DJNZ R3,LOP8

LJMP START

DELAY: MOV R5,#10

D2: MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,D2

RET

TABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH TABB: DB 01H,02H,04H,08H,10H,20H,40H,80H

END

3 系统调试

3.1 程序编译

(1)输入源程序

打开keil软件,输入源程序,输入时应以英文方式输入字母和符号,且中文注释前要加分号。

(2)对源程序进行编译和纠错

根据自动编译提供的错误信息逐条纠正错误,直至编译信息提示“错误

(0)”,编译结束。

(3)确定调试方案

在调试程序前一定要认真分析源程序,明确各功能程序运行的预期结果。然后结合源程序应达到的结果,确定出如何通过某些关键参数和实验现象检验程序运行结果正确与否。

(4)调试程序

调试程序时首先要明确程序的具体功能,对程序做认真分析。程序运行后,观察有无显示,时钟是否工作,运行结果是否正确。若运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期目的。在编译调试通过以后,生成hex文件以待仿真之用。

3.2电路板制作

(1)打开Altium Designer Winter 09软件,根据已画好的电路图在软件上绘制出来。生成PCB图,并打印出来。

(2)利用熨斗将图纸上的电路印到已经用砂纸擦好的铜板上,熨的过程中要用力压下,并来回移动,保证电路各线路在铜板上清晰可见。

(3)熨好之后,将印好的铜板放进腐蚀液中腐蚀,待腐蚀液变黑时用木棒捞起铜板,用布裹住同伴一角拿起晾干。

(4)待铜板晾干后,将铜板放到打孔机下打孔,打孔时要专心注意,以防打得过大。

(5)打好孔后,把电路所需元器件按电路焊接上去,由于线路密集,孔洞相邻较近,所以焊接过程必须小心,防止锡过多将相邻孔连在一起。

3.3仿真

通过AVR_fighter软件将生成的hex文件烧入AT89S51芯片,完成后将芯片插入电路板,进行仿真。

4 结论

1.本次设计利用最小系统完成了系统构架达到显示要求功能的目的。

2.在程序编译过程中,利用keil uvision3软件调试程序,检查程序错误,开始时都是不理解程序,导致有问题要花很久时间才查到。

3.做电路板时,熨铜板时不够用力、均匀,导致电路线路有些线断了。

4.腐蚀时注意不被腐蚀液伤害到,腐蚀要全面,适时,注意腐蚀过头。

5.钻孔时,注意别伤手,打孔要适中,不能过大。

参考文献

[1] 李朝青. 单片机原理及接口技术(第3版)[M]. 北京:北京航空航天大学出版社,2006.

[2] 赵建领. 51系列单片机开发宝典[M]. 北京:电子工业出版社,2007.

[3] 朱清慧,张凤蕊,翟天嵩,王志奎. Proteus教程——电子线路设计、制版与仿真[M].

北京:清华大学出版社,2008.

[4] 耿永刚,陶国正. 单片机与接口应用技术[M]. 上海:华东师范大学出版社,2008.

[5] 孙惠芹. 单片机项目设计教程[M]. 北京:电子工业出版社,2009.

[6] 杨欣,王玉凤,刘湘黔. 电子设计从零开始[M]. 北京:清华大学出版社,2005.

[7] 余永权. ATMEL89系列单片机应用技术[M]. 北京:北京航空航天大学出版社,2002.

[8] 黄冰,覃伟年,黄知超.微机原理及应用(第2版)[M].重庆:重庆大学出版社,2003.1

[9] 谢龙汉,鲁力,张桂东.Altium Designer原理图与PCB设计及仿真[M].北京:电子

工业出版社,2012.1.

[10] 马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学.2009.

系统总体电路原理图

8*8矩阵图 ̄

芯片对应引脚图

相关文档