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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

定时器及外部中断.docx

1、定时器及外部中断单片机实验报告 实验名称:定时器及外部中断实验姓 名:陈小燕学 号:100401203班 级:电信2班时 间:2012.11.29南京理工大学紫金学院电光系一、 实验目的(四号+黑体)1、理解定时器计数器的工作原理2、掌握外部中断的基本处理方法3、学习中断处理程序的编程方法二、 实验原理1、定时器1、51单片机有。两个16位内部定时器/计数器(T/C,Timer/ Counter)。若是计数内部晶振驱动时钟,则是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数。由于脉冲周期固定由计数值可以计算出时间,有定时

2、功能。定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。2、TMOD1) M1M0工作方式控制位 2) C/T 定时器方式或计数器方式选择位 若C/T=1时, 为计数器方式; C/T = 0时, 为定时器方式。 3)GATE 定时器/计数器运行门控标志位 当GATE=1时, T/C的启动受双重控制,即要求INT0 (或INT1)引脚为高电平且TR0(或TR1 )置 1 时, 相应的T/C才被选通工作。若GATE=0, T/C的启动仅

3、受TR0 (或 TR1)控制,即置 1, T/C就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。 3、TCONTF0、TF1分别是定时器/计数器T0、 T1 的溢出中断标志位, 加法计数器计满溢出时置1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时被清 0。 4、初始化1)初始化步骤在使用51系列单片机的T/C前,应对它进行编程初始化,主要是对TCON和TMOD编程,还需要计算和装载T/C的计数

4、初值。一般完成以下几个步骤:(1)确定T/C的工作方式编程TMOD寄存(2)计算T/C中的计数初值,并装载到TH和TL;(3)T/C在中断方式工作时,必须开CPU中断和源中断编程IE寄存器;(4)启动定时器/计数器编程TCON中TR1或TR0位。2)计数初值的计算(1)定时器的计数初值:在定时器方式下,T/C是对机器周期脉冲计数的,fOSC=6MHZ,一个机器周期为12/fOSC=2us,则方式0 13位定时器最大定时间隔=213*2us=16.384ms方式1 16位定时器最大定时间隔=216*2us=131.072ms方式2 8位定时器最大定时间隔=28*2us=512us 若T/C工作在

5、定时器方式1时,要求定时1ms,求计数值。如设计数初值为x,则有:(216-x)*2us=1000us 推出x=216-500因此,TH,TL可置65 536-500(2)计数器的计数初值在计数器方式下:方式0 13位计数器的满计数值=213=8192方式1 16位计数器的满计数值=216=65 536方式2 8位计数器的满计数值=28=256 若T/C工作在计数器方式2时,则要求计数10个脉冲的计数初值,如设计数初值为x。则有 28-x=10 即 x= 28-10因此,TH=TL=256-102、中断1、P1口为计数值输出口,利用定时器实现一秒定时,计数初值为0,每隔一秒加一;另外,外部中断

6、0引脚外接键盘,按键使得显示数值加1.2、系统板上硬件连线3、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。4、外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断触发方式设置。中断触发方式设置一般有两种方式:电平触发方式和脉冲(边沿)触发方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入,本实验由INT0(P3.2)引入。5、中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存

7、器,51系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。6、中断响应的过程:首先中断采样然后中断查询最后中断响应。采样是中断处理的第一步,对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。 7、8051的中断系统8051的中断系统包括5个中断源,并提供两个优先级,允许用户对中断源进行独立控制和中断优先

8、级设置.8051支持的5个中断源分别为外部中断0、定时器0溢出中断、外部中断1、定时器1溢出中断和串口中断。 对应的中断号为0、1、2、3、4;寄存器有4个工作组可以切换,为0-3;C51中,中断服务程序是以中断函数的方式来时实现的。5.中断函数格式如下: void 函数名() interrupt 中断号 using 工作组 中断服务程序内容; (1)内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于

9、设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算:机器周期=1212MHz=1uS(256-定时常数)1uS=100uS定时常数=156。然后对100uS中断次数计数10000次,就是1秒钟。(2)单片机中断系统是为使CPU具有对外界事件进行处理能力而设置的。当CPU正在处理某事件时外界

10、发生紧急事件请求,CPU暂停当前工作,转而去处理这个紧急事件。处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。能够实现中断功能的事件为中断系统,向CPU发出中断请求称为中断源。MCS-51单片机的中断系统提供了5个中断源,具有两个中断优先级,可实现两极中断服务程序嵌套。通过关中断或开中断来控制中断源的状态。(3)中断相关寄存器及其设置: 1)中断屏蔽:CPU可以对中断源开放或屏蔽,每一个中断源是否允许中断,是由内部中断允许寄存器IE的相应位控制。该位为1允许中断,为0禁止中断,其格式如下: EA/ESET1EX1ET0EX0cpu中断开放标志串口中断T1定时外部中断1T

11、0定时外部中断0 例句:如要使CPU可以对所有中断源开放: EA=1 2)中断优先级:MCS-51有两个中断优先级,对于每一个中断源均可编程为高优先级或低优先级,可以实现二级中断嵌套。中断优先级响应的原则:低级可被高级中断,反之不能;任何一种中断,一旦被CPU响应,不能被同级中断源所中断。中断优先级寄存器IP的格式如下:“1”为高级优先,“0”为低级优先。/PSPT1PX1PT0PX0串口中断定时器T1外部中断1定时器T0外部中断0 (寄存器地址IE:0A8H IP:0B8H) 3)中断触发方式选择:单片机触发方式有电平触发和边沿触发两种。本实验中外部中断信号接开关,所以应设为电平触发。编程时

12、需要设置定时器控制寄存器TCON中与中断有关的位为“1”,外部中断0对应:IT0;外部中断1对应:IT14)中断源:MCS-51中断系统5个中断源在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。3、数码管2. 共阴极数码管编码 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 6 7 8 9 A B 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C

13、 D E F 无显示1)让第一个数码管显示一个8字 对于实验板(共阴极), 数码管的选通是通过P2口控制三八译码器得到的,要让第一个数码管显示8字,那么别的数码管的位选就要关闭,即只打开第一个数码管的位选。控制位选的P2口要输出的数据位0xf7(二进制为1111 0111)。位选确定后,在确定段选,要显示的是8,那么只有dp段为0,其余段为1,所以P0口要输出0x7f(二进制0111 1111)。三、 实验内容(1)P1口为计数值输出口,利用定时器实现1秒定时时,计数初值为0,每个1秒加1;另外,外部中断0引脚外接键盘BUTTON,按键使得显示数值加1。(2)系统板上硬件连接把单片机系统A2区

14、的J61接口的P1.0P1.6端口与D1区的J52接口连接。把单片机系统A2区的INT0端口用导线连接到D1区的KEY1端口上。(3)程序设计流程图 Y N(a)主流程图 (b)定时中断流程图 (c)外部中断流程1、电路图原理:2、参考程序流程图编写的软件:3、观察实验现象加以分析:本实验实现从零累计,数值间隔为1;(1)自动累加,时间间隔为一秒;(2)手动按键累加;(3)根据课堂上老师要求电路的原理图的截屏数码管的显示数值为学号3号。4、思考题答:考虑引入两级外部中断void int0() interrupt 0a+;b=a+a/10*6; P1=b;void int1() interrupt 2a=0;b=a+a/10*6; P1=b;四、 小结与体会在这次实验中,我没有按照老师的原图,因而我的原理图是反的,因而对于七段数码管上显示的数字是学号的反向。经过这次试验,我明白了,如果想做好实验不细心的话你会比别人多走很多路,会花更多的时间!

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

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