#include <reg52h>
#include <intrinsh>
#define uchar unsigned char
#define uint unsigned int
#define DD P0
sbit Rs=P0^0;
sbit Rw=P0^1;
sbit E=P0^2;
uchar key_led;
unsigned char code disp_code[]=;
unsigned char code key_code[]={
0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,
0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77 };//注意这里你自己看下你电路是怎么连得,对应改一下表单里的值
//
/
/
/ 延时子程序
/
/
/
//
void delay(int ms)
{
int i;
while(ms--)
{
for(i = 0; i< 250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
void delay_1ms(unsigned char i) //最小延时1ms
{ unsigned char j;
while(i--)
for(j=0;j<125; j++);
}
void delay_10ns(unsigned char i) //最小延时10ns
{
unsigned char j;
while(i--)
for(j=0;j<10; j++);
}
void write_com(unsigned char com,bit p) //写指令
{if(p)
delay_10ns(5);
E=0;
Rs=0;
Rw=0;
DD=com;
delay_10ns(50); //>40ns
E=1;
delay_1ms(2); //>150ns
E=0;
delay_10ns(4); //>25+10ns
}
void write_date(unsigned char DATA) //写数据
{
delay_10ns(50);
E=0;
Rs=1;
Rw=0;
DD=DATA;
delay_10ns(50);
E=1;
delay_10ns(50);
E=0;
delay_10ns(4);
}
void addr_x_y(unsigned char x,bit y) //写坐标,定位置
{
unsigned char temp=0x80;
if(y)
{
temp|=0x40;
}
temp|=x;
write_com(temp,0);
}
void desplay_char(unsigned char x,bit y,unsigned char p)
//在指定位置显示一个字符。
{
addr_x_y(x,y);
write_date(p);
}
void lcd_init(void)
{
delay_1ms(15);
write_com(0x38,0);
delay_1ms(5);
write_com(0x38,0);
delay_1ms(5);
write_com(0x38,0);
delay_1ms(5);
write_com(0x38,1);
write_com(0x08,1);
write_com(0x01,1);
write_com(0x06,1);
write_com(0x0c,1);
}
/
键盘扫描子函数
/
uchar keyscan()
{
uchar scan1,scan2,keycode,j;
P1=0xf0;
scan1=P1;
if((scan1&0xf0)!=0xf0) //判键是否按下
{
delay(30); //延时30ms
scan1=P1;
if((scan1&0xf0)!=0xf0) //二次判键是否按下
{
P1=0x0f;
scan2=P1;
keycode=scan1|scan2; //组合成键编码
for(j=0;j<=15;j++)
{
if(keycode== key_code[j]) //查表得键值
{
delay(30);
key_led=j;
}
}
}
}
else return(16) ;
}
/
判键是否按下子函数
/
void keydown()
{
P1=0xf0;
if((P1&0xf0)!=0xf0)
{
keyscan();
}
}
//
/
/
/ 主程序
/
/
/
//
void main(void)
{
lcd_init(); // 初始化LCD
key_led=16;
while(1)
{
keydown();
desplay_char(0,0,disp_code[key_led]);
}
}
象你说的这样的是病毒
是个老顽固
杀毒都不是很安全的方法
建议是还原下系统
或者打上系统的所有漏洞补丁
实在不行重装
下面是不建议的解决方法
其实没个病毒都有他的卸载工具
你可以在网上找这个病毒的卸在工具
网上很多的
强烈建议重装系统后再下载个杀毒软件全盘杀毒!
再上杀毒软件官网看看有没有针对你这种情况的专杀软件!
以上就是关于单片机键盘输入数字全部的内容,包括:单片机键盘输入数字、什么是键盘输入模块、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)