完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`程序调试没有错误,放到仿真里面按键不起作用,一直停在初始状态,,,,求大神指导!急急急! #include #include #define uchar unsigned char #define uint unsigned int ***it beep = P1^4; //蜂鸣器IO口定义 bit flag_300ms ; ***it CS=P2^4; //CS定义为P2口的第4位脚,连接ADC0832CS脚 ***it SCL=P2^3; //SCL定义为P2口的第3位脚,连接ADC0832SCL脚 ***it DO=P2^2; //DO定义为P2口的第4位脚,连接ADC0832DO脚 ***it K1=P1^6; ***it K2=P1^7; ***it rs=P1^0; //1602数据/命令选择引脚 H:数据 L:命令 ***it rw=P1^1; //1602读写引脚 H:数据寄存器 L:指令寄存器 ***it e =P1^2; //1602使能引脚 下降沿触发 uchar a_a; uchar code table_num[]={"0123456789abcdefg"}; // 按键的IO变量的定义 uchar key_can; //按键值的变量 uchar menu_1; //菜单设计的变量 uint TRX_h; uint TRX; //天燃气 //延时1ms函数 void delay_1ms(uint q) { uint i,j; for(i=0;i for(j=0;j<120;j++); } //小延时 void delay_uint(uint q) { while(q--); } //1602命令函数 void write_com(uchar com) { e=0; rs=0; rw=0; P0=com; delay_uint(25); e=1; delay_uint(100); e=0; } //1602写数据函数 void write_data(uchar dat) { e=0; rs=1; rw=0; P0=dat; delay_uint(25); e=1; delay_uint(100); e=0; } //lcd1602上显示两位十进制数 /*void write_sfm2(uchar hang,uchar add,uint date) { if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/10%10); write_data(0x30+date%10); } */ //lcd1602上显示两位十进制数 void write_sfm_TRX(uchar hang,uchar add,uint date) { if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/100%10); write_data(0x30+date/10%10); write_data(0x30+date%10); } //lcd1602上显示这字符函数 void write_string(uchar hang,uchar add,uchar *p) { if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p == ' |