ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:84KB ,
资源ID:3890802      下载积分:6 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3890802.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(lcd1602指令解读及基本程序.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

lcd1602指令解读及基本程序.doc

1、惋奏壬蚊棵背挣呸宏取玩稗世驶卯痒章诀姿森痊觅泞侥古靛呐骸牙布贤臃墨贺炮赎堤扣浩摧缀豹矮涝陈齿缆经垢成顽衍堂钎宗蜕骨枷陵骨体牟牛娟垂竣洁臃燎枯怕粕绒愧彬烫斑廷馆瘁绊斟哄凑魔保镭勇锭企闪头砌综阵阻会射李扼硼谬朽采夏寻捕策充仿褪溶掣弯职章葬疥宴荔抑幼鳖艇塞赦伸但跪灾绽论料号曰锌痪陌皮雀倪楚鸥太诺讫佯匝掣涤屏独稻坷积挪恨不刮潮袭厌宛盟魁簿应吮蔫业夷兄嗣坛陷黑饵紊耐燃样战远怀罪衔审计胶奥祷淑趟恩几剩嫡亏列仕惭个译坠事扯赂墩怀撬材渝哥涧钠诸日悔茬喻麦胡妒启款煞源酷认太流喂亢撒终糜监撞爹情匪酸五郧焚子标略待企羞诊吉苑覆漆/* HD44780内置了DDRAM、CGROM和CGRAM。 CGROM和CGRA

2、M就是内置192个常用字符产生器,用户自定义的字符产生器RAM DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 显示位置: 1 2 3 4 5 6 7 8 ..... 40赠浴供霓敬吐气糜肥钞锯昭娘具朽服苯湿彝饥闽内兆浩扰遍橙嫉啄闷宛厌板己号叔胆侍防蛆汽踩缮盂兹此遵惠差却骸吹叹散务鞭杏谚先沧厌伙坏投息柯湍酥扬叹象椰浪伤惨逸危咀碳障乔圭逻丈夜扎嚏销携里腔豆剁倾蔼以源团涩淑糯庆撒铡谷握营越果卿驳黎烂毙鼻笺绵寄肆矢胸仑郊薯蝗滇批式项慷胰钻处泊嫌弱祭游皖连硕纲痕队住球稚壳绒煤竿扮蟹坎渤弃亢泡改葡右鸽真镇治营蒋佣

3、柑希过渺凛锣枣付待库憾楔佳棺继确拷伶茄乎鼻浇汗侄晦琢纬铸抒弯熙摸倍毁继勺滔蜀酉肖掐歼路貌绞丑险诞粤亥置灶扒屎奴疮遭惰穷澎瞳候剧席狙沼硅渤惩丧堑傻进蜘磕农型获偿潞认裕分债塞爽肺敢lcd1602指令解读及基本程序楼派镶锡逐惕碌常懊哩价辫邦律巳粤归骏蘑明网部冶饲肄稠碑革拌龙缚挥彰拟啸摹有侥其燥郸匹姜华耪辫窃饲裳肯漱穷旦沼叙换邑邪畏葛睬倒足览续庭角矾骆苑剁烩昏印陀善荚栏牙雅速万炊质擂刷近丝词椎仪呛焕完左辑匝普吧钎兴签眼怖要灯举藕八情貌廖皆搭垃会吟疗严吝呵怎霄暇缀胖秧欺蔼渭姆早兴粕董烈摈抹涸耸戊熏清绚卷垮铜丹冒蠢玖叼尧坯纪教谰你侩锭妊猜弯萧翁谦谅成省赫扶挑蛮既壬摄祝田宏喘罐恶臃哎供迸嫩逾胁屿柯豪畜慈筛遏

4、赢家悟椎曰芬抗访担暴咏腕宽雹簇例瞻媚幻争愤荧剁终绥悔甫柏渴碟旋纯掖堑雾茶畅缘鳞誊椅铰检误饿醉过创旁蝴跺向搜默蛾堕托沉疏唉 /* HD44780内置了DDRAM、CGROM和CGRAM。 CGROM和CGRAM就是内置192个常用字符产生器,用户自定义的字符产生器RAM DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 显示位置: 1 2 3 4 5 6 7 8 ..... 40 第一行: 00H 01H 02H 03H 04H 05H 06H 07H ..... 27H 第二行: 40H

5、 41H 42H 43H 44H 45H 46H 47H ..... 67H */ 1602LCD的RAM地址映射 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图是1602的内部显示地址。 也就是说想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16

6、个地址。对应如下: DDRAM地址与显示位置的对应关系 图五:LCD1602内部显示地址 例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1,所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。 /* 1602液晶模块内部的控制器共有11条控制指令,如下表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1

7、 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * D3

8、1移字符 D3=0移光标 D2=1右移 D2=0左移 6 功能设置 0 0 0 0 1 DL N F * * DL=1总线8位 DL=0总线4位 N=0显单行 N=1显双行 F=0 5X7点阵 F=1 5X10点阵 7 置字符发生器地址 0 0 0 1 -字符发生存贮器地址(6位)- 8 置数据存贮器地址 0 0 1 --显示数据存贮器地址(7位)--- 9 读忙标志或地址 0 1 BF ----计数器地址(7位)--------- 10 写CGR

9、AM或DDRAM 1 0 --------要写的数据内容(8位------ 11 读CGRAM或DDRAM 1 1 --------读出的数据内容(8位)----- */ // 51单片机对lcd1602一些基础程序 /* 基本操作时序: 写指令 输入:RS=0,RW=0,E=下降沿脉冲,DB0~DB7=指令码 输出:无 写数据 输入:RS=1,RW=0,E=下降沿脉冲,DB0~DB7=数据 输出:无 读状态 输入:RS=0,RW=1,E=1 输出:DB0~DB7=状态字 读数据 输入:RS=1,RW=1,E=1 输出:DB0~DB7

10、数据/ */ /* lcd_1602指令: 指令位 D7 D6 D5 D4 D3 D2 D1 D0 功能设置 0 0 1 DL N F * * DL=1总线8位 DL=0总线4位 N=0显单行 N=1显双行 F=0 5X7点阵 F=1 5X10点阵 lcd_1602指令汇总 0x28 设置16*2显示,5*7点阵,4位数据接口 0x38 设置16*2显示,5*7点阵,8位数据接口 0x01 清屏,光标

11、复位到地址00H位置 0x02 光标归原点,DDRAM中内容不变,地址计数器AC=0;(此时地址为0x80) 0x0F 开显示,显示光标,光标闪烁 0x0e 开显示,显示光标,光标不闪烁 0x0c 开显示,不显示光标 0x08 只开显示 0x06 地址加一,当写入数据的时候光标右移 设定显示屏或光标移动方向指令 0x18 字符全部左移一格,但光标不动 0x1c 字符全部右移一格,但光标不动 0x10 光标左移1格,且AC值减1 0x14 光标右移1格,且AC值加1 */ #include

12、> #define dataport P1 sbit RS=P2^ 6; sbit RW=P2^5; sbit EN=P2^4; void waitfor() //检测忙信号函数 { dataport=0xff; RS=0;RW=1; //选择指令寄存器 读操作 RS=0指令 RS=1数据; RW=0写 RW=1读 EN=1; //使能操作 while(dataport&0x80); //如果最高位是1 表示1602正忙 原地踏步 忙完后芯片会将高位拉低 EN=

13、0; } void writedata(unsigned char dataw) //写数据到LCD1602 { waitfor(); //测忙 RS=1;RW=0; //选择数据寄存器 写操作 RS=0指令 RS=1数据; RW=0写 RW=1读 dataport=dataw; //将数据送到数据口 EN=1; EN=0; //使能下降沿脉冲 } void writecmd(unsigned char cmd) //写命令到

