问答

汇集网友智慧,解决技术难题

dzydybz

TA的家园币:67  

  • 为什么protues上仿真没问题,但是现实中数码管一直在闪动?

    这是相关代码:/*头文件声明区*/#include//89c52专用头文件#include//初始化底层驱动专用头文件#include//按键底层驱动专用头文件#include//数码管底层驱动专用头文件#include//Led底层驱动专用头文件#include//包含了各种内联函数和宏,用于访问处理器特定的指令和功能的头文件/*变量声明区*/unsignedcharKey_Val,Key_Down,Key_Old,Key_Up;//按键专用变量unsignedcharKey_Slow_Down;//按键减速专用变量unsignedcharSeg_Buf[8]={10,10,10,10,10,10,10,10};//数码管显示数据存放数组unsignedcharSeg_Point[8]={0,0,0,0,0,0,0,0};//数码管小数点数据存放数组unsignedcharSeg_Pos;//数码管扫描专用变量unsignedintSeg_Slow_Down;//数码管减速专用变量unsignedcharucLed[8]={0,0,0,0,0,0,0,0};//Led显示数据存放数组unsignedcharSeg_Disp_Mode=1;//数码管模式显示变量0为学号显示1为按键显示unsignedcharSeg_Student[16]={8,2,0,6,2,2,0,7,2,7,0,0,0,0,0,0};//学号存储数组/*自定义延迟函数(毫秒)*/voidDelay(unsignedintxms)//@12.000MHz{unsignedchari,j;while(xms--){i=2;j=239;do{while(--j);}while(--i);}}/*键盘处理函数*/voidKey_Proc(){if(Key_Slow_Down)return;Key_Slow_Down=1;//键盘减速程序Key_Val=Key_Read();//实时读取键码值Key_Down=Key_Val&(Key_Old^Key_Val);//捕捉按键下降沿Key_Up=~Key_Val&(Key_Old^Key_Val);//捕捉按键上降沿Key_Old=Key_Val;//辅助扫描变量switch(Key_Down){case16:if(Seg_Disp_Mode==1)Seg_Buf[0]=0;LcdGotoXY(3,0);LcdPrintStr("键盘显示0");break;case1:if(Seg_Disp_Mode==1)Seg_Buf[0]=1;LcdGotoXY(3,0);LcdPrintStr("键盘显示1");break;case2:if(Seg_Disp_Mode==1)Seg_Buf[0]=2;LcdGotoXY(3,0);LcdPrintStr("键盘显示2");break;case3:if(Seg_Disp_Mode==1)Seg_Buf[0]=3;LcdGotoXY(3,0);LcdPrintStr("键盘显示3");break;case4:if(Seg_Disp_Mode==1)Seg_Buf[0]=4;LcdGotoXY(3,0)

    LC CD se 数码管 PROTUES 仿真

    2024-04-06 10
  • 如何解决keil5编译但lcd12864显示汉字时乱码?求求了

    这是部分代码:#include#defineucharunsignedchar//以后unsignedchar就可以用uchar代替#defineuintunsignedint//以后unsignedint就可以用uint代替sbitLcdRs_P=P2^0;//液晶的RS管脚sbitLcdRw_P=P2^1;//液晶的RW管脚sbitLcdEn_P=P2^2;//液晶的EN管脚//毫秒级的延时函数,time是要延时的毫秒数voidDelayMs(uinttime){uinti,j;for(i=0;i

  • 如何解决keil5编译但lcd12864显示汉字时乱码?

    这是部分代码:#include#defineucharunsignedchar//以后unsignedchar就可以用uchar代替#defineuintunsignedint//以后unsignedint就可以用uint代替sbitLcdRs_P=P2^0;//液晶的RS管脚sbitLcdRw_P=P2^1;//液晶的RW管脚sbitLcdEn_P=P2^2;//液晶的EN管脚//毫秒级的延时函数,time是要延时的毫秒数voidDelayMs(uinttime){uinti,j;for(i=0;i