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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2010|回復: 10
收起左側

如何使1602lcd呈現雙行顯示還有程序錯在哪里了指明一下謝謝

[復制鏈接]
ID:943830 發表于 2021-11-16 12:26 | 顯示全部樓層 |閱讀模式
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. sbit RS=0xb0;
  4. sbit RW=0xb1;
  5. sbit E=0xb2;
  6. void lcd_w_cmd(unsigned char com);
  7. void lcd_w_dat(unsigned char dat);
  8. unsigned char lcd_r_start();
  9. void lcd_int();
  10. void delay(unsigned int i);
  11. void delay1();
  12. void main()
  13. {
  14.    unsigned char lcd[]="0123456789ABCDEFG";
  15.    unsigned char lcd[]="HELLO WORLD!" ;
  16.    unsigned char i;
  17.    P1=0xff;
  18.    lcd_int();
  19.    delay(255);
  20.    lcd_w_cmd(0x83);
  21.    delay(255);
  22.    for(i=0;lcd[i]!='\0';i++)
  23.    {  lcd_w_dat(lcd[i]);
  24.       delay(200);   }
  25.           while(i);
  26.    }
  27. void delay1()
  28. {

  29.   _nop_();
  30.   _nop_();
  31.   _nop_();
  32.   }
  33. void lcd_int()
  34. {
  35.    lcd_w_cmd(0x3c);
  36.    lcd_w_cmd(0x0e);
  37.    lcd_w_cmd(0x01);
  38.    lcd_w_cmd(0x06);
  39.    lcd_w_cmd(0x80);
  40.    }
  41. unsigned char lcd_r_start()
  42. {
  43.   unsigned char s;
  44.   RW=1;
  45.   delay1();
  46.   RS=0;
  47.   delay1();
  48.   E=1;
  49.   delay1();
  50.   s=P1;
  51.   delay1();
  52.   E=1;
  53.   delay1();
  54.   RW=0;
  55.   delay1();
  56.   return(s);
  57.   }
  58. void lcd_w_cmd(unsigned char com)
  59. {
  60.   unsigned char i;
  61.   do{
  62.        i=lcd_r_start();
  63.            i&=0x80;
  64.            delay(2);
  65.          }while(i!=0);
  66.        RW=0;
  67.        delay1();
  68.        RS=0;
  69.        delay1();
  70.        E=1;
  71.        delay1();
  72.        P1=com;
  73.        delay1();
  74.        E=0;
  75.        delay1();
  76.        RW=1;
  77.        delay(255);
  78.            }
  79. void lcd_w_dat(unsigned char dat)
  80. {
  81.   unsigned char i;
  82.   do{
  83.        i=lcd_r_start();
  84.            i&=0x80;
  85.            delay(2);
  86.          }while(i!=0);
  87.        RW=0;
  88.        delay1();
  89.        RS=0;
  90.        delay1();
  91.        E=1;
  92.        delay1();
  93.        P1=dat;
  94.        delay1();
  95.        E=0;
  96.        delay1();
  97.        RW=1;
  98.        delay(255);
  99.            }
  100. void delay(unsigned int i)
  101. {unsigned int k;
  102. for(k=0;k<i;k++);
  103. }
復制代碼

回復

使用道具 舉報

ID:943830 發表于 2021-11-16 12:27 | 顯示全部樓層
error C231: 'lcd': redefinition錯誤原因
回復

使用道具 舉報

ID:908826 發表于 2021-11-16 14:36 | 顯示全部樓層
我覺得你還是先搞明白如何顯示第一行的數據,然后第二行就是在選中位置的時候有一點不同罷了。
回復

使用道具 舉報

ID:584814 發表于 2021-11-16 14:37 | 顯示全部樓層
   unsigned char lcd[]="0123456789ABCDEFG";
   unsigned char lcd[]="HELLO WORLD!" ;
這是毛意思 ?
回復

使用道具 舉報

ID:943830 發表于 2021-11-16 14:38 來自手機 | 顯示全部樓層
1602lcd顯示雙行
回復

使用道具 舉報

ID:943830 發表于 2021-11-16 14:42 來自手機 | 顯示全部樓層
man1234567 發表于 2021-11-16 14:37
unsigned char lcd[]="0123456789ABCDEFG";
   unsigned char lcd[]="HELLO WORLD!" ;
這是毛意思 ?

unsignedcharlcd[]=“HELLOWORLD”不帶這一行上邊的可以顯示
讓第二行顯示helloworld!
回復

使用道具 舉報

ID:744809 發表于 2021-11-16 15:07 | 顯示全部樓層
贏了一切又何妨 發表于 2021-11-16 14:42
unsignedcharlcd[]=“HELLOWORLD”不帶這一行上邊的可以顯示
讓第二行顯示helloworld!