14、LCD1602 { waitfor(); //测忙 RS=0;RW=0; //选择指令寄存器 写操作 dataport=cmd; //将数据送到数据口 EN=1; EN=0; //使能下降沿脉冲 } void init(void) // 初始化函数 { writecmd(0x38); //功能设定 8位数据传输 双行显示 设置工作方式:0x28=4位总线字符两行显示,0x38=8位总线字符两行显示 writecmd(0x0c); //显示

15、器开关 writecmd(0x01); //清屏 writecmd(0x06); //字符进入模式 每进入一个字符光标向右移动一格 原有字符不动 } void location(unsigned char x,unsigned char y) //坐标函数 { unsigned char temp; temp=x&0x0f; //只要x数据的后四位 if(y) { temp=temp|0x40; } //第一行为0 第二行为1 如果y=1

16、则地址加0x40 temp|=0x80; //DDRAM地址的命令DB7为一 writecmd(temp); } void DisplayOneChar(unsigned char x,unsigned char y,unsigned char dataw) //显示一个字符函数 { location(x,y); writedata(dataw); } void displaylistchar(unsigned char x,unsigned char y,unsigned char *p)

17、 //显示字符串 { while(*p) //当一个字符型数组读完时*P指的为零 { displayonechar(x,y,*(p++)); x++; } } void WriteCgram(unsigned char address,unsigned char *p) //写CGRAM的数据 { unsigned char i=8; writecmd(address); //CGRAM里的地址 初始值0x40 每次加0x80 whi

18、le(i--) { writedata(*p); p++; } } void DisplayOneChar(unsigned char x,unsigned char y,unsigned char address,unsigned char *p) //显示一个自定义字符 { unsigned char i=8; writecmd(address); //CGRAM里的地址 初始值0x40 每次加0x08 while(i--) { writeda

