久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3156|回復(fù): 10
收起左側(cè)

大家好,誰能幫我看看這個(gè)12864液晶程序,哪里有錯(cuò)誤

[復(fù)制鏈接]
ID:83228 發(fā)表于 2015-7-25 10:07 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

sbit lcd_rs=P2^6;
sbit lcd_en=P2^7;
sbit lcd_rw=P2^5;
sbit  PSB=        P3^2;
sbit          LCD12864_RSET=P3^3;

uchar  table1[]=
"哈哈哈哈哈哈哈哈";

void delayms(uint xms)
  {
   uint i,j;
   for(i=xms;i>0;i--)
   for(j=110;j>0;j--);
  }
   void  write_cmd(uchar cmd)
   {          LCD12864_RSET = 1;
    lcd_rs=0;
        lcd_rw=0;
        _nop_();
        _nop_();
    P0=cmd;
                 _nop_();
        _nop_();
        lcd_en=1;
        delayms(2);                                         
        lcd_en=0;
        delayms(2);
  }
  void write_data(uchar dat)
  {        LCD12864_RSET = 1;
    lcd_rs=1;
        lcd_rw=0;
        _nop_();
        _nop_();

        P0=dat;
                _nop_();
        _nop_();
        lcd_en=1;
        delayms(5);
        lcd_en=0;
        delayms(1);
  }

void init()
{
           uchar i;
        PSB=1;
        LCD12864_RSET = 0;
        for (i=0; i<100; i++);
          lcd_rs=0;
        LCD12864_RSET = 1;
        delayms(1);

  write_cmd(0x30);
  delayms(1);

  write_cmd(0x30);
  delayms(1);
  write_cmd(0x0f);
  delayms(1);

  write_cmd(0x01);
  delayms(1);

  write_cmd(0x06);
  delayms(1);
}
  void display1(void)
  {
   uchar i;
   write_cmd(0x80);
   for(i=0;i<16;i++)
   {
     write_data(table1[i]);
         delayms(1);
        }
   }

void main()
{
   init();
   while(1)
   {
   display1();
   
   }

}

回復(fù)

使用道具 舉報(bào)

