- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计举例显示键盘复用技术 程序组成--芯片描述、SFR、RAM、I/O定义 INCLUDE PIC16F877A.INC WBUF EQU 20H ;W保护单元,含0A0H单元 STBUF EQU 21H ;STATUS保护单元 FSBUF EQU 22H ;FSR保护单元 PCBUF EQU 23H ;PCLATH保护单元 R0 EQU 24H ;R0~7工作寄存器 … … R7 EQU 2BH ;R0~7循环变量或中间结果 DSBUF0 EQU 2CH ;显示位选,0~7=LED7~LED0 DSBUF1 EQU 2DH ;显缓,高/低半字=LED7/6 … … DSBUF4 EQU 30H ;显缓,高/低半字=LED1/0 DSBUF5 EQU 31H ;小数点位 #DEFINE DOT7 DSBUF5,7 ;LED7小数点位 … … #DEFINE DOT0 DSBUF5,0 ;LED0小数点位 程序组成--芯片描述、SFR、RAM、I/O定义 DSFL EQU 32H ;显示位闪烁控制 #DEFINE FLON DSFL,3 ;闪烁总控位,1~闪 KEY1 EQU 33H ;键值1,触发型 KEY2 EQU 34H ;键值2,触发型 #DEFINE K0 KEY1,0 … … #DEFINE K11 KEY2,3 LASTK1 EQU 35H ;旧键值1,控制型 LASTK2 EQU 36H ;旧键值2,控制型 #DEFINE LK0 LASTK1,0 … … #DEFINE LK11 LASTK2,3 KCAP EQU 37H ;键值滤波单元 ;宏定义,W,STATUS,FSR,PCLATH进栈 PUSH MACRO MOVWF WBUF SWAPF WBUF,1 SWAPF STATUS,W BCF RP0 BCF RP1 MOVWF STBUF SWAPF FSR,W MOVWF FSBUF SWAPF PCLATH,W MOVWF PCBUF ENDM ;宏定义,W,STATUS,FSR,PCLATH出栈 POP MACRO BCF RP0 BCF RP1 SWAPF PCBUF,W 程序详解 ;主程序入口向量 RESET_VECTOR ORG 0x000 CLRF PCLATH GOTO MAIN GOTO MAIN GOTO MAIN ;-------------------------- ;中断入口向量 INTERRUPT_VECTORS ORG 0x004 PUSH ;进栈 BANK0 CLRF PCLATH GOTO INTSEV ;-------------------------- ORG 0x0020 INCLUDE SUBROUTE.INC ;-------------------------- ;中断服务子程序 INTSEV NOP ;实际为中断程序体 POP RETFIE 几个重要子程序 键扫描子程序 显示器扫描子程序 七段码转换子程序 按键去抖动 键后处理子程序,键前沿检出 键扫描子程序 SCANKEY MOVLW 关显示 ANDWF RB,F CLRF RE BANK1 ;RD口方向重置 MOVLW 0FH MOVWF TRISD BANK0 BSF RD,6 ;读下行4键 BSF RD,5 BCF RD,4 CALL D20US MOVF RD,W ;读键,有键相应位0 XORLW 0FH ;求反,有键相应位1 ANDLW 0FH MOVWF KEY1 ;保存键值 显示器扫描子程序 七段码转换子程序 LED7 CLRF PCLATH ADDWF PCL,1 RETLW 0 RETLW 1 RETLW 2 RETLW 3 RETLW 4 RETLW 5 RETLW 6 RETLW 7 RETLW 8 RETLW 9 RETLW A RETLW B RETLW C RETLW D RETLW E RETLW F 按键去抖动 KEY1 EQU 33H ;键值1,触发型 KEY2 EQU 34H ;键值
文档评论(0)