SMC1602A标准字符点阵型液晶显示模块的演示程序.doc_第1页
SMC1602A标准字符点阵型液晶显示模块的演示程序.doc_第2页
SMC1602A标准字符点阵型液晶显示模块的演示程序.doc_第3页
SMC1602A标准字符点阵型液晶显示模块的演示程序.doc_第4页
SMC1602A标准字符点阵型液晶显示模块的演示程序.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/SMC1602A标准字符点阵型液晶显示模块的演示程序C51编程语言MCS51模拟口线方式/应用产品: SMC1602A SMC1602B SMC1602C SMC1602E标准字符点阵型液晶显示模块/ 本演示程序适用于SMC1602A液晶显示模块与MCS51系列单片机采用MCS51模拟口线的/硬件连线方式。/ 本演示程序包括HD44780兼容芯片的MCS51模拟口线方式子程序集,SMC1602系列标准字符/点阵型液晶显示模块的接口子程序集,HD44780兼容芯片的液晶显示控制器的通用子程序集,/以及SMC1602系列标准字符点阵型液晶显示的演示子程序./ 本演示的内容为,在16列ASCII字符X2行的液晶显示屏上显示SMC1602A,/WWW.SUNMAN.CN,所有数字0.9依次全屏显示一遍,显示清屏,所有英文字母依次显示,/依次读字符并加1后送回LCD显示./-/创建日期: 2009.08.11/软件环境: VW For Windows/硬件环境: AT89C52 MCU,MCS-51系列 MCU,etc./创建人: 褚建军(),谭超()./技术支持: 电话84167807),传真,网址()/版权信息: 长沙太阳人电子有限公司版权所有,转载请指明出处./-#include #include /以下为演示程序的函数定义void exsample(void); /演示程序void exdelay(void); /演示延时子程序void charfill(unsigned char c); /整屏显示A代表的ASCII字符子程序void putstrxy(unsigned char cx,unsigned char cy,unsigned char code *s); /在(cx,cy)字符位置写字符串子程序void putstr(unsigned char code *s); /定位写字符串子程序void putchar(unsigned char c); /在(CXPOS,CYPOS)字符位置写字符子程序unsigned char getchar(void); /在(CXPOS,CYPOS)字符位置读字符子程序void charlcdpos(void); /设置(CXPOS,CYPOS)字符位置的DDRAM地址void charcursornext(void); /置字符位置为下一个有效位置子程序void lcdreset(void); /SMC1602系列液晶显示控制器初始化子程序void delay3ms(void); /延时3MS子程序void lcdwc(unsigned char c); /送控制字到液晶显示控制器子程序void lcdwd(unsigned char d); /送控制字到液晶显示控制器子程序unsigned char lcdrd(void); /读数据子程序void lcdwaitidle(void); /忙检测子程序/-/SMC1602A产品引脚说明及演示连线/PIN1: VSS 电源地-VSS/PIN2: VDD 电源正极-VDD/PIN3: Vo LCD 偏压输入-接10K的可调电阻到VSS,0为显示最深/PIN4: RS 数据/命令选择端输入-P3.0/PIN5: RW 读写控制信号输入-P3.1/PIN6: E 使能信号输入-P3.2/PIN7: D0 Data I/O-P1.0/PIN8: D1 Data I/O-P1.1/PIN9: D2 Data I/O-P1.2/PIN10:D3 Data I/O-P1.3/PIN11:D4 Data I/O-P1.4/PIN12:D5 Data I/O-P1.5/PIN13:D6 Data I/O-P1.6/PIN14:D7 Data I/O-P1.7/PIN15:BLA 背光源正极-接10欧电阻到+5V./PIN16:BLK 背光源负极-VSS/请参见/document/product/chinese/usermanual/SMC1602A.pdf/字符表参见/document/ic/lcd/HD44780_CHARACTER_TABLE.pdf/-/以下为产品接口引脚在演示程序中的预定义/用户在编写应用程序时,需按自己的实际硬件连线来重新定义sbit RSPIN = P30; /RS对应单片机引脚sbit RWPIN = P31; /RW对应单片机引脚sbit EPIN = P32; /E对应单片机引脚/-/以下CXPOS,CYPOS变量用于指示当前操作字符的位置的预定义unsigned char data CXPOS; /列方向地址指针(用于CHARLCDPOS子程序)unsigned char data CYPOS; /行方向地址指针(用于CHARLCDPOS子程序)/-void main(void) /主程序 while(1) exsample(); /调用演示程序 void exsample(void) /演示程序 unsigned char i;/0.演示前的准备,LCD液晶显示控制器初始化,所有显示全清零 lcdreset(); /液晶显示控制器初始化 charfill( ); /显示清屏/1.字符串演示: 在(4,0)字符位置显示SMC1602A putstrxy(4,0,SMC1602A); /在(4,0)位置开始显示字符串 exdelay(); /延时约300mS exdelay(); /延时约300mS/2.字符串演示: 在(2,1)字符位置显示WWW.SUNMAN.CN putstrxy(2,1,WWW.SUNMAN.CN); /在(2,1)位置开始显示字符串 exdelay(); /延时约300mS exdelay(); /延时约300mS/3.字符填充演示: 整屏显示0.9 空格一遍 for(i=0;i9+1;i+) charfill(i); /整屏显示为i的值 exdelay(); /延时约300mS charfill( ); /显示清屏 exdelay(); /延时约300mS/4.字符演示: 依次显示A.Z 一遍 for(i=A;iZ+1;i+) /依次显示A.Z一遍 putchar(i); /当前位置显示为i的值 charcursornext(); /置字符位置为下一个有效位置 exdelay(); /延时约300mS /5.字符演示: 依次读字符并加1后送回LCD显示. for(CXPOS=0,CYPOS=0,i=0;i32;i+) /初始位置(0,0) putchar(getchar()+1); /当前位置读字符并加1后送回LCD显示 charcursornext(); /置字符位置为下一个有效位置 exdelay(); /延时约300mS void exdelay(void) /演示延时子程序 unsigned char i,j,k; /延时约300mS for(i=0;i30;i+) for(j=0;j64;j+) for(k=0;k15) /字符位置CXPOS15表示要换行 CXPOS=0; /置列位置为最左边 CYPOS+; /行位置加1 CYPOS&=0X1; /字符位置CYPOS的有效范围为(0到1) /-/子程序名称:void lcdreset(void)./功能:液晶显示控制器初始化./修改日期:2009.08.11/修改人:,/-void lcdreset(void) /SMC1602系列液晶显示控制器初始化子程序 /1602的显示模式字为0x38 lcdwc(0x38); /显示模式设置第一次 delay3ms(); /延时3MS lcdwc(0x38); /显示模式设置第二次 delay3ms(); /延时3MS lcdwc(0x38); /显示模式设置第三次 delay3ms(); /延时3MS lcdwc(0x38); /显示模式设置第四次 delay3ms(); /延时3MS lcdwc(0x08); /显示关闭 lcdwc(0x01); /清屏 delay3ms(); /延时3MS lcdwc(0x06); /显示光标移动设置 lcdwc(0x0C); /显示开及光标设置void delay3ms(void) /延时3MS子程序 unsigned char i,j,k; for(i=0;i3;i+) for(j=0;j64;j+) for(k=0;k51;k+);/-/以下lcdwc,lcdwd,lcdrd为HD44780兼容芯片的MCS51模拟口线方式的基本子程序,/lcdwaitidle为内部子程序./-/子程序名称:void lcdwc(unsigned char c)./功能:送控制字到液晶显示控制器./修改日期:2009.08.08/修改人:,/-void lcdwc(unsigned char c) /送控制字到液晶显示控制器子程序 lcdwaitidle(); /HD44780液晶显示控制器忙检测 RSPIN=0; /RS=0 RW=0 E=高电平 RWPIN=0; P1=c; EPIN=1; _nop_(); EPIN=0;/-/子程序名称:void lcdwd(unsigned char d)./功能:送数据到液晶显示控制器./修改日期:2009.08.12/修改人:,/-void lcdwd(unsigned char d) /送控制字到液晶显示控制器子程序 lcdwaitidle(); /HD44780液晶显示控制器忙检测 RSPIN=1; /RS=1 RW=0 E=高电平 RWPIN=0; P1=d; EPIN=1; _nop_(); EPIN=0;/-/子程序名称:unsigned char lcdrd(void)./功能:读数据到液晶显示控制器./修改日期:2009.08.12/修改人:,/-unsigned char lcdrd(void) /读数据子程序 unsigned char d; lcdwaitidle(); /HD44780液晶显示控制器忙检测 P1=0xff; RSPIN=1; /RS=1 RW=1 E=高电平 RWPIN=1; EPIN=1; _nop_(); d=P1; EPIN=0; return d;/-/子程序名称:void lcdwaitidle(voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论