ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:310.49KB ,
资源ID:28726307      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28726307.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计.docx

1、单片机课程设计目录一前言2二功能概述2三设计思路2四硬件介绍3五软件程序设计7六芯片器件属性8七电路图设计9八实物图 11九程序调试及感想12十汇编程序13参考文献17 一前言近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完

2、成交通信号灯。二功能概述2.1设计任务:交通灯的硬件和软件设计2.2设计目的1.进一步熟悉和掌握单片机的结构和工作原理。2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。三设计思路交通灯的变化规律按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯

3、,延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。四硬件介绍基础知识交通灯控制器实例主要使用了89C51单片机的定时器计数器,基础知识主要包括交通灯的变化规律、定时器计数器的概念、定时器计数器的相关寄存器、定时器计数器的4种工作方式、以及定时器计数器的变成。4.1定时器/计数器定时器计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。首先介绍交通灯以及定时器

4、计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。4.2定时器计数器的概念89C51单片机内有两个可编程的定时器计数器T0、T1。当定时器计数器用作“定时器”时,每经过1个机器周期(12个时钟周期),计数器加1。当定时器计数器用作“计数器”时,计数器在对应的外部输入管脚(T0为P3.4引脚,T1为P3.5引脚)上每发生一次1到0的跳变时加1。使用“计数器”功能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而下一周期采样为低电平时,计数器加1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所

5、以技术频率最大值只能为时钟周期的124。计数器对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。4.3定时器计数器的相关寄存器与定时器计数器相关的寄存器有定时器计数器工作方式寄存器(TMOD)、定时器计数器控制寄存器(TCON)。TCON已经在2.5节受控输出实例中介绍过,因此,在本例中主要介绍TMOD寄存器。定时器计数器工作方式寄存器(TMOD),字节地址89H,不可进行位寻址。定时器计数器工作方式寄存器(TMOD)的8位分为两组,高4位控制T1,低4位控制T0。TMOD每一位的功能如下。GATE:门控位。GATE

6、0,仅由运行控制位TRX(X0,1)1来启动定时器计数器运行;GATE1,由运行控制位TRX(X0,1)1和外部中断引脚上的高电平共同来启动定时器计数器运行。CT:定时器模式和计数器模式选择位。CT0,为定时器模式;CT1,为计数器模式。M1、M0:工作方式选择位。M1、M0的4中编码对应4种工作方式,对应关系见表210。4.5定时器计数器的4种工作方式定时器计数器的4种工作方式下的逻辑结构如表所示。M1M2工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,为初值自动重装的8位定时器/计数器11方式3,仅T0有效,将T0分为两个8位定时器/计数器(1)方式

7、0。定时器计数器的工作方式0称为13位定时器计数器的。它由TLX的低5位和TLX的8位构成13位的计数器,此时TLX的高3位未使用。改工作方式是为了和48系列单片机兼容而设计的一种工作方式,一般情况不使用方式0进行定时计数。方式0的控制方式与方式1完全相同,下面重点介绍方式1的控制方式 。(2)方式1定时器计数器的工作方式1称为16位定时器计数器。它由TLX和THX构成,TLX计数溢出向THX进位,THX计数溢出置位TCON中溢出标志位TFX。GATE位的状态定时器计数器运行控制取决于TRX一个条件还是TRX和INTX引脚这两个条件。当GATE=0时,则只要TRX被置为1,定时器计数器即被允许

8、计数(定时器计数器的计数控制仅由TRX的状态确定,TRX=1计数,TRX=0停止计数)。当GATE=1时,定时器计数器是否计数由INTX输入的电平和TRX的状态共同确定:当TRX=1,且INTX=1时,才允许定时器计数器计数(定时器计数器的计数控制由TRX和INTX两个条件控制)。(3)方式2定时器计数器的工作方式0和方式1再计数溢出后,计数器的值为0,需要通过程序重新装入计数初值。定时器计数器的工作方式1称为初值自动重装的8位定时器计数器。在该工作方式下,TLX作为计数器,当TLX计数溢出时,在置1溢出标志TFX的同时,还自动的将THX中的常数送至TLX,使TLX从该常数开始重新计数。这种工

9、作方式可以省去用户软件中重装常数的程序,简化定时常数的计算方法(确定计数初值),可以相当精确地确定定时时间。(4)方式3工作方式3仅对定时器计数器0有效,在该工作方式之下,定时器计数器的0被拆成2个独立的定时器计数器:TL0、TF1。TL0使用T0的状态控制CT、GATE、TR0、INT0,而TH0被固定位一个8位定时器(不能作外部计数方式),并使用定时器计数器1的状态控制位TR1、和TF1,同时占用定时器T1的中断源。此时,定时器计数器1可设定为方式0、方式1和方式2,作为串行口的波特率发生器。4.5 定时器计数器的编程(1)初始化定时器计数器的初始化编程包括以下几个部分。根据要求给定时器计

