



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <reg51.h>sbit rs=P33;/指令数据选择sbit rw=P34;/读写选择sbit clk=P35;/使能脉冲unsigned char code Logo_text1="China O Soft! "/文字数组unsigned char code Logo_text2="Soldering iron. "/文字数组unsigned char code Logo_text3='V','o','l','t',':','2
2、39;,'0','V',' ','S','e','t','3','0','0',0xdf;/文字数组unsigned char code Logo_text4='P','o','w','e','r',':','2','0','W',' ','C','T','
3、;2','9','5',0xdf;/文字数组unsigned char m;/辅助寻址指针变量sbit clear = P20;/清屏按钮sbit key1 = P21;/写第一行按钮sbit key2 = P22;/写第二行按钮sbit key3 = P23;/显示模式变更测试按钮void delay2ms()/2064周期延时unsigned char temp1;while(-temp1);while(-temp1);while(-temp1);while(-temp1);void delay() unsigned char temp1,temp2
4、; temp1=50; while(-temp1) while(-temp2); void check_busy()/忙检测 unsigned char busy;/临时字节 do rs=0;/选择寄存器 rw=1;/读取 clk=1;/LCD将数据放到总线 busy=P1;/读入总线数据 clk=0;/关闭总线 busy=busy&0x80;/保留最高位 while(busy);/判断是否为忙 1 / 4void instructions(unsigned char INS)/写指令函数 check_busy();/写之前检测忙 rs=0;/选择指令寄存器 rw=0;/写操作 clk
5、=1;/准备下降沿 P1=INS;/数据放到总线上 clk=0;/下降沿,数据写入LCD clk=1;/准备下降沿 P1=INS<<4;/数据放到总线上 clk=0;/下降沿,数据写入LCD void write_data(unsigned char dat)/写数据函数 check_busy();/写之前检测忙 rs=1;/选择数据寄存器 rw=0;/写操作 clk=1;/准备下降沿 P1=dat;/数据放到总线上 clk=0;/下降沿,数据写入LCD clk=1;/准备下降沿 P1=dat<<4;/数据放到总线上 clk=0;/下降沿,数据写入LCD void lc
6、d_clear()/清除显示函数 instructions(0x01);/清除显示 delay2ms();/清屏后,按手册至少应延时1.53ms void set_4bit_mode() check_busy();/写之前检测忙 rs=0;/选择指令寄存器 rw=0;/写操作 clk=1;/准备下降沿 P1=0x2f;/4位总线控制字 clk=0;/下降沿,数据写入LCD void lcd_init() rw=0;/写操作 set_4bit_mode();/设置成4位总线模式. delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时 instructions(
7、0x0f);/设置输入模式为8位数据总线,光标增量移动,显示不移位 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时 instructions(0x06);/开显示,关闭光标,不闪烁 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时 lcd_clear();/调用清屏函数 instructions(0x80+0x00);/写入显示缓冲区起始地址为1行1列 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时 for(m=0;m<16;m+)/将预先定义好的字符连续发送到LC
8、D write_data(Logo_text1m);/通过辅助变量查询数组并写入LCDdelay(); instructions(0x80+0x40);/写入显示缓冲区起始地址为2行1列 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时 for(m=0;m<16;m+)/将预先定义好的字符连续发送到LCD write_data(Logo_text2m);/通过辅助变量查询数组并写入LCDdelay(); void main()lcd_init();/LCD初始化while(1) if(!key1)/判断按键是否按下 instructions(0x8
9、0+0x10);/写入显示缓冲区起始地址为1行1列 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时for(m=0;m<16;m+)/将预先定义好的字符连续发送到LCD write_data(Logo_text3m);/通过辅助变量查询数组并写入LCD if(!key2)/判断按键是否按下 instructions(0x80+0x50);/写入显示缓冲区起始地址为2行1列 delay2ms();/按手册应至少延时39us,但由于执行次数不多,统一使用2ms延时for(m=0;m<16;m+)/将预先定义好的字符连续发送到LCD write_data(Logo_text4m);/通过辅助变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国钨隔热罩行业市场分析及投资价值评估前景预测报告
- 2025年中国维生素B6(盐酸吡哆醇)行业市场分析及投资价值评估前景预测报告
- 2025年中国微孔防火材料行业市场分析及投资价值评估前景预测报告
- 2025年中国唾液酸行业市场分析及投资价值评估前景预测报告
- 难点详解人教版八年级上册物理《机械运动》定向攻克练习题(含答案解析)
- 考点解析人教版八年级上册物理声现象《声音的特性声的利用》同步测评试题(解析卷)
- 考点解析-人教版八年级物理《功和机械能》章节测试练习题
- 考点解析-人教版八年级上册物理声现象《声音的特性声的利用》专项测评练习题(含答案详解)
- 解析卷人教版八年级上册物理声现象《噪声的危害和控制》定向攻克试题(解析版)
- 2025国考南京市文秘办公岗位申论题库含答案
- 中华民族共同体概论教案第十二讲-民族危亡与中华民族意识觉醒
- ICU患者的护理常规
- 六年级语文上册第三单元习作-让生活更美好课件
- 《江城子·乙卯正月二十日夜记梦》课件 -2024-2025学年统编版高中语文选择性必修上册
- 生物安全培训课件
- 大学语文智慧树知到期末考试答案章节答案2024年南昌大学
- 04SG518-3-门式刚架轻型房屋钢结构(有吊车)
- 外科科室发展规划
- 护理学导论第三章 护理相关理论与模式课件
- 快递客服知识讲座
- 2025年日历日程表含农历可打印
评论
0/150
提交评论