欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    单片机原理及接口技术课程设计报告跑马灯,跑马灯,方波,交通灯.doc

    • 资源ID:4147229       资源大小:2.43MB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理及接口技术课程设计报告跑马灯,跑马灯,方波,交通灯.doc

    单片机应用设计报告系别 电 子 信 息 与 电 气 工 程 系 专 业 自动化 班 级 09 级 (1) 班 姓名 老 师 完成 时间 2012年5月18日 单片机原理及接口技术课程设计报告摘 要: 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告1实验一 构建单片机最小系统和实验环境熟悉21.1单片机的工作原理21.1.1单片机最小系统图21.1.2运算器简介31.1.3控制器简介41.1.4实验解析与总结6实验二跑马灯实验及74HC138译码器62.1实验内容62.1.1实验原理72.1.2实验原理图72.1.3实验程序流程图82.1.4实验程序代码82.1.5完成后的效果图92.2实验总结9实验三 8255控制交通灯实验103.1实验内容103.1.3实验原理103.1.2实验原理电路图123.1.3程序流程图133.1.4实验程序代码133.1.5系统实现图153.2 8255A寻址原理153.3实验总结16实验四 8253方波实验174.1实验内容174.1.1实验原理图174.1.2实验原理电路图184.1.3程序流程图194.1.4程序流程代码194.1.4系统仿真214.2实验总结21实训总结22附录231仿真系统电路原理图232硬件实物照片24实验一 构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。在构建单片机最小系统板是在VCC引脚出加上10uF和0.1uF的滤波电容,可以有效的提高系统工作的稳定性。单片机最小系统图1.1.2运算器简介运算器包括算术逻辑运算、累加器ACC、单元ALU、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。1. 算术逻辑单元ALUALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。MCS-51中位处理具有位处理功能,特别适用于实时逻辑控制。2. 累加器ACC累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。MCS51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。4. 程序状态字PSW程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。PSW中各标志位名称及定义如下:位序D7D6D5D4D3D2D1D0位标志CYACF0RS1RS0OVPCY(PSW.7):进(借)位标志位,也是位处理器的位累加器C。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。在位操作中,CY作为位累加器C使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态。AC(PSW.6):辅助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。F0(PSW.5):用户标志位,由用户通过软件设定,决定程序的执行方式。RS1(PSW.4),RS0(PSW.3):寄存器组选择位。用于设定当前通用寄存器组的组,其对应关系如下:RS1RS0寄存器组R0R7地址00组00007H01组1080FH10组21017H11组3181FHOV(PSW.2):溢出标志位。它反映运算结果是否溢出,溢出时OV=1;否则OV=0。OV可作为条件转移指令中的条件。PSW.1:未定义位。P(PSW.1):奇偶标志位。P=1,表示ACC中1的个数为奇数;否则P=0。P也可以作为条件转移指令中的条件。1.1.3控制器简介控制器包括时钟电路、复位电路、指令寄存器、指令译码器程序计数器PC、堆栈指针SP、数据指针寄存器DPTR以及信息传送控制部件等。时钟电路是计算机的心脏,他控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能,MCS-51的时钟信号可以有两种方式产生,一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种是外部方式,时钟信号由外部引入,MCS-51单片机有HMOS和CHMOS型,他们的时钟电路有一定区别,在实际使用时应该注意,下面是这两种时钟电路的电路图。 (A)内部时钟电路 (B)外部振荡源2. 复位电路对于使用12MHZ的晶振的单片机,复位信号持续时间应超过4s才能完成复位操作。产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST引脚上加了一个高电平完成复位操作。上电自动复位电路如图(a)所示。按键手动复位电路。按键手动复位是通过按键实现人为的复位操作,按键手动复位电路如图(b)所示。复位后内部暂存器的状态如下:PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIP××000000BSBUF不定IE0×000000BPCON0×××0000BTMOD00H1.1.4实验解析与总结本次实验的内容是熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。同时也是为接下来的几个实验打下基础,所以很好地完成第一个实验,有助于下面的几个实验顺利展开。该实验中,单片机系统电路的基本模块有:复位电路,晶振电路,JTAG下载口等主要模块。其中P0口作为输出使用必须对单片机的I/O口,因为P0为集电极开路,可以提高其功率和电平转换。在单片机最小系统的构建中,EA脚拉高是非常必要的,它可以影响单片机的正常工作。在检测单片机是否正常工作,可以通过检测晶振两端的信号的波形形状。在单片机正常工作条件下,其信号为正弦波。通过本次试验我了解了单片机的工作原理,知道了硬件部分的重要性,单片机最小系统板的焊接最主要是晶振部分的焊接,它为单片机提供了做工作的频率,是单片机的心脏。实验二跑马灯实验及74HC138译码器2.1实验内容跑马灯实验:1、熟悉集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、照接线图编写程序:使用P1口控制G6区的8个指示灯,循环点亮,瞬间只有一个灯亮。3、观察实验结果,验证程序是否正确。74HC138译码器实验:1、设计74HC138接口电路,编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。2、运行程序,验证译码的正确性。2.1.1实验原理根据74S138译码器的工作原理,当G1 G2A G2B口分别致高电平时,译码器工作,根据74LS138的3个译码信号A、B、C来选择Y0、Y1、Y2、Y3、Y4、Y5、Y6作为输出,例如,ABC为001时选择Y0口,以此类推,实现译码。各输出为低电平时,当共阳极的LED灯节高电平时,就会使相应的灯亮。A、B、C三个信号由单片机的P1.0、P1.1和P1.2来提供,而P1.0、P1.1和P1.2口的值是通过程序设置初始值后,然后根据P1.0、P1.1和P1.2的值加1和循环就可以实现LED灯的循环点亮。2.1.2实验原理图74HC138跑马灯电路原理图2.1.3实验程序流程图74HC138跑马灯实验程序流程图2.1.4实验程序代码void yimaqi()/译码器 uchar bb; uint m; cs2=0; bb=0x00; delayms(600); for(m=0;m<8;m+) P1=bb; delayms(600); bb+; 2.1.5完成后的效果图实验通过仿真后顺利通过,我们在电路板上成功完成了实验,下面是效果图。74HC138跑马灯系统效果图2.2实验总结通过本次试验使我们对跑马的电路有了清晰的认识,从概念上理解了如何用程序来控制跑马灯。程序仿真的正确只是第一步,要想真正的完成实验目的,还需要硬件电路成功实现功能才可以说明本次实验是成功的。通过下载器把程序烧到单片机里,进行硬件调试,在实际硬件电路中可以实现了。这使我认识到计算机仿真和实际硬件电路还是有差别。在仿真中只能调试程序,并不能达到实际效果。进过一次一次的修改,调试程序。最后成功的达到预期的效果。我对单片机的程序和控制有更深的认识和理解。这次实验最大的收获,我熟悉了KEIL 和protues 软件的联合使用。学会单片机程序编写和调试。我理解了软件与硬件的关系,单片机可以通过软件作用到硬件把我们的思想表达出来。实验三 8255控制交通灯实验3.1实验内容1、设计8255接口电路,编写程序:使用8255的PA0.2、PA5.7控制LED指示灯,实现交通灯功能。2、连接线路验证8255的功能,熟悉它的使用方法。3.1.3实验原理参考电路原理图:交通灯实验电路原理图特别指出的是本次实验中我们进行了拓展,在实验电路中加入了数码管模拟交通灯的倒计时,可以更好对实验内容进行诠释。根据指导书要求交通灯的变化规律是:先假定一个十字路口为东南西北走向交通灯的初始状态为状态1,东西方向绿灯通车,南北方向红灯。经过一段时间转换状态2,东西方向黄灯闪烁一段时间,延时2S,南北方向仍然红灯。再转换到状态3,东西方向红灯通车,南北方向绿灯。过一段时间转换到状态4,南北方向黄灯闪烁一段时间,东西方向仍然红灯。最后循环至南北红灯,东西绿灯。3.1.2实验原理电路图8255控制交通灯实验原理图3.1.3程序流程图8255交通灯实验程序流程图3.1.4实验程序代码void jiaotongdeng() /交通灯 cs1=0; CONTROL1=0x80; PORTA=0XFF; PORTA=0X00; /所有灯全亮 delayms(2000); Init_time2();/数码管显示定时初始化 delayms(1400); while(1) PORTA=0XDE; /主干道红灯 支干道绿灯 delayms(6000); PORTA=0XEE; /支干道 黄灯闪 delayms(500); PORTA=0XFE; delayms(500); PORTA=0XEE; /支干道 黄灯闪 delayms(500); PORTA=0XFE; delayms(500); PORTA=0XEE; /支干道 黄灯闪 delayms(500); PORTA=0XFE; delayms(500); PORTA=0XEE; /支干道 黄灯闪 delayms(500); PORTA=0XFE; delayms(500); PORTA=0XF3; /主干道绿灯 支干道红灯 delayms(6000); PORTA=0XF5; /主干道 黄灯闪 delayms(500); PORTA=0XF7; delayms(500); PORTA=0XF5; /主干道 黄灯闪 delayms(500); PORTA=0XF7; delayms(500); PORTA=0XF5; /主干道 黄灯闪 delayms(500); PORTA=0XF7; delayms(500); PORTA=0XF5; /主干道 黄灯闪 delayms(500); PORTA=0XF7; delayms(500); 3.1.5系统实现图8255交通灯系统硬件图3.2 8255A寻址原理在本次试验中程序是用C语言写的8253驱动函数。使用C语言会给8255的寻址带来了一个难题,在这里是借助KEIL软件里的库函数ABSACC.H来进行寻址的。例如:#define COM8255 XBYTE0X060FF 后面若出现COM8255,则单片机端口P0和P2联合输出0X060FF绝对物理地址(地址指向82C55指令寄存器)。P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0A0A100XXXXXXXXXXXXXX11XXXXXXXXXXXXXX表格的第四行表示8255的A1,A0口分别于单片机的P2.7,P2.6相连接,表格是五行是表示8255 PA口的实际物理地址,即0x3fff,表格的第六行表示8255控制字寄存地的实际物理地址。3.3实验总结本次实验的内容是利用8255芯片口控制LED灯的变化,模拟交通灯。要学会使用8255芯片的初始化和编程方法。本实验使用的是8255的方式0。利用8255完成交通灯的四中状态切换。第一种状态是东西方向是绿灯,南北方向是红灯。第二种状态是东西方向是黄灯并且闪烁,南北方向是红灯。第三种状态是东西方向是红灯,南北方向是绿灯。第四种状态是东西方向是红灯,南北方向是黄灯,最后变到第一种状态。在实现具体的硬件时,采用8255控制十二个LED,三个一组,分成两组来模拟实际交通灯,其中的对面两组状态变化是相同一致的,所以将对面的对应相同颜色的灯用8255的一个口来控制。最后我们还加入了数码管,使得整个电路更加的完善,基本完成了实验规定的内容学到了很多的东西。实验四 8253方波实验4.1实验内容1、设计接口电路,编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。2、连接线路,验证8253的功能,熟悉它的使用方法。4.1.1实验原理图方波实验原理图利用8253的通道0工作于方式3,方波发生器模式。利用单片机定时器延时1ms,是单片机P3.0口产生250Hz的方波,作为8253的时钟。然后给8253装机数初值,所装初值为250,8253产生的频率为方波频率=时钟频率/计数初值然后利用8253产生的方波驱动NPN三极管的通断,使得蜂鸣器以1Hz的频率鸣叫,发光二极管以1Hz的频率闪烁。对8253的寻址原理也是利用KIEL软件中的4.1.2实验原理电路图8253方波实验原理电路图4.1.3程序流程图8253方波实验程序流程图4.1.4程序流程代码void fangbo() cs3=0; Init_time1(); CONTROL2=0X16; /写通道0控制字,只读低字节,方式3,BCD计数/写入控制字 0011 0111B 通道0 只读写低字节,方式3,BCD计数 PORT0=0x64; /写计数初值,CH0=20000/100; /2分频 CONTROL2=0x56; /写通道1控制字,只读低字节,方式3,BCD计数 0x77;/写入控制字0111 0111B 通道1 先读写低字节 后读写高字节,方式3,BCD计数 PORT1=0xc8; /写计数初值,CH1=200/1; while(1); void display(uchar temp) dis=0; P1=temp; void Init_time1(void)/定时器初始化 TMOD=0x02; /选择通道0,方式2 TH0=231;/设置计数初始值,TH0=256-25 TL0=231;/TH0=TL0 ET0=1;/通道0中断使能 TR0=1;/启动定时器0 EA=1;/开总中断 void Init_time2(void)/定时器初始化 TMOD=0X10; /定时器1,方式2 TH1=(65536-45872)/256; TL1=(65536-45872)%256; EA=1; ET1=1; TR1=1; void T0_time(void)interrupt 1 TH0=231; / 183 重装初值 TL0=231; OUT=OUT; void T1_time(void)interrupt 3 TH1=(65536-45872)/256; / 183 重装初值 TL1=(65536-45872)%256; num2+; if(num2=20) d-; if(d=-1)d=9; void delayms(uint xms)/延时子程序uint i,j;for(i=xms;i>0;i-) for(j=110;j>0;j-);4.1.4系统仿真8253方波实验系统仿真图4.2实验总结本实验是方波实验,使用8253的计数器0得到一个周期为1秒的方波。然后用此方波控制LED的闪亮和蜂鸣器的发声。是验证单片机定时器产生一个250Hz的方波,作为8253的时钟信号。将此方波作为时钟信号送给8253的通道0,通过分频产生需要的方波的频率。在实际电路中单片机产生的时钟频率为244Hz,所以8253预装的初值是244。 通过本次试验,我熟悉了8253的连线和程序的编写,熟悉了8253芯片的使用方法。本次试验对于我们两个组的成员来说都是一种锻炼和提高,最终我们完成了实验,是我们受益匪浅。实训总结本次的单片机实训历时八周,老师给了我们充分的时间去完善和学习。这也是我们觉得很好的一个方面。避免了考试单一的书面答题。从实训开始,单片机最小系统板的设计和焊接到实验电路的焊接和程序编写,调试,我得到系统的锻炼。在动手能力方面有了很大的提高。在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机片内有哪些资源。设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,设计的程序要经过反复修改,结合硬件不断的调试。这样才能让设计出一个合格的程序。在写程序的时候,要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思想,这样也为程序的移植,资料的保存和交流提供了方便。在设计程序过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题.。通过这次实践我知道了理论和时间之间还是有差距的,必须在不断的印证和摸索下才可以完善好实验。最终我们虽然只完成了四个实验,但是每一个实验都保质保量的完成,效果很好,也学到了很多的知识。在这里我要感谢老师的悉心指导,也感谢组员之间的相互配合。正是这些,才让我们的实验最终顺利完成!附录1仿真系统电路原理图2硬件实物照片

    注意事项

    本文(单片机原理及接口技术课程设计报告跑马灯,跑马灯,方波,交通灯.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开