历史上的今天
返回首页

历史上的今天

今天是:2025年01月10日(星期五)

正在发生

2018年01月10日 | 12864并口方式显示程序

2018-01-10 来源:eefocus

12864并口方式显示程序                         
#include  

unsigned char code IC_DAT[];

 

sbit RS=P3^6;     //RS="H",表示DB7--DB0为显示数据, 
                  //RS="L",表示DB7--DB0为显示指令数据 

sbit WRD = P2^5;  //R/W="H",E="H",数据被读到DB7--DB0 
                   //R/W="L",E="H→L", DB7--DB0的数据被写到IR或DR 

sbit E = P2^6;    //使能信号 

sbit PSB = P2^3;  //H:并口方式 L:串口方式 


void    TransferData(char data1,bit DI); //传送数据或者地址命令(data), 
                                         //当DI=0是,传送命令,当DI=1,传送数据. 
void    display(void); 
void    display_grapic(void); 

void    delay(unsigned int m); 
void    delayms(unsigned int n); 

void    DisplayLine(unsigned char line1,unsigned char line2); 
void    DisplayGraphic(unsigned char code *adder); 

void    LCD_mesg(unsigned char code *adder1); 


unsigned char code IC_DAT[]={ 
"东哥 单片机 学习网" 
" www.picavr.com " 
"手机-13512767404" 
"商城--东哥邮购网" 
}; 

/***************LCD字库初始化程序*********************/ 
void initinal(void)          
          { 
           delay(40);               //大于40MS的延时程序 
           PSB=1;                   //设置为8BIT并口工作模式 
           delay(1);                //延时 
          // RES=0;                 //复位 
          // delay(1);              //延时 
          // RES=1;                 //复位置高 
           delay(10); 
           TransferData(0x30,0);  //Extended Function Set :8BIT设置,RE=0: basic instruction set, G=0 :graphic  
display OFF 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x30,0);  //Function Set 
           delay(37);             ////大于37uS的延时程序 
           TransferData(0x08,0);  //Display on Control 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x10,0);  //Cursor Display Control光标设置 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x0C,0);  //Display Control,D=1,显示开 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x01,0);  //Display Clear    清屏 
           delay(10);             //大于10mS的延时程序 
           TransferData(0x06,0);  //Enry Mode Set,光标从右向左加1位移动 
           delay(100);            //大于100uS的延时程序 
          } 


//*************显示函数****************************** 

void lcd_mesg(unsigned char code *adder1) 

    unsigned char i; 
        TransferData(0x80,0);    //Set Graphic Display RAM Address 传地址指令 
        delay(100); 
    for(i=0;i<32;i++) 
        { 
              TransferData(*adder1,1); 
               adder1++; 
        } 

        TransferData(0x90,0);    //Set Graphic Display RAM Address 
        delay(100); 

    for(i=32;i<64;i++) 
        { 
              TransferData(*adder1,1); 
               adder1++; 
        } 


//********写命令/数据******************************* 

void    TransferData(char data1,bit DI)  //传送数据或者命令,当DI=0是,传送命令, 
          {                                 //当DI=1,传送数据. 
            WRD=0;    //R/W="H",E="H",数据被读到DB7--DB0,R/W="L",E="H→L", DB7--DB0的数据被写到IR 
或DR 
            RS=DI;    //RS="H",表示DB7--DB0为显示数据, RS="L",表示DB7--DB0为显示指令数据 
            delay(1); 
            P0=data1; 
            E=1; 
            delay(1); 
            E=0; 
           } 
