收藏 分销(赏)

单片机优秀课程设计花样流水灯.doc

上传人:天**** 文档编号:2658616 上传时间:2024-06-03 格式:DOC 页数:25 大小:351.54KB
下载 相关 举报
单片机优秀课程设计花样流水灯.doc_第1页
第1页 / 共25页
单片机优秀课程设计花样流水灯.doc_第2页
第2页 / 共25页
单片机优秀课程设计花样流水灯.doc_第3页
第3页 / 共25页
单片机优秀课程设计花样流水灯.doc_第4页
第4页 / 共25页
单片机优秀课程设计花样流水灯.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、河南理工学院课程设计说明书题目: 花样流水灯设计 姓 名: 院 (系): 专业班级: 学 号: 指导老师: 成 绩: 时间: 年 4 月 23 日至 年 5月 29日河南理工学院课程设计任务书题 目: 花样流水灯设计 专业、班级 学号 姓名 关键内容、基础要求、关键参考资料等:关键内容:利用单片机控制16个发光二极管模拟彩灯根据一定规律点亮、熄灭、闪烁。基础要求:1.实现发光二极管多样化显示;2.利用proteus软件完成设计电路和仿真;3.掌握相关芯片和电子元件使用方法;4.经过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联络实际能力。关键参考资料:1李全利,单片机

2、原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版和仿真M,清华大学出版社4单片机试验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社完 成 期 限: .4.23-.5.29指导老师署名: 课程责任人署名: 年 月 日目录绪论11 课程设计目标和要求21.1 设计目标21.2 设计要求22 总体设计22.1 硬件总体设计22.1.1 设计思想22.1.2 原件清单22.1.3 模块分析22.2软件总体设计33 硬件设计43.1 AT89C51单片机硬件结构43.1.1关键特征43.1.2关键引脚功效

3、43.1.3外部总线结构63.1.4振荡器特征73.1.5芯片擦除73.2硬件电路设计73.2.1震荡电路73.2.2LED电路显示83.2.3复位电路94软件设计104.1主程序设计104.2子程序设计114.3流水灯控制码程序设计114.4程序步骤图125使用proteus软件调试仿真说明125.1 Proteus介绍125.2 Proteus特点135.3 Proteus使用方法135.4电路原理图设计方法135.5仿真过程146测试数据147附录147.1花样流水灯程序147.2花样流水灯总线路图16结束语16参考文件16I绪论伴随大家生活环境不停改善和美化,在很多场所能够看到彩色霓虹

4、灯不停改变闪烁。LED灯因为其丰富灯光色彩,低廉造价和控制简单等特点而得到了广泛应用,用彩灯来装饰街道和城市建筑物已经成为一个时尚。但现在市场上各式样LED灯控制器大多数用全硬件电路实现,电路结构复杂、功效单一,这么一旦制作成品只能根据固定模式闪亮,不能依据不一样场所、不一样时间段需要来调整亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。另外从功效效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。所以有必需对现有彩灯控制器进行改善。流水灯是一串按一定规律像流水一样连续闪亮。流水灯控制是可编程控制器一个应用,其控制思想在工业控制技

5、术领域也一样适用。流水灯控制可用多个方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常见左移寄存器实现灯单方向移动;用双向移位寄存器实现灯双向移动。本案例利用价格低廉AT89C51系列单片机控制基色LED灯泡从而实现丰富改变。关键词:AT89C51,LED灯,单片机,花样流水灯1 课程设计目标和要求1.1 设计目标多年来伴随科技发展,单片机应用正在不停走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制单片机应用系统中,单片机往往是作为一个关键部件来使用,单片机方面知识是不够,还应依据具体硬件结构,和针对具体应用对象点软件结合,加以完善。流水灯,能够更简单、方便使

6、用。经过本课程设计使学生深入巩固单片机原理及应用基础概念、基础理论,分析问题基础方法,增强系统地利用已学理论知识处理实际问题能力和查阅资料能力。培养一定自学能力和独立分析问题、处理问题能力,能经过独立思索、查阅工具书、参考文件,寻求处理方案。1.2 设计要求流水灯设计基础要求:设计一个流水灯,应用AT89C51试验系统,电路开启后红、绿两种颜色灯在时钟信号作用下按一定规律转换状态。2 总体设计2.1 硬件总体设计2.1.1 设计思想整个系统工作由软件程序控制运行,依据需要,能够上电后系统经过初始化,入用户设定模式状态。基于AT89C51单片机彩灯控制方案,实现对LED彩灯控制。本方案以AT89

