基于C51单片机的键盘及LCD显示

上传人:l**** 文档编号:145300185 上传时间:2020-09-18 格式:DOC 页数:8 大小:39.50KB
返回 下载 相关 举报
基于C51单片机的键盘及LCD显示_第1页
第1页 / 共8页
基于C51单片机的键盘及LCD显示_第2页
第2页 / 共8页
基于C51单片机的键盘及LCD显示_第3页
第3页 / 共8页
基于C51单片机的键盘及LCD显示_第4页
第4页 / 共8页
基于C51单片机的键盘及LCD显示_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于C51单片机的键盘及LCD显示》由会员分享,可在线阅读,更多相关《基于C51单片机的键盘及LCD显示(8页珍藏版)》请在金锄头文库上搜索。

1、. . 基于C51单片机的键盘及LCD显示一、实验目的1.掌握矩阵式键盘的数字键和功能键的编程方法。2.掌握LCD的接口技术和编程方法。3.掌握仪器监控程序设计和调试方法。二、预习与参考1. 结合ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。2. 参考资料 1)实验板说明书 2)ST7920 控制器系列中文图形液晶模块资料手册三、 设计指标利用实验板上提供的键盘电路,LCD显示电路,设计一人机界面,能实现以下功能:1. LCD上显示“科技学院”2. 按键至少包括0-9的数字键3. LCD显示按键值4.电子钟显示:时,分,秒(选作)四、实验要求1.以单片

2、机为核心,设计4*4非编码键盘及LCD的硬件电路,画出电路原理图。2.设计4*4非编码键盘及LCD的控制软件,画出流程图,编写控制程序。五、实验仪器设备和材料清单 单片机实验板、连接导线、ST7920图形液晶模块、PC机; Keil c51软件六、实验设计及实施的指导1.实验课前布置实验任务,提出实验要求,预习相关资料,完成硬件草图设计和软件流程图备查。2.经指导教师检查,预习达到要求者进入实验室实验。3.按照设计的电路连线,构建键盘及显示系统,经检查无误方可进入下一步。4.在指导教师指导下调试LCD显示程序。5.在指导教师指导下调试按键程序。6.综合调试直到满足设计要求。七、实验成绩评定方法

3、 实验成绩包括预习、实验完成质量、实验报告质量4部分组成,各部分所占比例分别为30%、30%、40%。八、实验报告要求1实验报告格式:一实验名称二实验目的三实验容四设计思想五硬件设计六程序代码七参考文献2硬件电路原理图用PROTEL等软件画出。附录:程序源代码:附录 1#include reg51.h#include intrins.h#define THCO 0xee#define TLCO 0x0#define uchar unsigned charsbit CS =P10; sbit SID=P11; sbit SCLK=P12; sbit B_light=P27; /背光uchar t

4、ab1 =0 ;int flag=0;unsigned char Hour=0,Min=0,Sec=0;void delay(unsigned int j) unsigned char i; do for(i=0;i100;i+); while(j-); void send_command(unsigned char command_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;

5、i+) SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data1; i_data=command_data; i_data&=0xf0; /送高for(i=0;i8;i+) SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data=4; temp_data2=4; /i_data=temp_data1|temp_data2; i_data=temp_data2;i_data&=0xf0; for(i=0;i8;i+) SID=(bit)(i_data&0x80); SCLK=0; SCLK=1

6、; i_data=i_data1; CS=0; void send_data(unsigned char command_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_data&0x80); SCLK=0; SCLK=1; i_data=i_data1; i_data=command_data; i_data&=0xf0; for(i=0;i8;i+) SID=(b

7、it)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data=4; temp_data2=4; /i_data=temp_data1|temp_data2; i_data= temp_data2;i_data&=0xf0; for(i=0;i8;i+) SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data1; CS=0; void InitLCD() /液晶初始化 send_command(0x30); /功能设置:一次送8位数据,基本指令集 send_command(0x06); /点设定:显示字符/光标

8、从左到右移位,DDRAM地址加1 send_command(0x0c); /显示设定:开显示,显示光标,当前显示位反白闪动 send_command(0x04); /显示设定:开显示,显示光标,当前显示位反白闪动 send_command(0x01); /清DDRAM send_command(0x02); /DDRAM地址归位 send_command(0x80); /把显示地址设为0X80,即为第一行的首位void DispHanzi(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri)unsigned

9、 char hi=0; /汉字显示if(x=0) send_command(0x80+y); /else if(x=1) send_command(0x90+y);else if(x=2) send_command(0x88+y);else if(x=3) send_command(0x98+y);for(hi=0;hihow;hi+)send_data(*(stri+hi*2);send_data(*(stri+hi*2+1);void DispZimu(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri

10、)unsigned char hi=0;uchar temp_pin;/字母显示if(x=0) send_command(0x80+y);else if(x=1) send_command(0x90+y);else if(x=2) send_command(0x88+y);else if(x=3) send_command(0x98+y);for(hi=0;hihow;hi+)send_data(*(stri+hi);void key(void) unsigned char temp_pin ;P0=0xf0;/低四位接键盘行,高四位为键盘的列线if(P0&0xf0)!=0xf0)delay(

11、10); if(P0&=0xf0)!=0xf0) /消抖 P0=0xfe;temp_pin=(P0&0xf0);switch (temp_pin) /对按下的键进行判断 case 0xe0:tab0=F;break;case 0xd0:tab0=E;break;case 0xb0:tab0=D;break;case 0x70:tab0=C;break;default:break;P0=0xfd;temp_pin=(P0&0xf0);switch (temp_pin)case 0xe0:tab0=B;break;case 0xd0:tab0=A;break;case 0xb0:tab0=9;br

12、eak;case 0x70:tab0=8;break;default:break;P0=0xfb;temp_pin=(P0&0xf0);switch (temp_pin)case 0xe0:tab0=7;break;case 0xd0:tab0=6;break;case 0xb0:tab0=5;break;case 0x70:tab0=4;break;default:break;P0=0xf7;temp_pin=(P0&0xf0);switch (temp_pin)case 0xe0:tab0=3;break;case 0xd0:tab0=2;break;case 0xb0:tab0=1;break;case 0x70:tab0=0;break;default:break;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号