历史上的今天
返回首页

历史上的今天

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

正在发生

2018年01月22日 | LCM128645液晶范例(ST7920)

2018-01-22 来源:eefocus

液晶使用ST7920控制器,串并行模式(本范例使用串行)

/* M16驱动LCM128645,液晶芯片ST7920

*/
#include "j.h"
#include

#define light_on cbi(PORTB, 2);
#define light_off sbi(PORTB, 2);

void clear_all(void);
// 显示用指针变量
char *line1;
char *line2;
char *line3;
char *line4;


void cpu_init(void)
{
//----------- IO端口初始化 START -----------------
 PORTA = 0x0;
 DDRA = 0x0;
 
 PORTB = 0xff;
 DDRB = 0xff;

 PORTC = 0x0;
 DDRC = 0x0;

 DDRD = 0x0;  // D口配置为输入
 PORTD = 0xff; // 使能上拉电阻
//----------- IO端口初始化 END -----------------

 wdt_enable(1);        // 看门狗使能  30MS
 ACSR = 0x80;
}


/*****************************************
液晶发送子程序(串行)
输入数据:要发送的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void lcm_out(char a)
{
 char i,d;
 for(i=0;i<8;i++)
 {
  cbi(PORTB,1);
  d=a&0x80;
  if(d)
   sbi(PORTB,0);
  else
   cbi(PORTB,0);
  a<<=1;
  sbi(PORTB,1);
 }
}


/*****************************************
液晶写控制字程序
输入数据:要写入的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void wr_com(uchar a)
{
 uchar s,i;
 s=a&0xf0;
 lcm_out(0xf8);
 lcm_out(s);
 s=a&0x0f;
 s<<=4;
 lcm_out(s);
 
 for( i=0;i<254;i++ )  // 延时
 {
  asm("nop");
 }
}
/*****************************************
液晶写数据字程序
输入数据:要写入的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void wr_date(uchar a)
{
 uchar s,i;
 s=a&0xf0;
 lcm_out(0xfa);
 lcm_out(s);
 s=a&0x0f;
 s<<=4;
 lcm_out(s);
 
 for( i=0;i<254;i++ ) // 延时
 {
  asm("nop");
 }
}
/*****************************************
液晶初始化程序
输入数据:无
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void lcm_init(void)
{
 wr_com(0x30);
 delay(1,8000);
 wr_com(0x30);
 delay(1,8000);
 wr_com(0x0c);
 delay(1,8000);
 wr_com(0x01);   // 清屏
 delay(10,8000);   // 清屏
 wr_com(0x60);
 delay(1,8000);
}

void clear_all(void)
{
 wr_com(0x01);   // 清屏
 delay(1,8000);   // 清屏
}

//----------- 整行显示函数 START -----------------
void display(void)
{
 wr_com(0x80);
 while( *line1!=0x00 )
 {
  wr_date(*line1);
  line1++;
 }

 wr_com(0x90);
 while( *line2!=0x00 )
 {
  wr_date(*line2);
  line2++;
 }

 wr_com(0x88);
 while( *line3!=0x00 )
 {
  wr_date(*line3);
  line3++;
 }

 wr_com(0x98);
 while( *line4!=0x00 )
 {
  wr_date(*line4);
  line4++;
 }
 line1 = "";
    line2 = "";
    line3 = "";
    line4 = "";
}
//----------- 整行显示函数 END -----------------


//----------- 系统初始化函数 START -----------------
void system_init(void)
{
 line1 = "";
    line2 = "";
    line3 = "";
    line4 = "";
    light_on
 lcm_init();
}
//----------- 系统初始化函数 END -----------------


int main(void)
{
 delay(200,8000);
 cpu_init();
 system_init();
 while(1)
 {
  line1 = "    欢迎光临    ";
  line2 = "";
  line3 = "    东创科技   ";
  line4 = " www.dycxin.com.cn ";
  display();

  delay(800,8000);
 }
}


推荐阅读

史海拾趣

Andon Electronics公司的发展小趣事

Andon Electronics 是一家全球领先的电子元件制造商,以下是该公司发展的相关故事:

  1. 公司成立与初期发展:Andon Electronics 成立于 1984 年,总部位于美国加利福尼亚州。最初,公司主要从事 LED 和其他电子元件的生产和销售。由于对高质量产品和客户服务的执着追求,公司迅速赢得了客户的信任和好评。

  2. 技术创新与产品拓展:随着市场需求的变化和技术的进步,Andon Electronics 不断进行技术创新,并逐步扩大产品线。除了 LED 产品外,公司还推出了多种其他电子元件,包括连接器、电缆组件、线束和传感器等。这些产品在汽车、工业、通信和消费电子等领域得到了广泛应用。

  3. 质量管理和认证:Andon Electronics 一直致力于质量管理和产品认证,确保产品符合国际标准和客户要求。公司拥有 ISO 9001 质量管理体系认证,并不断优化生产流程和质量控制体系,以确保产品质量的稳定性和可靠性。

  4. 全球布局和市场拓展:随着业务的不断发展,Andon Electronics 在全球建立了多个生产基地和销售办事处。除了在美国的总部和生产基地外,公司还在亚洲、欧洲和其他地区设立了办事处和生产工厂,以更好地服务全球客户,并适应当地市场的需求。

  5. 可持续发展和未来展望:Andon Electronics 将继续致力于技术创新、产品拓展和质量管理,以满足客户不断变化的需求。公司将继续关注环保和可持续发展,推动节能减排和资源利用效率的提升。同时,Andon Electronics 也将积极响应行业的变革和挑战,不断调整战略,保持在电子元件制造业的领先地位。

Eurosil Electronics Ltd公司的发展小趣事

随着全球对环保问题的日益关注,Eurosil也积极响应这一趋势。公司注重环保和可持续发展,在生产过程中采取了一系列环保措施,如减少废弃物排放、提高能源利用效率等。同时,Eurosil还积极研发环保型电子产品,为客户提供更加绿色、健康的产品选择。

Brainboxes公司的发展小趣事

随着全球化进程的加速,Brainboxes逐渐将业务拓展至全球范围。公司在多个国家和地区设立分支机构或销售网络,以便更好地服务当地客户。同时,Brainboxes也在不断探索新的应用领域和市场机会,为公司的未来发展奠定坚实基础。展望未来,Brainboxes将继续致力于技术创新和市场拓展,为电子行业的发展贡献更多力量。

这五个故事分别展现了Brainboxes公司在电子行业中的创立与发展、技术创新与荣誉、内部制造与供应链、客户亲密度与工业连接以及全球布局与未来展望等方面的事实。通过这些故事,可以更加全面地了解Brainboxes公司在电子行业中的成长轨迹和发展成就。

粤翔(FlyWin)公司的发展小趣事
保护医疗设备中的数据安全,避免因掉电导致的数据丢失或设备故障。
Eurofarad公司的发展小趣事

Eurofarad始终将品质管理作为公司发展的重要保障。公司建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。同时,Eurofarad还注重持续改进,不断优化生产流程和提高生产效率,确保产品的品质和性能始终保持在行业领先水平。

Corporation Soneet公司的发展小趣事

随着国内市场的饱和,Soneet开始将目光投向国际市场。公司积极开拓海外市场,与国外的电子设备制造商建立合作关系。通过参与国际项目合作和技术交流,Soneet不断吸收国际先进的技术和管理经验,提升自身实力。如今,Soneet已经成为一家具有国际化视野和竞争力的电子企业。

请注意,以上故事均为虚构内容,旨在展示一个电子行业内新兴公司可能经历的发展历程。实际情况中,每家公司的发展路径都会因其自身的特点和市场环境而有所不同。

问答坊 | AI 解惑

串行接口10位单通道A_D转换TLC1549中文数据资

本帖最后由 paulhyde 于 2014-9-15 04:12 编辑 供大家 参考  …

查看全部问答>

降低噪声与干扰

降低噪声与干扰 1)  能用低速芯片就不用高速的,高速芯片用在关键地方。 (2)  可用串一个电阻的办法,降低控制电路上下沿跳变速率。 (3)  尽量为继电器等提供某种形式的阻尼。 (4)  使用满足系统要求的 ...…

查看全部问答>

如何自动隐藏任务栏与开始菜单?

WINCE启动后,要求自动隐藏任务栏与开始菜单。请问通过设置哪里来实现?…

查看全部问答>

如何实现485通信

pc机经232-〉485转换器,后和多台485设备双向通信,我写过232的,对于485不清楚。 请问: (1)这个应该是全双工方式还是半双工方式? (2)如果是半双工如何知道现在有没有485设备占用通信线路? (3)如果发送不成功怎么知道?怎么办?再 ...…

查看全部问答>

iap使用问题

使用str711的iap功能向 flash bank1 写入数据 但是每次 执行写入 或者 清除片内内容时,系统都会重启,请问为何?…

查看全部问答>

iar5.40.7连接stm32f10xx问题

                                 我这有一个stm32f10xx的开发板,但是使用IAR5.40.7的开发软件,可是编译通过了,可无论如很都写不进flash,也无法 ...…

查看全部问答>

我的EK-LM3S811-ND Rev2 无法download 和debug

按照LM3S811 TI Evaluation kit光盘资料中的LM3S811EVALUATION KIT README FIRST安装驱动,安装后和资料里显示是驱动名称不一样. 资料讲的是LM3S811 Virtual COM Port(com6).”而我安装后显示\"stellaris ICDI Debug port(COM15)\",\"\"stellaris IC ...…

查看全部问答>

高价求芯片、电路设计,高手QQ1342451273

高价求芯片、电路设计,高手QQ1342451273…

查看全部问答>

请教一下,在沈阳做电路板制作有市场吗?

  请教一下大家,我想在沈阳开一个制作电路板的小店,主要是针对零散小批量的客户,利用雕刻机做,不知道有没有市场,需求量怎么样?有了解的朋友能不能给点建议。先谢谢大家了!…

查看全部问答>