ID:84652 發(fā)表于 2015-7-25 14:39 | 顯示全部樓層
液晶寫數(shù)據(jù)一遍就夠了。把主程序里的display1();放到while(1)前面。
回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2015-7-25 17:04 | 顯示全部樓層
我現(xiàn)在用的正確的程序:
  1. /**************************************************
  2.         功能:12864顯示漢字
  3.         單片機(jī):STC12C5A60S2
  4.         晶振:11.0592M
  5.         作者:蘇義江
  6.         時(shí)間:2015-7-25
  7. *****************************************************/
  8. #include<reg52.h>
  9. #define uchar unsigned char
  10. #define uint unsigned int


  11. sbit E=P3^7;//脈沖使能
  12. sbit RW=P3^6;//讀寫選擇
  13. sbit RS=P3^5;//數(shù)據(jù)命令選擇
  14. sbit rst=P1^0;//12864復(fù)位
  15. uchar code table[]={"我愛單片機(jī)!"};
  16. uchar code table1[]={"白日依山盡!"};
  17. // 延時(shí)ms函數(shù):
  18. void Delayms(uint t)//STC12C5A60S2  1ms
  19. {
  20.     uint i,j;
  21.     for(i=t;i>0;i--)
  22.              for(j=0;j<800;j++);
  23. }

  24. // 12864寫命令函數(shù):
  25. void Write12864Command(uchar com)
  26. {
  27.        P0=com;//賦值
  28.        E=0;//寫命令前三控制線的狀態(tài)
  29.                 Delayms(10);
  30.        RS=0;
  31.        RW=0;
  32.        E=1;//拉高,寫命令
  33.                 Delayms(10);
  34.        E=0;//寫命令后三控制線的狀態(tài)
  35.                 Delayms(10);
  36.        RS=1;
  37.        RW=1;
  38. }
  39. //12864寫數(shù)據(jù)函數(shù):
  40. void Write12864Data( uchar dat)
  41. {
  42.            Delayms(10);
  43.        P0=dat;//賦值
  44.        E=0;//寫數(shù)據(jù)前三控制線的狀態(tài)
  45.                 Delayms(10);
  46.        RS=1;
  47.        RW=0;   
  48.        E=1;//拉高,寫數(shù)據(jù)
  49.            Delayms(10);
  50.        E=0;//寫數(shù)據(jù)后三控制線的狀態(tài)
  51.                 Delayms(10);
  52.        RS=0;
  53.        RW=1;
  54. }   
  55. //12864初始化函數(shù):
  56. void Initialize12864()
  57. {
  58.        rst=0;//復(fù)位12864
  59.        Delayms(30);
  60.        rst=1;
  61.        Delayms(20);
  62.        Write12864Command(0x30);//功能設(shè)定:8位控制方式,使用基本指令
  63.        Write12864Command(0x08);//顯示關(guān)
  64.        Write12864Command(0x01);//清屏
  65.        Write12864Command(0x06);//地址計(jì)數(shù)器加一、光標(biāo)右移
  66.        Write12864Command(0x0c);//顯示開
  67. }
  68. //清屏
  69. void Clear12864Screen()
  70. {
  71.         Write12864Data(0x00);//清屏
  72. }
  73. void main()
  74. {
  75.         uchar i;
  76.         Delayms(100);
  77.         Initialize12864();
  78.         Clear12864Screen();
  79.         Write12864Command(0x80);
  80.         for(i=0;i<12;i++)
  81.         {
  82.                 Write12864Data(table[i]);
  83.                 Delayms(5);
  84.         }
  85.         Write12864Command(0x88);
  86.         for(i=0;i<12;i++)
  87.         {
  88.                 Write12864Data(table1[i]);
  89.                 Delayms(5);
  90.         }
  91.         while(1);
  92.                
  93. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2015-7-25 18:21 | 顯示全部樓層
你用這個(gè)程序看看:
  1. /**************************************************
  2.         功能:12864顯示漢字
  3.         單片機(jī):STC12C5A60S2
  4.         晶振:11.0592M
  5.         作者:蘇義江
  6.         時(shí)間:2015-7-25修改
  7. *****************************************************/
  8. #include<reg52.h>
  9. #define uchar unsigned char
  10. #define uint unsigned int


  11. sbit E=P3^7;//脈沖使能
  12. sbit RW=P3^6;//讀寫選擇
  13. sbit RS=P3^5;//數(shù)據(jù)命令選擇
  14. sbit rst=P1^0;//12864復(fù)位
  15. uchar code table3[]="欲窮千里目";
  16. uchar code table4[]="更上一叢樓";
  17. uchar code table1[]="白日依山盡";
  18. uchar code table2[]="黃河入海流";
  19. // 延時(shí)ms函數(shù):
  20. void Delayms(uint t)//STC12C5A60S2  1ms
  21. {
  22.     uint i,j;
  23.     for(i=t;i>0;i--)
  24.              for(j=0;j<800;j++);
  25. }

  26. // 12864寫命令函數(shù):
  27. void Write12864Command(uchar com)
  28. {
  29.        P0=com;//賦值
  30.        E=0;//寫命令前三控制線的狀態(tài)
  31.                 Delayms(10);
  32.        RS=0;
  33.        RW=0;
  34.        E=1;//拉高,寫命令
  35.                 Delayms(10);
  36.        E=0;//寫命令后三控制線的狀態(tài)
  37.                 Delayms(10);
  38.        RS=1;
  39.        RW=1;
  40. }
  41. //12864寫數(shù)據(jù)函數(shù):
  42. void Write12864Data( uchar dat)
  43. {
  44.            Delayms(10);
  45.        P0=dat;//賦值
  46.        E=0;//寫數(shù)據(jù)前三控制線的狀態(tài)
  47.                 Delayms(10);
  48.        RS=1;
  49.        RW=0;   
  50.        E=1;//拉高,寫數(shù)據(jù)
  51.            Delayms(10);
  52.        E=0;//寫數(shù)據(jù)后三控制線的狀態(tài)
  53.                 Delayms(10);
  54.        RS=0;
  55.        RW=1;
  56. }   
  57. //12864初始化函數(shù):
  58. void Initialize12864()
  59. {
  60.        rst=0;//復(fù)位12864
  61.        Delayms(30);
  62.        rst=1;
  63.        Delayms(20);
  64.        Write12864Command(0x30);//功能設(shè)定:8位控制方式,使用基本指令
  65.        Write12864Command(0x08);//顯示關(guān)
  66.        Write12864Command(0x01);//清屏
  67.        Write12864Command(0x06);//地址計(jì)數(shù)器加一、光標(biāo)右移
  68.        Write12864Command(0x0c);//顯示開
  69. }
  70. //清屏
  71. void Clear12864Screen()
  72. {
  73.         Write12864Data(0x00);//清屏
  74. }
  75. void main()
  76. {
  77.         uchar i;
  78.         Delayms(100);
  79.         Initialize12864();
  80.         Clear12864Screen();
  81.        
  82.         Write12864Command(0x80);
  83.         for(i=0;i<11;i++)
  84.         {
  85.                 Write12864Data(table1[i]);
  86.                 Delayms(5);
  87.         }
  88.         Write12864Command(0x90);
  89.         for(i=0;i<11;i++)
  90.         {
  91.                 Write12864Data(table2[i]);
  92.                 Delayms(5);
  93.         }
  94. Write12864Command(0x88);
  95.         for(i=0;i<12;i++)
  96.         {
  97.                 Write12864Data(table3[i]);
  98.                 Delayms(5);
  99.         }
  100. Write12864Command(0x98);
  101.         for(i=0;i<12;i++)
  102.         {
  103.                 Write12864Data(table4[i]);
  104.                 Delayms(5);
  105.         }
  106.         while(1);
  107.                
  108. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:83228 發(fā)表于 2015-7-25 23:07 來自手機(jī) | 顯示全部樓層
騰飛的龍 發(fā)表于 2015-7-25 17:04
我現(xiàn)在用的正確的程序:

好的,謝謝昂
回復(fù)

使用道具 舉報(bào)

ID:83228 發(fā)表于 2015-7-25 23:07 來自手機(jī) | 顯示全部樓層
王朗的誘惑 發(fā)表于 2015-7-25 14:39
液晶寫數(shù)據(jù)一遍就夠了。把主程序里的display1();放到while(1)前面。

好的,謝謝昂
回復(fù)

使用道具 舉報(bào)

ID:86892 發(fā)表于 2015-7-26 15:17 | 顯示全部樓層
液晶寫數(shù)據(jù)一遍就夠了。把主程序里的display1();放到while(1)前面。
回復(fù)

使用道具 舉報(bào)

ID:86938 發(fā)表于 2015-7-27 10:50 | 顯示全部樓層
定時(shí)器設(shè)置不對
回復(fù)

使用道具 舉報(bào)

ID:86938 發(fā)表于 2015-7-27 11:17 | 顯示全部樓層
液晶寫數(shù)據(jù)一遍就夠了。把主程序里的display1();放到while(1)前面。
回復(fù)

使用道具 舉報(bào)

ID:87008 發(fā)表于 2015-7-27 20:37 | 顯示全部樓層
一直在寫入?顯示函數(shù)放在while(1)前面吧
回復(fù)

使用道具 舉報(bào)

ID:87012 發(fā)表于 2015-7-27 20:48 | 顯示全部樓層
都是高手,俺來學(xué)習(xí)一下哈
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 伊人久久免费 | 欧美极品视频 | 久久爱一区 | 久久久久久久一区 | 久久国产精品久久久久久久久久 | 成人免费影院 | 涩涩视频网站在线观看 | 国产一区二区影院 | 国产精品久久九九 | 欧美精品在线一区二区三区 | 国产精品激情小视频 | 91玖玖| 成人在线电影在线观看 | 国产综合久久 | 国产三区视频在线观看 | 青青草亚洲 | 无码一区二区三区视频 | 一级女毛片 | 日本电影韩国电影免费观看 | 天天综合网7799精品 | 自拍偷拍第一页 | 日韩一区二区三区视频 | 亚洲精品日本 | 欧美一区二区在线免费观看 | 国产欧美精品一区二区三区 | 亚洲一区二区免费 | 91视频精选 | 亚洲成人一区 | 国产精品大片 | 一级一级一级毛片 | 久久久国产亚洲精品 | 四虎影院在线观看av | 国产欧美日韩精品一区 | 国产欧美一级二级三级在线视频 | 欧美福利| 三级高清 | 欧美一区二区在线播放 | 欧美大片一区 | 欧美 日韩 国产 成人 在线 91 | 久久久久久国 | 亚洲一区二区三区视频 |