7、C51单片机作为主控关键,和驱动等模块组成关键主控制模块。在主控模块上设有晶振电路和16个LED显示二极管,依据需要编写若干种亮灯模式,依据多种亮灯时间不一样需要,在不一样时刻输出灯亮或灯灭控制信号。2.1.2 原件清单2.1.3 模块分析(1)关键部件AT89C51单片机是整个彩灯循环系统关键是控制彩灯循环闪烁等等一切功效部件;其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,另外还有定时/计数器,串行I/O口,中止系统,和一个内部时钟电路。(2)复位

8、系统 电路中C1、R2组成复位电路,它作用是将单片机内部特殊功效寄存器和端口寄存器恢复到初始状态,从内部FLASH存放器初始状态开始实施(3)震荡系统 单片机本身如同一个复杂同时时序电路,为了确保同时工作,电路应在唯一时钟信号控制下,严格地按要求时序工作。而时钟电路就用于产生单片机工作所需要时钟信号。(4)闪烁系统利用单片机P口控制LED发光闪烁,再利用编程实现流水灯电路,用软件来实现对LED控制,每个LED接一个限流电阻,来控制流入LED发光管电流。复位电路AT89C51关键部件闪烁系统震荡系统图2-1 硬件系统方框图3 硬件设计3.1 AT89C51单片机硬件结构由图3-1能够看出,单片机

9、内部关键包含下列多个部件:一个8位CPU; 一个时钟电路; 4Kbyte程序存放器; 128byte数据存放器; 两个16位定时/计数器; 64Kbyte扩展总线控制电路; 四个8-bit并行I/O端口; 一个可编程串行接口; 五个中止源,其中包含两个优先级嵌套中止。 图3-1 AT89C51硬件结构框图3.1.1关键特征AT89C51是一个低功耗/低电压、高性能八位CMOS单片机,片内有一个4KBFLASH可编程可擦除只读存放器(FPEROMFlash Programmable and Erasable Read Only Memory),它采取了CMOS工艺和ATMEL企业高密度非易失性存

10、放器技术,而且其输出引脚和指令系统全部和MSC51兼容。片内置通用8位中央处理器(CPU)和FLASH存放单元,片内存放器许可在系统内改编程序或用常规非易失性存放器编程。所以,AT89C51是一个功效强、灵活性高且价格合理单片机,可方便应用于多种控制领域。3.1.2关键引脚功效1.电源引脚Vcc和Vss Vcc:电源端,接5V。 Vss:接地端。 通常在Vcc和Vss引脚之间接0.1高频滤波电容。 2.时钟电路引脚XTAL1和XTAL2 XTAL1:接外部晶振和微调电容一端,在片内它是振荡器倒相放大器输入,若使用外部TTL时钟时,该引脚必需接地。 XTAL2:接外部晶振和微调电容另一端,在片内

11、它是振荡器倒相放大器输出,若使用外部TTL时钟时,该引脚为外部时钟输入端。 3.地址锁存许可ALE 在系统扩展时,ALE用于控制地址锁存器锁存P0口输出低8位地址,从而实现数据和低位地址复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率1/6固定频率向外输出正脉冲信号,ALE负载能力为8个LSTTL器件。 4.外部程序存放器读选通信号 是读外部程序存放器选通信号,低电平有效。CPU从外部存放器取指令时,它在每个机器周期中两次有效。 5.程序存放器地址许可输入端 /VPP 当 为高电平时,CPU实施片内程序存放器指令,但当PC中值超出0FFFH时,将自动转向实施片外程序存放器指令。当 为

12、低电平时,CPU只实施片外程序存放器指令。对于8031,因为其无片内ROM,故 必需接低电平。 6.复位信号RST 该信号高电平有效,在输入端保持两个机器周期高电平后,就能够完成复位操作。另外,该引脚还有掉电保护功效,若在该端接5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失。 7.输入/输出口引脚P0、P1、P2和P3 P0口(P0.0P0.7):该端口为漏极开路8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线复用端口。 P1口(P1.0P1.7):它是一个内部带上拉电阻8位准双向I/O口,P1口驱动能力为4个LSTTL负载。 P2口(P2.0P2.7)

