下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 如何用单片机C语言编写液晶显示程序

如何用单片机C语言编写液晶显示程序.pdf

如何用单片机C语言编写液晶显示程序

only
2009-08-14 0人阅读 举报 0 0 暂无简介

简介:本文档为《如何用单片机C语言编写液晶显示程序pdf》,可适用于IT/计算机领域

PC&MCU电脑与单片机L一液晶显示程序文/周坚字符型液晶显示器用于显示数字、字母、图形符号。这类显示器均把LCD控制器、点阵驱动器、字符存储器等做在一块板上再与液晶屏一起组成一个显示模块因此这类显示器的安装与使用都较简单。图是一块仿真实验板上字符型液晶的接口电路。要求编写程序从该板的第二行第列开始显示“HelloWorld!”。由于市面上常见的字符型液晶驱动器均由HD或其兼容芯片构成因此这类液晶屏的驱动程序具有一定的通用性这里给出用C语言写的驱动程序。在设置字符的起始行、列后直接调用驱动程序提供的WfiteString函数即可将字符串显示在指定的位置使用非常简单。在熟悉了程序后略作改动便可用于、等型号的液晶屏。#include”reg.h”#include<absacc.h>#include<intrinS.h>#defineDPORTP#defimeucharunsignedCharsbitRSsbitRWPPsbitE=PucharXpos//列方向地址指针ucharYpos//行方向地址指针#defineNoDisp关显示#defineNoCur无光标#defineCurNoFlash有光标但不闪烁#defimeCurFash有光标且闪烁voidLcdWcn(uchar)voidLcdWc(uchar)VOidWriteChar(uchar)voidLcdPoS()VOidLcdWd(uchar)VOidLcdWdn(uchar)/延时程序由Delay参数确定延迟时间/VOidmDelay(unsignedintDeay){⋯}/光标设置命令Cur为参数/VOidSetCur(ucharCur){...}/薛龠夸VOidCrLcd(){LcdWc(x))/在指定的行与列显示/voidWriteChar(ucharC){LcdPoS()LcdWd(C))/正常读写操作之前检测LCD控制器VOidWaitIdle()f⋯⋯)/不检测忙的写字符子程序/VOidLcdWdn(ucharc、{⋯⋯)’/带忙检测的写字符子程序/VOidLcdWd(ucharC){WaitIdle()LcdWdn(C))/不检测忙信号的送控制字子程序/voidLcdWcn(ucharC){⋯⋯}/检测忙信号的送控制字子程序/voidLcdWc(ucharC){WaitIdle()LcdWcn(C))VOidLcdPoS()//定位{hchartmpXpos=xfYpos&:Oxtmp=XpoSif(YpoS==)tmp=xtmpl=xLcdWc(tmp)}voidRstLcd()/*LCD的复位程序/{⋯...}VOidWriteString(charS】){⋯⋯)VOidmain(){uCharsl】=”HeOWorid!”RStLCdClrLcdSetCur显示且闪烁))Cu//复住LCDrFlash)//光标毛禽屯.总第o期·WWW.radio.com.cn筠维普资讯http:wwwcqvipcom.Ii|●■IPcMCU电脑与单片机甩藏片机制两熬蕊片≯亮隆机文/滕世进丁新最近几年开发生产的彩电普遍采用IC总线技术其中各种初始化默认值、标准值以及各种个性化设置的参量皆存储于串行存储芯片中。笔者用单片机开发了两款串行存储芯片E!PROM克隆机它既能复制芯片又能判断芯片的好坏使维修和检测快捷而准确现介绍给大家。电路原理图l是E!一B芯片克隆机的电原理图。图中ICl采用单片机GMSC(GMsC系列单片机是韩国开发的性能优良的单片机新品种其指令系统及管脚皆与AT系列单片机完全兼容并且采用OTP技术根本不存在解密的可能是AT系列单片机理想的替代产品之一)的Pl口用来驱动液晶显示屏LCD。此显示屏为O×点阵字符型显示器件驱动芯片为HS或其他功能类似芯片。此显示屏可在初始化时设置为位输入也可设置为位输入。在图l所示电路中为节约口线设置为位输入方式一字节的数据或命令控制字分两次输入。ICl的P.至P.分别与LCD的l脚至l脚连接构成数据命令通道进行数据交换P.、P.与LCD的脚、脚相连接提供读写逻辑以实现命令或数据的输入。这样通过程序控制即可将要显示的信息送至显示屏上显示出来。ICl的P.是提示声音脉冲信号输出端由此端输出的脉冲信号通过电阻R驱动VT继而推动DB发声Sl串联电阻Rl后与Cl并Xpos=Ypos=l:WriteString(S)for(){))限于篇幅这里的程序没有完整给出在本期配刊光盘的“本期程序”文件夹中有完整的程序。程序分析:本程序中大量使用了函数在此对函数的功能作一个简介。C语言程序是由一个个函数构成的从函数定义的形式上划分函数有三种形式:无参数函数、有参数函数和空函数。无参数函数的定义形式为:返回值类型识别符函数名(){函数体语句}如本例中的voidWaitIdle(){⋯⋯)就是一个无参数函数。有参数函数的定义形式为:返回值类型识别符函数名(形式参数列表){函数体语句}如本例中的vidLCdWdn(ucharC){⋯⋯)就是一个有参数的函数。函数可以返回一个值也可以什么值也不返回如果函数要返回一个值在定义这个函数时要定义好这个值的数据类型这里所说的数据类型就是指前面课程中介绍到的int、char、float等类型。如果在定义函数时没有定义返回值的类型系统默认为返回一个int型的值。如果明确地知道一个函数将没有返回值可以将其定义为void型这样如果在调用函数时错误地使用了“变量名=函数名”的方式来调用函数编译器就能发现这一错误并指出。本例中就大量地应用到了void型函数。C语言采用函数之间的参数传递方式这使得一个函数能对不同的变量进行功能相同的处理使函数具有了通用性。定义函数时写在函数名括号中的称之为形式参数而在实际调用函数时写在函数括号中的称之为实际参数。本例中:VOidSetCur(ucharCur){⋯)函数中Cur就是一个形式参数而在主函数中调用时写的:setCur(CurFlash)其中CurFlash就是一个用符号常量表示的实际参数在执行该函数时该踮lE.彦它.总第o期·WWW.radio.corn.cn值被传递到函数内部并执行。每一个程序所调用的函数必须已被定义否则就会出现语法错误因此程序中一般要求在程序的开头对程序中用到的函数进行统一的说明然后再分别定义有关函数本例中有:voidWriteChar(uchar)VOidLcdWdn(uchar)就是首先在程序的前方写一个有关函数的说明而真正的函数定义则放在程序后部。但细心的读者可能发现有一些函数并未写其说明而是直接在程序中定义了如mDelay函数这是为何呢这是因为这些函数出现在程序的前面在还没有任何函数调用它们之前它们就被定义了因此就不需要再单独写一个函数说明。读者如果将mDelay函数的定义移到程序的后面位置再次编译就会出错。当然好的编程习惯是不论函数在何处被定义总是在前面写一个函数说明。通过有关内容的学习我们已经可以使用C语言进行一些实际的工程开发工作大家可以在工作中继续学习有关C语言的知识。维普资讯http:wwwcqvipcom

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/2

如何用单片机C语言编写液晶显示程序

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利