


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物理与电子科学系实验报告课程名称单片机原理及应用技术实验班级B13电子班实验名称实验十 外部中断EXT1,EXT2学生姓名陈梅学生学号28【实验目的】熟悉IRQ3的中断向量和中断源及外部时钟的触发方式。掌握中断控制单元P_INT_Ctrl,P_INT_Clear的设置方法。掌握外部中断EXT1、EXT2的编程方法。【实验设备】装有Windows系统和pnSPTM IDE集成开发环境的PC机一台,g7nSP十六位单片机实验箱一个。本实验用到的实验箱硬件模块为:SPCE061A核心及周边电路模块(包含32个I/O口),发光二极管电路模块,高低电平发生按键电路模块。【实验要求】编程要求:编写一个汇编
2、语言程序。实现功能:利用外部中断来控制8个发光二极管的点亮与熄灭,利用键盘产生外部中断触发信号。实验现象:当按S20键时,D8D11四个发光二极管点亮,当按S21键时,D4D7四个发光二极管点亮。【实验原理】SPCE061A两个外部中断,为负跳沿触发中断。两个外部中断源EXT1、EXT2和一个键 唤醒中断源IRQ3_KEY对应中断向量IRQ3。通过设置P_INT_Ctrl来允许中断,程序运行后, 外部输入信号端(EXT1、EXT2)产生负跳沿(将IOB2、IOB3接地)触发信号,中断响应后,通 过读取P_INT_Ctrl单元,可以判断中断源,转到相应子程序。本实验要求利用键盘产生负跳沿触发信号
3、,把实验箱中的1*8键盘(高低电平发生按键) 的选择开关S28拨到“L ”端。如图1-50,根据键盘的工作原理,在IOB2设置为带上拉电阻的输入口时,当S20键盘按下 时,在IOB2 口的状态会拉到低电平,抬起键盘时会IOB2 口又回到高电平,这样就产生了 一个负跳沿的脉冲。为了防止误操作,可以进行按键抖动处理,利用延时的方法,即当IOB2检测到负沿信号, 如果延时一段时间后,比如延时20ms之后IOB2 口还检测到低电平,则确认这个键被按下, 这样才可以送一个触发信号,否则就判为误操作。【硬件连接】如图1-52硬件连接图,IOB2、IOB3分别连接S20、S21,IOA的低八位IOA0IOA
4、7连接8 个发光二极管D4D11,即用8pin的排线将实验箱J16和J26、J18和J28连接起来(注意一 定要把J28的第2号引针、第3号引针依次和J18的第0号、第1号引针依次连接);1*8 键盘左边的选择开关S28拨到“L”端。【实验步骤】按照程序流程图编写汇编语言程序。Rebuild All。按照硬件连接图连接电路,注意把实验箱的选择开关S28拨到“L”位置。下载程序,运行。实验程序.DEFINE.DEFINEP_IOA_DATA P_IOA_DIR0 x7000;0 x7002;.DEFINEP_IOA_ATTRI0 x7003;.DEFINEP_IOB_DATA0 x7005;.D
5、EFINEP_IOB_DIR0 x7007;.DEFINEP_IOB_ATTRI0 x7008;.DEFINEP_INT_CTRL0 x7010;.DEFINEP_INT_CLEAR0 x7011;.DEFINEP_Feedback0 x7009;.definep_watchdog_clear 0 x7012;.CODE.PUBLIC _main _main: int off r1 = 0 xffff设置IOA 口为同相低电平输出口;P_IOA_ATTRI = r1 P_IOA_DIR = r1 r1=0 x0000 P_IOA_DATA = r1r1 = 0 x0000;设置IOB2、IOB
6、3设成带上拉电阻的输入端口P_IOB_DIR = r1;P_IOB_ATTRI = r1;r1 = 0 x000c ;/IOB2,IOB3P_IOB_DATA = r1;R1 = 0 x0300;开中断 IRQ3_EXT1、IRQ3_EXT2P_INT_CTRL = r1; intirq;L_Loop:NOPNOPNOPjmpL_Loop .TEXT.PUBLIC _IRQ3_IRQ3:push r1,r5 to sp r1 = 0 x0100test r1,P_INT_CTRL jnz L_IRQ3_Ext1r1=0 x0200test r1,P_INT_CTRL jnz L_IRQ3_Ex
7、t2r1 = 0 x0200 L_IRQ3_Key: r1=0 x0080 P_INT_CLEAR = r1 pop r1,r5 from sp retiL_IRQ3_Ext2:r1 = 0 xff0f P_IOA_DATA = r1 r1 = 0 x0200 P_INT_CLEAR = r1 pop r1,r5 from sp retiL_IRQ3_Ext1:r1 = 0 xfff0 P_IOA_DATA = r1 r1 = 0 x0100 P_INT_CLEAR = r1 r1 = 0 x0001 p_watchdog_clear = r1 pop r1,r5 from sp reti压栈保护比较是否为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论