历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2018年01月08日 | 128*64带字库液晶并口模式C程序

2018-01-08 来源:eefocus

//128*64带字库液晶并口模式下显示C程序 
//********************************************************************* 
//             变量定义区 
//********************************************************************* 

#include 
#include 

#define uchar unsigned char 
#define uint  unsigned int 


sbit LCD_RS=P2^6;  //数据/命令选择 
sbit LCD_RW=P2^7;  //读写控制 
sbit LCD_EN=P2^0;  //片选信号 
#define LCD_DATA P0  //8 bit数据线 

#define LOW  0 
#define HIGH  1 


//初始化指令 
#define CLEAR_SCREEN 0x01  //清屏指令:清屏且AC值为00H 
#define AC_INIT   0x02  //将AC设置为00H。且游标移到原点位置 
#define CURSE_ADD  0x06  //设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动) 
#define FUN_MODE  0x30  //工作模式:8位基本指令集 
#define DISPLAY_ON  0x0c  //显示开,显示游标,且游标位置反白 
#define DISPLAY_OFF  0x08  //显示关 
#define CURSE_DIR  0x14  //游标向右移动:AC=AC+1 
#define SET_CG_AC  0x40  //设置AC,范围为:00H~3FH 
#define SET_DD_AC  0x80 


//***************************************************************** 
//函数名称:delay(uint t)延时函数。对于12M晶振大约延时1ms 
//入口参数:t 
//出口参数:无 
//***************************************************************** 
void delay(uint t)   

  uint i; 
  while(t--) 
  { 
     for(i=0;i<125;i++) 
       ; 
  } 


//***************************************************************** 
//函数名称:write_cmd(uint lcd_cmd)写指令 
//入口参数:lcd_cmd 
//返回参数:无 
//***************************************************************** 
void WriteCmd12864(uchar lcd_cmd) 

 LCD_RS=LOW;    
 LCD_RW=LOW;    
 LCD_EN=HIGH;   
 LCD_DATA=lcd_cmd; 
 LCD_EN=LOW;    



//**************************************************************** 
//函数名称:write_data(uint lcd_data)写数据 
//入口参数:current_data 
//返回参数:无 
//**************************************************************** 
void WritEDAta12864(uchar lcd_data) 

 LCD_RS=HIGH; 
 LCD_RW=LOW; 
 LCD_EN=HIGH; 
 LCD_DATA=lcd_data; 
 LCD_EN=LOW; 


/**************************************************************** 
函数名称:Write12864(uint)写数据 
入口参数:cmd,data 
返回参数:无 
****************************************************************/ 
void Write12864(uchar lcd_cmd,uchar lcd_data) 

 WriteCmd12864(lcd_cmd); 
 WriteData12864(lcd_data); 



//**************************************************************** 
//函数名称:ReadBusy()判忙 
//入口参数:无 
//返回参数:"1"忙;"0"不忙 
//**************************************************************** 
void ReadBusy(void) 

 uchar i=5; 
    while(i--); 


/**************************************************************** 
函数名称:LcdInit()初始化 
入口参数:无 
返回参数:无 
****************************************************************/ 
void LcdInit() 

 delay(50); 
 WriteCmd12864(FUN_MODE); 
 delay(1); 
 WriteCmd12864(FUN_MODE); 
 delay(1); 
 WriteCmd12864(DISPLAY_ON); 
 delay(1); 
 WriteCmd12864(CLEAR_SCREEN); 
 delay(20); 
// WriteCmd12864(CURSE_ADD); 


/**************************************************************** 
函数名称:LcdClear()清屏 
入口参数:无 
返回参数:无 
****************************************************************/ 
void LcdClear(void) 

 ReadBusy(); 
 WriteCmd12864(CLEAR_SCREEN); 
 delay(3); 



/**************************************************************** 
函数名称:DisplayCgrom(uchar Hz)显示CGROM里的汉字 
入口参数:无 
返回参数:无 
****************************************************************/ 
void DisplayCgrom(uchar addr,uchar *hz) 

 ReadBusy(); 
 WriteCmd12864(addr); 
 ReadBusy(); 
 while(*hz != ’\0’) 
 { 
  WriteData12864(*hz); 
  hz++; 
  ReadBusy(); 
 } 

}  

/**************************************************************** 
函数名称:Display()显示测试结果 
入口参数:无 
返回参数:无 
****************************************************************/ 
void Display(void) 

 DisplayCgrom(0x80,"东哥 单片机 学习网"); 
 DisplayCgrom(0x88,"www.pICavr.com"); 
 DisplayCgrom(0x90,"www.stc89.com"); 
 DisplayCgrom(0x98,"电话:13512767404"); 


/**************************************************************** 
   主程序 
****************************************************************/ 
void main(void) 


 LcdInit(); 
 LcdClear(); 
 while(1) 
 { 
 Display(); 
 } 


推荐阅读

史海拾趣

洲光源(Chau Light)公司的发展小趣事

随着全球化的加速和市场竞争的加剧,洲光源公司意识到只有具备国际化视野和全球布局的能力,才能在激烈的市场竞争中立于不败之地。因此,公司开始积极拓展海外市场,与多个国家和地区的客户建立了长期稳定的合作关系。同时,洲光源还积极参与国际交流和合作,不断提升公司的国际化水平和影响力。这些努力使得洲光源公司在国际市场上逐渐崭露头角,成为一家具有全球影响力的红外LED光源器件提供商。

