版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计说明书可以调控的走马灯目录1概述11.1可控走马灯的意义112可控走马灯的发展和现状12课题方案设计22.1系统总体设计要求22.2 设计方案论证23.系统硬件设计33.1 总体设计33.2 单片机运行的最小系统43.3 按键电路53.4LED显示模块54.系统软件的设计95软硬件联调及调试结果105.1软硬件调试中出现的问题及解决措施105.2 实物图115.3 调试结果12结束语12参考文献13附录14附录1 : 可以调控的走马灯原理图14附录2 :可以调控的走马灯PCB图14附录3:Ptoteuse 仿真图15附录4:C语言程序清单16附录5:可控走马灯元件清单表191概述
2、1.1可控走马灯的意义 众所周知,走马灯以其绚丽的色彩赢得人们喜爱,在人们的日常生活中很常见,并在一些特定的节日里,重要场合中起着绚烂节日气氛,带给人们欢乐的作用。可以调控的走马灯打破常规走马灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。12可控走马灯的发展和现状当前,可以调控的走马灯广泛应用于各种商业场所,娱乐场所,以及建筑物的装饰等多种场合。可以说,可控走马灯技术的应用已渗透大到世界博览会,奥林匹克开幕式,小到节日彩灯装饰。深入研究可控走马灯是产品提高档次和推陈出新的有效途径。纵观单片机的发展过程,可以预示走马灯的发展趋势,单片机的发展趋势如下:低功耗CMO
3、S化MCS-51系列的80C51推出时的功耗达120mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。微型单片化常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转
4、换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。以8031为核心的单片机占据了半壁江山,在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。2课题方案设计 2.1系统总体设计要求 显示效果使用16个LED;设置三个按键,K1-模式键,
5、通过按键调整显示结果,要求有8种模式;K2-加速键,提高走马灯显示效果的速度;K3-减速键,放慢走马灯的显示效果速度;8种模式通过一个共阳型数码管显示出来,比如,走马灯的显示效果为模式一时,数码管显示数字“1”。图2-1 可控走马灯系统结构框图 2.2 设计方案论证 根据设计内容要求,提出了如下方案:本电路直接采用单片机配合数码管,按钮LED小灯,直接实现功能,主要取决于软件程序的设计。采用的40脚、片内带8kB Flash ROM的STC89C52单片机作为控制核心,采用两组高亮黄色二极管作为指示灯,采用四组一组一位LED数码管作为模式转化显示器,LED显示采用动态扫描方式,以节省端口数。按
6、照这种结构设计,单片机端口不需要外部扩展,资源刚好满足要求。3.系统硬件设计 3.1 总体设计通过模式键改变单片机的工作模式,进行程序控制,一共八个模式。LED灯工作在不同的模式下有不同的现象。加速减速按钮来控制灯泡的闪亮快慢。复位电路用来初始化芯片的状态。对基于单片机的走马灯控制系统进行设计。所设计的系统为:以MCS-51系列单片机作为控制核心。单片机执行指令是在时钟脉冲控制下进行的。因此单片机必须外接振荡器构成时钟电路才能正常工作,另外,还应在单片机的RES端外接电阻电容构成复位电路,当单片机运行错误时可以给一个复位信号使其复位。单片机对接口电路的控制是由软件向单片机的I/O口来实现的。S
7、TC89C52单片机内部有两个定时/计数器,可以用其中的一个定时器来对时间进行计数,而另一个可以对显示器延时进行定时并通过中断把相应的数据通过I/O口送给显示器显示。同时通过对外部按键的状态判断来进行时间的调整。 RST P1口 P0口 STC89C51 P2口X1X2P3口 LED小灯1号到8号复位LED小灯9号到16号三个控制按钮晶振晶振数码管显示图3-1 总电路的原理框图3.2 单片机运行的最小系统1电源;电源电路采用的是USB母口,提供+5V的电压。其有四个引脚,1引脚接的是电源,4引脚接地。由于USB接口使用的是开关电源,不是很稳定的。接10UF的去耦电容起到缓冲的作用,可以得到稳定
8、的+5V电压。把电流比做水流,水流很急,但去耦电容就像一条水沟,可以缓冲水流。电容的作用是蓄能的作用。图 3-2-1电源电路2晶振;晶振为单片机提供时钟信号。图3-2-2 晶振电路3复位电路。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。 图3-2-3 复位电路3.3 按键电路按键用独立式按键表示
9、。图3-3按键模块3.4 LED显示模块LED显示模块采用16个发光二极管并联在电源上,其中一边8个二极管接在P1口上,另外8个二极管接在P0口,上拉电阻与之分别并联。 图3-4 LED显示模块3.5数码管显示模块发光二极管显示管简称LED,具有结构简单、价格低廉、使用方便、耗电少、与单片机接口容易等特点,在单片机应用系统使用非常普遍,一位共阳数码管结构如下。图3-5-1一位共阳数码管LED数码显示器由七段条形的发光二极管组成“ ”字形显示字段,用一只圆形的发光二极管做小数点。LED数码显示器中,通常将各段发光二极管的阴极或阳极连在一起做公共端,这样可以使驱动电路简单。共阳极数码管是指发光二极
10、管的阳极都与正极接在一起,引脚接输出端,故低电平有效,其原理图如下;图3-5-2共阳极数码管原理图共阳极的管脚示意图如下;图3-5-3 共阳极管脚示意图要使LED数码管显示数字,只要点亮相应字段的发光二极管即可。如要显示“1”,点亮b、c段;要显示“0”,点亮a、b、c、d、e、f段。从图中不难看出,对于共阳极数码管,点亮字段则用低电平“0”来表示,所以低电平有效。这样我们就可以把要显示的数字与一串二进制代码对应起来,即对LED数码显示器实现编码。由于这种编码是与显示器结构相对应的,因此不考虑小数点的编码只有七位,常称为七段显示码;如果对小数点也进行编码,则称为八段显示码。常用字符的八段显示码
11、如下图所示;图3-5-4常用字符的八段显示码分为共阴显示码和共阳显示码两种。图3-5-5数码管显示模块4.系统软件的设计本课程设计是采用89C52单片机设计的可以调控的跑马灯,通过keil进行c语言编程,通过protues进行软件硬件仿真。本设计成果,主要通过按键开关对跑马灯进行控制,包括跑马灯模式的选择、跑马灯模式的显示、跑马灯速度变化控制。定时器中断延时程序设计:采用delay()函数进行的延时是不精确的,主要有以下两个原因。(1)该类型的delay()函数采用的延时是通过对变量进行递减或递增实现的,很难计算精确的延时时间。(2)由于跑马灯的状态函数和延时函数是和主任务耦合到一起的,因此主
12、任务的执行时间要对延时的时间产生影响。假设一个跑马灯的延时函数的延时时间是1s,但是由于主函数可能存在不同的分支,因此当主函数执行不同分支程序时,实际的跑马灯延时时间是不一样的。流程图如下图4-1所示。开始程序程序主体条件判断程序分支跑马灯延时图4-1流程图采用中断来进行跑马灯的状态更换有以下几个优点。(1)采用中断函数进行延时,可以精确保证延时的精度,即有效地保证跑马灯状态更换的频率;(2)采用中断函数进行跑马灯状态的更换,在进行延时期间,并不占用单片机资源,单片机可以执行其他的任务。5软硬件联调及调试结果 5.1软硬件调试中出现的问题及解决措施 硬件调试 单片机基础电路包括电源、单片机、外
13、部时钟震荡电路、复位电路和外部接口电路。调试过程需要注意以下几点: (1). 检查电源是否完好。 (2). 单片机电源要连接正确,并且保证STC89C51的31号引脚接高电平。STC89C51的31号引脚是外部程序存储器选择信号端,当该引脚为高电平时,单片机会一直从片内程序存储器内取指令。 (3). 如果使用P0口做I/O口,要接上拉电阻。 (4). 使用万用表排查电路中是否存在断路或者短路情况。笔者在制作外部接口电路时使用的是排针,焊接时容易出现管脚之间短路,所以在上电以前必须先排查电路。(5). 编辑一个简单程序,上电运行,检查单片机是否正常工作,复位电路是否正确。软件调试软件调试相对比较
14、简单,但是要掌握仿真软件的用法,首先在仿真软件(Proteus)上建立仿真模型(电路图),然后用Keil C编程序和Proteus进行联机仿真调试,分别对显示、按键、时钟等各个部分进行调试,检测电路原理图的正确与否。5.2 实物图 图5-2-1 实物图正面图5-2-2 实物图反面5.3 调试结果 可控走马灯7种显示模式如下,效果理想。图5-3 调试结果图结束语:通过学习单片机这门课程设计,不仅了解了STC89c52的功能、还加强了单片机的理论知识得了解,而且进一步接触并了解到了软硬件的结合这个实践问题。不仅如此,此次设计也加强了我们动手培养了我的动手能力及分析思考和解决问题的能力,更令我的创造
15、性思维得到拓展。本次课程设计,我们有以下几点切身体会:1.要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是小系统制作过程中,一点点的错误就会使你整个电路板不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。2.要与同学们互相沟通,交流 。第一次做单片机课程设计,难免会遇到各种各样的问题,因此我们遇到问题,就要积极地与同学交流,必要时向老师请教。 遇到的问题 1、刚着手此设计时,不知道如何下手,但经过老师的指导及自己查阅相关的资料,逐渐有了自己的设计想法,制定出了系统的结构框图。 2、软件设计是耗时最长的一项,涉及到整个系统工作的
16、稳定性。我们首先编写总体框架,然后做简单的测试,保证能正常运行,接下来编写单个的子状态程序,写完一个测试一个,这样保证了最后调试的成功率。在编写程序过程中需要很好的编写习惯,结构要明显,标明注释,随时存档,程序尽量简约。另外要兼顾到硬件结构,尽量使得硬件结构简单,所用资源更少。3、焊接时,由于对焊接的不熟练,经常会使两条电锡焊线不经意间连接在一起,所以要多用万用电表测试,一个模块一个模块的焊接,在进行测试,这样出错的概率会小很多,刚开始时就是从头焊到尾,结果错了却不知道从何检查起。所以焊接时应该一个子模块一个子模块的焊接,并且布线要简单明了,尽量不要用飞线,这样才能够保证实物的成功率。否则到了
17、后期,很难检测出实物的问题。4、第一次做出实物时,发现流水灯全亮,却没有闪烁,这与软件仿真的结果大不同。于是,我找来了一块C52试验开发板,用来调试器件。希望以此发现问题。在C52试验开发板上我发现必须加晶振才能够正常工作,于是,在电路板上加上了晶振,最后,实现了电路板的正常工作。 5、实物做出来,验证成功后。过了几天,我在装上芯片发现现实上出现了一个小问题,刚开始时,我以为是布线太密了,有焊锡不经意间连在一起了,可是用万用电表测试后,却没有发现焊锡连在一起的问题。我百思不得其解,最后我想到实物成功时,底座摇杆对芯片的影响,认为是底座出现来了问题。经调试,确实是底座的问题,底座不是很紧,芯片的
18、引脚不能很好的了解。参考文献:【1】肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 【2】单片机C语言程序设计实训 100 例基于 8051+Proteus仿真【3】赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.3 【4】李广第 单片机基础 第1版北京:北京航空航天大学出版社,1999 【5】徐惠民、安德宁 单片微型计算机原理接口与应用 第1版 北京:北京邮电大学出版社,1996 附录:附录1 : 可以调控的走马灯原理图图6-1可以调控的走马灯原理图附录2 :可以调控的走马灯PCB图图6-2可以调控的走马灯PCB图附录3:Ptoteuse 仿
19、真图图6-3 Ptoteuse 仿真图附录4:C语言程序清单:#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar ModeNo;uint Speed;uchar tCount=0;uchar Idx;uchar mb_Count=0;bit Dirtect=1;uchar code DSY_CODE=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uint code sTable=0,1,3,5,7,9,15,30,50,100,20
20、0,230,280,300,350;void Delay(uint x) uchar i;while (x-) for(i=0;i<120;i+);uchar GetKey() uchar K;if(P2=0xFF) return 0;Delay(10);switch(P2) case 0xFE: K=1; break; case 0xFD: K=2; break; case 0xFB: K=3; break;default: K=0;while (P2!=0xFF);return K;void Led_Demo(uint Led16) P1=(uchar)(Led16 & 0x
21、00FF); P0=(uchar)(Led16 >>8);void T0_TNT() interrupt 1 if (+tCount < Speed) return;tCount=0;switch (ModeNo) case 0: Led_Demo(0x0001 << mb_Count);break; case 1: Led_Demo(0x8000 >> mb_Count);break; case 2: if(Dirtect) Led_Demo(0x000F << mb_Count); else Led_Demo(0xF000 >&g
22、t; mb_Count); if(mb_Count=15) Dirtect =!Dirtect; break; case 3: if(Dirtect) Led_Demo(0x000F << mb_Count); else Led_Demo(0xF000 >> mb_Count); if(mb_Count=15) Dirtect =!Dirtect; break; case 4: if(Dirtect) Led_Demo(0x003F << mb_Count); else Led_Demo(0xFC00 >> mb_Count); if(mb_Count=15) Dirtect =!Dirtect; break; case 5: if(Dirtect) Led_Demo(0x0001 << mb_Count); else Led_Demo(0x8000 >> mb_Count); if(mb_Count=15) Dirtect =!Dirtect; break; case 6: if(Dirtect) Led_Demo(0x0001 << mb_Count); else Led_Demo(0x8000 >> mb_Count);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度安全生产标准化咨询服务及现场指导合同3篇
- 2024生物质锅炉余热回收利用项目合作协议3篇
- 2025年度大理石地暖系统设计与施工合同3篇
- 2024软件系统销售合同系统购买合同
- 2024物业企业服务能力提升与市场拓展合作协议3篇
- 敦煌壁画与文创知到智慧树章节测试课后答案2024年秋酒泉职业技术学院
- 森林防火施工员聘用协议
- 建筑工程节能改造合同
- 别墅锌钢栏杆安装施工协议
- 健身中心围墙施工协议
- 校长在评估反馈会上的表态发言稿(5篇)
- 个人贷款业务营销技巧课件
- 新人教版小学三年级数学上册知识点整理归纳培训课件
- 霉菌性阴道炎VVC的分类及诊治
- 预制舱技术方案思源弘瑞课件
- 四年级科学《运动与摩擦力》说课课件
- 诉讼费退费确认表
- 全球变暖视野下中国与墨西哥的能源现状分析
- 新外研版八年级上册英语全册教案(教学设计)
- 2022年(高级)茶艺师职业资格考试参考题库-下(多选、判断题部分)
- 边坡安全施工组织方案
评论
0/150
提交评论