10、数器方式寄存器(TMOD)送一个方式控制字,以设定定时器计数器的工作方式。根据需要给TH和TL寄存器送初值,以确定需要的定时时间或计数的初值。根据需要给中断允许寄存器(IE)送中断控制字,以开放相应的中断和设定中断优先级。给TCON寄存器送命令字以启动或禁止定时计数器的运行。(2)定时器计数器初值的计算。计数器初值:设计算器的模值位M,所需的计数值为C,计数初值设定为TC,则TC=M-C (M等于2的13次方,16次方,8次方)。定时器初值:设定时器的模值为M,需要的定时时间为T,定时器的初值设定为TC,则TC=M-T/t(M等于2的13次方,16次方,8次方)。五软件程序设计六芯片器件属性

11、3261BS共阳数码管74HC245七电路图设计原理图如下1. 时钟电路在设计时钟电路之前,让我们先了解下51 单片机上的时钟管脚:XTAL1(19 脚) :芯片内部振荡电路输入端。XTAL2(18 脚) :芯片内部振荡电路输出端。XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高

12、,但是频率越高功耗也就越大。在本实验套件中采用的11.0592M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 50pF 之间。通常选取33pF 的陶瓷电容就可以了。另外值得一提的是如果读者自己在设计单片机系统的印刷电路板(PCB) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直

13、流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压。2. 复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图2 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V

14、电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。3. EA/VPP(31 脚) 的功能和接法51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内

15、部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器。这一点一定要注意,若EA 管脚悬空,从而导致程序执行不正常。八实物图九程序调试及感想程序调试过程中,出现过点问题。首先焊好电路我马上把之前已经用手写好的程序下载进去。结果整个系统没有反应。我然后用C语言来调试,因为C比较好检查错误。先从点亮一盏灯开始,再到一步步的点亮数码管。但我的数码管出现过错误,就是有一段d

16、不能亮,然后我又反复检测是不是自己程序编码错了,还有焊接焊错了,都没有结果。后来我一步步的把不能亮的d段写下来,如9,5,3的d段不能亮,但8,0的d段能亮,我又排除了是数码管的坏的问题。认真检查程序也排除了是程序的问题。剩下的是硬件问题。比较能亮和不能量的d段,发现e段亮d段就亮,e段灭d段也灭,所以我肯定是e和d短路了,但是肉眼看不出,而且用万用表也不好检测的,因为万用表要用手去碰接的,手微抖就很松的断开了。所以我用电烙铁推开了e和d,重新焊好,问题解决了。还有就是晶振要尽量靠近单片机,可以减少干扰。调试过程也出现数码管不够亮,而且我用的74hc245驱动数码管,我本来就是XX看到有人说数

17、码管要驱动,所以我不管太多就加上了74hc245,但我用的是共阳的2位数码管。而在245输出只用到低电平,而数码管的公共端我接在P3口上,我后来才发现245芯片是多余的,因为我不是用共阴的数码管,只要把数码管的公共端接在三极管作开关作用的VCC上,电流就很大就能驱动数码管很亮。所以我接的245是多余的,还有原先打算每个数码管的每一段对应一个电阻,还有每一个二极管灯接一个电阻,都做限流作用。后来我发现手工很难焊,然后我把这些端接在一起共用一个电阻,从而节省了点点功夫。程序我用C写出并下载没有问题后,我再用李老师要求的我们用的汇编写,很快就写出了,并下载运行正常。因为汇编和C都差不多,只要把汇编的

18、转移指令用好其实和C也是一样的了。十汇编程序ORG 0000HLJMP MAINORG 000BHLJMP INTT0ORG 100HMAIN: CLR EA MOV TMOD,#01 MOV TH0,#3CH MOV TL0,#0B0H MOV R7,#0 MOV R6,#0 SETB TR0 SETB ET0 SETB EA SJMP $ORG 200HINTT0: MOV TH0,#3CH MOV TL0,#0B0H INC R6 MOV B,#61 MOV A,R7 DIV AB MOV R7,B MOV A,R6 CJNE A,#20,PANDUAN INC R7 MOV R6,#0

19、PANDUAN:CLR C MOV A,#24 SUBB A,R7 JC E25 MOV P2,#1EH SJMP SHUMAE25: CLR C MOV A,#27 SUBB A,R7 JC E28 MOV P2,#1DH SJMP SHUMAE28: CLR C MOV A,#29 SUBB A,R7 JC E30 MOV P2,#1BH SJMP SHUMAE30: CLR C MOV A,#54 SUBB A,R7 JC E55 MOV P2,#33H SJMP SHUMAE55: CLR C MOV A,#57 SUBB A,R7 JC E58 MOV P2,#2BH SJMP SH

20、UMAE58: MOV P2,#1BHSHUMA: MOV A,R7 MOV B,#10 DIV AB MOV DPTR,#TAB1 MOV P3,#3EH MOVC A,A+DPTR MOV P1,A MOV R4,#40 MOV R5,#10DE: DJNZ R4,LAYLAY: DJNZ R5,$ MOV A,R4 JNZ DE MOV DPTR,#TAB2 MOV P3,#01H MOV A,B MOVC A,A+DPTR MOV P1,A RETITAB1: DB 48H,0F3H,81H,48H,0F3H,81H,48H,0F3H,81HTAB2: DB 20H,00H,0F1H,04H,24H,33H,61H,48H,0F3H,81HEND 参考文献单片机原理与接口技术 编著:肖金球

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1