请注意,以上故事均为虚构内容,仅供参考。在实际情况中,洲光源公司的发展历程可能更加复杂和多元化。

智浦欣(Chipstar)公司的发展小趣事

在2010年4月的上海张江高科技园区,一群志同道合的工程师和创业者聚集在一起,共同创立了上海智浦欣微电子有限公司。他们怀揣着对模拟及数模混合IC技术的深厚理解和热爱,立志要在消费类电子市场占据一席之地。起初,公司面临着资金紧张、技术挑战和市场压力等多重困难,但团队成员凭借对技术的执着和对市场的敏锐洞察,逐步攻克难题,研发出了几款性能优越的音频放大器和电源管理产品,为公司赢得了初步的市场认可。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

进入21世纪后,E-T-A公司开始关注智能电路保护技术的研发。公司投入大量资源进行技术创新,成功推出了多款智能电路保护产品。这些产品不仅具有更高的安全性和可靠性,还能实现远程监控和控制功能,为客户提供更加便捷和高效的服务。

HEIMANN公司的发展小趣事

进入21世纪后,E-T-A公司开始关注智能电路保护技术的研发。公司投入大量资源进行技术创新,成功推出了多款智能电路保护产品。这些产品不仅具有更高的安全性和可靠性,还能实现远程监控和控制功能,为客户提供更加便捷和高效的服务。

AnalogicTech公司的发展小趣事

AnalogicTech公司成立于1997年,总部位于美国硅谷。在创立初期,公司面临资金短缺、市场竞争激烈等诸多挑战。然而,凭借创始团队对半导体技术的深刻理解和前瞻视野,AnalogicTech成功开发出一系列具有创新性的产品,逐渐在市场中站稳脚跟。

Headland Technology Product Group公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的基石。HBControls深知这一点,因此始终将品质管理放在首位。公司建立了完善的质量管理体系,从原材料采购、生产加工到成品检验,每一个环节都严格把关。此外,HBControls还定期对员工进行质量意识培训,确保每一位员工都能将品质理念融入到日常工作中。正是凭借卓越的产品质量和优质的服务,HBControls赢得了众多客户的信赖和好评。

问答坊 | AI 解惑

常用场效应晶体管放大器的识别

场效应晶体管放大器 1、场效应晶体管具有较高输入阻抗和低噪声等优点,因而也被广泛应用于各种电子设备 中。尤其用场效管做整个电子设备的输入级,可以获得一般晶体管很难达到的性能。 2、场效应管分成结型和绝缘栅型两大类,其控制原理都是 ...…

查看全部问答>

S3C6410开发板,linux下载cramfs文件,系统停留在:tap anywhere on the screen to continue点击触摸屏没反应

发现个问题:我在使用S3C6410开发板,linux下载cramfs文件系统后,系统起来,串口信息正常~但是显示屏停留在:tap anywhere on the screen to continue 的页面 ,点击触摸屏没反应... 好不容易删掉文件系统下/etc/pointercal;重新编译生成.cramfs文件,下 ...…

查看全部问答>

PPC下NAND FLASH问题

有没有在ppc8248(8272系列)环境下进行NAND FLASH开发?NAND FLASH用GPCM模式是否满足NAND FLASH时序?有没有大侠发表一下见解。…

查看全部问答>

芯片设计选型咨询

大家好,我要做一款类似多媒体播放器(外接电源供电)从网络上下载需要播放的资源然后进行播放,现在下载使用的是WiFi,速度是一个瓶颈,想从几款芯片中选型,需求描述比较简单就是需要支持播放H264,支持大LCD,在性能、货源、速度稳定的基础上其他媒 ...…

查看全部问答>

关于Keil uVision3的中文显示

为什么的我的.C文件里的中文显示不出来,而在笔记本上用同样版本的却能显示中文呢?遇到过的说下原因啊…

查看全部问答>

视频光端机四大常见故障及应对办法

随着城市进程的发展,安防环境的复杂性,安防监控工程中越来越多的采用光纤技术传输图像、声音、数据等信息,光纤传输系统的关键设备―数字视频光端机受到广大用户的青睐。     1、光端机的光路问题:     安防监控工程中 ...…

查看全部问答>

我这个电路有问题吗?

今天挺郁闷 昨天调的好好的S08板 今天一不小心用个外热式的便宜烙铁补一枪 结果就down不进去程序了 接线检查了好几遍也没发现啥 拿自己做的逻辑笔一上 居然芯片开始发热 实在搞不懂測电平以前用的好好的没烧过啊 今天一上芯片就热了 我用的电 ...…

查看全部问答>

单片机控制sa8282产生SPWM波形遇到的问题

如题:我是严格按芯片资料的时序写程序了,但不管怎么改参数,上半桥的3个口都没输出,另外三个有输出,应该证明指令已经写进去了,请问哪位高手知道这是什么问题???跪求解答…

查看全部问答>

用人之道

 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀。但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙。弥乐佛热情快乐,所以来的人非常多,但他什么都不在乎,丢三拉四,没有好好的管理 ...…

查看全部问答>

线性稳压电源如何通过EMC

需要求助大家,线性稳压电源如何通过EMC呢?有什么好的办法?…

查看全部问答>