实验三 中断、定时器实验.doc_第1页
实验三 中断、定时器实验.doc_第2页
实验三 中断、定时器实验.doc_第3页
实验三 中断、定时器实验.doc_第4页
实验三 中断、定时器实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

评阅单片机实验报告三姓名学号 时间 地点 B526 实验题目 实验三 中断、定时器实验 一、实验目的1. 学习外部中断和定时器的工作原理及使用方法。2. 学习外部中断和定时器的初始化程序、应用程序的编写和调试。二、实验主要仪器和环境PC机、WAVE软件、仿真器+仿真头、实验板、电源等。三、实验说明本实验1通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED数码管指示出计数值,从而观察中断的请求、响应的过程。实验2通过单片机的定时器产生延时,模拟交通灯控制的方法。通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试。 四、实验内容1、开关S0S1连接P3口做输入,P0输出接LED数码管,通过S2产生外部中断请求(/INT0)信号,在中断服务程序中完成十进制递增计数,并将计数值显示在LED数码管上,要求分别采用电平触发和边沿触发。按上述要求完成S3产生外部中断请求。编写初始化程序和中断服务程序。(注意开关抖动处理)2、P10-P17作输入口接拨动开关S0-S7;P0.0-P0.7作输出口,接发光二极管L1L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,要求发光二极管(LED)按亮0.5秒、暗0.5秒闪烁,LED亮的同时,从P2.0送出1kHz的音频信号到音频驱动电路发声(持续0.5秒),将开关编号(07)显示在LED数码管上。要求延时采用内部定时器T0,音频的产生采用内部定时器T1。编写初始化程序和中断服务程序。五、实验1电路连线P00 - LED0 P3.2(/INT0)- S2 P01 - LED1 P02 - LED2 P03 - LED3 P04 - LED4 P05 - LED5 P06 - LED6 P07 - LED7 外部中断请求输入abcdefgh(dp) a b c d e f g h(dp) P2.7 P2.6 P2.5 P2.4P2.3 P2.2P2.1 P2.0 实验2: LED数码管各段与I/O的连接六、实验程序流程框图、实验程序实验一: ORG 0000H;设定程序起始地址为0000H AJMP MAIN ORG 0003H AJMP INT_0 ORG 0013H AJMP INT_1ORG 0100HMAIN: CLR EA ;关CPU中断SETB EX0 ;开外部中断0 SETB EX1 ;开外部中断1 CLR IT0 ;设置外部中断0为电平触发方式 SETB IT1 ;设置外部中断1为跳沿触发方式 MOV R0,#00H;R0设初值为0 MOV DPTR,#TABLE ;DPTR指向表头 ACALL DISP ;初始显示0 SETB EA ;开总中断 SJMP $ ;等待中断INT_0: CLR EA ;关总中断 ACALL DELAY ;延时消抖 JB P3.2,OUT0 ;判断是否真的触发,P3.2为1时跳转至OUT0,为0时继续执行 INC R0 ;R0加一 CJNE R0,#0AH,DISP0 ;若R0不等于10则跳转到DISP0显示 MOV R0,#00H ;R0等于10时清零DISP0: ACALL DISP;调用显示子程序OUT0: SETB EA ;重开总中断 RETIINT_1: CLR EA;边缘触发 ACALL DELAY JB P3.3,OUT1 INC R0 CJNE R0,#0AH,DISP1 MOV R0,#00HDISP1: ACALL DISPOUT1: SETB EA RETI;显示子程序DISP: MOV A,R0 MOVC A,A+DPTR MOV P0,A RET;延时子程序DELAY: MOV R5,#100 ;D1: MOV R6,#20D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数码管编码数表 END程序流程图:实验二: ORG 0000H ; 设定程序起始地址为0000H AJMP MAIN ORG 000BH ;中断一入口地址 AJMP T0 ORG 001BH ;中断二入口地址 AJMP T1 ORG 0100HMAIN: MOV SP,#66H;设置堆栈指针 MOV TMOD,#11H ;设置定时器中断0、1都工作在方式1 MOV TL0,#0B0H ;TL0装初值 MOV TH0,#03CH;TH0装初值,3CB0H=15536,故定时50ms MOV TL1,#0CH ;TL1装初值 MOV TH1,#0FEH;TH1装初值,FE0CH=65036,故定时0.5ms,产生1KHz的信号 SETB PT1 MOV IE,#0AH ;允许T0、T1中断 SETB EA ;开总中断 SETB TR0 ;开中断T0, CLR TR1 ;关闭T1 MOV R2,#00H ;R2计数清0 MOV R0,#10 ;设置T0中断次数 MOV P1 ,#0ffH;P1口先赋1SEARCH:MOV A,P1 CJNE A,#0FFH,LOOK ;判断有无按键按下,A不等于FFH是跳转到LOOK MOV P2,#00H ;无按键则数码管不显示 MOV P0,#00H ;无按键则LED不显示 SJMP SEARCHLOOK: ACALL DELAY10MS ;延时消抖 CJNE A,#0FFH,FIND;判断有无按键按下,A不等于FFH是跳转到FIND SJMP SEARCH;A等于FFH,则返回SEARCHFIND: RRC A ;检查是哪一个按键按下,A中值右移 JNC DISPLAY ;如果进位位为0则跳转到DISPLAY,执行数码管转换 INC R2;若进位位为一,计数值R2加一 AJMP FIND ;跳回FIND,让A中的值继续右移 DISPLAY: MOV DPTR,#TAB ;显示子程序,装表头地址到DPTR MOV A, R2 MOVC A,A+DPTR ;查表地址 MOV P2,A; ;显示 SJMP MAINTAB: DB 0FCH,60H,0DAH,0F2H,66H ; ;数码管数表 DB 0B6H,0BEH,0E0H,0FEH,0F6H;T0: MOV TL0,#0B0H ;定时器中断0子程序 MOV TH0,#03CH;设初值为3CB0H=15536,定时50ms DJNZ R0,RETURN ;50ms循环10次 MOV R0,#0AH;循环次数控制位R0重新装入10 MOV A,P1 CJNE A,#0FFH, LOOP1 ;判断有没有按键按下,有键按下则跳转到LOOP1 MOV P2,#00H ;无按键则数码管不显示 MOV P0,#00H ;无按键则LED不显示 SJMP RETURN;跳转到RETURNLOOP1:CPL F0 JNB F0,LOOP2 SETB TR1 MOV A,P1 CPL A MOV P0,A SJMP RETURNLOOP2:CLR TR1 MOV P0,#00H RETURN: RETIT1: MOV TL1,#0CH ;重装初值 MOV TH1,#0FEHDO: CPL P2.0 ;有按键按下则送1KHz的信号 RETI DELAY10MS: ;10MS延时程序 MOV R7,#20 D1: MOV R6,#250 DJNZ R6,$ DJNZ R7,D1 RET END定时器0中断开始流程图: 初始化N够0.5秒否?YYN有键按下?N中断返回是否有键按下? 去抖NY F0取反有键按下?N开T1中断,蜂鸣器响F0=0?Y输入值右移一位到CyNY计数值加1Cy=0?Y全灭了LED,关T1中断查表,送数码管显示7、 思考题1、外部中断采用电平触发和边沿触发处理方法上又何不同?解: a.电平触发可以消除抖动,而沿触发消除抖动就没有意义了。b.电平触发只要P3.2是低电平中断就会一直响应,而沿触发则只有下降沿的时候中断才能响应。此实验中电平触发在中断服务程序中加了一段300ms的延时程序,来防止计数过快人无法反应过来的情况。而沿触发方式则没有这一项。2、 阐述定时器几种工作方式所实现的功能及应用时的注意事项。解:工作方式0,为13位定时器/计数器。工作方式1,为16位定时器/计数器。工作方式2,8位常数自动重新装载的定时器计数器。工作方式3,仅适用于T0,T0分成两个8位计数器,T1停止工作。应用时应注意中断服务程序不能过长,如果过长有可能导致中断丢失的情况。3、 试画出音频驱动电路的原理图并分析工作原理和作用。 工作原理为,当片机IO口为高电平是三极管导通,经过电流 放大驱动蜂鸣器。低电平时截止没有电流流过蜂鸣器无响声。 作用是增加单片机的带负载能力。 八、 程序测试报告在实验一中用按键S0控制外部中断电平触发,用按键S1控制外部中断边缘触发,经过实验验证,两种触发方式都可进行计数。在实验二中P10-P17接开关S0-S7;P0.0-P0.7接发光二极管L1L8,开关的状态可以在对应的发光二极管上显示,并且发光二极管(LED)成功满足要求“按亮0.5秒、暗0.5秒闪烁,LED亮的同时

温馨提示

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

评论

0/150

提交评论