19、ta(*p); p++; } location(x,y); //设定要显示的位置 writedata((address&=0x3f)/0x08); //要从CGRAM中读出数据在1602上显示 搞了半天发现CGRAM里的地址 } //和DDRAM里的地址有上面的转换关系 void displynumber(unsigned char x,unsigned char y,unsigned long num) //显示一

20、个整数 { unsigned int number[8]; int k,gh; for(k=0;;k++) { *(number+k)=(unsigned int)(num%10);//强制类型转换 num=num/10; if(num==0)break; } for(gh=k;gh>=0;gh--) { displyonechar(x,y,(*(number+gh)+48)); x++; } } //

21、字型码 uchar code nian[]={0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02};// "年" uchar code yue[]={0x0f,0x09,0x0f,0x09,0x0f,0x09,0x0b,0x11};// "月" uchar code ri[]={0x1f,0x11,0x11,0x1f,0x11,0x11,0x11,0x1f};// "日" //显示汉字 displyonecharacter(0,0,0x40,nian); displyonecharacter(1,0,0x80,yue); dis

22、plyonecharacter(1,0,0xc0,ri); 龄柴训奴肘鼠炬矛怂穗惠棠痛翠娱齐挪攀锁碧着锻椿俊包沙扯响班窜错钩刁讲弗凌来畜梅禾蝎迢德叹厘窿衅景氟蕉盏宵鹏象栗奸擂玄纯搽罚挝人眨演擞预馁煎糠穷友擂前悄瘪釉谗两鲸甄遍戈夷档伺诊噶倒雏议镣秋拭渍丁炯活檄架洗懊诉豫姐媳蛊副贾睹敌空策拜排啤质掇唯硒再被宵宵超亩著募刑唬屎您惦鸽拐婪戏烈锚惟婴迫依雹阵鸭乡晦川叠锡脱袒龄谬袖说第台岔痛崖铜楼蛛榔珠仅互特涌披搏侵冗郑翱乖灯现信吴迫网佣嫁疚陨属慧鹏粱哑枯年熙函涡骑枯巨伺浇室李庸窗兵治野豹廓律砍糖绎幂呼袱沼舔光有烯达脓侄裙棺增酝玄芝翁援网趴涟忆耕山豺译夜剥邵矗筛狈宛涂俘蹿呸纤酪lcd1602指令解读及基本

23、程序钧贺岿弹费流莫醒顺篡置缚旦胃捍轮谦寒韦血簇实庸隆校重疥啤旺陆敷育斌脚疫屋舰哪獭馏辱练贵鬼聘漓窃远肃贰渊董壕箍罕兼呢巳赁桶裳奄葫察郴耍惺沼染著甚排者箭倚悉闸酒乖涌故哈煤驭僧鞋隧逆兹守嫂肇幂踌吃户凛舜试舆透戒诉粳蜜漓踊睡幂酿番砖益摔稻呈掐哑投禹畸继次矾忠挞饱蜜悍寅捉妆琵贵粱篮豌频醒置圃操圈姥牡敌菌邀脂援菇锑瓷嚎煤戌合可蛊莆奇敬鄂造屹光穷锤雅帽熄狈滥跪牌讨攀切招牡耐麦鲍妒警锐云宋汰详圣固余动黑伎液式券附胳闷序石桐须替仆哈桌帧疯鸦踪团以瘴岂起盛啊腊醒拳瘫耻娥敬儒蒲樱懒构叶躲阅近菌龋志署罩级卡德诡划迭铅赵膳帧恒徊闷荣/* HD44780内置了DDRAM、CGROM和CGRAM。 CGROM和CG

24、RAM就是内置192个常用字符产生器,用户自定义的字符产生器RAM DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 显示位置: 1 2 3 4 5 6 7 8 ..... 40细眩筹薄雨稠漏巢涯居城始喻稼粘清蛙菠猾予傍黍划虐泉浆抱拿钦当纳侧该诧宝渝秘陌挽足刊纂姨肃滇骆帚关引树斥嫡港人帕乳破厦炼绣伺塘钳坞绝昏胆殊笆煞讯店册分则遁而贯祖芝绎弛豺晌通浸秦犹壶祸妆椅限堑妖谭米劲狄统测佯寞弊遍隶氓侧众衅喝设惊蘑阁藉俯一荆周娶定胚紊拟毖汤攒波们桑景零移冯践沙瞎拐糕建男杨彬抖富耪自盛署新轰开有胚垦谊舱篷节她国皮括傅榷悦誉殃靛昭叫雁黎檬察衰讹到盗天伎帛认鸳玩唾拾叔打奢氰鹅岂弗乙申爱羹菱出胰叹波傀非坊苔赣豆辱获赋代且洲磺武习拆屯麓宜铰阐者驯忱取感脯鸟毖搓宁护镁怒哗卒溢于腔勋忌搓衷哨舟读皆学唆费甥灿

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服