13、:它为一个内部带上拉电阻8位准双向I/O口,P2口驱动能力也为4个LSTTL负载。在访问外部程序存放器时,它作存放器高8位地址线。 P3口(P3.0P3.7):P3口一样是内部带上拉电阻8位准双向I/O口,P3口除了作为通常I/O口使用之外,其还含有特殊功效。3.1.3外部总线结构所谓总线,就是连接单片机和各外部器件一组公共信号线。当系统要求扩展时,单片机要和一定数量外部器件和外围设备连接。假如各部件及每一个外围设备全部分别用各自一组线路和CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计和系统结构,常见一组线路,并配以合适接口电路来和各个外部器件和外围设备连接,这组共用

14、连接线路就是总线。采取总线结构便于扩展外部器件和外围设备,而统一总线标准则使不一样设备间互连更轻易实现。利用片外引脚能够结构MCS-51系列单片机三总线结构。单片机引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口P1.0P1.7以外,其它引脚全部是为实现系统扩展而设置。用这些引脚结构单片机系统三总线结构图3-2所表示。图3-2 MCS-51系列单片机片外三总线结构(1)地址总线(Address Bus,AB):MCS-51系列单片机总共有16根地址线A15 A0,片外存放器可寻址范围达64KB(216=65536字节),由P2口直接提供高8位地址

15、A15 A8,P0口经地址锁存器提供低8位地址A7 A0。(2)数据总线(Data Bus,DB):MCS-51系列单片机总共有8根数据线D7D0,全由P0口提供。因为P0口是分时复用总线,分时输送低8位地址(经过地址锁存器锁存)和高8位数据信息。 (3)控制总线(Control Bus,CB):控制总线由P3口第二功效(P3.6)、(P3.7)和3根独立控制线、ALE、组成。3.1.4振荡器特征 XTAL1和XTAL2分别为反向放大器输入和输出。该反向放大器能够配置为片内振荡器。石晶振荡和陶瓷振荡均可采取。如采取外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要经过一个二分频触发

16、器,所以对外部时钟信号脉宽无任何要求,但必需确保脉冲高低电平要求宽度3.1.5芯片擦除AT89C51设有稳态逻辑,能够在低到零频率条件下静态逻辑,支持两种软件可选掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中止系统仍在工作。在掉电模式下,保留RAM内容而且冻结振荡器,严禁所用其它芯片功效,直到下一个硬件复位为止。3.2硬件电路设计 3.2.1震荡电路为彩灯循环系统提供稳定频率波在由多片单片机组成系统中,为了各单片机之间时钟信号同时,引入唯一外部脉冲信号作为各单片机振荡脉冲。这时外部脉冲信号是经单片机89C51XTAL2引脚注入;在MCS51单片机片内有一个高增益反相

17、放大器,反相放大器输入端为XTAL1,输出端为XTAL2,在芯片外部经过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可组成稳定自激振荡器,振荡频率范围通常是1.212MHz。晶体振荡频率高,则系统时钟频率也高,单片机运行速度也就快。图3-4 震荡电路晶体振荡器振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号周期称为状态时间S,它是振荡周期2倍,P1信号在每个状态前半周期有效,在每个状态后半周期P2信号有效。CPU就是以两相时钟P1和P2为基础节拍协调单片机各部分有效工作。 MCS-51单片机时钟电路示意图图4所表示

18、。图3-5 MCS-51单片机时钟振荡电路示意图振荡电路产生振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲在片内经过一个时钟发生电路二分频后才作为系统时钟信号。片内时钟发生电路实质上是一个二分频触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。在图3-4中,使用晶体振荡器时,C1、C2取值3010pF;使用陶瓷振荡器时,C1、C2取值4010pF。C1、C2取值即使没有严格要求,但电容大小影响振荡电路稳定性和快速性,通常取值2030pF。在设计印制

