- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验三 中断与定时器实验
实验三 中断、定时器实验、
一、实验目的
1. 学习外部中断和定时器的工作原理及使用方法。
2. 学习外部中断和定时器的初始化程序、应用程序的编写和调试。
二、实验仪器和设备
PC机、WAVE软件、仿真器+仿真头、实验板、电源等。
三、实验说明
本实验1通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED数码管指示出计数值,从而观察中断的请求、响应的过程。实验2通过单片机的定时器产生延时,模拟交通灯控制的方法。通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试。
四、实验内容
1、开关S0—S1连接P3口做输入,P0输出接LED数码管,通过S2产生外部中断请求(/INT0)信号,在中断服务程序中完成十进制递增计数,并将计数值显示在LED数码管上,要求分别采用电平触发和边沿触发。按上述要求完成S3产生外部中断请求。编写初始化程序和中断服务程序。(注意开关抖动处理)
2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,要求发光二极管(LED)按亮0.5秒、暗0.5秒闪烁,LED亮的同时,从P2.0送出1kHz的音频信号到音频驱动电路发声(持续0.5秒),将开关编号(0—7)显示在LED数码管上。要求延时采用内部定时器T0,音频的产生采用内部定时器T1。编写初始化程序和中断服务程序。
五、实验电路连线
P0.0 ---- LED0 P3.2(/INT0)----- S2
P0.1 ---- LED1 P3.3(/INT1)----- S3
P0.2 ---- LED2
P0.3 ---- LED3
P0.4 ---- LED4
P0.5 ---- LED5
P0.6 ---- LED6
P0.7 ---- LED7
LED连接 外部中断请求输入
a b c d e f g h(dp)
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
LED数码管各段与I/O的连接
六、程序框图
1、中断实验
中断实验程序
ORG 0000H;
SJMP START;
ORG 0003H; //外部中断0程序入口地址
SJMP IN0;
START : SETB EA ; //开总中断
SETB EX0; //外部中断0允许
SETB IT0; //下降沿触发
MOV IP,#01H; //最高优先
MOV DPTR,#TABLE; //表格地址
MOV P2,#0FFH; //清零
LL1 : MOV A,#00H;
MOVC A,@A+DPTR; //输入表格第一个数
CJNE A,#1BH,LL2; //是否结束字符,不是则到LL2
MOV DPTR,#TABLE; //是,则重新输入
LJMP LL1; //跳转到LL1
LL2 : MOV P2,A; //输出数据
LJMP LL1;
IN0 : CLR EX0; //关中断
LCALL DELAY; //延时
MOV A,P3;
CJNE A,#0FBH,LL3; //对比是否低电平.真的有中断
PUSH PSW; //入栈
PUSH ACC;
INC DPTR; //表格地址加一
POP ACC;
POP PSW; // 出栈
SETB EX0;
文档评论(0)