




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 目 录摘要11 软件介绍21.1 protues仿真软件21.2 C编译器Keil介绍32 外部中断源的特点及控制42.1 IE 寄存器的特点及设置42.2 中断标志位TCON的特点及设置52.3 外部中断标志的编程方式63 定时/计数器73.1 定时/计数器的结构和工作原理73.2 TMOD定时器/计数器方式寄存器73.3 TCON定时器/计数器控制寄存器84 定时器/计数器的设计104.1 任务分析及设计方案104.2 理论分析104.3 流程图114.4 程序设计124.5 Protues仿真134.6 仿真结果145 小结15 武汉理工大学单片机原理与应用课程设计说明书 摘要 中断控
2、制是单片机最重要的技术之一,实时控制及人机交换等都是通过中断控制实现的。使用中断控制技术的主要优点表现在:1) 能提高CPU 工作效率。在中断方式下,当计算机需要进行输入/输出操作时,可以启动相应的外部设备,此后计算机继续执行原来的程序;与此同时,相应外部设备启动后能独立进行操作,只有当它需要与CPU 交换信息时,才发出中断申请。2) 能使几个外部设备并行工作。当计算机需要与若干外部设备进行输入/输出操作时,可以分别启动不同外部设备,让它们各自进行自己的工作。当它们准备就绪分别或同时向计算机提出申请时,计算机可根据设置的优先级别,逐个响应外部设备的中断请求,不会造成紊乱。3) 能进行实时处理。
3、如在监测系统中,对温度、压力、流量、湿度参数的采集,根据捕捉到的信息,利用中断及时进行处理等。由此可见,中断系统越强大,单片机的应用范围就越广。本文主要涉及的内容是单片机外部中断、中断系统的应用及其程序的调试。 本次课程设计的要求是:由中断引脚输入500Hz的脉冲信号,要求每中断一次,P1.0输出一个500us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。完成这个课程设计首先需要编写正确的程序代码,然后通过Keil进行编译,使用Proteus画出电路图,导入编译生成的hex文件进行仿真。本次课程设计完成了简单的外部中断应用,输出脉冲波形,其中涉及到中断及定时计数等知识。1 软件介绍1.1
4、proteus仿真软件Proteus 软件是来自英国Labcenter electronics 公司的EDA 工具软件,Proteus 软件有20年的历史,在全球广泛使用。除了具有和其它EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,Proteus革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下Proteus 软件可以建立完整的电子学
5、习设计开发环境,缩短研发周期,并且降低开发成本。Proteus 组合了高级原理布图、混合模式SPICE 仿真,PCB 设计以及自动布线来实现一个完整的电子设计系统。此系统受益于多年来的持续开发,被电子世界在其对PCB 设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM 技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS 原理布图工具;PROSPICE 混合模型SPI
6、CE 仿真; ARESPCB 设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED 甚至LCD 显示CPU 模型。Proteus 主要特征: 1)支持许多通用的微控制器,如 ARM,PIC,AVR,以及8051. 2)交互的装置模型包括:LED 和LCD 显示,RS232 终端,通用键盘 3) 强大的调试工具,包括寄存器和存储器,断点和单步模式 4) IAR C-SPY 和 Keil uVision4 等开发工具的源层调试1.2 C编译器Keil介绍 Keil C51是
7、美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。KeilSoftware公司推出的uVision4是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文
8、件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision4提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。2 外部中断源的特点及控制 80C51 共有5 个中断源,它们在程序存储器中各有固定的中断服务入口地址,当CPU响应中断时,硬件自动形成各自的入口地址,由此进入中断服务程序,从而实现了正确的转移。其中有2 个来自单片机的外部外部中断源。对外部中断的控制主要有:1)外部中断
9、的开放或禁止;2)触发电平方式;3)优先级别的选择。这些控制机构分别位于IE、TCON 和IP 等3 个专用寄存器中。这些中断源的符号,名称,产生条件及中断服务程序的入口地址见表2.1表 2.1 外部中断源的特点及控制中断源符号名称中断引起原因中断服务程序入口地址外部中断0引脚的低电平或下降沿信号0003H外部中断1引脚的低电平或下降沿信号 0013H定时器0中断定时/计数器0计数回零溢出 000BH定时器1中断定时/计数器1计数回零溢出 001BH定时器2中断定时器2中断(TF2或T2EX)信号 002BH串行口中断串行通信完成一帧数据发送或接受引起中断 0023H2.1 IE 寄存器的特点
10、及设置IE 寄存器是由一个中断允许总控制位和各中断源的中断允许控制位构成的,由此实现2 级中断允许控制。IE 寄存器中的各位定位如图2.2所示。 表 2.2 IE寄存器的特点及设置EA-ET2ESET1EX1ET0EX0中断总控 允/禁不用T2允/禁串行口允/禁T1允/禁允/禁T0允/禁允/禁IE各位具体说明如下:EA :总开关控制位EA=0,屏蔽所有中断请求;EA=1,开放中断。只有开放总中断后,各中断源的申请才可能被响应。EX0 :外部中断0中断允许位EX0=0 禁止外部中断0 申请中断;EX0=1 允许外部中断0 申请中断。EX1 :外部中断1 中断允许位 EX1=0 禁止外部中断1 申
11、请中断;EX1=1 允许外部中断1 申请中断。 对外部中断请求的设置,可用位操作指令,也可用字节操作指令,如开放外中断0。用位操作指令:SETB EA,CPU 打开总中断;SETB EX0,允许外部中断0 中断。用字节操作指令:MOV IE,#81H 或MOV A8H,#81H。 比较这2 种指令对IE 的赋值方法,显然用位指令赋值直观性强,但书写麻烦些;用字节指令赋值,直观性差,但书写简单。在实际运用中,采取哪种方式,可根据自己对指令系统掌握的熟练程度来选择。2.2 中断标志位TCON的特点及设置80C51 还为每个中断源设置有标志位,2 个外部中断源的标志位锁存在专用寄存器TCON 之中,
12、如图2.3。表2.3 TCON的特点及设置TF1TR1TF0TR0TE1IT1IE0IT0T1请求有/无T1工作有/无T0请求有/无T0工作有/无INT请求有/无INT1方式下沿/低电平INT请求有/无INT方式下沿/低电平各控制位的含义:IE0 :外部中断0 中断请求标志IT0 :外部中断0 中断触发方式控制位IT0=0,外部中断0 为电平触发方式(低电平有效);IT0=1 ,外部中断0 为边沿触发方式(下降沿有效)IE1 :外部中断1 中断请求标志IT1 :外部中断1 中断触发方式控制位 IT1=0 ,外部中断1 为电平触发方式;IT1=1 ,外部中断1 为边沿触发方式。电平触发方式适合于
13、外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况,而边沿触发方式适合于以负脉冲形式输入的外部中断请求。在运用中,可根据具体情况合理选择。2.3 外部中断标志的编程方式 合理编写程序是实现对中断控制的最基本方法,外部中断标志的编程方式有中断方式和查询方式。 中断方式是指CPU 在接收到外部中断请求时,暂时停止主程序的执行,转去处理相关的服务程序,之后再返回继续运行原程序。中断方式下的编程一般有如下步骤:1)开中断;2)设置中断优先级;3)中断源的相关控制;4)编写中断服务程序。 查询方式就是CPU 主动地监测中断源的状态并做出相应反应。其编程步骤如下:1)关中断;2)中断源的相关
14、设置;3)关中断查询及相关处理。 2 种方式的特点是:在中断方式下,CPU 除了响应中断之外的时间都用于执行主程序,中断源与CPU实现了并行工作。而在查询方式下,除初始化工作外,CPU 完全用于处理中断标志的查询及中断标志有效后的处理,中断一直占用着CPU 的时间,并没有处于并行工作状态。3 定时/计数器3.1 定时/计数器的结构和工作原理8XX51单片机的定时/计数器T1由寄存器TH1、TL1组成,T0由寄存器TH0、TL0组成。他们均为8位寄存器,在特殊功能寄存器中占地址8AH-8DH。他们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON
15、,用于选择和控制定时/计数器的工作。定时/计数器实质上是一个加1计数器,它可以用于定时方式,也可以用于计数方式,这两种工作方式实质上都是对脉冲计数,只不过所记脉冲的来源不同。1)定时器/计数器为计数工作方式计数器T0,T1的计数脉冲分别来自于引脚T0(P3.4)或引脚T1(P3.5)上的外部脉冲。计数器对外部脉冲的下降沿进行加1计数,直到记满预订值回零,置位定时/计数器中断标志位TF0(或TF1),产生溢出中断。由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”,故计数脉冲的最高频率不得超过fosc/24。2)定时器/计数器为定时工作方式计数器的
16、加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为: T=1/(12106)Hz1/12=1s这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。3.2 TMOD定时器/计数器方式寄存器定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。其高4位用于选择T1的工作方式,低4位用于选择T0的工作方式。TMOD的格式如表3.
17、1所示。表 3.1 TMOD定时器/计数器方式寄存器D7D6D5D4D3D2D1D0符号GATEC/TM1M0GATEC/TM1M0各控制位的含义: GATE:门控信号。GATE=0,TRx=1时启动定时/计数器工作;GATE=1,TRx=1,INTx=1时启动定时/计数器工作。 CT:定时器计数器选择位。C/T1,为计数器方式;CT0,为定时器方式。M1M0:工作方式选择位。定时器计数器的4种工作方式由M1M0设定。其工作方式如表3.2所示:表 3.2 TMOD工作方式M1M0工作方式功能描述00 工作方式013位计数器01工作方式116位计数器10工作方式2自动再装入8位计数器11 工作方
18、式3定时器0:分成两个8位计数器;定时器1:停止计数定时器/计数器方式控制寄存器TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器0,高半字节定义为定时器1。复位时,TMOD所有位均为0。3.3 TCON定时器/计数器控制寄存器TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H一8FH。TCON是一个多功能的寄存器,其格式如表3.3所示:表 3.3 TCON定时器/计数器控制寄存器TCON地址8FH8EH8DH8CH8BH8AH89H88H符号位TF1TR1TF0TR0IE1IT1IE0IT0 在TCON寄存器中,定时/计数器的控制仅用
19、了其中的高4位,其意义如下:TF1:T1溢出中断请求标志 TF1=1,T1有溢出中断请求;TF1=0,T1无溢出中断请求。TR1:T1运行控制位 TR1=1,启动T1工作;TR1=0,停止T1工作。TF0:T0溢出中断请求标志 TF0=1,T0有溢出中断请求;TF0=0,T0无溢出中断请求。TR0:T0运行控制位 TR0=1,启动T0工作;TR0=0,停止T0工作。4 定时器/计数器的设计4.1 任务分析及设计方案由题目要求由中断引脚输入脉冲信号,所以既可以采用外部中断也可以采用计数器中断。我采用的是计数器中断,在计数器中断设计过程通过T1对脉冲进行计数,利用T0进行定时。本次设计使用PROT
20、UES软件进行仿真,在电路设计中要对软件里的各元件的属性有一定的了解,对元件的选择也要仔细,在使用WAVE仿真器仿真时候要把每个生成的HEX文件保存好,然后把所写的程序烧写到硬件电路中,这样就可以在硬件电路中显示结果。8XX51的定时/计数器件,使用前应现对其内部的寄存器进行设置,以对它进行控制,这称为初始化编程,8XX51的定时/计数器初始化编程步骤:(1)根据定时器时间要求或计数器要求计算计算器初值;(2)将工作方式控制字写入TMOD寄存器;(3)将计数器初值写入THx和TRx寄存器;(4)启动定时器(或计数器),即将TRx置位。4.2 理论分析初态p1.0输出高电平(系统复位时实现),P
21、1.1输出低电平,T0选用方式2计数方式(记一个脉冲,初值为FFH)。当加在P3.4上的外部脉冲负跳变时,T0加1,计数器溢出,程序查询到TF0为1时,改变T0为500us定时工作方式,并且P1.0输出0,P1.1输出1。T0第一次定时500us溢出后,P1.0恢复1,T0第二次定时500us溢出后,P1.1恢复0,T0恢复计数方式,对P3.4上的外部脉冲计数,重复前述过程。 设定时500us的初始值为X,则 (256-X)*2us=500us X=6开始P1.1取0T0为方式2计数器装入初值并启动T0检测跳变信号关闭T0设定T0为500us定时P1.1置1,P1.0清0启动定时器检测第一个5
22、00usP1.0恢复0检测第二个500usP1.1复0关闭T0返回开始NNN4.3 流程图 图4.3 程序设计流程图4.4 程序设计BEGIN:MOV TMOD,#6H ;设T0为方式2计数器 MOV TH0,#0FFH ;计数一个脉冲 MOV TL0,#0FFH SETB P1.0 CLR P1.1 ;P1.1初值为0 SETB TR0 ;启动计数器DELL:JBC TF0,RESP1 ;检测外跳变信号 AJMP DELL RESP1:CLR TR0 MOV TMOD,#02H ;重置T0为500us定时 MOV TH0,#06H ;重置定时初值 MOV TL0,#06H SETB P1.1
23、 ;P1.1置一 CLR P1.0 ;P1.0清零 SETB TR0 ;启动定时/计数器 DEL2:JBC TF0,RESP2 ;检测第一次500us到否 AJMP DEL2 RESP2:SETB P1.0 ;P1.0恢复1 DEL3:JBC TF0,RESP3 ;检测第二次500us到否 AJMP DEL3 RESP3:CLR P1.1 ;P1.1复0 CLR TR0 AJMP BEGIN4.5 Protues仿真 根据程序设计和理论分析设计原理图如下图4.2所示: 图4.2 电路仿真图元件及其主要参数设置:单片机:AT89C51 晶振6MHZ电阻:R1,R2,R3 阻值都为220欧姆无极电容:C1,C2 都为33PF极性电容:C3 10uF500HZ脉冲:幅度 5V4.6 仿真结果 电路仿真结果如下图4.3所示: 图4.3 电路仿真结果示波器显示的波形依次为脉冲信号的波形,P1.0端口和P1.1端口。 上述示波器的设置:水平方向每格为1mS,垂直方向每格代表5mV。从示波器显示的波形可以看出每中断一次,P1.0输出一个500us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。通过仿真我们实现了程序和硬件的统一。 根据脉冲信号的频率和P1.0,P1.1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蓄电池的常用故障
- 沪教版九年级物理第一学期第七章7.2欧姆定律 电阻说课稿
- 2025年药物鉴别专项考核试题
- 湖南省娄底市新化县桑梓镇中心学校九年级化学上册《7.2 燃料的合理开发与利用》说课稿1 (新版)新人教版
- 2025届湖南省长沙市高考物理热身练习试题(含解析)
- 葡萄酒贸易知识培训课件
- 文库发布:葡萄酒课件
- 小班的奥数题目及答案
- 常熟初一历史月考试卷及答案
- 向日葵英文题目及答案
- 2025年高考生物甘肃卷试题答案解读及备考指导(精校打印)
- 2025北师大版三年级数学上册 第二单元 测量(二) 单元教学设计
- 2025年云南文山交通运输集团公司招聘考试笔试试卷【附答案】
- 沉香种植可行性研究报告
- 光纤通信施工难点措施
- 资质备案管理办法
- GB/T 45760-2025精细陶瓷粉体堆积密度测定松装密度
- 职业技能鉴定机构备案表(空表)
- 补肾养血膏方联合PRP治疗肝肾亏虚型膝骨关节炎的临床疗效观察
- 医疗机构依法执业自查
- 专项复习:相似三角形折叠问题(分层练习)(综合练)
评论
0/150
提交评论