基于51单片机的矩阵键盘和lcd的应用内容摘要:

函数值调用 unsigned char Hour=0,Min=0,Sec=0。 u8 Returnnumber = 0。 //按键值返回 bit flag=0。 //1分时间到标志 bit Brush_flag = 0。 //更新显示器 1:更新 sbit LED1=P2^3。 //二个指示灯 sbit LED2=P2^4。 sbit CS =P2^5。 //液晶接口 sbit SID=P2^6。 sbit SCLK=P2^7。 sbit B_light=P2^7。 //背光控制 void delay(unsigned int j) { unsigned char i。 do{ for(i=0。 i100。 i++)。 }while(j)。 } void send_mand(unsigned char mand_data) //发送命令 { unsigned char i。 unsigned char i_data,temp_data1,temp_data2。 i_data=0xf8。 //操作命令 ,可以查看资料 delay(10)。 CS=1。 SCLK=0。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } 8 i_data=mand_data。 i_dataamp。 =0xf0。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } i_data=mand_data。 temp_data1=i_dataamp。 0xf0。 temp_data2=i_dataamp。 0x0f。 temp_data1=4。 temp_data2=4。 i_data=temp_data1|temp_data2。 i_dataamp。 =0xf0。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } CS=0。 } void send_data(unsigned char mand_data) //发送数据 { unsigned char i。 unsigned char i_data,temp_data1,temp_data2。 i_data=0xfa。 //操作命令 ,可以查看资料 delay(10)。 CS=1。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } 9 i_data=mand_data。 i_dataamp。 =0xf0。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } i_data=mand_data。 temp_data1=i_dataamp。 0xf0。 temp_data2=i_dataamp。 0x0f。 temp_data1=4。 temp_data2=4。 i_data=temp_data1|temp_data2。 i_dataamp。 =0xf0。 for(i=0。 i8。 i++) { SID=(bit)(i_dataamp。 0x80)。 SCLK=0。 SCLK=1。 i_data=i_data1。 } CS=0。 } void InitLCD() //液晶初始化 { send_mand(0x30)。 //功能设置 :一次送 8位数据 ,基本指令集 send_mand(0x06)。 //点设定 :显示字符 /光标从左到右移位 ,DDRAM地址加 1 send_mand(0x0c)。 //显示设定 :开显示 ,显示光标 ,当前显示位反白闪动 send_mand(0x04)。 //显示设定 :开显示 ,显示光标 ,当前显示位反白闪动。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。