19、电路板时,晶振和电容等应尽可能靠近芯片,以降低分布电容,确保振荡器振荡稳定性。也能够由外部时钟电路向片内输入脉冲信号作为单片机振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入,而XTAL2引脚悬空或接地。对外部信号占空比没有要求,但高低电平连续时间不应小于20ns。这种方法常见于多块芯片同时工作,便于同时。其外部脉冲接入方法图3-6所表示。图3-6 MCS-51单片机外部时钟输入接线图所谓时序,是指在指令实施过程中,CPU控制器所发出一系列特定控制信号在时间上前后关系。CPU发出控制信号有两类:一类是用于单片机内部,用户不能直接接触这类信号,无须对它作过多了解;另一类是经过控制总线送到片外,大

20、家通常以时序图形式来表示相关信号波形及出现前后次序。为了说明信号时间关系,需要定义时序单位。89C51时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。图3-4所表示。3.2.2LED电路显示 图所表示,P0口控制LED灯D1D8显示,P2口控制LED灯D9D16显示。限流电阻为470欧姆,经过电流大约为10mA。3.2.3复位电路当要对晶片重置时,只要按开关就能完成LED和开关重置。复位是单片机初始化操作,其关键功效是把PC初始化为0000H,使单片机从0000H单元开始实施程序。单片机RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效连续时间为2个

21、机器周期以上。单片机复位方法可由手动复位完成。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应连续24个周期以上才能完成复位操作,若使用6MHZ晶振,则连续4微秒以上才能完成复位操作。CPU在第二个机器周期内实施复位操作,以后每个机器周期反复一次,直至RST端电平变低。在单片机复位期间,ALE和PSEN信号全部不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表3-1.表3-1部分专用寄存器复位状态寄存器值寄存器值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0P3OFEHIPXXX0000IE0XX0000TMOD00HTCO

22、N00HTL0,TL100HTH0,TH100HSCON00HSBUF不定PCON0XX0000上电瞬间因为电容C上无储能,其端电压近似为零,RST取得高电平,伴随电容器C充电,RST引脚上高电平将逐步下降,当RST引脚上电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式,只要高电平能保持复位所需要时间(约两个机器周期),单片机就能实现复位。4软件设计4.1主程序设计 #include #includeunsigned char k,a,b; void delay(); void main() while(1) a=0xfe;/1111 1110 b=0xfe;/111 for(k=0

23、;k8;k+) P0=a; delay(); b=_crol_(b,1); a=a&b; a=0xfe;/1111 1110 b=0xfe;/111 for(k=0;k0;i-) for(j=200;j0;j-); 4.3流水灯控制码程序设计利用总线控制实现流水灯(8位二极管循环点亮)编程思绪:a) 先点亮第一盏灯,延时点亮第二盏, 依次延时8盏灯全部点亮。b) 当8盏灯全部点亮时,熄灭8盏灯。c) 进入循环。4.4程序步骤图图4-1程序步骤图5使用proteus软件调试仿真说明5.1 Proteus介绍Proteus软件由ISIS和ARES两部分组成,其中ISIS是一款便捷电子系统原理设计和

24、仿真平台软件,ARES是一款高级PCB布线编辑软件。Proteus是现在最好模拟单片机外围器件工具,和其它单片机仿真软件不一样是,它不仅能仿真单片机CPU工作情况,也能仿真单片机外围电路或没有单片机参与其它电路工作情况。所以在仿真和调试程序时,关心不再是一些语句实施时单片机寄存器和存放器内容改变,而是从工程角度直接看程序运行和电路工作过程和结果。对于这么仿真试验,从某种意义上讲,处理了试验和工程应用间脱节矛盾。5.2 Proteus特点实现了单片机仿真和SPICE电路仿真结合。含有模拟电路仿真、数字电路仿真、单片机及其外围电路组成系统仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和

25、LCD系统仿真等功效;有多种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。含有强大原理图绘制功效。提供软件调试功效。在硬件仿真系统中含有全速、单步、设置断点等调试功效,同时能够观察各个变量、寄存器等目前状态,所以在该软件仿真系统中,也必需含有这些功效;同时支持第三方软件编译和调试环境,如Keil C51 uVision2等软件。5.3 Proteus使用方法点状栅格区域为编辑窗口,左上方为预览窗口,左下方为元器件列表区,即对象选择器编辑窗口用于放置元器件,进行连线,绘制原理图。预览窗口能够显示全部原理图。在预览窗口中,有两个框,蓝框表示目前页边界,绿框表示目前编辑窗口显示区域。当从对象选择器中

