单片机试验-中断系统试验_第1页
单片机试验-中断系统试验_第2页
单片机试验-中断系统试验_第3页
单片机试验-中断系统试验_第4页
单片机试验-中断系统试验_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四动态数码管显示外部中断计数、实验目的1 .熟悉 keil 仿真软件、proteus 仿真软件的使用和单片机外部中断的使用。2 .了解并熟悉 51 单片机中中断的概念,中断处理系统的工作原理。3 .理解 51 单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。4 .熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。二、实验器材C51 单片机开发板(含动态数码管)1 块8PIN 排线 2 根数据线 1 根三、实验原理1 .实验仿真原理图如下所示:2 .实验的源程序:#includeunsignedchari;unsignedcharcodetab

2、尸0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f;yanshi(void)interrupt2/中断处理函数 2 表示对应的中断源为外部中断 1LrtFTWIFTWI 口FCJWO2FCJWO2bfUJbfUJROWWtROWWt彳:T手工南ALEALE旧询:3 3FS.WEFS.WE,口PJVTLDPJVTLDPT7iPT7i|Mr|MrJpj3ipj3i H Hn.injn.injMEMEtoisritoisriVIG1 11nzT1nzTHi!Hi!r rIF二Ih大I I -o*-7ZT-7ZT /按键按下时发出中断请求,引起

3、外部中断i+;if(i=9)i=0;)voidmain()IT1=1;/IT1=1,选择下降沿触发i=0;EA=1;/EA=1,CPLFF 中断EX1=1;/EX1=1,允许 INT1 中断while(1)P0=tabi;从 0 显示到 8)3 .中断控制的有关寄存器(1)中断的允许和禁止一一中断控制寄存器 IEEA 中断总控开关,是 CPU 是否响应中断的前提。EA=1,CPU 开中断;EA=0,CPU 关中断。ES:串行口中断允许位,ES=1,允许串彳 T 口发送/接收中断;ES=0,禁止串行口中断。ET1:定时器 T1 中断允许位,ET1=1,允许 T1 计数溢出中断;ET1=0,禁止

4、T1 中断。ET0:定日寸器 T0 中断允许位,ET0=1,允许 T1 计数溢出中断;ET0=0,禁止 T0 中断。EX1:外部中断 INT1 允许位,EX1=1,允许 INT1 中断;EX1=0,禁止 INT1 中断。EX0:外部中断 INT0 允许位,EX0=1,允许 INT0 中断;EX0=0,禁止 INT0 中断。(2)中断请求标志及外部中断方式选择寄存器 TCONTF1TR1TF0TR0IE1IT1IE0IT0T1请求有/无T1工作启/停T0请求有/无T0工作启/停INT1请求有/无INT1方式下沿/低电平INT0 请求有/无INT0方式下沿/低电平说明:1.IT0 和 IT1 为外

5、中断 INT0 和 INT1 中断触发方式选择,若选下降沿触发则相应位置 1;若选低电平触发,IT 相应位置 0。2.某中断源有中断请求,该中断标志置 1,无中断请求,该中断标志置 03.TR0 和 TR1 为定时器 T0 和 T1 工作启动和停止控制。4 .数码管:按发光二极管数码管是一种半导体发光器件,其基本单元是发光二极管。数码管的分类:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为 1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阴极数码管和共阳极数码管。共阳数码管是指将所有发光二极管的

6、阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM 的数码管,共阴数码管在应用时应将公共极 CO 唳到地线 GNDk,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不凫。共阴极数码管和共阳极数码管如下图所示:5 .INT1中断计数用 AT89C51 及电阻、电容、晶振、1 位动态数码管、排阻、按钮等实现中断计数。INT1 中断计数,每次按下计数键时

7、触发 INT1 中断,中断程序累加计数,计数值显示在动态数码管上。用单片机的 P0.0-P0.7 端口接动态数码管的端口,P3.3 作为外部中断输入端口。每次按下计数键时触发 INT1 中断,中断程序累加计数,计数值显示在动态数码管上。四、实验操作步骤1.接线方法如下图所示将 P0 与 J12、P3 与 JP5 分别用 8PIN 排线连接,用数据线将单片机开发板与笔记本连接好。+5VgfGNDabedGNDcdp(a)j(b)P3:输入输出端口(即 I/O)J12:用来控制共阳极动态数码管JP5:用来控制 8 位独立按键P3.3 做为外部中断输入,每按一下 P3.3 所连接的独立按键 K4,动

8、态数码管就累计加 1 一次。2 .工程建立先建立一个该工程的文件夹,保存到要存放的路径,如放在 D:keil。打开 Keil 软件,先新建一个工程文件,点击“Project-NewProject 菜单。会弹出工程创建对话框。选择工程文件要存放的路径选择将工程安装在我们创建的 D:keil 工程文件夹下面,并给该工程命名输入工程文件名,如 zhongduan 最后单击保存。在弹出的对话框中选择 CPU 厂商及型号,选择好 Atmel 公司的 AT89C51 后,单击确定。在接着出现的对 t 框中选择“OK。新建一个 C51 文件,单击左上角的 NewFile,保存新建的文件,单击 SAVE在出现

