单片机课程设计说明书.docx
- 文档编号:7915170
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:22
- 大小:258.80KB
单片机课程设计说明书.docx
《单片机课程设计说明书.docx》由会员分享,可在线阅读,更多相关《单片机课程设计说明书.docx(22页珍藏版)》请在冰豆网上搜索。
单片机课程设计说明书
《单片机技术》课程设计说明书
广告屏
院、部:
电气与信息工程学院
学生姓名:
曹文龙
指导教师:
肖冬瑞职称讲师
专业:
电气工程及其自动化
班级:
电气本1305
学号:
1330120542
完成时间:
2016年6月
摘要
生活中可视广告随处可见,大多采用LED点阵显示屏。
随着商业社会的发展LED点阵屏幕显示器的用途也越来越广泛。
在医院、机场、银行等公共场所中都有用到,所以本设计具有很强的现实应用性。
设计的广告屏是以单片机为控制器,8x8点阵屏为显示屏。
控制显示屏按规律显示图形,这次设计分为硬件设计和软件设计。
硬件设计由电源模块、显示模块、按键模块、和单片机最小系统组成。
在软件设计中使用了keil编程软件运用C语言作为编程语言,C语言具有简易的方式、简洁紧凑、灵活方便、表达力强等优点。
运用了单片机的定时/计数功能,外部中断和定时器中断。
该点阵屏可以通过键盘选择显示广告花样,切换广告花样。
为了使显示的图案更亮,通过74LS245芯片,增加驱动电流。
该系统具有运行可靠、安全、节能、成本低、使用方便等特点。
课题进行了仿真调试和实物调试,仿真调试,使用了Proteus仿真软件。
按照电路原理图连接好。
进行仿真调试。
这次课题调试满足控制要求。
点阵式显示器件作为现代信息显示的重要媒体也的到了迅速的发展。
随着社会经济的迅猛发展,工业生产逐渐实现了自动化,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用。
关键词:
点阵屏、AT89S52、keil软件、protues软件
1概述
本次课程设计通过使用AT89S52与LED8*8组成一个发光点阵屏来显示图形,是通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个通常是红色的发光二极管组成,靠灯的亮灭来显示字符。
通过编程对其实现一个亮灭变化,由于人眼分辨原因,我们就能看到LED是显示的一个连续的亮灯,从而得到我们想要的图形。
该点阵屏上电或按键复位后能自动显示P,进入准备工作状态。
该点阵屏可以通过键盘选择显示广告花样,切换广告花样。
要求显示四种及以上广告花样。
当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体也的到了迅速的发展。
随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。
LED显示可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。
LED显示屏控制专用大规模集成电路也已由国内企业开发生产并得到应用。
LED显示屏产业正成为我国电子信息产业的重要组成部分,也是平板显示领域唯一立足国内形成的民族高科技产业。
LED其他应用领域一很广泛。
例如小尺寸背光源市场,汽车车灯市场,室内装饰灯市场,交通灯市场,景观照明市场,特种照明灯市场,通用照明市场等等。
2硬件电路设计
2.1系统框图
8x8点阵LED字符的显示器的设计主要利用单片机作为本系统的中央控制器, 8x8点阵为主要显示模块,用74LS245芯片作为驱动电路,单片机传来的数据在显示器上显示出来。
在显示电路中,主要靠按钮来实现各种显示要求的选择和切换。
系统框图如图1所示。
图1系统框图
2.2单片机的简介
单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小而完善的计算机系统。
这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
2.3单片机的应用领域
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
(1)在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用数字电路更加强大。
(2)在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
(3)在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
(4)在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
2.4AT89S52单片机
本次设计的8x8点阵LED字符显示器是用利用AT89S51单片机对整个系统进行总体控制。
2.4.1AT89S52的简介
AT89S51是美国Intel公司生产的低功耗,高性能的CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器, 与标准MCS-51指令系统及80S51引脚兼容,芯片内集成了通用8位中央处理器(CPU) 和ISP Flash存储单元。
器件采用ATMEL公司的高密度、非易失性存储技术制造,并且具有逻辑加密的功能,AT89S52单片机适用于较为复杂的控制应用场合。
AT89S52的管脚排列如图2所示
图2AT89S52管脚排列
2.4.2引脚功能说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位双向I/O口,每脚可吸收8TTL门电流。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P0口内部没有上拉电阻,在使用的时候要外部接一个上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
随着单片机的功能增强,对芯片引脚的需求不断增加,但由于简化、工艺或标准化等原因,给一个引脚赋予两种功能的。
AT89C51单片机的引脚主要集中在P3口线上。
P3口的第二功能如表1所示。
表1P3口线的第二功能
口线第二功能信号名称
P3.0RXD串行数据接收
P3.1TXD串行数据接收
P3.2INT0外部中断0申请
P3.3INT1外部中断1申请
P3.4T0定时器/计数器0外部输入
P3.5T1定时器/计数器1外部输入
P3.6WR外部数据存储器(RAM)读脉冲
P3.7WD外部数据存储器(RAM)读脉冲
XTAL1为振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2为振荡器反相放大器的输出端。
RST是复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片复位
ALE/PROG接口是当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
PSEN接口是程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次RSEN信号。
2.4.3单片机的最小系统
单片机的最小系统指的是单片机能正常工作所必须的基本电路,主要由单片机、晶振电路、复位电路和电源电路组成。
这次课题采用如图3所示的最小系统
(1)单片机的时钟电路:
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:
一种是内部时钟方式,另一种为外部时钟方式。
本次课题设计用的是内部时钟方式。
电路利用其内部的振荡电路在XTAL1(18引脚)和XTAL2(19引脚)引线上外接定时元件,内部振荡电路便产生自激振荡。
最常用的是在XTAL1和XTAL2之间连接晶振器与电容构成稳定的自激振荡器。
晶振可在6-22MHz之间选择。
AT89S52单片机在通常应用情况下,使用振荡频率为12MHz的石英晶体。
单片机的晶振电路如图3所示。
图3单片机时钟电路
(2)复位电路:
单片机通常采用上电自动复位和按键复位键两种方式。
上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。
在应用系统中,有些外围芯片也需要复位。
如果这些芯片复位端的复位电平的要求一致,则可以将复位信号与之相连。
单片机的复位电路如图4所示。
图4单片机复位电路
(3)电源电路主要是为系统提供电源,采用普通集成稳压电路。
在这次设计中,考虑到成本,直接用USB接口提供5V直流电源为电路供电。
电源电路如图5所示。
图5单片机电源电路
2.58*8LED点阵屏
2.5.18*8LED点阵屏的内部结构
8×8点阵的共有64个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。
它们排成8横8列组成一个正方形。
8*8D点阵屏的封装如图6所示。
图68*8点阵屏封装图
2.5.2点阵工作原理
LED发光二极管分为正负二个脚当正负之间加入一定的电压时LED 会点亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
LED 发光时一般电流为3 至30mA 左右,LED 有一定的稳压作用,点亮时LED 的正负之间的电压为1.8V至2.1V 左右,LED 加入电压时必须限流否则会损坏LED。
根据发光亮度的需要,LED 的限流电阻可为1K 至3K3 之间,这时流过几毫安的电流,当需要较高亮度的显示时可加入较大的电流,例如使用+5V 供电串接75R 的限流电阻则在75R 的电阻上有3V 的压降,因为LED 压降约为2V,则电流约为30至50毫安。
点阵LED一般采用扫描式显示,实际运用分为点扫描、行扫描和列扫描三种方式。
点扫描的扫描频率必须大于16×64=1024Hz,周期小于1ms。
行扫描和列扫描方式的扫描频率必须大于16×8=128Hz,周期小于7.8ms,才能符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
字符的点阵显示原理获取方法,这次课题用pctolcd2002软件生成图形的代码。
2.6驱动电路
正向点亮一颗LED,LED需要10-20MA的电流。
若电流不够大,则LED灯的亮度不够亮。
AT89S52单片机的I/O口其高阻态输出电流不是很高1-2MA左右。
因此很难高态驱动LED,为了使LED点阵屏的亮度够亮,在外部增加驱动电路提高电流。
在这次课程设计中使用74LS245芯片来增加驱动电流。
74LS245芯片的外部封装如图5所示。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当/CE为H时A和B为高组,/CE为L,AB/BA为L时B→A。
/CE为
L,AB/BA为H时A→B。
7LS245管脚图如图7所示
图77LS245管脚
2.7硬件接线图
由单片机进行处理,并将行列信号分别通过显示驱动输入点阵屏,控制点阵的显示。
(1)单片机:
采用AT89S52单片机芯片作为主控,控制LED点阵显示。
(2)显示:
采用8x8 LED点阵屏显示图形。
(3)显示驱动:
考虑到驱动LED所需电流,采用74LS245芯片作行驱动芯片,AT89S52的I/O口作为列驱动。
系统硬件接线图见附录D。
3系统软件设计
3.1软件流程图
程序主要由主程序、定时器0中断、外部0中断组成。
主程序首先设置定时器中断、外部中断0的初始化,定时器的定时时间为2ms。
后面程序为定时器T0和外部中断1的服务程序。
系统流程图如图8所示。
图8主程序流程图
3.2各模块程序设计
3.2.1主程序设计
voidmain()
{
P0=0xff;
P1=0xff;
TMOD=0X01;//设置定时器0,选用工作方式1
TH0=(65536-3000)/256;//定时2ms
TL0=(65536-3000)%256;
IE=0X83;//允许定时器0、外部0中断
i=0xff;///i的初值设为0xff,加1 后将从0 开始
while
(1);
}
3.2.2定时器0程序设计
voidShow_Dot_Matrix()interrupt1
{
TH0=(65536-3000)/256;//重新设置初值
TL0=(65536-3000)%256;
P0=0xff;//输出位码和段码
P0=~M[i][j];//调用表格
P1=_crol_(P1,1);
j=(j+1)%8;
}
3.2.3INT0 中断程序设计
voidKey_Down()interrupt0
{
P0=0xff;
P1=0x80;
j=0;
i=(i+1)%4;//i在0,1,2,3中取值,因为只要4个图形
TR0=1;//开启定时器
}
3.2.4字模程序设计
{0xFF,0xF1,0xF5,0xF5,0x81,0xFF,0xFF,0xFF},//显示“P”
{0x00,0x7E,0x50,0x50,0x70,0x00,0x00,0x00},//显示爱心桃
{0x60,0x70,0x78,0x3C,0x78,0x70,0x60,0x00},//显“O”
{0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00},//显示正方形
4系统调试及结果
4.1系统调试
4.1.1软件调试
根据各单元电路模块,利用Proteus软件将总的硬件原理图绘制好,设计好各模块要使用的I/O口,本次实验用到P0口和P1口。
如:
8×8点阵LED显示屏时候插反,先检测下,无硬件错误后,再进行程序编程。
利用C语言的编程方式,将系统要求的基本功能,以及创新功能根据程序流程图编写出来,用keil软件调试无误后,生成Hex文件。
双击Proteus中的AT89S52芯片,将Keil生成的Hex加载到芯片内,进行仿真,经调试后所编写的程序能够完美实现系统所需的各种功能。
4.1.2硬件调试
硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。
具体步骤及测试结果如下:
(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。
(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。
(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。
(4)将烧录好程序的最小单片机系统接入各模块后,各模块能过正常工作。
4.1.2仿真效果图
将编好的程序写到Protues软件中进行仿真,结果如图9、10、11、12所示。
图9显示“P”仿真效图
图10显示“O”仿真效图
图11显示“爱心桃”仿真效图
图12显示“正方形”仿真效图
结束语
本课题设计一个8×8点阵LED图文显示屏。
经过测试,LED各点亮度均匀,可显示图形和文字,且稳定清晰无串扰。
本系统具有硬件少、结构简单、容易实现,性能稳定可靠等特点。
通过查阅资料,了解了LED发光原理和LED显示技术的原理和现状。
在 LED点阵显示屏的设计过程中,学到了很多东西,复习了Protel、Proteus、Keil等软件的基础应用。
例如,在进行整个设计之前,应该先根据需求分析,对单片机进行选型,然后对各个硬件模块进行搭试。
在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。
在实物接线的时候刚开始以为点阵屏的管脚是和proteus一样有规矩的排布的,但实际并不是的。
照成了在接线上用了很多的时间。
在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一个方面出错了。
总之,这次设计开发,我受益非浅,在以后的开发过程中一定总结经验,吸取教训,为以后的学习工作打好基础。
参考文献
[1]李广弟.单片机基础[M].第3版.北京:
北京航空航天大学出版社,2003.6
50~60
[2]李全利.单片机原理及应用(C51编程)[M].北京:
高等教育出版社,2012.12
80~90
[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:
北京航空航天大
学出版社2003.615~18
[4]李光飞.单片机C程序设计指导[M].北京:
北京航空航天大学出版社,
2003.0120~25
[5]李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版
2004.940~60
[6]张义,陈敌北编著.例说8051[M].北京:
人民邮电出版社,2006年.18~19.
[7]周越主编.单片机技术实验实训教程[M].北京:
中国水利水电出版社,2007
年.53~55.
[8]周越主编.单片机应用技术[M].北京:
中国水利水电出版社,2009
年.132~133.
[9]李全利编.单片机原理及应用技术[M].北京:
高等教育出版社,2004
年.55~57.
[10]李忠国,陈刚编著.单片机应用技能实训[M].北京:
人民邮电出版社,2006
年.78~79.
[11]赵建领编著.Protel电路设计与制版宝典[M].北京:
电子工业出版社,2007
年.311~312.
[12]郭振民,丁红主编.电子设计自动化EDA[M].北京:
中国水利水电出版
社,2009年.95~96.
[13]周润景等编著.Proteus在MCS-51&ARM7系统中的应用百例[J].电子制
作,·2006年第六期:
12~13.
[14]GranthamK.H.Pang,Chi-HoChan,ThomasT.O.Kwan.Tricolor
light-emittingdiodedotmatrixdisplaysystemwithaudiooutput[J].
IEEETransactionsonIndustryApplications,2001,20~30
[15]KATSUSHIROIIO,SHINYAKONDOH.AMemorableandFlexibleDotMatrix
TypeDisplayUsingFerroelectricLiquidCrystals[J].
Ferroelectrics ,2008,365:
11~12.
[16]GranthamK.H.Pang,Chi-HoChan,ThomasT.O.Kwan.Tricolor
light-emittingdiodedotmatrixdisplaysystemwithaudiooutput[J].
IEEETransactionsonIndustryApplications,2001,37:
25~27
[17]KATSUSHIROIIO,SHINYAKONDOH.AMemorableandFlexibleDotMatrix
TypeDisplayUsingFerroelectricLiquidCrystals[J].
Ferroelectrics ,2008,365:
21~22.
[18]金钊.直流稳压电源的性能测试与优化[D].山东:
山东大学控制工程,2012
15~20
[19]周润景等编著.Proteus在MCS-51&ARM7系统中的应用百例[J].电子制
作,·2006年第六期:
12~13
[20]GranthamK.H.Pang,Chi-HoChan,ThomasT.O.Kwan.Tricolor
light-emittingdiodedotmatrixdisplaysystemwithaudiooutput[J].
IEEETransactionsonIndustryApplications,2001,37:
52~58
[21]KATSUSHIROIIO,SHINYAKONDOH.AMemorableandFlexibleDotMatrix
TypeDisplayUsingFerroelectricLiquidCrystals[J].
Ferroelectrics ,2008,365:
35~36
[22]GranthamK.H.Pang,Chi-HoChan,ThomasT.O.Kwan.Tricolor
light-emittingdiodedotmatrixdisplaysystemwithaudiooutput[J].
IEEETransactionsonIndustryApplications,2001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 说明书