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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

INT0及INT1中断计数.docx

1、INT0及INT1中断计数科技大学潇湘学院课 程 设 计课程设计名称: 单片机接口技术课程设计 题 目: INT0及INT1的中断计数 学 生 姓 名: 学 院: 专业及班级: 学 号: 指导教师: 2016 年 12月 19日摘 要 单片机的外部中断有两种触发方式可选:电平触发和边沿触发。 电平触发方式时,中断标志寄存器不锁存中断请求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换句话说,要使电平触发的中断被CPU响应并执行,必须保证外部中断源口线

2、的低电平维持到中断被执行为止。因此当CPU正在执行同级中断或更高级中断期间,产生的外部中断源(产生低电平)如果在该中断执行完毕之前撤销(变为高电平)了,那么将得不到响应,就如同没发生一样。同样,当CPU在执行不可被中断的指令(如RETI)时,产生的电平触发中断如果时间太短,也得不到执行。 边沿触发方式时,中断标志寄存器锁存了中断请求。中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自动清除。因此当CPU正在执行同级中断(甚至是外部中断本身)或高级中断时,产生的外部中断(负跳变)同样将被记录在中断标志寄存器中。在该中断退出后,将被响应执行。如果你不希

3、望这样,必须在中断退出之前,手工清除外部中断标志。一个中断如果在没有到响应之前就已经被手工清除,则该中断将被CPU忽略。就如同没有发生一样。1设计要求及目的 .1 1.1设计要求INT0及INT1中断计数 .1 1.2设计目的.12方案设计和选择.1 2.1原件选择.1 2.1.1单片机的选择.1-33 调试过程.3 3.1软件调试.3-64 心得体会.65 参考文献.7 第一章 设计要求和目的1.1设计要求INT0及INT1中断计数(1)每次按下第1个计数键时,第1组计数值累加并显示在右边3只数码管上(2)每次按下第2个计数键时,第2组计数值累加并显示在左边3只数码管上(3)后两个按键分别清

4、零1.2设计目的本设计的目的是为提高自己的实际动手能力以及对外部中断的原理和单片机C51语言的相关知识有更深刻理解。第二章方案设计和选择根据本次设计的要求,方案的选择应力用性强,性价比高,使用简单,定位为入门级的产品2.1元件选择2.1.1单片机的选择AT89C51是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。主要特性:与

5、MCS-15兼容4k字节可编程闪烁存储器寿命;100写/擦循环数据保留时间:10年全静态工作:OHz-24MHz三级程序储存器锁定1288位部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低耗电的闲置和掉电模式片振荡器和时钟电路管脚说明: VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1

6、口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外

7、部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚备选功能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2/INT0(外部中断0) P3.3/INT1(外部中断1) P3.4T0(记时器0外部输入) P3.5T1(记时器

8、1外部输入) P3.6/WR(外部数据存储器写选通) P3.7/RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只

9、有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及部时钟工作电路的

10、输入。XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。第三章 调试过程3.1软件调试 软件调试主要通过仿真软件Proteus8 Professional和keil来实现。keil用来对程序编写和修改,Proteus8 Professional则用来对电路进行仿真。Keil程序如下:#include /文件头#define uc

11、har unsigned char #define uint unsigned int sbit K3=P34;sbit K4=P35; /定义3为3.4(单片机引脚)sbit K4=P35; /定义4为3.5(单片机引脚)/下面为数码管段码与位码定义,使用一维数组存放其值uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xff; uchar code DSY_Scan_Bits=0xdf,0xef,0xf7,0xfb,0xfd,0xfe; /共阴数码管的位选码/uchar code DSY_Scan_

12、Bits=0x20,0x10,0x08,0x04,0x02,0x01; /共阳数码管的位选码uchar data Buffer_Counts=0,0,0,0,0,0; uint Count_A,Count_B=0; /计数单元赋初值void DelayMS(uint x) uchar t; while(x-) for(t=0;t120;t+); void Show_Counts() uchar i; Buffer_Counts2=Count_A/100; /取某位上的数 Buffer_Counts1=Count_A%100/10; /取某位上数 Buffer_Counts0=Count_A%1

13、0; /取某位上显示数 Buffer_Counts5=Count_B/100; /取某位上显示数 Buffer_Counts4=Count_B%100/10; /取某位显示数 Buffer_Counts3=Count_B%10; /取某位上显示数 for(i=0;i6;i+) /for循环 P2=DSY_Scan_Bitsi; P1=DSY_CODEBuffer_Countsi; DelayMS(1); void main() /主函数 IE=0x85; PX0=1; /中断优先 IT0=1; IT1=1; while(1) if(K3=0) Count_A=0; if(K4=0) Count

14、_B=0; Show_Counts(); /调用子函数 void EX_INT0() interrupt 0 /中断函数计数加1 Count_A+; void EX_INT1() interrupt 2 /中断函数计数加1 Count_B+; end;Proteus仿真如图3.1所示:图3.1心得体会 为期两周的单片机课程设计实训很快就结束了,在这次设计过程里我们体验了从设计、画板、编程、焊板到调试的整个过程。本次实训在操作过程中还是比较简单的,没出现什么重大的问题,可是在电路整体调试的时候出现了一些问题,这说明硬件结构和软件编程还有待完善的地方,这就需要结合所学的知识,有创造性地不断改进电路

15、,以达到电路结构和软件性能的最优化。积极参与单片机课程设计,不仅让我们充分的体会到自己动手实践的乐趣,获得哪怕是前进一小步时候的那种成功的喜悦,还能学到很多我们在理论中学不到的知识。有利于我们学习能力的提高。表达能力等很多方面,有利于我们团队精神的培养。我们都是一起共同完成项目,这就要求我们必须互相信任、互相配合、分工合作。我们顺利完成了设计作业。 通过这次课设,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力。经历了从最初的设计到最后做出产品的开发过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影响。 参考文献单片机实验与课程设计 Proteus仿真版 单片机课程设计指导 单片机原理与应用 实验实训和课程设计 单片机项目式教程 基于Proteus虚拟仿真技术

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

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