




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE单片机课程设计题目:循环灯控制班级:姓名:学号:指导教师:设计时间:评语成绩引言本报告提出了一种基于单片机的CPU芯片8031的控灯方案,应用定时器溢出中断和位扫描的方法来实现了8个二级管从左到右,每一个闪烁10次,并依次循环的过程。以8031作为主控核心,再外扩一个程序存储器用作程序的存储。进一步熟悉单片机系统的结构和工作原理,以及8031的各个引脚功能。通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,为今后从事相关工作打下基础。目录TOC\o"1-2"\h\z\u一设计方案及原理 31.1设计内容 31.2设计要求 31.3设计方案及原理 3二硬件设计 32.1设计思路 32.2原理电路图 32.3主要元件功能说明 32.4硬件工作原理阐述 3三软件设计 33.1分析论证 33.2程序流程图 63.3程序清单 3四调试过程及结果分析 3五设计总结 3参考文献 3附录运行结果图 3-PAGE1-一设计方案及原理1.1设计内容在单片机的P1口接8个发光二极管,通过外部中断、定时器中断和位扫描等程序控制实现每个发光二极管指示灯闪烁10次,并依次循环。正常状态下,这8个灯(发光二极管)按一定流速从左向右流动(假设这8个灯依次从左向右接在P1.0—P1.7上)1.2设计要求(1)在系统设计中,要求使用中断方式完成其功能;(2)设计给出系统硬件原理图和程序清单;(3)单片机系统采用8031机型;(4)以论文格式给出设计报告。1.3设计方案及原理单片机CPU芯片8031,工作环境为常温。发光二极管,工作环境常温。74LS373,工作环境常温。EPROM2764程序存储器,工作环境常温。通过对单片机8031系统的学习,如果要让接在8031芯片P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。下面以最简单的流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的软件编程方法。二硬件设计2.1设计思路(1)方案一:硬件采用单片机系统8031,因8031CPU内部没用程序存储器ROM,因此需外扩一个程序存储器(可采用芯片2764来实现),为保持输出常通采用一个带三态输出的8—D锁存器74LS373。软件设计可通过定时器/计数器的溢出中断实现对灯亮与灭、灭与亮之间的定时延时,采用CPL对位取反,来实现每一个灯的亮与灭的控制,确立堆栈区对中断服务程序的现场保护。(2)方案二:硬件设计同方案一样,接线方式也相同,只是在软件设计中采用查询方式,设定循环次数和延时程序,通过调用延时子程序来实现对灯的亮与灭的循环控制。2.2原理电路图图2-1原理电路图2.3主要元件功能说明(1)8031芯片1·8位的的单片机系统微处理器和控制器,内涵一个一位布尔运算器,可直接对数据的位进行操作和运算,特别使用与逻辑控制。2·内部无程序存储器ROM,需扩展外部程序存储器,且内外ROM是统一编址。3·两个16位的定时器/计时器,每个定时器/计数器都可以设置成计数方式或定时方式,并可以根据计数或定时的结果实现计算机控制。4·内部有时钟电路,可产生时钟脉冲序列,系统允许的最高晶振频率为12HZ。5·全双工URAT(通用异步接受发送器)的串行I/O口,用以实现单片机之间或单片机与其它设备之间的串行通信。6·两极中断优先权的6个中断源/5个中断矢量逻辑。7·哈佛结构的存储组织支持6种寻址方式。8·采用40脚双列直插封装(DIP)方式,其最基本的引脚如下:ALE(30脚)地址锁存信号在系统扩展时,ALE用于控制把输出口的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。PSEN(29脚)程序存储允许输出信号在访问片外存储器时,此端定时输出负脉冲作为读片外存储器的选通信号,此引脚接EPROM/ROM的OE端,即允许读出EPROM/ROM的指令码。RST(9)复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。XTAL1和XTAL2外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS地线VCC+5V电源(2)74LS373三态输出的8—D透明锁存器,当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。引出端符号:D0~D7数据输入端OE三态允许控制端(低电平有效)LE锁存允许端O0~O7输出端(3)EPROM2764紫外线可擦除存储器,作为8031CPU芯片的外扩程序存储器,存储量为8位*8K。通过电写入程序,并固化。外围28芯双列式直插。A0-A12为13根地址线,可寻址8K字节;O0-O7为数据输出线;CE为片选线;OE为数据输出选通线;PGM为编程脉冲输入端;Vpp是编程电源;Vcc是主电源。2.4硬件工作原理阐述8031地址线直接外扩8KBEPROM2764构成单片机最小系统。其中,74LS373是带三态输出的8—D锁存器,三态控制端接地,以保持输出常通;其三态输出还有一定的的驱动能力。G端与8031的ALE连接,每当ALE端的电平产生下跳变时,74LS373锁存低8位地址线A7~A0,并输出供2764使用。又因8031的P1口是一个带内部上拉电阻的8位准双向I/O端口,且P1口的每一位能驱动4个LS型TTL负载,在这里P1口作为输出口使用,外接8个发光二极管,在程序设计时已向P1口锁存器写入全1,此时P1口引脚由内部上拉电阻拉成高电平,因此8个发光二极管是共阳极接法,每当有低电平输入时就会使发光二极管发光。三软件设计3.1分析论证软件设计可用两种方法来实现题目要求,第一种方法是利用定时器/计数器溢出中断来对对灯的亮与灭进行延时,定时器内部有两种工作方式,计定时器T0和定时器T1,并且每一个定时器有4种工作方式,方式0、1、2、3,因此可采用其中任意定时器的任意方式,但因方式1是16位的计数结构,定时时间可由2us~131ms,因此选用定时器T0,工作方式1进行对每一个灯的亮与灭、灭与亮定时延时。第二种方法是利用查询方式来设计,通过调用延时程序来进行对等的亮灭延时,然后循环点亮与熄灭每一个灯。方案一程序繁多,需对每一个灯进行循环中断延时,此方式可用于比较复杂的控制系统,而本次设计比较简单,用中断延时比较困难,但因题目要求采用中断,并且可从设计中学会使用中断方式,因此此方案符合本次课程设计的目的,同样可实现控制。方案二采用查询方式,程序简单,容易实现,但不符合题目要求,因此可用此程序来对题目的理解,以便于用中断方式来实现控制。单片机中的定时器有四种工作方式,由于工作方式0和工作方式1计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。这不但影响精度,而且也给程序设计带来了不便。于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。在这种方式下,把16位计数器分为两部分,即TL作计数器,TH作预置寄存器,初始化时把初值分别装入TL和TH中。为了能够清晰的看见二极管闪烁,选择定时器定时500us,再通过配合DJNZ指令来实现延时1s的定时。由于,DJNZ中操作数的范围不能达到2000,所以选择两条DJNZ指令,一次置200,一次置10,依次循环就可达到要求。3.2程序流程图流程图的绘制为编程提供了便利,通过对控制要求的理解而绘制的流程图可以让我们对控制过程更加熟悉并且编程的进行也变得有据可寻。循环灯控制设计的流程图如图3-1和3-2所示3.3程序清单ORG0000H;复位入口地址LJMPSTART;到主程序ORG0100HSTART:MOVR2,#0AH;计数10次MOVP3,#OOHJNBP3.0,STARTMOVA,#0FFH;P1口置高电平,灯全灭MOVR0,#8CLRC;进位清0L1:RLCA;累加器连同带进位位循环左移LOOP:MOVP1,A;灯亮ACALLDELAY;延时MOVP1,#0FFH;灯灭ACALLDELAY;延时DJNZR2,LOOP;R2-1不等于0时跳转至LOOPMOVR2,#0AH;重新赋值10次DJNZR0,L2;R0-1不等于0时转到L1MOVR0,#7;R0赋值7L2:RRCA;累加器连同带进位位循环右移MOVR2,#0AH;计数10次LOOP1:MOVP1,A;灯亮ACALLDELAY;延时MOVP1,#0FFH;灯灭ACALLDELAY;延时DJNZR2,LOOP1;R2-1不等于0时跳转至LOOP1MOVR2,#0AH;重新赋值10次DJNZR0,L2;R0-1不等于0时转到L2AJMPSTART;循环结束再跳转到STARTDELAY:MOVR5,#4;16ms延时程序D1:MOVR6,#100D2:MOVR7,#18NOPDJNZR7,$DJNZR6,D2DJNZR5,D1RETEND四调试过程及结果分析依照电路图在单片机系统8031机型上连接电路,只需用导线将P1口与8位灯相连接,因系统中已将外扩程序存储器在内部连接好,不需再连线。然后在PC机上打开51图标,输入程序编译、链接,再装入系统,输入GB=0000回车,系统开始运行程序,输出结果。如果没有达到预期的结果,在程序装入后复位,输入U1000回车命令进行反汇编,查看程序是否正确装入。当程序输入错误或需调整时,使用A命令完成。这样做了还未达到预期结果,可用T命令来进行单步方式运行程序(将运行状态开关拨至STEP)查看程序的运行状况,来分析错误出在哪里,也可以在系统运行的时候按复位键,再用R07XX格式命令检查程序运行到哪一步再没有执行,即可找出错误。在方案一汇编链接中出现了多个错误,根据提示查看分析是因在程序注释时使用的是在中文输入环境下的分号,然后修改,链接无误,装入程序。结果没有一个灯在闪,于是我将程序中MAIN主程序中MOVP1,#0FFH改为MOVP1,#00H,然后运行灯全亮,证明主程序已运行了,然后键入了R07XX命令查看是现在运行到哪一步,然后记住其地址,在键入U命令查看,找出错误地址所在,看看是那条语句,经分析是在终端服务程序PIT0中未加入CLRTF0让溢出清0。添加之后在运行程序,结果灯开始闪了,但闪的很慢,每一个灯只闪烁5次,然后我把定时时间的循环次数由8改为4,也就是把定时时间有1秒改为0.5秒,再把计数次数由0AH改为14H,然后重新装入程序运行,灯开始闪了,并且间隔刚刚好,每个灯闪烁10次然后跳到下一个灯,下一个灯也闪10次,再到下一个依次循环,8个灯全部循环完了后又跳到第一个灯又循环。运行结果参考附录。在方案二的调试中因程序简单,错误比较少,只出现了几个书写错误和延时时间太短,经过修改和加大延时时间,同样出现了和方案一一样的预期结果结果。五设计总结单片机课程设计是单片机原理及应用的实践性环节,是对所学的单片机系统技术基本理论知识的综合运用。课程设计是根据某一课题技术指标或逻辑功能的要求,进行电路的独立设计,硬件连接和调试,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家机关劳动合同样本合同
- 工厂保安用工合同
- 消防课程安全课件
- 智能仪器仪表智能医疗应用考核试卷
- 成人高考地理知识要点专项训练考核试卷
- 斯洛文尼亚网络广告竞争格局洞察考核试卷
- 文化用品租赁业务项目管理考核试卷
- 机场航站楼空气质量控制考核试卷
- 2024信息物理融合智能系统实施流程
- 资金筹划咨询合同范本
- 2025深圳劳动合同下载
- 设备损坏评估报告范文
- 标准和计量管理制度范文(2篇)
- 透析患者心理问题护理干预
- 孕前口腔护理保健
- 《民航服务与沟通学》课件-第1讲 服务与民航服务的概念
- 《大学生安全教育》课件 项目四 军事安全
- 10KV电力配电工程施工方案
- 智能感知工程基础知识单选题100道及答案解析
- 肌肉注射药物不良反应及预防措施研究
- 人教版数学六年级上册第一单元测试卷
评论
0/150
提交评论