找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 1855|回復(fù): 0
收起左側(cè)

C8051F410單片機(jī)的lcd1602應(yīng)用源程序

[復(fù)制鏈接]
ID:344274 發(fā)表于 2018-6-3 22:23 | 顯示全部樓層 |閱讀模式
單片機(jī)源程序如下:
  1. #include "C8051F410.h"
  2. //#include <INTRINS.H>
  3. #define  uchar  unsigned char
  4. #define  uint   unsigned int
  5. uchar code table[]="DIAN YA:";
  6. uchar code table1[]="Have A Good Time";
  7. uchar n;
  8. sbit lcdrs=P0^5;
  9. sbit lcden=P0^7;
  10. void delay(unsigned int ms)                   //延時(shí)函數(shù)
  11. {
  12.         unsigned char j=0;
  13.         unsigned int  i=0;
  14.         unsigned int  k=128;
  15.         j=OSCICN&0x07;
  16.         k=k>>j;
  17.         k=1500/k;
  18.         while(ms--)
  19.            {
  20.             for(i=0;i<k;i++);
  21.     }

  22. }

  23. /*void delay_1ms(void)
  24. {
  25.      unsigned int idata i;
  26.      for(i=0;i<3;i++);
  27. }
  28. void delay(unsigned int z)
  29. {
  30.      unsigned int idata i;
  31.      for(i=0;i<z;i++)
  32.      {
  33.           delay_1ms();
  34.      }
  35. } */
  36. void init_410()
  37. {      
  38.     OSCICN=0x87;
  39.     P0MDOUT   = 0xff;                                        //液晶控制端口
  40.     P2MDOUT   = 0xFF;                                        //液晶數(shù)據(jù)口
  41.     XBR1      = 0x40;                                        //使能
  42.         PCA0MD    &= ~0x40;                                //關(guān)看門(mén)狗
  43. }

  44. void write_com(uchar com)
  45. {  

  46.    lcden=0;
  47.    lcdrs=0;
  48.    P2=com;
  49.    delay(10);
  50.    lcden=1;
  51.    delay(10);
  52.    lcden=0;
  53. }
  54. void write_data(uchar date)
  55. {  

  56.    lcden=0;
  57.    lcdrs=1;
  58.    P2=date;
  59.    delay(10);
  60.    lcden=1;
  61.    delay(10);
  62.    lcden=0;
  63. }
  64. void init_1602()
  65. {
  66.     lcden=0;
  67.         write_com(0x38);
  68.         write_com(0x0c);
  69.         write_com(0x06);//0x07全屏移動(dòng)
  70.         write_com(0x01);

  71. }
  72. void main()
  73. {
  74.   init_410();
  75.   init_1602();
  76.   write_com(0x80);

  77.   for(n=0;n<8;n++)
  78.   {
  79.       write_data(table[n]);
  80.           //delay(5);

  81.   }
  82.   write_com(0x80+0x40);//第二行地址
  83.   for(n=0;n<16;n++)
  84.   {
  85.       write_data(table1[n]);
  86.          // delay(5);
  87.   }
  88. /* for(n=0;n<16;n++)
  89.    {
  90.        write_com(0x18);
  91.            delay(100);
  92.    }

  93.    // }           */

  94. while(1);//加死循環(huán)里 反復(fù)循環(huán)
  95. }

復(fù)制代碼




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表