LCD160222基金净值技术参数标准值中的TYPE值是什么?

与《》相关:
- Copyright & 2017 www.xue63.com All Rights Reserved由相关信息推动液晶屏显示,下面是一段显示程序:这里有1602液晶的显示程序,供参考;**********************************************************;程序名:1602液晶显示模块;功能:采用点阵显示符号,两行显示;说明:;**********************************************************RSEQUP1.0RWEQUP1.1EEQUP1.2ORG0000 ,#01H;;清除屏幕ACALLENABLEMOVP0,#38H;8位点阵方式ACALLENABLEMOVP0,#0FH;开显示ACALLENABLEMOVP0,#06H;移动光标ACALLENABLEMOVP0,#80H;显示位置(第一行第一个字符的位置,即光标所在位置)ACALLENABLEmovdptr,#tab1;送数据表1,WELCOME!callwrite1;调用返回后第一行字符显示完毕movp0,#0c0h;;第二行第一个字符的位置(即光标所在位置)callenablemovdptr,#tab2;送数据表2,[...
由相关信息推动液晶屏显示,下面是一段显示程序:这里有1602液晶的显示程序,供参考;**********************************************************;程序名:1602液晶显示模块;功能:采用点阵显示符号,两行显示;说明:;**********************************************************RSEQUP1.0RWEQUP1.1EEQUP1.2ORG0000 ,#01H;;清除屏幕ACALLENABLEMOVP0,#38H;8位点阵方式ACALLENABLEMOVP0,#0FH;开显示ACALLENABLEMOVP0,#06H;移动光标ACALLENABLEMOVP0,#80H;显示位置(第一行第一个字符的位置,即光标所在位置)ACALLENABLEmovdptr,#tab1;送数据表1,WELCOME!callwrite1;调用返回后第一行字符显示完毕movp0,#0c0h;;第二行第一个字符的位置(即光标所在位置)callenablemovdptr,#tab2;送数据表2,[url]WWW.XUYUANDZ.NYIST.NET[/url]callwrite1;调用返回后第二行字符显示完毕movp0,#0;第二行光标所在的位置(不断闪烁)callenablejmp$ 指令寄存器CLRRW;写数据CLRE;由高到底1602执行命令ACALLDELAY;等待SETBE;重新置高1RETwrite1:;;写数据movr1,#00ha1:mova,r1movc查表cjnea,#00h,a2;写第一行数据reta2:callwrite2;写一个数据incr1ajmpa1write2:movp0,选数据寄存器写数据1602执行命令重新置高1 ,#255d1:movr6,#255d2:djnzr6,d2djnzr7,d1rettab1:db57h,45h,4ch,43h,4fh,4dh,45h,21h,58h,55h,59h,55h,41h,4eh,44h,5ah,00htab2:db2eh,4eh,59h,49h,53h,54h,2eh,4eh,45h,54h,00hend
另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光器挡住
一般是用久了所致,主要是屏与电路板衔接的斑马橡胶条脏了,可以仔细拆开后用无水乙醇擦洗一下再装回试试看。如不行,就得更换一个新的了,现在计算器很便宜的。
——★1、电子数字电度表的数字显示是纯数字显示,否则就不是电子数字电度表了。
——★2、为了降低电度表的损耗,电子数字电度表内没有机械转动装置的(早期的...
2.8. 上电/全清键(ON/AC):按下该键表示上电,或清除所有寄存器中的数值.
2.9. 清除键(C):在数字输入期间,第一次按下此键将清除除存储器内容外的...
《天龙八部》中的乔峰,身世埋在雁门关下。雁门关在现在的山西 。雁门关所在地是山西。
答: 钢筋含量肯定没有问题,不过面筋二排最好改2根22,因为钢筋直径相差太大对受力不好(虽然你的配置还算满足规范),还有支座应有柱(或构造柱)。观点仅供参考。
答: 考试合格啊!
答: 到百度搜索里看看,那里有你要的
答: 他在接触新环境的过程中,头脑非常冷静,不易感情用事,能把每件事处理得头头是道
B.20世纪上半叶,人类经历了两次世界大战,大量的青壮年人口死于战争;而20世纪下半叶,世界基本处于和平发展时期。
“癌症的发病率”我认为这句话指的是:癌症患者占总人数口的比例。
而B选项说是死亡人数多,即总体人数下降了,但“癌症的发病率”是根据总体人总来衡量的,所以B项不能削弱上述论证
手机密码被锁住了,那么只有拿到客服去解锁了。
如果你使用的是PIN码,被锁,那么去移动营业厅解锁。
做鲫鱼汤很重要的一点是注意火候的把握。
步骤如下:
买新鲜现杀的鲫鱼两条,个头要适中。洗的时候要把鱼鳞全部弄干净,鱼肚里也要洗净,免得汤有腥味;
洗好后,在鱼身上涂抹适当食盐,腌放十分钟;
准备好香葱三根,洗净,打结备用;
切好姜片若干(根据鱼的大小和量);
均匀涂抹姜汁于锅内(防止鱼皮粘锅),倒入色拉油,点火;
油不宜太热,将火旋小,轻轻放鱼入锅,同时放入姜片,把火调大;
煎至鱼皮微露金黄色,将鱼轻轻翻身,直至也微呈金黄色;
煎的过程中,注意转动锅,使鱼均匀煎透;
把火调小,加冷水至淹没鱼为止,放入备好的葱结,开大火,煮沸;
把鱼翻身,再煮五分钟,放入适量的盐,继续煮,直至汤呈现奶白色;
加味精,煮两分钟。
同时准备好吃鱼的料:蘸鱼的陈醋少许倒入碗中,放少许盐,糖,味精,搅拌均匀。
将鱼单独盛在大碗里,鲫鱼汤盛在汤碗里;鱼蘸着料吃,汤即喝。
^_^,美味的鲫鱼汤呈现在你的眼前了,还有香喷喷的鱼肉……
把A产品,B产品及C产品的数量相加,和辅助材料的总数相除,求出分配率,然后再用求出的分配率去分别乘以A,B,C三个产品的数量,这样就可以把辅助材料分别分配到三种产品中去了。比如:A产品的数量是50,B产品的数量是70,C产品的数量是80,合计是:200。辅助材料是:40
分配率=40/50+70+80=0.2
A产品分配辅助材料=50*0.2=10
B产品分配辅助材料=70*0.2=14
C产品分配辅助材料=80*0.2=16
婴儿2-3个月时的吮手是一种暂时性的现象,它随着婴儿由口唇快感期转向肛门快感期,手的功能随年月的增长,会向探求性功能方向发展,他会自然而然地将自己的小手从吮吸中解放出来,会以更大的兴趣去触摸周围各种物体和多种多样的玩具,这为智能开发开辟了新天地。
一般的感冒,症状较轻,如流清涕,打喷嚏,对胎儿影响不大,也不必服药,休息几天就会好的。但在妊娠早期(5-14周),主要是胎儿胚胎发育器官形成的时间,若患流行性感冒,且症状较重,则对胎儿影响较大,此间服药对胎儿也有较大风险
正常宝宝出生后4个月,在成人扶持下可短时间维持坐的姿势;6个月时能抱坐于大人膝盖之上,如独立坐着,身体会向前倾,须用手支撑;大约7个月时,才能独立地坐一会儿。宝宝坐得过早过晚都不好。妈妈可以先与宝宝玩“引拉游戏”。即让宝宝仰卧在床上,妈妈面对宝宝,一边和宝宝说:“妈妈帮你坐起来玩好吗?”一边慢慢用双手拉其胳膊,拉至坐姿后,将其扶直,稍坐片刻后,再帮助仰卧床上,反复进行3~6次。也可以让宝宝靠着沙发背坐或靠在妈妈胸前坐来进行靠坐练习,还可以在地毯上用几个大垫子围成一个三角形让宝宝靠坐在其中。刚开始训练坐时,宝宝经常会左右摇摆或身子前倾,此时妈妈可教他用双手在前支撑一下。
 首先,父母要理解,孩子的各种异常行为是学习的过程,不要随便给孩子贴上“自私”、“坏孩子”的道德标签。要有耐心,要学会等待。要了解孩子的成长不是一天之内完成的,需要的是一个漫长的过程,这样,父母才能以平常心对待孩子出现的各种波动。
  其次,父母要在孩子的学习过程中用正确的方法帮助孩子。要制止孩子错误的做法,最重要的是要给孩子示范正确的做法。光是批评他,孩子还是不知所措。像前面提到的情况,妈妈可以告诉依依:“你喜欢天天,可以告诉她,如果想抱她,要先请她同意,不能把她弄疼。”
虾皮紫菜蛋汤
1、将虾皮洗净,紫菜用清水洗净,撕成小块,鸡蛋磕入碗内打散,香菜择洗干净,切成小段。
2、将炒锅置火上,放油烧热,下入姜末略炸,放入虾皮略炒一下,添水200克,烧沸后,淋入鸡蛋液,放入紫菜、香菜、精盐、葱花即可。
海带炖豆腐
1、海水污染,海带也会含有毒金属—砷。因此,食用前应先用清水漂洗,然后再浸泡不超过6小时,并要勤换水,这样,就可以放心地食用。
2、豆腐放入锅中加水煮沸,捞出晾凉,切成小丁。
3、锅中油烧热,放入姜末、葱煸香。
放入海带、豆腐,下清汤,烧开后转小火炖半小时,调味后即可出锅。
橘味海带丝
1、干海带放锅内蒸25分钟左右,捞出,放热水中浸泡30分钟,捞出,切成细丝。
2、把白菜洗净,切成细丝。
3、将干橘皮浸软洗净,切成丝末。
4、将海带丝、白菜丝和橘皮末放入大碗内,加酱油、醋、白糖、味精和香油,撒上香菜段,拌匀即可。
方式有很多种:一是路线的不同,有舒适型名山大川 游览,还有野外体验型,比如峡谷溯溪穿越、登山;带给了员工新一轮的工作和生活的激情,沟通和谐了工作环境,凝聚了公司文化向心力。根据参与人员的不同, 过程中可以住星级宾馆,也可以体验野外露营,可以闲庭信步更可以喊着口号,相互激励着穿越于风景优美的自然风景释放激情,最重要的是旅游中安排的拓展体验项目,可以最大能量的体现公司文化核心的凝聚力。
简·爱格妮斯起先专注效劳25至50岁的老到独立的现代女人,但随着公司快.速展开和品牌效应日益闪现,男性消费市场呼声越来越激烈,所以后来又新增男装和潮流服饰。
森派蛋糕培训学校不错,就在罗湖东晓路那边,以传授西点、面包制作技术及蛋糕裱花技术为主的培训学校,在行业中享有盛誉。
烤鸭是腌好了烫皮还是不腌之前烫皮?
也有人问到烤鸭先腌制还是先烫皮,烫皮怎么烫?当然是先腌制了,这个是吊炉烤鸭制作工序的先后问题了,鸭子是在清洗除去内脏等操作后,先填好腌料再缝针的,然后还需要腌制一段时间,才到后面的烫皮动作,顺序不可以反过来。
体验式拓展训练无论是从形式上还是内容上都满足个人和企业在素质提升方面的需求,让学员在深刻的体验中,从新认识自我,激发自身的潜能,在能力和素质方面得到进一步的提升。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区LCD1602的单片机驱动详解
限时干货下载:关注我们“单片机”,回复“教程”获取单片机电子书,回复“仿真”获取Proteus仿真资料。持续更新中。。。
LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片。刚开始接触它的大多是单片机的初学者。由于对它的不了解,不能随心所欲地对它进行驱动。经过一段时间的学习,我对它的驱动有了一点点心得,今天把它记录在这里,以备以后查阅。与此相仿的是LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉字,它的并行驱动方式与LCD1602相差无几,所以,在这里花点时间是值得的。
一般来说,LCD1602有16条引脚,据说还有14条引脚的,与16脚的相比缺少了背光电源A(15脚)和地线K(16脚)。我手里这块LCD1602的型号是HJ1602A,是绘晶科技公司的产品,它有16条引脚。如图1所示:
再来一张它的背面的,如图2所示:
它的16条引脚定义如下:
对这个表的说明:
1. VSS接电源地。
2. VDD接+5V。
3. VO是液晶显示的偏压信号,可接10K的3296精密电位器。或同样阻值的RM065/RM063蓝白可调电阻。见图3。
4. RS是命令/数据选择引脚,接单片机的一个I/O,当RS为低电平时,选择命令;当RS为高电平时,选择数据。
5. RW是读/写选择引脚,接单片机的一个I/O,当RW为低电平时,向LCD1602写入命令或数据;当RW为高电平时,从LCD1602读取状态或数据。如果不需要进行读取操作,可以直接将其接VSS。
6. E,执行命令的使能引脚,接单片机的一个I/O。
7. D0&D7,并行数据输入/输出引脚,可接单片机的P0&P3任意的8个I/O口。如果接P0口,P0口应该接4.7K&10K的上拉电阻。如果是4线并行驱动,只须接4个I/O口。
8. A背光正极,可接一个10&47欧的限流电阻到VDD。
9. K背光负极,接VSS。见图4所示。
二.基本操作
LCD1602的基本操作分为四种:
1. 读状态:输入RS=0,RW=1,E=高脉冲。输出:D0&D7为状态字。
2. 读数据:输入RS=1,RW=1,E=高脉冲。输出:D0&D7为数据。
3. 写命令:输入RS=0,RW=0,E=高脉冲。输出:无。
4. 写数据:输入RS=1,RW=0,E=高脉冲。输出:无。
读操作时序图(如图5):
写操作时序图(如图6):
时序时间参数(如图7):
三.DDRAM、CGROM和CGRAM
DDRAM(Display Data RAM)就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下(如图8):
DDRAM相当于计算机的显存,我们为了在屏幕上显示字符,就把字符代码送入显存,这样该字符就可以显示在屏幕上了。同样LCD1602共有80个字节的显存,即DDRAM。但LCD1602的显示屏幕只有16×2大小,因此,并不是所有写入DDRAM的字符代码都能在屏幕上显示出来,只有写在上图所示范围内的字符才可以显示出来,写在范围外的字符不能显示出来。这样,我们在程序中可以利用下面的“光标或显示移动指令”使字符慢慢移动到可见的显示范围内,看到字符的移动效果。
前面说了,为了在液晶屏幕上显示字符,就把字符代码送入DDRAM。例如,如果想在屏幕左上角显示字符‘A’,那么就把字符‘A’的字符代码41H写入DDRAM的00H地址处即可。至于怎么写入,后面会有说明。那么为什么把字符代码写入DDRAM,就可以在相应位置显示这个代码的字符呢?我们知道,LCD1602是一种字符点阵显示器,为了显示一种字符的字形,必须要有这个字符的字模数据,什么叫字符的字模数据,看看下面的这个图就明白了(如图9)。
上图的左边就是字符‘A’的字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。从而显示出‘A’这个字形。从下面的图可以看出,字符‘A’的高4位是0100,低4位是0001,合在一起就是b,即41H。它恰好与该字符的ASCII码一致,这样就给了我们很大的方便,我们可以在PC上使用P2=‘A’这样的语法。编译后,正好是这个字符的字符代码。
在LCD1602模块上固化了字模存储器,就是CGROM和CGRAM,HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。下图(如图12)说明了CGROM和CGRAM与字符的对应关系。从ROM和RAM的名字我们也可以知道,ROM是早已固化在LCD1602模块中的,只能读取;而RAM是可读写的。也就是说,如果只需要在屏幕上显示已存在于CGROM中的字符,那么只须在DDRAM中写入它的字符代码就可以了;但如果要显示CGROM中没有的字符,比如摄氏温标的符号,那么就只有先在CGRAM中定义,然后再在DDRAM中写入这个自定义字符的字符代码即可。和CGROM中固化的字符不同,CGRAM中本身没有字符,所以要在DDRAM中写入某个CGROM不存在的字符,必须在CGRAM中先定义后使用。程序退出后CGRAM中定义的字符也不复存在,下次使用时,必须重新定义。
上面这个图(如图10)说明的是5×8点阵和5×10点阵字符的字形和光标的位置。先来说5×8点阵,它有8行5列。那么定义这样一个字符需要8个字节,每个字节的前3个位没有被使用。例如,定义摄氏温标的符号{0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}。
上面这个图(如图11)说明的是设置CGRAM地址指令。从这个指令的格式中我们可以看出,它共有aaaaaa这6位,一共可以表示64个地址,即64个字节。一个5×8点阵字符共占用8个字节,那么这64个字节一共可以自定义8个字符。也就是说,上面这个图的6位地址中的DB5DB4DB3用来表示8个自定义的字符,DB2DB1DB0用来表示每个字符的8个字节。这DB5DB4DB3所表示的8个自定义字符(0--7)就是要写入DDRAM中的字符代码。我们知道,在CGRAM中只能定义8个自定义字符,也就是只有0—7这8个字符代码,但在下面的这个表(如图12)中一共有16个字符代码(××××0000b--××××1111b)。实际上,如图所示,它只能表示8个自定义字符 (××××0000b=××××1000b, ××××0001b=××××1001b……依次类推)。也就是说,写入DDRAM中的字符代码0和字符代码8是同一个自定义字符。 5×10点阵每个字符共占用16个字节的空间,所以CGRAM中只能定义4个这样的自定义字符。
那么如何在CGRAM中自定义字符呢?在上面的介绍中,我们知道有一个设置CGRAM地址指令,同写DDRAM指令相似,只须设置好某个自定义字符的字模数据,然后按照上面介绍的方法,设置好CGRAM地址,依次写入这个字模数据即可。我们在后面的例子中再进行说明。
四.LCD1602指令
1.工作方式设置指令(如图13)
×:不关心,也就是说这个位是0或1都可以,一般取0。
DL:设置数据接口位数。
DL=1:8位数据接口(D7—D0)。
DL=0:4位数据接口(D7—D4)。
N=0:一行显示。
N=1:两行显示。
F=0:5×8点阵字符。
F=1:5×10点阵字符。
说明:因为是写指令字,所以RS和RW都是0。LCD1602只能用并行方式驱动,不能用串行方式驱动。而并行方式又可以选择8位数据接口或4位数据接口。这里我们选择8位数据接口(D7—D0)。我们的设置是8位数据接口,两行显示,5×8点阵,即0b也就是0x38。(注意:NF是10或11的效果是一样的,都是两行5×8点阵。因为它不能以两行5×10点阵方式进行显示,换句话说,这里用0x38或0x3c是一样的)。
2.显示开关控制指令(如图14)
D=1:显示开,D=0:显示关。
C=1:光标显示,C=0:光标不显示。
B=1:光标闪烁,B=0:光标不闪烁。
说明:这里的设置是显示开,不显示光标,光标不闪烁,设置字为0x0c。
3.进入模式设置指令(如图15、16)
I/D=1:写入新数据后光标右移。
I/D=0:写入新数据后光标左移。
S=1:显示移动。
S=0:显示不移动。
说明:这里的设置是0x06。
4.光标或显示移动指令(如图17、18)
说明:在需要进行整屏移动时,这个指令非常有用,可以实现屏幕的滚动显示效果。初始化时不使用这个指令。
5.清屏指令(如图19)
说明:清除屏幕显示内容。光标返回屏幕左上角。执行这个指令时需要一定时间。
6.光标归位指令(如图20)
说明:光标返回屏幕左上角,它不改变屏幕显示内容。
7.设置CGRAM地址指令(如图21)
说明:这个指令在上面已经介绍过。用法在后面例子中说明。
8.设置DDRAM地址指令(如图22)
说明:这个指令用于设置DDRAM地址。在对DDRAM进行读写之前,首先要设置DDRAM地址,然后才能进行读写。前面我们说过,DDRAM就是LCD1602的显示存储器。我们要在它上面进行显示,就要把要显示的字符写入DDRAM。同样,我们想知道DDRAM某个地址上有什么字符,也要先设置DDRAM地址,然后将它读出到单片机。
9.读忙信号和地址计数器AC(如图23)
说明:这个指令用来读取LCD1602状态。对于单片机来说,LCD1602属于慢速设备。当单片机向其发送一个指令后,它将去执行这个指令。这时如果单片机再次发送下一条指令,由于LCD1602速度较慢,前一条指令还未执行完毕,它将不接受这新的指令,导致新的指令丢失。因此这条读忙指令可以用来判断LCD1602是否忙,能否接收单片机发来的指令。当BF=1,表示LCD1602正忙,不能接受单片机的指令;当BF=0,表示LCD1602空闲,可以接收单片机的指令。RS=0,表示是指令;RW=1,表示是读取。这条指令还有一个副产品:即可以得到地址记数器AC的值(address counter)。LCD1602维护了一个地址计数器AC,用来记录下一次读写CGRAM或DDRAM的位置。需要强调的是:这条指令我一次也没有执行成功。很多网友似乎也是这样。好在我们有另外的办法,也就是延时。通过查看每条指令的执行时间,再经过一些试验,可以确定指令的延时。这样就可以在上一条指令执行完毕后再执行下一条指令了。
10.写数据到CGRAM或DDRAM指令(如图24)
说明:RS=1,数据;RW=0,写。指令执行时,要在DB7&DB0上先设置好要写入的数据,然后执行写命令。
11.从CGRAM或DDRAM读数据指令(如图25)
说明:RS=1,数据;RW=1,读。先设置好CGRAM或DDRAM的地址,然后执行读取命令。数据就被读入后DB7&DB0。
下面我们就以一个实例来结束这篇文章。先介绍一下背景:单片机最小系统(扩充了外部RAM 62256)。采用STC89C52RC,晶振22.1184MHZ。以5×8点阵,16×2行,8位数据端口。首先在第一行显示“I love MCU!”,第二行显示“LCD1602 Test!”。延时一段时间,清屏。然后在第一行显示自定义字符:摄氏温标标志。第二行显示圆周率(pai)标志。再延时一段时间,清屏。最后在第一行显示“Welcome to my blog!”,显示方式是从屏幕右面移入,左面移出。周而复始(如图26)。
#ifndef __ZHANGTYPE_H__
#define __ZHANGTYPE_H__
#define uint8 unsigned char
#define uint16 unsigned short int
#define uint32 unsigned long int
#define int8 signed char
#define int16 signed short int
#define int32 signed long int
#define uint64 unsigned long long int
#define int64 signed long long int
#ifndef __FUN_H__
#define __FUN_H__
#include 'ZhangType.h'
void Delay(uint16 time);
#include 'fun.h'
void Delay(uint16 time)
while(time--);
#ifndef __1602_H__
#define __1602_H__
#include 'ZhangType.h' //变量类型
#include 'fun.h' //常用函数
#define SETMODE 0x38 //16*2显示,5*7点阵,8位数据接口
#define DISOPEN 0x0C //显示开,不显示光标,光标不闪烁
#define DISMODE 0x06 //读写字符后地址加1,屏显不移动
#define SETADDR 0x80 //设置数据地址指针初始值
#define CLEAR 0x01 //清屏,数据指针清零
#define RET 0x02 //回车,数据指针清零
#define PORT P2 //I/O口
sbit RS = P1^0;
sbit RW = P1^1;
sbit E = P1^2;
void Init1602(void); //初始化1602
void Write1602_Com(uint8 com); //写命令
void Write1602_Dat(uint8 dat); //写数据
void CheckBusy(void); //检查忙
void Write1602_One_Dat(uint8 X,uint8 Y,uint8 dat); //写一个数据
void Write1602_Str(uint8 addr,uint8 length,uint8 *pbuf); //写一个数据串
#include '1602.h'
void Write1602_Com(uint8 com)
RS=0; //命令
Delay(50); //延时
RW=0; //写
Delay(50);
PORT= //端口赋值
Delay(50);
E=1; //高脉冲
Delay(50);
void Write1602_Dat(uint8 dat)
RS=1; //数据
Delay(50); //延时
RW=0; //写
Delay(50);
PORT= //端口赋值
Delay(50);
E=1; //高脉冲
Delay(50);
void CheckBusy(void)
RS=0; //命令
RW=1; //读
PORT=0xFF; //端口为输入
E=1; //高脉冲
temp=PORT;
if ((temp&0x80)==0) //检查BF位是否为0
void Init1602(void)
Write1602_Com(SETMODE); //模式设置
Delay(500);
Write1602_Com(DISOPEN); //显示设置
Delay(500);
Write1602_Com(DISMODE); //显示模式
Delay(500);
Write1602_Com(CLEAR); //清屏
Delay(500);
void Write1602_One_Dat(uint8 x,uint8 y,uint8 dat)
Write1602_Com(x);
Write1602_Dat(dat);
void Write1602_Str(uint8 addr,uint8 length,uint8 *pbuf)
Write1602_Com(addr);
Write1602_Dat(pbuf[i]);
*******************************************************
*名称:主文件(_main.c)
*功能:测试
*******************************************************/
#include '1602.h'
#include 'fun.h'
uint8 code hot[8]={ //摄氏温度字模
0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00
uint8 code pi[8]={
0x00,0x1f,0x0a,0x0a,0x0a,0x13,0x00,0x00 //pai
uint8 code strMCU[]='I love MCU!';
uint8 code strTest[]='LCD1602 Test!';
uint8 code blog[]='Welcome to my blog!';
void main()
Init1602(); //初始化1602
//自定义CGRAM
Write1602_Str(0x40,8,hot); //摄氏温标
Write1602_Str(0x48,8,pi); //pai
Write1602_Str(0x80,strlen(strMCU),strMCU); //'I love MCU!'
Write1602_Str(0x80+0x40,strlen(strTest),strTest); //'LCD1602 Test!'
for(i=0;i&50;i++) //延时一段时间
Delay(10000);
Write1602_Com(CLEAR); //指令执行时间较长
Delay(500); //多加一些延时
for(i=0;i&16;i++)
Write1602_Dat(0);
Write1602_Com(0xc0); //设置DDRAM地址
for(i=0;i&16;i++)
Write1602_Dat(1);
for(i=0;i&50;i++) //延时一段时间
Delay(10000);
Write1602_Com(CLEAR); //指令执行时间较长
Delay(500); //多加一些延时
Write1602_Str(0x80+0x10,strlen(blog),blog); //写在显示之外
Write1602_Com(0x18); //左移
for(i=0;i&20;i++) //延时
Delay(10000);
08/29 15:35
3.单片机内部结构详解(以MCS-51为例) MCS-51单片机结构 MCS-51系列单片机产品有51,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片).它们的结构基本相同,其主要差别反映在存储器的配置上.8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM.由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构
09/14 22:49
电动车无刷电机驱动详解 电动车无刷电机是目前最普及的电动车用动力源,无刷电机以其相对有刷电机长寿,免维护的特点得到广泛应用,然而由于其使用直流电而无换向用的电刷,其换向控制相对有刷电机要复杂许多,同时由于电动车负载极不稳定,又使用电池 作电源,因此控制器自身的保护及对电机,电源的保护均对控制器提出更多要求. 自电动车用无刷电动机问世以来,其控制器发展分两个阶段:第一阶段为使用专用无刷电动机控制芯片为主组成的纯硬件电路控制器,这种电路较为简单,其中控制芯片的代表是摩托罗拉的MC33035,这个不是
02/28 10:00
很好的linux下GPIO驱动详解文章 分类: linux设备驱动系列
21:42 203人阅读 评论(0) 收藏 举报 原文地址
http://blog.csdn.net/llxmedici/article/details/6282372 打算跟着友善之臂的&mini2440 linux移植开发指南&来做个LED驱动,虽然LED的原理简单得不能再简单了,但是要把kernel中针对于s3c24**的GPIO的一些数据结 构,还有函数搞清楚也不是那么轻松的事,所以本文主要
08/16 22:32
console驱动: 一.基本概念 终端是一种字符型设备,通常使用tty简称各种类型的终端.linux的终端类型: /dev/ttySn,串行口终端 /dev/pty,伪终端 /dev/tty,当前进程的控制终端,可以是介绍的其它任何一种终端 /dev/ttyn,tty1~tty6是虚拟终端,tty0当前虚拟终端的别名. /dev/console,控制台终端(显示器) 二.uboot传参数的处理 linux启动时uboot传递进console=ttyS2,的参数 内核中用__se
07/16 16:00
什么是中断?就是打断当前要做的事,转而去执行别的事情.比如小七我现在正在电脑前写帖子,突然老妈叫我帮她下楼拿点东西,于是我就收到了老妈给我的一个中断(可以叫做外部中断),当我去拿东西时,突然尿急(内部中断,尿袋快要撑爆了),这又是一个中断,!我们把引起中断的事件叫做中断源(如老妈给我的任务,以及我的尿意...外部引起的叫外部中断,内部引起的叫内部中断),产生中断后就要去处理它,这称为中断的响应.
由于尿急这个内部中断的优先级比老妈给我的外部中断还要高,尿急了,我总得先去撒尿吧?所以我就
07/13 01:32
1 简介 I2C 总线仅仅使用 SCL . SDA 两根信号线就实现了设备之间的数据交互,极大地简化对硬件资源和 PCB 板布线空间的占用.因此, I2C 总线被非常广泛地应用在 EEPROM .实时钟.小型 LCD 等设备与 CPU 的接口中. Linux I2C GPIO驱动是在没有专用I2C芯片的情况下,用GPIO口来模拟I2C总线时序,完成Linux与I2C设备的通信过程.用两根GPIO,分别模拟SDA和SCL.它与使用i2c芯片的驱动有所不同的是传输算法的实现,GPIO模拟i2c驱动中
07/09 17:25
PS:昨天把本本上以前安装的CentOS 6.0(用了一年,USB驱动出问题了,懒得去折腾)给换成Oracle Linux 6.3,上面装Oracle11g等.本本显卡是NVIDIA GT 540M,系统自带的Nouveau显卡驱动不支持3D加速,别说用Compiz特效桌面或玩3D游戏了,连看个在线视频都不流畅,只好去下载NV官方驱动重新安装.这个NV显卡驱动其实以前安装过很多次了,以前在CentOS 5.x/6.x.Fedora 12/13/15上面都安装过,方法步骤基本一样. 本文以目前Nv
02/15 02:38
下面是测试代码: //按键测试程序// #include &stdio.h& //标准输入输出头文件// #include &stdlib.h& //标准库// #include &unistd.h& //一些宏的定义在这里// #include &sys/ioctl.h& //设备的控制// #include &sys/types.h& //定义了一些类型// #include &sys/stat.h& //状态// #inclu
12/11 12:26
博客首页 注册 建议与交流 排行榜 加入友情链接 frensky2
Think,Confidence,Plan 成功的TCP}

我要回帖

更多关于 160224基金净值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信