13.3.2 LCD编程C语言程序例.doc_第1页
13.3.2 LCD编程C语言程序例.doc_第2页
13.3.2 LCD编程C语言程序例.doc_第3页
全文预览已结束

下载本文档

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

文档简介

13.3.2 LCD编程C语言程序例(1)LCD编程C语言子函数 LCD编程汇编子函数(LcdShow.c)/*文件描述:本文件包含了用HD44780显示相关的3个子程序 * 1. LCDShow:在LCD上显示32个字符 * 2. LcdInit:初始化Lcd * 3. Lcd_Command:执行给定的cmd命令 *-嵌入式应用技术基础教程-*/以下为子程序源代码/头文件#include GP32C.h /包含头文件#define LcdData PTB /Lcd显示数据传送口#define LcdData_D DDRB /数据口方向寄存器#define LcdCtrl PTC /Lcd控制信号传送口#define LcdCtrl_D DDRC /控制口方向寄存器#define LcdRS 0 /Lcd寄存器选择信号PTC0#define LcdRW 1 /读写信号接PTC1#define LcdE 2 /Lcd使能信号接PTC2/内部调用子程序void Lcd_Command(unsigned char cmd); /命令执行子程序void LcdInit(void); /Lcd初始化子程序/*LcdShow:在HD44780显示屏上显示数据-*功能描述:在HD44780显示屏上显示str中的32个数据 *参 数:str:待显示数组 *返 回:无 *-以上为子程序说明-*/void lcdshow(unsigned char str) unsigned char i; LcdInit(); /调用Lcd初始化子程序 /显示第1行16个字符 LcdCtrl&=(1LcdRS); /RS、R/W=00,写指令LcdCtrl&=(1LcdRW); Lcd_Command(0b10000000); /后7位为DDRAM地址0x00 LcdCtrl|=1LcdRS; /RS、R/W=10,写数据到DDRAM中 LcdCtrl&=(1LcdRW); for (i=0;i16;i+) /逐个显示 Lcd_Command(stri); /显示第2行16个字符 LcdCtrl&=(1LcdRS); /RS、R/W=00,写指令LcdCtrl&=(1LcdRW); Lcd_Command(0b11000000); /后7位为DDRAM地址0x40 LcdCtrl|=1LcdRS; /RS、R/W=10,写数据到DDRAM中LcdCtrl&=(1LcdRW); for (i=16;i32;i+) /逐个显示 Lcd_Command(stri); /*LcdInit:初始化Lcd-*功 能:初始化Lcd(HD44780),设置显示方式,清屏,AC自动+1 *参 数:无 *返 回:无 *-*/void LcdInit(void) unsigned char i; LcdData_D=0b11111111; /数据口为输出 LcdCtrl_D|=(1LcdE); /控制口低三位为输出 LcdCtrl_D|=(1LcdRS); LcdCtrl_D|=(1LcdRW); LcdCtrl|=(1LcdE); /E=1 LcdCtrl&=(1LcdRS); /RS、R/W=00,写指令 LcdCtrl&=(1LcdRW); Lcd_Command(0b00111000); /8位数据接口,2行,5*7点阵 Lcd_Command(0b00001000); /关显示,关光标显示,不闪烁 Lcd_Command(0b00000001); /清屏 for(i=0;i1.6ms for(i=0;i250;i+); Lcd_Command(0b00010100); /光标右移一个字符位,AC自动加1 Lcd_Command(0b00001100); /开显示,关光标显示,不闪烁 /*Lcd_Command:执行给定的cmd命令-*功 能:执行给定的cmd命令,且延时 *参 数:cmd:待执行的命令 *返 回:无 *-*/void Lcd_Command(unsigned char cmd) unsigned char i; for (i=0;i40us LcdData=cmd; /把指令码送到Lcd数据传送口 LcdCtrl|=(1LcdE); /Lcd开始接收数据 asm(NOP); asm(NOP); asm(NOP); LcdCtrl&=(1LcdE); /Lcd结束接收数据 for (i=0;i40us (2)主函数 实例编号:C07 路径:CC07_ 液晶LCD显示(Lcd.prj)/*-*工 程 名:Lcd.prj *硬件连接: 1.LCD的DB0-7与MCU的B口的PTB0-7连接 * 2.LCD的RS,R/W,E与MCU的PTC0,PTC1,PTC2连接 *功能:1.初始显示:Wait Receiving. Soochow 2005.08 * 2.等待接收字符,当收到32个字符时显示,重复此功能 *-嵌入式应用技术基础教程教学实例-*/*头文件*/#include SCI.h /串行通信子程序头文件#include GP32C.h /包含头文件/*函数声明*/extern void lcdshow(unsigned char *str);extern void SCIInit(void);/*主程序*/const unsigned char DispalyInit=Wait Receiving. Soochow 2005.08;void main(void) unsigned char data32; SCIInit(); /调串行口初始化子程序 lcdshow(unsigned char *)Dispal

温馨提示

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

评论

0/150

提交评论