//************延 时******************************************* 
void  delayms(unsigned int n)            //延时10×n毫秒程序 
                   { 
                      unsigned int i,j; 
                      for(i=0;i                         for(j=0;j<2000;j++); 
                   } 

void  delay(unsigned int m)              //延时程序 
                   { 
                      unsigned int i,j; 
                      for(i=0;i                         for(j=0;j<10;j++); 
                   } 


//************主函数************************************** 
void main(void) 
     {  
     initinal(); //调用LCD字库初始化程序  
          
         while(1) 
        { 
                     
          delay(10);            //大于100uS的延时程序 
          lcd_mesg(IC_DAT);      //显示中文汉字1 
          delayms(10); 

        } 
      } 

//************结 束****************************************** 


推荐阅读

史海拾趣

Acopian Power Supplies公司的发展小趣事

Acopian Power Supplies是一家专业生产电源供应器件的公司,以下是该公司发展的五个相关故事:

  1. 公司创立与起步阶段: Acopian Power Supplies成立于1956年,总部位于美国宾夕法尼亚州。公司创始人Sarkis Acopian先生将其家庭小作坊扩展为一家专业的电源供应器件制造商。创立之初,公司专注于生产高品质、高可靠性的直流电源,并提供定制化的解决方案。

  2. 技术创新和产品拓展: 随着市场需求的增长和技术进步,Acopian Power Supplies不断进行技术创新,并扩展了产品线。公司逐步推出了各种规格和型号的直流电源、交流电源、开关电源等产品,满足不同行业的需求,如工业、通信、医疗等领域。

  3. 市场拓展和国际化发展: Acopian Power Supplies积极开拓国内外市场,并与全球各地的客户建立了长期合作关系。公司的产品远销至美国以外的多个国家和地区,赢得了广泛的市场认可。通过与国际渠道商合作,公司逐步实现了国际化发展战略。

  4. 质量控制和技术支持: Acopian Power Supplies注重产品质量和技术支持,建立了完善的质量控制体系和售后服务体系。公司引进先进的生产设备和检测设备,严格控制产品质量,并提供专业的技术支持和解决方案,确保客户获得最佳的用户体验。

  5. 未来发展展望: Acopian Power Supplies将继续致力于电源供应器件领域的研发和生产,不断推出更先进、更可靠的产品和解决方案,以满足客户在不断变化的市场需求。公司将进一步加强研发投入,不断提升产品性能和质量水平,努力成为行业内的领先企业。

Chengdu Sino Microelectronics Technology Co Ltd公司的发展小趣事

2000年3月,成都华微科技诞生。当时,集成电路设计行业刚刚起步,市场竞争激烈。然而,公司凭借对中国电子信息产业集团的坚定信任,以及对中国集成电路设计市场的深刻洞察,毅然决然地踏上了这条充满挑战的道路。初创期的华微科技,虽然规模较小,但团队成员都怀揣着对技术的热情和对未来的憧憬,为公司的长远发展奠定了坚实的基础。

Electric Imp Inc.公司的发展小趣事

随着第一款产品的成功,Electric Imp Inc.公司开始积极拓展市场。公司与多家知名厂商建立了合作关系,将物联网设备管理平台应用于智能家居、工业自动化、智慧城市等领域。同时,公司还加强了与高校、科研机构的合作,共同研发新技术、新产品。这些努力使得公司在物联网领域的影响力逐渐扩大。

Cree(科瑞)公司的发展小趣事

如今的Cree已经成为宽带隙半导体的创新者,专注于碳化硅和氮化镓材料、功率和射频应用的设备以及特种照明级LED产品的研发和生产。其产品在运输、电源、逆变器和无线系统等领域有着广泛的应用。同时,Cree的LED产品也专门用于室内和室外照明、电子标牌和信号以及视频显示器等。作为市场上领先的照明革新者与半导体制造商,Cree通过显著提高固态照明、电力及通讯产品的能源效果来提升其价值,展现了其在电子行业中的卓越地位和创新实力。

Feller US公司的发展小趣事

随着市场竞争的加剧和资金问题的持续困扰,菲斯克在某一时期不得不宣布停产六周。这一决定引发了外界的广泛关注和质疑。然而,菲斯克并没有因此放弃,而是利用这段时间进行了深入的内部反思和策略调整。通过优化生产流程、降低成本以及加强与其他汽车制造商的合作,公司逐渐走出了困境,重新焕发出新的生机。

Hartmann Codier GmbH公司的发展小趣事

随着全球汽车产业的不断发展,国际合作已成为企业拓展市场、提升竞争力的重要途径。菲斯克也深刻认识到了这一点,积极寻求与全球各地的汽车制造商和供应商建立合作关系。通过与国际巨头的合作,菲斯克不仅获得了先进的技术和管理经验,还成功进入了多个国际市场,实现了全球布局的目标。这一系列的国际合作不仅提升了公司的知名度和影响力,还为公司的长期发展提供了有力的支持。

问答坊 | AI 解惑

ARM入门

一 首先说说ARM的发展       可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。       广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微 ...…

查看全部问答>

睡眠耳机

很多人有睡前听轻音乐的习惯,据说这样不仅有助于很快入睡,而且还可以治疗打鼾。如果是戴普通的耳机你只能是平躺着,而且如果中间睡着了,耳机可能会被压在身下,而这款由一位家庭医生发明的睡眠耳机SleepPhones,被制作成了头带,戴着它你可以采 ...…

查看全部问答>

LCD分屏显示(高手指点)

比如:我要在LCD上显示4个画面,每一个画面占LCD得1/4。就像我们坐公交可以经常看到,显示多个监测画面。 不知道怎么贴图,画一个: |…

查看全部问答>

STR912有人成功扩充外部存储器(16bitSRAM)吗?

通过16位数据/地址复用方式,有人成功给STR912扩充外部存储器(16bit SRAM)吗?中间加了一只16位地址锁存器来扩充外部存储器SRAM,有无问题?最高速度怎样(是否只有96/2/2=24MHz)?稳定性怎样?  …

查看全部问答>

自制 51 avr pic 开发板

有想要啥资料的可以+qq 15508561422   目前在用彩屏,个小游戏,很久远的摩托罗拉手机中的 足球游戏 大家可以一起交流     功能板1 1:4*4矩阵键盘,键盘的应用不言而喻,任何一个实验或者项目中我们都可以看见按键的身影。 ...…

查看全部问答>

EKK-LM4F232例程一 PWM外设

 PWM相关函数原型   void ROM_PWMDeadBandDisable (unsigned long ulBase, unsigned long ulGen) 禁止PWM死区输出 void ROM_PWMDeadBandEnable (unsigned long ulBase, unsigned long ulGen, unsigned short usRise, unsigned short ...…

查看全部问答>

MSP430 的视频处理问题

大家好 在下新人一枚 请问MSP430 是否可以连接摄像头以及处理视频呢?     最近收到导师给的任务 大体是使用两个   TI 的 TrxEB 开发板 (搭载MSP430 5438a的MCU)     实现无线的视频传输&n ...…

查看全部问答>

请高手解决

我在使用bq784XX Evaluation中,把Unseal Device设置成了Level 2,现在不知道如何改回来,我看是要输密码,但是不知道密码是多少 !…

查看全部问答>