不能定義相同名字的數組
回復

使用道具 舉報

ID:213173 發表于 2021-11-16 17:27 | 顯示全部樓層

無標題.jpg

  1. #include<reg51.h>
  2. #include<intrins.h>

  3. sbit RS=0xb0;
  4. sbit RW=0xb1;
  5. sbit E =0xb2;

  6. void lcd_w_cmd(unsigned char com);
  7. void lcd_w_dat(unsigned char dat);
  8. void lcd_r_start();
  9. void lcd_int();
  10. void delay(unsigned int i);

  11. void main()
  12. {
  13.    unsigned char lcd[]="0123456789ABCDEF";
  14.    unsigned char lcd1[]="HELLO WORLD!" ;
  15.    unsigned char i;

  16.    lcd_int();
  17.    lcd_w_cmd(0x80);
  18.    for(i=0;i<16;i++)
  19.                 lcd_w_dat(lcd[i]);
  20.    lcd_w_cmd(0xc2);
  21.    for(i=0;i<12;i++)
  22.                 lcd_w_dat(lcd1[i]);  
  23.         while(1);
  24. }

  25. void lcd_int()
  26. {
  27.         RW=0;
  28.         E =0;
  29.         lcd_w_cmd(0x38);
  30.         lcd_w_cmd(0x01);
  31.         lcd_w_cmd(0x0c);
  32.         lcd_w_cmd(0x06);
  33. }

  34. void lcd_r_start()
  35. {
  36.   unsigned char s;
  37.         P1=0xff;
  38.         RS=0;
  39.         RW=1;
  40.         do
  41.         {
  42.                 E = 1;
  43.                 s = P1;
  44.                 E = 0;    //使能
  45.         }while(s&0x80);
  46. }
  47. void lcd_w_cmd(unsigned char com)
  48. {
  49.         lcd_r_start();
  50.         RW=0;
  51.         RS=0;
  52.         P1=com;
  53.         delay(10);
  54.         E=1;
  55.         delay(10);
  56.         E=0;
  57. }
  58. void lcd_w_dat(unsigned char dat)
  59. {
  60.         lcd_r_start();
  61.         RW=0;
  62.         RS=1;
  63.         P1=dat;
  64.         delay(10);
  65.         E=1;
  66.         delay(10);
  67.         E=0;
  68. }
  69. void delay(unsigned int i)
  70. {
  71.         unsigned int a,b;
  72.         for(a=i;a>0;a--)
  73.                 for(b=10;b>0;b--);
  74. }
復制代碼



回復

使用道具 舉報

ID:943830 發表于 2021-11-16 18:12 | 顯示全部樓層

哥們有isis的全圖嗎你用的是isis的幾我這教室只有isis6和keil2
lcd的燈用的不是1602的
回復

使用道具 舉報

ID:213173 發表于 2021-11-16 20:19 | 顯示全部樓層
贏了一切又何妨 發表于 2021-11-16 18:12
哥們有isis的全圖嗎你用的是isis的幾我這教室只有isis6和keil2
lcd的燈用的不是1602的

ISIS 7 Professional

無標題.jpg


回復

使用道具 舉報

ID:943830 發表于 2021-11-17 09:39 來自手機 | 顯示全部樓層
wulin 發表于 2021-11-16 20:19
ISIS 7 Professional

好的明白了  謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品久久久久久不卡欧美一级 | 九九热这里只有精品在线观看 | 久久国产精品免费视频 | 久久久久电影 | 免费人成在线观看网站 | 久草99 | 国产女人与拘做受视频 | 亚州精品天堂中文字幕 | 久久99精品国产 | 蜜桃色网| 久久在线 | 久久久一区二区 | 婷婷激情在线 | 日韩欧美精品一区 | 日本一区二区三区在线观看 | 免费一级黄 | 中文字幕精品一区 | 神马久久久久久久久久 | 欧美日韩久久 | 精品乱码一区二区 | 国产成人精品免费视频大全最热 | 久久福利网站 | 日日夜夜av | 国产一区二区三区在线 | 99亚洲国产精品 | 美女张开腿露出尿口 | 欧美久久久久久久久 | 国产成在线观看免费视频 | 粉嫩国产精品一区二区在线观看 | 精品久久久久久亚洲精品 | 成人小视频在线观看 | 日韩午夜在线播放 | 午夜精品| 国产精品久久久久久久 | 四虎影院新地址 | 亚洲专区在线 | 精品一区二区三区四区 | 日日夜夜免费精品视频 | 三级黄色片在线 | 亚洲福利视频一区二区 | 黄色成人免费在线观看 |