资源简介
仿真加程序!
代码片段和文件信息
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit RS=P3^0;
sbit EN=P3^1;
uchar tab_key[50];
uchar code tab[]=“0123456789ABCDEF“; //注意这个写法
uchar ntempkeybiao;
/************声明区***************/
void lcd_disp();
void lcd_init();
void write_com(uchar);
void write_data(uchar);
void delay(uint);
void key_scan();
void key_manage1();
void key_manage2();
void key_manage3();
void key_manage4();
void key_manage5();
void key_manage6();
void key_manage7();
void key_manage8();
void key_manage9();
void key_manage10();
void key_manage11();
void key_manage12();
void key_manage13();
void key_manage14();
void key_manage15();
void key_manage16();
void lcd_disp()
{
uchar ai;
if(biao==1)
{
biao=0;
for(i=0;i a=tab_key[i];
write_data(tab[a]);
}
}
/**********LCD显示**********
void lcd_disp()
{
uchar ai;
if(biao==1)
{
biao=0;
i=n-1; //n=1 n=2
a=tab_key[i];
write_data(tab[a]);
}
else
return;
}*/
/**********LCD初始**********/
void lcd_init()
{
write_com(0x3c);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
write_com(0x0f);
}
/**********写命令************/
void write_com(uchar com)
{
RS=0;
P0=com;
delay(3);
EN=1;
delay(5);
EN=0;
}
/**********写数据************/
void write_data(uchar dat)
{
RS=1;
P0=dat;
delay(3);
EN=1;
delay(5);
EN=0;
}
/**********键扫描************/
void key_scan()
{
P2=0xfe;
temp=P2;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(100);
if(temp!=0xf0)
{
temp=P2;
switch(temp)
{
case 0xee:
key_manage1();
break;
case 0xde:
key_manage2();
break;
case 0xbe:
key_manage3();
break;
case 0x7e:
key_manage4();
break;
}
while(temp!=0xf0)
{
temp=P2;
temp=temp&0xf0;
}
}
}
P2=0xfd;
temp=P2;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(100);
if(temp!=0xf0)
{
temp=P2;
switch(temp)
{
case 0xed:
key_manage5();
break;
case 0xdd:
key_manage6();
break;
case 0xbd:
key_manage7();
break;
case 0x7d:
key_manage8();
break;
}
while(temp!=0xf0)
{
temp=P2;
temp=temp&0xf0;
}
}
}
P2=0xfb;
temp=P2;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(100);
if(temp!=0xf0)
{
temp=P2;
switch(temp)
{
case 0xeb:
key_manage9();
break;
case 0xdb:
key_manage10();
break;
case 0xbb:
key_manage11();
break;
case 0x7b:
key_manage12();
break;
}
while(temp!=0xf0)
{
temp=P2;
temp=temp&0xf0;
}
}
}
P2=0xf7;
temp=P2;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(100);
if(temp!=0xf0)
{
temp=P2;
switch(temp)
{
case 0xe7:
key_manage13()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 742 2017-06-27 11:03 4·41602recover.PWI
文件 13124 2017-06-27 11:03 441602-1
文件 2167 2017-06-27 11:03 441602-1.hex
文件 60 2017-06-27 11:03 441602-1.lnp
文件 20527 2017-06-27 11:03 441602-1.M51
文件 8149 2017-06-27 11:03 441602-1.plg
....... 55629 2017-06-27 11:03 441602-1.uvopt
文件 13395 2011-04-15 00:41 441602-1.uvproj
....... 55625 2017-06-27 09:27 441602-1_uvopt.bak
文件 0 2011-04-14 22:59 441602-1_uvproj.bak
文件 99655 2017-06-26 21:10 Last Loaded 4·41602recover.DBK
文件 6376 2009-05-07 14:37 STARTUP.A51
文件 14048 2017-06-27 11:03 STARTUP.LST
文件 749 2017-06-27 11:03 STARTUP.OBJ
文件 4419 2017-06-27 11:03 text.c
文件 10810 2017-06-27 11:03 text.LST
文件 15563 2017-06-27 11:03 text.OBJ
文件 99655 2017-06-27 09:27 4·41602recover.DSN
----------- --------- ---------- ----- ----
420693 18
相关资源
- 1602+ds1302+18B20万年历显示温度星期完全
- stc单片机AD 8位和10位数值通过1602液晶
- 电子称 51单片机 1602显示 HX710AD芯片
- ds12887+1602显示万年历proteus7.5仿真
- Arduino时钟1602屏幕
- 51单片机mpu6050读取六轴原始数据并L
- LiquidCrystal_I2C
- DHT11程序,用1602显示
- 1602+矩阵键盘可输入任意数字0~999999
- 51单片机超声波测距1602显示
- msp430f149基于DS18b20测温并1602显示
- 51单片机 矩阵键盘计算器
- LCD1602时钟程序.zip
- 基于51单片机的AD7705模块电压检测
- 步进电机的测速与闭环调速
- DHT11_LCD1602温湿度检测与显示程序
- AD9834按键控制输出正弦波、三角波、
- 用LCD1602做的电子时钟
- C51_温湿度传感器DHT11驱动_LCD1602显示程
- Proteus仿真:arduino通过SPI驱动lcd1602(
- LCD1602 超级简单计算器附带说明
- 1602字符液晶滚动演示程序和仿真图
- LCD1602时钟可翻页代码
- 1602LCD液晶显示程序汇编.
- LCD1602液晶完整中文资料.pdf
- 51单片机Ds1302及温度Ds18B20+1602液晶显示
- 基于单片机万年历+温度+LCD12864 prote
- STC89C52 LCD1602 DS18B20 LED
- arduino_LiquidCrystal_I2C库及proteus仿真LC
- 用stm32以软件IIC方式驱动1602 解压密码
评论
共有 条评论