- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PIC实验报告
电平变化按键中断
任课教师:周燕
班级:11级电科
一、实验目的
进行外部中断INT实验,掌握外部引脚INT/RB0沿跳变中断。
二、实验功能内容
利用外部中断,单键触发8位二进制累加计数器
功能:用外部中断输入引脚RB0/INT接收连接在该引脚上的按键信息。每次检测到一次按键就对8位计数器COUNT加一;
将COUNT的值直接送给8个发光二极管显示。
三、实现功能用到的硬件电路设计和电路板的链接方法
该实验需要利用按键的电平变化触发INTF,进而通过中断来控制count,显示八个LED灯。所以,电路需把一个按键与PORTB0连接,显示电路为把PORTD与八个LED连接。
四、软件设计
1.流程图设计
如下图
中断服务程序
中断服务程序
中断入口程序保护中断现场
中断入口程序保护中断现场
通过INTE
通过INTE和INTF判断是否为外部中断
调用20ms延时子程序,消除按键抖动NY
调用20ms延时子程序,消除按键抖动
N
Y
主程序
COUNT加
COUNT加1,并将其送入PORTD显示
设定PORTD全部为输出引脚并输出00H
N判断按键是否松开将端口
N
判断按键是否松开
将端口B设置为输入并使能其弱上拉功能
Y使能外部中断并将其设置为下降沿触发
Y
使能外部中断并将其设置为下降沿触发
COUNT清零并令PORTD=COUNT调用
COUNT清零并令PORTD=COUNT
调用20ms延时子程序,消除断开抖动的影响
使能全局中断和外部中断清RBIF标志
使能全局中断和外部中断
清RBIF标志
无条件循环中断出口程序恢复中断现场
无条件循环
中断出口程序恢复中断现场
中断返回
中断返回
2.程序设计和注释
#includep16f877a.inc
COUNTEQU20H;定义COUNT作为按键次数累加寄存器
SAVEWEQU21H;定义SAVEW寄存器,用于现场保护
SAVESEQU22H;定义SAVES寄存器,用于现场保护
COUNT1EQU23H;定义COUNT1寄存器,用于延时
COUNT2EQU24H;定义COUNT2寄存器,用于延时
;****************************************************************
ORG00H
NOP;空指令
GOTOMAIN
ORG0x004 ;中断入口
MOVWFSAVEW
SWAPFSTATUS,W
CLRFSTATUS
MOVWFSAVES;保护现场
GOTORB0INT
MAIN
BCFSTATUS,RP1 ;对用到的功能初始化
BSFSTATUS,RP0 ;转到体1
CLRFOPTION_REG;开启内部弱上拉;RB0/INT下降沿触发有效
CLRFTRISD ;将PORTD设置为输出端口
MOVLWMOVWFTRISB ;将RB0-RB5设置为输入端口
BSFINTCON,INTE ;由INT引脚输入外部请求中断被允许
BCFSTATUS,RP0 ;转到体0
CLRFCOUNT ;按键次数累加器COUNT清零
MOVFCOUNT,W
MOVWFPORTD;初始化显示,将COUNT送给PORTD
BSFINTCON,GIE;打开全局中断
BSFINTCON,PEIE;打开外设中断
GOTO$;无条件等待
RB0INT
BTFSSINTCON,INTE;判断是否允许由INT引脚输入的外部中断
GOTOJMP;否结束中断
BTFSSINTCON,INTF;是,判断是否为INT中断
GOTOJMP;否结束中断
CALLDELAY_20ms;是,调用延时子程序
BTFSCPORTB,0;再次测试按键是否确实按下?是, ;跳过下条指令
GOTOJMP;否,恢复现场,中断返回
INCFCOUNT,1;COUNT自加1
MOVFCOUNT,0;COUNT送到W寄存器
MOVWFPORTD;送到RD端口显示
BTFSSPORTB,0;判断按键是否松开
GOTO$-1;否;继续检测
CALLDELAY_20ms;是,调用延时,跳过抖动
BCFINTCON,INTF;是,清标志位
JMP
SWAPFSAVES,W
MOVWFSTATUS
SWAPFSAVEW,F
SWAPFSAVEW,W;恢复现场
RETFIE ;返回主程序
DELAY_20ms
MOVLWD28;设置外部循环次数
MOVWFCOUNT1;
LOOP3
MOVLWD237;设置内部循环次数
MOVWFCOUNT2;
DECFSZCOUNT2,1;内部循环变量自减1,为0则跳转
GOTO$-1;
DECFSZCOUNT1,1;外部循环变量自减1,为0则跳转
GOTOLOOP3;
RE
您可能关注的文档
最近下载
- Unit+4+Section+A+2a-2e课件+2025-2026学年人教版(2024)英语八年级上册.pptx VIP
- 小学总务处主任述职报告PPT.pptx VIP
- Unit 4 Section A (1a~2e) 课件2025-2026学年人教版八年级英语.pptx VIP
- 世界的地形课件七年级地理上学期人教版1.pptx
- 世界的地形课件七年级地理上学期人教版2.pptx VIP
- (正式版)DB15∕T 2748-2022 《绿色电力应用评价方法》.docx VIP
- 人教版(2025) 必修第一册 Unit 2 Travelling Around Reading and Thinking课文解析&逐句翻译课件(共17张PPT))(含音频+视频).pptx VIP
- 制造业采购付款制度及流程设计.docx VIP
- 继承优良传统弘扬中国精神 (第二版).pptx VIP
- 含硅废渣综合利用项目环评(新版环评)环境影响报告表.doc
文档评论(0)