9、的对话框中输入保存文件名(注意后缀名必须为.C 如 zhongduan.c),再单击“保存”。P0:输入输出端口(即 I/O)电源POWER再单击左键选择 AddFilestoGroupSourceGroup1。选择要加入的文件,找到你所保存的.C 文件后(后缀名为.C 的文件),单击 Add,然后单击 CloseBuildtargetTarget1asB-iriilingSTARTUP,A51.*.compilingzhenqfduarL.c,*linkmg.ProgramSize:data=10.0Kdata=0code-65creatinghexfilefromzhongcluan-.E

10、hongduan-QE:0Warningfs.至此已经生成了单片机芯片可利用的 zhongduan.hex 文件,如下图所示:,ETARTUPA51ETARTUPA512000/5/714:272000/5/714:27ASiASi文博文博7KB7KB一 S S- -ARTUP1STARTUP1ST2013/3/2315:20IS货货件件14KB14KB_ _STARTUPSBJSTARTUPSBJ2013/3/231520o 助文件助文件1KB1KBzhongdun201i/3/2315:20文件文件2KB2KB_ _.zhcngduan.zhcngduan2013/3/2315:16c_f

11、ilec_file1KB1KB_ _zhongddan.htxzhongddan.htx20n/i/2iIT。HEX 文件文件1KB1KBzhongduen.lnpzhongduen.lnp2913/3/2315:20LNP 文件文件1KB1KB.,rhongdun.LST201V3/2315:201ST 交楼交楼2KB2KBzhongdurirMSl2013/3/2315:20M51 文件文件5KB5KBzhcngduan,OBJzhcngduan,OBJ2013/3/2315:20QBJ 文件文件2KB2KB3、Proteus仿真(1)在元件模式时,从元件库里找出本次实验需要用到的元器件,

12、其元件名称和英文简写对应如下:51 芯片 AT89C51数码管 7SEG-COM-CATHODE按钮 BUTTON晶振 CRYSTAL电阻 RES排阻 RESPACK-8(2)在终端模式时,从元件库里找出本次实验需要用到的元器件,其元件名称和英文简写对应如下:地 GROUND保存好后把此文件加入到工程中方法如下:用鼠标在SourceGroupl 上单击右键,然后在编辑框里输入代码,然后编译链接,程序编译成功如下图所示:(3)在 Proteus 仿真图中双击 89C51 芯片,在出现的对话框中的 programFile 一栏中选择生成的.hex 文件并确定,再运行之,观察现象如下图所示:每次按下

13、图中红框按钮时触发 INT1 中断,中断程序累加计数,计数值显示在数码管上:叱uv-jFZjGruv-jFZjGrfOSfOSfWXFLTJMTlLdlM=!lLdlM=!除加k_M|jk_M|jF3中1 11 1K.S建町3 3始H7H7甲浒P-JMTiTtmmmm七hihi”,亚,n,nn n虫眨FL1PJ1FL1PJ1KTTKTT4.烧录程序先打开烧录软件,再打开单片机电源,点击烧录软件窗口中的打开文件,选中已在 Keil 软件下生成的 hex 文件,然后点击下载程序,若软件上显示“数据下载成功,程序下载完毕”字样,则表示烧录成功。田PZ-ISPV148PZ-ISPV148t twww.

14、PRECHIN.comwww.PRECHIN.com5 .观察结果:程序下载成功后,点击数次 P3.3 所连接的独立按键 K4,并观察单片机开发板上静态数码管的变化。若数码管每次加 1,则表示实验成功。否则,实验失败,检查实室iosios堂主怪机率恃-E4E4茸握户并官需旷STST喟F F扈n=n=芯芯片类型片类型IsjcaacsxxiJIsjcaacsxxiJ;涉;涉串口号 COMCOM4 4(Proli.fieUSR-toYuifL(Proli.fieUSR-toYuifL 仃附ForFor豉特军豉特军110110,0 0高速下载低谏下载高速下载低谏下载文件名文件名U:KeilxiMtsh

15、iXsiaiiEhi.h馨的功能打开役音管理罂打开役音管理罂 1 调泞调泞. .耿手耿手 I下下载程序载程序串口串口检酬检酬II- -中技中技术市坛术市坛打井文件打井文件Cdl4Sizci:BGByte就,201303-21201303-211&23;311&23;31 星用四弋前点备串口号:弋前点备串口号:COM4COM4在在r r验过程并分析失败的原因。实验成功后,记录实验结果并分析产生的原因。五、实验小结通过实验熟悉 keil 仿真软件、proteus 仿真软件的使用和单片机外部中断的使用。了解并熟悉 51 单片机中中断的概念,中断处理系统的工作原理。理解 51 单片机中

16、断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。熟悉中断处理特别是外部中断处理的过程和中断处理子程序的书写格式和使用方法。中断处理过程分为四个阶段:中断请求,中断响应,中断处理、中断返回。使用 MCS51 的中断,要为使用到的中断源编写中断服务程序。C51 为中断服务程序的编写提供了方便的方法。C51 的中断服务程序是一种特殊的函数,它的说明形式为:void 函数名(void)interruptnusingm(函数体语句这里,interrupt 和 using 是为编写 C51 中断服务程序而引入的关键字,interrupt 表示该函数是一个中断服务函数,interrupt 后的整数 n 表示该中断服务函数是对应哪一个中断源。每次按下计数键 K4 时能够触发 INT1 中断,P3.3 口(即 INT1 口)由高电平变为低电平,此时在单片机的内部会产生一个中断计数,并使 P0 口的电平发生变化,通过排线

温馨提示

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

评论

0/150

提交评论