#include<reg51.h>
unsigned char num='0';
void initlcd()
{
writecmd(0x38);
writecmd(0x0c);
writecmd(0x06);
writecmd(0x01);
}
void key_scan()
{
unsigned char temp0,temp1,temp;
P1=0xf0;
if(P1!=0xf0)//有键按下
{
delay(20);
temp0=P1;
P1=0x0f;
if(P1!=0x0f)
{
temp1=P1;
}
}
temp=temp0+temp1;
switch(temp)
{
case 0xee:num='A';break;
case 0xed:num='B';break;
case 0xeb:num='C';break;
case 0xe7:num='D';break;
case 0xde:num='E';break;
case 0xdd:num='F';break;
case 0xdb:num='G';break;
case 0xd7:num='H';break;
case 0xbe:num='I';break;
case 0xbd:num='J';break;
case 0xbb:num='K';break;
case 0xb7:num='L';break;
case 0x7e:num='M';break;
case 0x7d:num='N';break;
case 0x7b:num='O';break;
case 0x77:num='P';break;
}
}
void LCD()
{
initlcd();
writecmd(0x82);
writedat(num);
}
void main ()
{
while(1)
{
void key_scan();
void LCD();
}
}
按下按键,LCD为什么没有显示
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qllaoda 2022-05-21 23:06关注
没仔细看函数实现,主程序的函数调用就有问题
while(1)
{
void key_scan();
void LCD();
}
调用函数要把那个void去掉,你加上void的话,这里只是个函数的声明而已,没有任何函数的调用,当然就没效果。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 个人网站被恶意大量访问,怎么办
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥15 GDI处理通道视频时总是带有白色锯齿
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制