PIC按键我用软键模拟的时候,程序能够按步直接运行,可是用仿真器的时候,程序并不是按步运行的,
#include "pic.h" #define KEY RB5 unsigned char judge_a_s; unsigned char key_value; unsigned char display_data[30]; void key(void) { PORTB=0xe1; if(KEY!=1) { delay(); while(KEY!=1); judge_a_s=1; } PORTB=0xe2; if(KEY!=1) { delay(); while(KEY!=1); judge_a_s=2; PORTB=0xe3; if(KEY!=1) { delay(); while(KEY!=1); key_value++; if(key_value>4) key_value=0; } }
void main(void) { TRISB=0xe0;//1110 0000 while(1) { key(); if(judge_a_s==1) { switch(key_value)//从这里开始跳转 { case 0:display_data[25]++;break; case 1:display_data[26]++;break; case 2:display_data[27]++;break; case 3:display_data[28]++;break; default:break; } for(i=25;i=28;i++) { if(display_data>9) display_data=0; if(display_data<0) display_data=9; dis_one(display_data,key_value); } } } }
void dis_one(unsigned char display_data,unsigned char display_bit) { unsigned char display_tran_data; unsigned char i; switch(display_data) { case 0:display_tran_data=0xef;break;//此处数据随意 case 1:display_tran_data=0x60;break; default:break; } PORTB=0x1f; for(i=8;i!=0;i--) { LS164=display_tran_data&0x01;//直接跳转到这里 CLK164=0; display_tran_data<<=1; CLK164=1; } PORTB=display_bit; } |