C语言程序例程//该程序通过PORTB的"电平变化中断"进行键盘的输入,使按下K1键时第一个数码管显示1,按下K2//键时第一个数码管上显示2,按下K3键时第一个数码管上显示3,按下K4键时第一个数码管上显示4//对键盘的扫描采用中断方式#include"p18f458.h"unsignedchardata;unsignedinti;unsignedcharj;constchartable[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};voidInterruptHandlerHigh(void);/*初始化子程序*/voidinitial(){INTCON=0x08;/*关闭所有中断,B口变位中断允许*/INTCON2=0x01;/*使能B口弱上拉,B口变位中断高优先级*/RCONbits.IPEN=1;/*使能中断优先级*/TRISA=0x00;/*A口设置为输出*/TRISB=0XF0;/*RB1输出,RB4输入*/TRISC=0x00;/*SDO引脚为输出,SCK引脚为输出*/TRISE=0x00;/*E口设置为输出*/SSPCON1=0