电平变化按键中断.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电平变化按键中断

PIC实 验 报 告 --电平变化按键中断 任课教师:周燕 学院:信息学院 班级:11级电科 一、实验目的 为了方便连接键盘,PIC中档单片机的I/O端口RB4~RB7具有一个特别的功能-----电平变化中断功能。单片机在使能此中断后(对RBIE置位),能够在PORTD4~PORTD7这四个引脚的电平发生变化时产生中断,从而使软件可以通过中断的方式管理连接在这4个引脚上的键盘。本实验通过连接到RB4和RB5的两个按键来演示按键中断功能。 二、实验功能内容 使用RB4和RB5的按键中断功能,实现按键识别功能.即在每次按下和RB4 相连的KEY4LED4, 每次按下和RB5相连的KEY5后仅点亮LED5, 三、实现功能用到的硬件电路设计和电路板的链接方法 将跳线将JR_RB和KEY4、KEY5短接,跳线器JP_RD和LED4、LED5短接。 四、软件设计 1.流程图设计 2.程序设计和注释 #include p16f877a.inc COUNT EQU 20H ;定义COUNT寄存器 SAVEW EQU 21H ;定义SAVEW寄存器 SAVES EQU 22H ;定义SAVES寄存器 COUNT1 EQU 23H ;定义COUNT1寄存器 COUNT2 EQU 24H ;定义COUNT2寄存器 ORG 00H NOP ;空指令 GOTO MAIN ORG 0x004 MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;保护现场 GOTO RBINT ;函数名称:main ;** 函数功能:使能由端口RB产生的中断 ;** 使用说明: ;************************************************************** MAIN BCF STATUS,RP1 BSF STATUS,RP0 ;转到体1 CLRF TRISD ;将PORTD设置为输出端口 CLRF OPTION_REG ;开启内部弱上拉 MOVLW MOVWF TRISB ;将RB0-RB5设置为输入端口 BSF INTCON,RBIE ;允许端口RB产生的中断 BCF STATUS,RP0 ;转到体0 CLRF COUNT ;COUNT清零 CLRF PORTD ;将PORTD清零 BSF INTCON,GIE ;打开全局中断 BSF INTCON,PEIE ;打开外设中断 GOTO $ ;函数名称:RBINT ; 函数功能:RB端口产生中断RBINT服务函数,判断是哪个按键被按击,并点亮对应的LED。 RBINT BTFSS INTCON,RBIE ;判断是否允许端口RB产生的中断 GOTO JMP ;否结束中断 BTFSS INTCON,RBIF ;判断是否为端口RB中断 GOTO JMP ;否结束中断 CALL DELAY_20ms ;是,调用延时子程序 MOVF PORTB,0 ;RB的值送到W寄存器 MOVWF COUNT ;存到COUNT寄存器 MOVLW B11001111

您可能关注的文档

文档评论(0)

80019pp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档