单片机原理与运用课程设计说明书Proteus的课程设计

上传人:仙*** 文档编号:37371757 上传时间:2021-11-02 格式:DOC 页数:21 大小:357KB
收藏 版权申诉 举报 下载
单片机原理与运用课程设计说明书Proteus的课程设计_第1页
第1页 / 共21页
单片机原理与运用课程设计说明书Proteus的课程设计_第2页
第2页 / 共21页
单片机原理与运用课程设计说明书Proteus的课程设计_第3页
第3页 / 共21页
资源描述:

《单片机原理与运用课程设计说明书Proteus的课程设计》由会员分享,可在线阅读,更多相关《单片机原理与运用课程设计说明书Proteus的课程设计(21页珍藏版)》请在装配图网上搜索。

1、1 Protues简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 其功能特点如下: Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真具有3大功能模块:(1)个易用而又功能强大的ISIS原理布图工具;(2)PROSPICE混合模型SPI

2、CE仿真;(3) ARES PCB设计. Protues提供了丰富的资源: (1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗

3、。这些都尽可能减少了仪器对测量结果的影响。 (4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 软件仿真:支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。(1)提供软件调试功能(2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。(3) 提供丰富的虚拟仪器利用虚拟仪器在仿真过程中可以测量外围

4、电路的特性,培养学生实际硬件的调试能力。(4) 具有强大的原理图绘制功能电路功能仿真:在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

5、 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。 2 单片机中断原理基本型8XX51有5个中断源,它们在程序存储器中各有固定的中断服务入口地址,当CPU响应中断时,硬件自动形成各自的

6、入口地址,由此进入中断服务程序,从而实现了正确的转移。这些中断源的符号,名称,产生条件及中断服务程序的入口地址见表2.1表2.1 中断源中断源符号名称中断引起原因中断服务程序入口地址外部中断0引脚的低电平或下降沿信号0003H外部中断1引脚的低电平或下降沿信号 0013H定时器0中断定时/计数器0计数回零溢出 000BH定时器1中断定时/计数器1计数回零溢出 001BH定时器2中断定时器2中断(TF2或T2EX)信号 002BH串行口中断串行通信完成一帧数据发送或接受引起中断 0023H2.1 中断控制寄存器(IE)中断的允许和禁止中断控制寄存器IE(地址A8H)8XX51的一个中断源对应IE

7、寄存器的一位,如果允许该中断源中断则该位置“1”,禁止该中断源中断则该位置“0”。此外还有一个中断总空位格式如下表2.2所示:表2.2 控制寄存器EA-ET2ESET1EX1ET0EX0中断总控 允/禁不用T2允/禁串行口允/禁T1允/禁允/禁T0允/禁允/禁IE各位具体说明如下:EA:中断允许总控制位。 EA=0,屏蔽所有的中断请求; EA=1,CPU开放中断。对各中断源的中断请求是否允许,还要取决于各中断源的中断允许控制位的状态。这就是所谓的两级控制。ES:串行口中断允许位。 ES=0,禁止串行口中断;ES=1,允许串行口中断。ET1:定时器/计数器T1的溢出中断允许位。 ET1=0,禁止

8、T1中断; ET1=1,允许T1中断。ET2:定时器/计数器T2的溢出中断允许位。ET2=0,禁止T2中断;ET2=1,允许T2中断。ET0:定时器/计数器T0的溢出中断允许位。 ET0=0,禁止T0中断; ET0=1,允许T0中断。EX0:外部中断0的溢出中断允许位。 EX0=0,禁止外部中断0中断; EX0=1,允许外部中断0中断。EX1:外部中断1的溢出中断允许位。 EX0=0,禁止外部中断1中断;EX0=1,允许外部中断1中断。2.2 寄存器TCON中断请求标志及外部中断方式选择寄存器TCON(地址88H)TCON为定时器/计数器T0和T1的控制器,同时也锁存T0和T1的溢出中断标志及

9、外部中断0和1的中断标志等。TF1TR1TF0TR0TE1IT1IE0IT0T1请求有/无T1工作有/无T0请求有/无T0工作有/无INT1请求有/无INT1方式下沿/低电平INT0请求有/无INT0方式下沿/低电平各控制位的含义。TCON中的中断标志位8FH 8EH 8DH 8CH 8BH 8AH 89H 88H各控制位的含义TF1:定时器/计数器T1溢出中断请求标志位。当启动T1计数后,T1从初值开始加1计数,计数器最高位产生溢出时,由硬件使TF1置1,并向CPU发出中断请求。当CPU响应中断时,硬件将自动对TF1清0。TF0:定时器/计数器T0溢出中断请求标志位。 含义与TF1类同。IE

10、1:外部中断1的中断请求标志。 INT1(P3.3)。当检测到外部中断引脚1 上存在有效的中断请求信号时,由硬件使IE1置1。当CPU响应中断请求时,由硬件使IE1清0。 IE0:外部中断0的中断请求标志。INT0(P3.2)。 其含义与IE1类同。 IT1:外部中断1的中断触发方式控制位。 IT1=0时,外部中断1程控为电平触发方式。 CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。若外部中断1请求为低电平,则使IE1置1;若为高电平,则使IE1清0。 IT1=1时,外部中断1程控为边沿触发方式。 CPU在每一个机器周期S5P2期间采样外部中断请求引脚的输入电平。如果在相继

11、的两个机器周期采样过程中,一个机器周期采样到外部中断1请求引脚为高电平,接着的下一个机器周期采样到为低电平,则使IE1置1。直到CPU响应该中断时,才由硬件使IE1清0。 IT0:外部中断0的中断触发方式控制位。 其含义与IT1类同。 TR1与TR0为定时器T1和T0工作启动和停止的控制位,与中断无关。3 定时器/计数器的工作原理当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz

12、,则计数周期为:T=1/(12106)Hz1/12=1s这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。2.2.2 TMOD定时器/计数器方式寄存器定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的格式如表3.1所示。表3.1TMOD定时器/计数器方式寄存器D7D6D5D4D3D2D1D0符号GATEC/TM1M0GATEC/TM1M0 由上可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下:GATE:门控制位。GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时

13、器计数器的打开或关闭。CT:定时器计数器选择位。C/T1,为计数器方式;CT0,为定时器方式。M1M0:工作方式选择位,定时器计数器的4种工作方式由M1M0设定。其工作方式如表3.2所示:表3.2 TMOD工作方式M1M0工作方式功能描述00 工作方式013位计数器01工作方式116位计数器10工作方式2自动再装入8位计数器11 工作方式3定时器0:分成两个8位计数器;定时器1:停止计数定时器/计数器方式控制寄存器TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器0,高半字节定义为定时器1。复位时,TMOD所有位均为0。2.2.3 TCON定时器/计数器控制寄存

14、器TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H一8FH。TCON是一个多功能的寄存器,其格式如表3.3所示:表3.3 TCON定时器/计数器控制寄存器TCON地址8FH8EH8DH8CH8BH8AH89H88H符号位TF1TR1TF0TR0ID1IT1IE0IT0在TCON寄存器中,定时/计数器的控制仅用了其中的高4位,其意义如下:TF1:T1溢出中断请求标志。TF1=1,T1有溢出中断请求。TF1=0,T1无溢出中断请求。TR1:T1运行控制位。TR1=1,启动T1工作。TR1=0,停止T1工作。TF0:T0溢出中断请求标志。其功能及操作情况同TF1。TR0:

15、T0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。 4 任务分析及设计方案本次课程设计的题目要求是:使用由中断引脚输入500HZ的脉冲信号,要求每中断一次,P1.0输出一个500us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。由题目要求由中断引脚输入脉冲信号,所以既可以采用外部中断也可以采用计数器中断。在INT0中断中我们才采用延时函数D500,在计数器中断设计过程通过T1对脉冲进行计数,利用T0进行定时。本次设计使用PROTUES软件进行仿真,在电路设计中要对软件里的各元

16、件的属性有一定的了解,对元件的选择也要仔细,在使用WAVE仿真器仿真时候要把每个生成的HEX文件保存好,然后把所写的程序烧写到硬件电路中,这样就可以在硬件电路中显示结果。5 外部INT0中断设计在中断程序的编制中应注意:(1) 开中断总开关EA,置位中断源的中断允许位;(2) 对于外部中断INT0,INT1应选择中断触发方式,是低电平触发还是下降沿触发;(3) 如果有多个中断源中断,应设定中断优先级,预置IP。5.1 理论分析500Hz信号周期为2ms,信号电平为每1ms变反一次。脉冲信号加在P3.2(INT0)上出态p1.0输出高电平,p1.1输出低电平,当外部脉冲负跳变是产生下降沿,进入中

17、断程序p1.0取反编一个延时子程序并延时500us然后再取反,p1.1延时两个500us然后再取反,产生一个1ms的延时。然后再等待下一个下降沿,然后再进入中断,如此反复。 延时子程序:机器周期(2us单片机使用的晶振为12MHZ) 1 D500 :MOV R7,#250 2 DJNZ R7,$延时时间为(1+2*250)*1us=500us 5.2 流程图P1.0和P1.1取反设置中断标志为下降沿等待中断开始延时500usP1.0取反延时500usP1.1取反返回中断,继续等待P1.0置1,P1.1置0允许中断下降沿YN图5.1 程序设计流程图5.3 程序设计ORG 0000H AJMP M

18、AINORG 0003H ;INT0中断的入口AJMP WBI ;转中断服务程序ORG 0030H ;主程序开始MAIN :SETB P1.0 ;出态p1.0为高电平 CLR P1.1 ;p1.0为低电平 SETB IT0 ;边缘触发中断 SETB EX0 ;允许外中断0中断 SETB EA ;开中断开关HERE: AJMP HERE ;等待中断WBI: CPL P1.0 ;p1.0取反 CPL P1.1 ;p1.1取反 ACALL D500 ;延时500usP1.0变反 CPL P1.0 ACALL D500 ;延时1msP1.1变反 CPL P1.1 AJMP L1D500: MOV R7

19、,#250 ;延时500us的子程序 DJNZ R7,$L1: RETI END5.4 Protues仿真根据程序设计绘制原理图如下图5.2所示:图5.2 电路仿真图元件及其主要参数设置:单片机:AT89C51 晶振12MHZ电阻:R1,R2,R3 阻值都为220欧姆无极电容:C1,C2 都为33PF极性电容:C3 10uF500HZ脉冲:幅度 5V5.5 仿真结果仿真结果如下图5.3所示:图5.3 仿真结果示波器显示的波形依次为P1.0端口,P1.1端口和脉冲信号的波形。 上述示波器的设置:水平方向每格为1mS,垂直方向每格代表5mV。从示波器显示的波形可以看出每中断一次,P1.0输出一个5

20、00us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。通过仿真我们实现了程序和硬件的统一。 6 定时器/计数器的设计8XX51的定时/计数器件,使用前应现对其内部的寄存器进行设置,以对它进行控制,这称为初始化编程,8XX51的定时/计数器初始化编程步骤:(1)根据定时器时间要求或计数器要求计算计算器初值;(2)将工作方式控制字写入TMOD寄存器;(3)将计数器初值写入THx和TRx寄存器;(4)启动定时器(或计数器),即将TRx置位。6.1 理论分析初态p1.0输出高电平(系统复位时实现),P1.1输出低电平,T0选用方式2计数方式(记一个脉冲,初值为FFH)。当加在P3.4上的外部脉冲负

21、跳变时,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)*2*2us=500us X=66.2 流程图T0为方式2计数器P1.1取0装入初值并启动T0检测跳变信号设定T0为500us定时关闭T0P1.1置1,P1.0清0启动定时器P1.0恢复0P1.1复0返回开始关闭T0检测第二个500us检测第一个500usNNN图6.2

22、 程序设计流程图6.3 程序设计BEGIN:MOV TMOD,#6H ;设T0为方式2计数器 MOV TH0,#0FFH ;计数一个脉冲 MOV TL0,#0FFH CLR P1.1 ;P1.1初值为0 SETB TR0 ;启动计数器DELL:JBC TF0,RESP1 ;检测外跳变信号 AJMP DELL RESP1:CLR TR0 MOV TMOD,#02H ;重置T0为500us定时 MOV TH0,#04H ;重置定时初值 MOV TL0,#04H SETB P1.1 ;P1.1置一 CLR P1.0 ;P1.0清零 SETB TR0 ;启动定时/计数器 DEL2:JBC TF0,RE

23、SP2 ;检测第一次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 BEGIN6.4 Protues仿真根据程序设计和理论分析设计原理图如下图6.2所示:图6.2 电路仿真图元件及其主要参数:元件及其主要参数设置:单片机:AT89C51 晶振6MHZ电阻:R1,R2,R3 阻值都为220欧姆无极电容:C1,C2 都为33PF极性电容:C3 10uF500HZ脉冲:幅度 5V6.5 仿真结果电路仿真结果

24、如下图6.3所示: 图6.3 电路仿真结果示波器显示的波形依次为P1.1端口,P1.0端口和脉冲信号的波形。 上述示波器的设置:水平方向每格为1mS,垂直方向每格代表5mV。从示波器显示的波形可以看出每中断一次,P1.0输出一个500us的同步负脉冲,P1.1输出一个1ms的同步正脉冲。通过仿真我们实现了程序和硬件的统一。 根据脉冲信号的频率和P1.0,P1.1的脉冲时间可得占空比为1/4,和1/2,与示波器的波形一致。7 心得体会作为一名电子信息工程专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是

25、专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:PROTUES仿真、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在

26、学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。然后,我觉得要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识

27、会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。参考文献1 李群芳.单片微型计算机与接口技术.电子工业出版社,2005.12 张毅刚. 新编MCS-51单片机应用设计.哈尔滨工业出版社3 薛晓书.单片微机原

28、理及接口技术M.西安石油大学2002.34 黄智伟朱卫华.单片机与嵌入式系统应用M.南华大学.2005.35 付浩AT89C51单片机高速串行输出口设计A淮阴师范学院2004.106 蒋辉科等编著. 单片机原理与应用设计.北京航空航天大学出版社,2007致谢做这次课程设计之前,我对Protues仿真完全是陌生的,但通过此次的课程设计,我认真的看了很多方面关于Protues仿真和单片机中断方面的书,我深深的体会到看书学习才是硬道理。这次课设我最大的收获是培养了自己独立思考的能力,同时也认识到自己的不足,自己的理论知识还是太少,在以后的学习中我应多看书多学习让自己在学识方面更加的充实。在此,我要感谢我的室友在此次课设当中给了我很大的支持和帮助,在他们的帮助下我顺利的完成了课程设计。同时也要感谢我的母校能给我这次机会让我锻炼自己。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!