PIC实验报告--电平变化按键中断任课教师:周燕学院:信息学院班级:11级电科一、实验目的为了方便连接键盘,PIC中档单片机的I/O端口RB4~RB7具有一个特别的功能-----电平变化中断功能
单片机在使能此中断后(对RBIE置位),能够在PORTD4~PORTD7这四个引脚的电平发生变化时产生中断,从而使软件可以通过中断的方式管理连接在这4个引脚上的键盘
本实验通过连接到RB4和RB5的两个按键来演示按键中断功能
二、实验功能内容使用RB4和RB5的按键中断功能,实现按键识别功能
即在每次按下和RB4相连的KEY4后仅点亮LED4,每次按下和RB5相连的KEY5后仅点亮LED5,三、实现功能用到的硬件电路设计和电路板的链接方法将跳线将JR_RB和KEY4、KEY5短接,跳线器JP_RD和LED4、LED5短接
四、软件设计1
流程图设计2
程序设计和注释#includep16f877a
incCOUNTEQU20H;定义COUNT寄存器SAVEWEQU21H;定义SAVEW寄存器SAVESEQU22H;定义SAVES寄存器COUNT1EQU23H;定义COUNT1寄存器COUNT2EQU24H;定义COUNT2寄存器ORG00HNOP;空指令GOTOMAINORG0x004MOVWFSAVEWSWAPFSTATUS,WCLRFSTATUSMOVWFSAVES;保护现场GOTORBINT主程序设定PORTD全部为输出引脚并输出00H将端口B设置为输入并使能其弱上拉功能使PORTB的电平变化中断无条件循环中断服务程序中断入口程序保护中断现场通过RBIE和RBIF判断是否为外部中断调用20ms延时子程序,消除按键抖动读入RB4和RB5的电平取反后送入RD4和RD5通过检测RB4和RB5是否全部恢复为1来判断按键是否松开调用20ms延时子程序,消除断开抖动的影响清RBIF标志中