完整版单片机点阵毕业课程设计.docx
- 文档编号:3412098
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:12
- 大小:466.54KB
完整版单片机点阵毕业课程设计.docx
《完整版单片机点阵毕业课程设计.docx》由会员分享,可在线阅读,更多相关《完整版单片机点阵毕业课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
完整版单片机点阵毕业课程设计
目录
1课题名称………………………………………1
2设计任务及要求………………………………1
3工作原理………………………………………2
3.1阵屏原理………………………………….2
3.289SC51的引脚及相关功能……………..3
4方案选择………………………………………4
4.1方案一………………………………………4
4.2方案二……………………………………...5
4.3方案选择…………………………………..6
5设计与仿真………………………………………6
5.1软硬件设计………………………………...6
5.1.1硬件设计………………………………6
5.1.2软件设计………………………………7
5.2绘制电路图及印刷板图…………………..11
5.3计算机仿真………………………………..11
6课设总结………………………………………14
7参考文献………………………………………14
1课题名称
LED点阵显示器设计
2设计任务及要求
1、掌握LED显示屏控制系统的显示原理,学习LED点阵显示数字和字符的编程方法。
2、结合微机原理、单片机技术知识,查阅有关资料,设计一个以单片机为核心的LED点阵显示器系统,采用点阵LED作为显示器显示0-9及其它字符(例如显示"X")。
3工作原理
3.1阵屏原理
8*8点阵为单色共阳模块,单点的正向工作电压为(Vf)=1.8V,正向电流是(If)=8~10mA。
静态点亮器件时(64点全部亮)的总电流是640mA,总电压是1.8V,总功率为1152mW。
动态时取决与扫描频率(18s或116s),单点瞬间电流可达80~160mA。
点阵内部结构及外形如上,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮。
表18*8LED点阵管脚分布
1
控制第五行显示
接高
9
控制第一行显示
接高
2
控制第七行显示
接高
10
控制第四列显示
接低
3
控制第二列显示
接低
11
控制第六列显示
接低
4
控制第三列显示
接低
12
控制第四行显示
接高
5
控制第八行显示
接高
13
控制第一列显示
接低
6
控制第五列显示
接低
14
控制第二行显示
接高
7
控制第六行显示
接高
15
控制第七列显示
接低
8
控制第三行显示
接高
16
控制第八列显示
接低
3.289SC51的引脚及相关功能
40个引脚按引脚功能大致可分为4个种类:
电源、时钟、控制和IO引脚。
如右图
⒈)电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
注:
用万用表测试单片机引脚电流一般为0v或者5v,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这之是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还是保持在0v或者5v的。
⒉)时钟:
XTAL1、XTAL2-晶体振荡
电路反相输入端和输出端。
⒊)控制线:
控制线共有4根,
⑴ALEPROG:
地址锁存允许片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RSTVPD:
复位备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EAVpp:
内外ROM选择片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋)IO线
80S51共有4个8位并行IO端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
4方案选择
4.1方案一
4.1.1方案原理图:
4.1.2方案分析:
LED一般采用扫描式显示,实际运用分为三种方式:
点扫描、行扫描、列扫描
采用列扫描、行施加数据信号的基本驱动方法。
任意时间只有一列施加高电平信号,其余各列均为低压信号。
行施加对应该列的数据信号,低电平有效。
以8x8LED点阵列显示器为例说明字符显示原理,8列顺序扫描结束后,将完成一帧字符的显示。
一帧扫描结束后,列扫描从第一行重新开始,周而复始。
若行数据保持不变,则显示静态字符。
反之,行数据发生变化,则显示内容将发生变化,如果保持前后帧内容的连贯性,就可以显示动态字符。
4.2方案二
4.2.1方案原理图:
4.2.2方案分析:
由24块8*8点阵led构成一块大屏幕,单片机控制进行循环扫描,用多块移位寄存器控制输出内容,并由单片机串行输出显示内容的行编码,显示屏会滚动显示数字、字母。
汉字等内容。
4.3方案选择
第一种方案,选用器件较少,控制比较简单,显示内容比较丰富,能满足课程设计的要求。
第二种方案,显示内容丰富,显示效果好,但所用器件较多,控制比较复杂,所以我们选择第一种方案
5设计与仿真
5.1软硬件设计
5.1.1硬件设计
方案一中系统电路图可知系统整体由两大部分构成:
以单片机AT89S51为核心的模块;由1块8*8的LED点阵显示屏组成的显示模块;
以下是各单元电路的具体设计:
1、主控制单片机
本次设计使用的是AT89S51的最小系统电路,包括:
电源、时钟脉冲、复位电路和程序存储器设定电路,只是接受少量的数字和字符,不用外接存储扩展。
时钟脉冲:
AT89S51单片机的最高时钟脉冲频率已经达到了24MHz,它内部已经具备了振荡电路,只要在AT89S51的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2个管脚即可,同时晶体的2个管脚也要用30pF的电容耦合到地。
复位电路:
89S51的复位引脚(RESET)是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。
以12MHz的时钟脉冲为例,每个时钟脉冲为0.5μS,两个机器周期为1µS,因此,在第9脚上连接一个2μS的高电平脉冲,即可产生复位动作。
最简单的就是只有一个电阻跟一个电容就可可靠复位的电路,电阻一般选择10K,电容一般选择10µF。
程序存储器设定电路:
31脚接VCC,默认采用内部程序存储器。
2、LED显示模块
本次设计中8*8的LED电子显示屏的制作。
相对而言是比较简单的。
5.1.2软件设计
(1)显示代码的设计
假设显示数字“0”
12345678
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
00003E4141413E00
因此,形成的列代码为00h,00h,3eh,41h,41h,41h,3eh,00h;只要把这些代码按扫描顺序分别送到相应的列线上面,即可实现“0”的数字显示。
其他列代码用类似方法设计。
送显示代码过程如下所示
送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。
由于扫描速度很快,眼睛看到的是完整的数字。
则类似可得其他数字及字符的编码。
(2)程序设计
1.流程图
2.程序设计
TIMEQU30H
CNTAEQU31H
CNTBEQU32H
ORG00H
LJMPSTART
ORG0BH中断入口
LJMPT0X
ORG30H
START:
MOVTIM,#00H初始化
MOVCNTA,#00H
MOVCNTB,#00H
MOVTMOD,#01H
MOVTH0,#()256中断赋值
MOVTL0,#()MOD256
SETBTR0开中断
SETBET0
SETBEA
SJMP$循环等待
T0X:
MOVTH0,#()256中断程序
MOVTL0,#()MOD256恢复t0的计数初值
MOVDPTR,#TAB查表,找到行选通信号
MOVA,CNTA
MOVC+DPTR
MOVP3,A行选通信号给p3口
MOVDPTR,#DIGIT
MOVA,CNTB
MOVB,#8
MULAB
ADDA,CNTA
MOVC+DPTR
MOVP1,A将显示信号给p1
INCCNTA
MOVA,CNTA
CJNEA,#8,NEXT
MOVCNTA,#00H
NEXT:
INCTIM
MOVA,TIM
CJNEA,#250,NEX一秒后调整显示值
MOVTIM,#00H
INCCNTB
MOVA,CNTB
CJNEA,#10,NEX
MOVCNTB,#00H
NEX:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH行选通
DIGIT:
DB00H,00H,3EH,41H,41H,41H,3EH,00H0
DB00H,00H,00H,00H,21H,7FH,01H,00H1
DB00H,00H,27H,45H,45H,45H,39H,00H2
DB00H,00H,22H,49H,49H,49H,36H,00H3
DB00H,00H,0CH,14H,24H,7FH,04H,00H4
DB00H,00H,72H,51H,51H,51H,4EH,00H5
DB00H,00H,3EH,49H,49H,49H,26H,00H6
DB00H,00H,40H,40H,40H,4FH,70H,00H7
DB00H,00H,36H,49H,49H,49H,36H,00H8
DB00H,00H,32H,49H,49H,49H,3EH,00H9
END
3.程序调试
调试程序采用KeiluVision3,首先启动keil软件的集成开发环境,点击“Project—>NewProject”建立新的工程,选择AT89S51作为目标芯片。
建立新的源文件,将程序输入并将源文件添加到工程中。
编译程序并改正程序中的错误,当程序没错误后点击“Debug—>StartStopDebug”进入程序动态调试状态,验证程序能不能正确的执行,不能则从新修改源程序,如果能则调试工作结束。
5.2绘制电路图及印刷板图
用protell99SE画出电路原理图如下:
5.3计算机仿真
电路图
(1)打开KeiluVision3,新建Keil项目,选择AT89S51单片机作为CPU,新建C语言源文件,编写程序,并将其导入到“SourceGroup”中。
在“OptionforTarget”对话窗口中,选中“Output”选项卡中的“CreateHEX”选项和“Debug”选项卡中的“Use:
ProteusVSMSimulator”选项。
编译源程序,改正程序中的错误。
(2)在ProteusISIS中,选中AT89S51并单击鼠标左键,打开“EditCompoment”对话窗口,设置单片机晶振频率为12MHZ,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件。
在ProteusISIS的菜单栏中选择“File”->“SaveDesign”选项,保存设计。
在ProteusISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“UseRemoteDebugMonitor”选项,以支持与Keil的联合调试。
(3)在Keil的菜单栏中选择“Debug”->“StarStopDebugSession”选项,或者直接单击工具栏的“Debug>StarStopDebugSession”图标,进入程序调试环境。
按“F5”键,顺序运行程序。
调出“ProteusISIS”界面,可以看到如下图的显示内容。
仿真结果
(1)显示数字
(2)显示字符
6课设总结
单片机是当前流行的控制技术,使用简单、功能强大、成本也很低,对于我们以后的工作有很大用处,这次课设我们用单片机来完成不仅提高了我们对单片机的兴趣,而且使我们所学知识在实际中得到应用,提高了我们的应用能力。
课设使用了点阵,我们上课并没有学习这方面的内容,通过我们查资料,很快领会了点阵的使用方法,课设使用了多种软件帮助设计,让我们对设计方法有了进一步了解,而且我们设计了不同的显示内容,让我们对点阵的显示有了基本的掌握,我们感觉很有成就感。
我在这个学期做了一个单片机的小项目,对单片机已经比较熟悉,这次课设并没用感觉到很难,我们小组分工明确,各负其责,我主要负责软件的设计与调试。
经过我们三个的共同努力,很快便将仿真结果做了出来。
作出的结果可能不能让老师十分满意,但我们已经为我们的成果欢呼雀跃了。
这只是一次简单的课设,在实际中的应用还会更难,这都需要我们不断的学习新的技术,不断提高自己的应用能力。
7参考文献
1、郑初华主编汇编语言、微机原理及接口技术第2版北京:
电子工业出版社2006
2、张友德等单片微型机原理、应用与实验第五版上海:
复旦大学出版社2003
3、网站:
电子工程师之家
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 单片机 点阵 毕业 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)