"); //-->
代码
list p=16f877 #include<p16f877.inc> __CONFIG(_CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF& _CPD_OFF); CBLOCK 0X20 keyFIFO:8 keyPutPtr keyGetPtr endc cblock 0x70 w_temp status_temp pclath_temp fsr_temp endc org 0x0000 nop goto main org 0x004 movwf w_temp movf STATUS,W MOVWF status_temp movf PCLATH,W MOVWF pclath_temp movf FSR,W MOVWF fsr_temp pagesel $ banksel INTCON BTFSC INTCON,RBIF GOTO RBCHG_INT EndOfInt movf fsr_temp,w movwf FSR MOVF pclath_temp,w movwf PCLATH MOVF status_temp,w movwf STATUS SWAPF w_temp,f swapf w_temp,w retfie RBCHG_INT MOVF PORTB,W andlw b'11110000' xorlw b'11110000' skpnz goto _rbIntEnd movlw b'00001110' movwf PORTB _keyScan goto $+1 goto $+1 movf PORTB,W XORLW b'11111111' skpnz GOTO _rbIntEnd andlw b'11110000' skpz goto _keyFound setc rlf PORTB,f goto _keyScan _keyFound bankisel keyFIFO MOVLW keyFIFO&0xff addwf keyPutPtr,w movwf FSR MOVF PORTB,W MOVWF INDF incf keyPutPtr,f movlw 0x07 andwf keyPutPtr,f _rbIntEnd clrf PORTB MOVF PORTB,w bcf INTCON,RBIF GOTO EndOfInt main banksel TRISB MOVLW B'11110000' MOVWF TRISB MOVLW B'00000000' MOVWF TRISC BCF OPTION_REG,NOT_RBPU BANKSEL PORTB CLRF keyGetPtr CLRF keyPutPtr CLRF PORTB CLRF INTCON BSF INTCON,RBIE BSF INTCON,GIE mainLoop call KeyBoard goto mainLoop KeyBoard banksel keyGetPtr movf keyGetPtr,w xorwf keyPutPtr,w skpnz return bankisel keyFIFO MOVLW keyFIFO&0XFF addwf keyGetPtr,w movwf FSR incf keyGetPtr,f movlw 0x07 andwf keyGetPtr,f movf INDF,w BANKSEL PORTC MOVWF PORTC return end
运行效果图
按下7键,显示如下0xee
按下4键,显示如下0xed
按下1键,显示如下0xeb

按下0键,显示如下0xd7

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Microchip低成本带CAN控制器的单片机PIC18F66K80
Microchip PIC24FJ256DA210开发板在图形显示上的应用
PIC,USB,nbsp,nbsp 卖PIC-USB功能开发板 含上下位机完全代码
微型红外接收模块PIC-12043S电路图
51、AVR、PIC、MSP430、ARM五大单片机全解析
PIC单片机编程器电路
如何使用Microchip MAPS选择适合你的PIC® MCU
51、PIC、AVR、16、32-BIT系列单片机区别与特点
PIC,ICD2 PIC-ICD2.5仿真器现已上市
MPLAB 使用的一些问题
PIC典型应用资料
AVR,C51和PIC单片机比较
K149资料和原理图
PIC 8位单片机的分类和特点
基于PIC的太阳能与市电互补照明系统控制器设计
89C2051单片机
Microchip低成本带CAN控制器的单片机PIC18F66K80
Microchip PIC24F32KA304超低功耗16位单片机
PIC16F97+eV1527解码源程序
基于PIC16F87X的电子油门的控制
一种实用的PIC编程器的设计
16位语言函数工具库
Microchip超低功耗LCD单片机PIC18F87K90
UPS设计参考.pdf
通俗易懂讲PIC单片机:从一窍不通到入门进步
PIC&avr两用的八段数码管译码小工具
51/STM32/MSP430/STC/TMS/PIC/AVR,七大主流单片机最全面对比
PIC单片机选型指南
PIC数据采集系统接口电路设计图
PIC18F2455/2550/4455/4550之通用串行总线USB