26、选中一个新对象时,预览窗口能够预览选中对象。在预览窗口上单击,Proteus ISIS将会以单击位置为中心刷新编辑窗口。 5.4电路原理图设计方法原理图具体设计步骤以下: (1) 新建设计文档。在进入原理图设计之前,首先要构思好原理图,即必需知道所设计项目需要哪些电路来完成,用何种模板;然后在Proteus ISIS编辑环境中画出电路原理图 。 (2) 设置工作环境。依据实际电路复杂程度来设置图纸大小等。在电路图设计整个过程中,图纸大小能够不停地调整。设置适宜图纸大小是完成原理图设计第一步。 (3) 放置元器件。首先从添加元器件对话框中选择需要添加元器件,将其部署到图纸适宜位置,并对元器件名称

27、、标注进行设定;再依据元器件之间走线等联络对元器件在工作平面上位置进行调整和修改,使得原理图美观、易懂。 (4)对原理图进行布线。依据实际电路需要,利用Proteus ISIS编辑环境所提供多种工具、命令进行布线,将工作平面上元器件用导线连接起来,组成一幅完整电路原理图。(5) 建立网络表。在完成上述步骤以后,即可看到一张完整电路图,但要完成印制版电路设计,还需要生成一个网络表文件。网络表是印制版电路和电路原理图之间纽带。 (6) 原理图电气规则检验。当完成原理图布线后,利用Proteus ISIS编辑环境所提供电气规则检验命令对设计进行检验,并依据系统提醒错误检验汇报修改原理图。 (7) 调

28、整。假如原理图已经过电气规则检验,那么原理图设计就完成了,不过对于通常电路设计而言,尤其是较大项目,通常需要对电路进行数次修改才能经过电气规则检验。 (8) 存盘和输出报表。Proteus ISIS提供了多个报表输出格式,同时能够对设计好原理图和报表进行存盘和输出打印。 5.5仿真过程 Proteus Isis仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用proteus,在proteus中source下拉框中选择add/removesource files新建汇编语言程序文件,然后用鼠标点击OK.在source下拉框中新建汇编语言程序文件里写入汇编语言程序,写完以后在“sour

29、ce”选项中选择“build all”选项进行编译,如有错误则在刚刚新建汇编语言程序文件里面进行修改,假如正确则会自动生成.HEX文件,然后就能够开始仿真了。 6测试数据经过程序能够实现花样流水灯不一样形式变换,图是流水灯依次点亮图6-1 花样流水灯依次点亮7附录7.1花样流水灯程序#include #includeunsigned char k,a,b; void delay(); void main() while(1) a=0xfe;/1111 1110 b=0xfe;/111 for(k=0;k8;k+) P0=a; delay(); b=_crol_(b,1); a=a&b; a=0

30、xfe;/1111 1110 b=0xfe;/111 for(k=0;k0;i-) for(j=200;j0;j-); 7.2花样流水灯总线路图结束语经过这次课程设计我学到了很多东西,我愈加体会到理论知识和动手能力相结合关键性,而且设计过程中使我知道在设计程序之前,务必需对所用单片机内部结构有一个系统了解,知道该单片机内有哪些资源:知道设计关键是要有一个清楚思绪和一个完整软件步骤图。在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不停改善”是程序设计必经之路。要养成注释程序好习惯,一个程序完美是否不仅仅是实现功效,而应该让人一看就能明白你思绪,这么也为资料保留和交流提供了方便。整个设计过程中,还是碰到了部分问题 。比如,对于键盘延时防抖问题不能很好处理;对于编程次序及各模块程序调用掌握得还不够好;对于部分相关应用软件没能熟练掌握。经过这几天反复思索,和参考网上程序,最终还是完成了设计。设计中我最大收获就是自己动手能力和独立处理问题能力得到了很大提升,在动手过程中,不仅能增强实践能力,而且在理论上能够有更深认识。参考文件1李全利,单片机原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版和仿真M,清华大学出版社4单片机试验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服