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

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

QQ登錄

只需一步,快速開始

搜索
查看: 1933|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)控制1602 1602亮了 但是不顯示字符

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是程序 keil里面可以運(yùn)行的 也能生成hex文件 然后放到單片機(jī)里 在peoteus里仿真1602沒顯示什么東西


單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit LCD_RS = P1^0;            
  6. sbit LCD_RW = P1^1;
  7. sbit LCD_EN = P1^2;

  8. uchar code dis1[] = {"   WLCOME  TO   "};
  9. uchar code dis2[] = {" WWW*RICHMCU*COM "};
  10. uchar code dis3[] = {"   OT  EMOCLW   "};
  11. uchar code dis4[] = {" MOC*UCMHCIR*WWW "};

  12. void delay(int ms)
  13. {                           
  14.    int i;
  15.    while(ms--)
  16.    {
  17.      for(i = 0; i< 250; i++)
  18.      {
  19.       _nop_();
  20.       _nop_();
  21.       _nop_();
  22.       _nop_();
  23.      }
  24.    }
  25. }

  26. bit lcd_busy()
  27. {                          
  28.     bit result;
  29.     LCD_RS = 0;
  30.     LCD_RW = 1;
  31.     LCD_EN = 1;
  32.     _nop_();
  33.     _nop_();
  34.     _nop_();
  35.     _nop_();
  36.      result = (bit)(P0&0x80);
  37.     LCD_EN = 0;
  38.     return result;
  39. }


  40. void lcd_wcmd(uchar cmd)
  41. {                          
  42.    while(lcd_busy());
  43.     LCD_RS = 0;
  44.     LCD_RW = 0;
  45.     LCD_EN = 0;
  46.     _nop_();
  47.     _nop_();
  48.     P0 = cmd;
  49.     _nop_();
  50.     _nop_();
  51.     _nop_();
  52.     _nop_();
  53.     LCD_EN = 1;
  54.     _nop_();
  55.     _nop_();
  56.     _nop_();
  57.     _nop_();
  58.     LCD_EN = 0;  
  59. }


  60. void lcd_wdat(uchar dat)
  61. {                          
  62.    while(lcd_busy());
  63.     LCD_RS = 1;
  64.     LCD_RW = 0;
  65.     LCD_EN = 0;
  66.     P0 = dat;
  67.     _nop_();
  68.     _nop_();
  69.     _nop_();
  70.     _nop_();
  71.     LCD_EN = 1;
  72.     _nop_();
  73.     _nop_();
  74.     _nop_();
  75.     _nop_();
  76.     LCD_EN = 0;
  77. }


  78. void lcd_pos(uchar pos)
  79. {                          
  80.    lcd_wcmd(pos|0x80);      
  81. }



  82. void lcd_init()
  83. {                        
  84.     lcd_wcmd(0x38);      
  85.     delay(5);
  86.     lcd_wcmd(0x38);         
  87.     delay(5);
  88.     lcd_wcmd(0x38);         
  89.     delay(5);

  90.     lcd_wcmd(0x0c);        
  91.     delay(5);
  92.     lcd_wcmd(0x06);      
  93.     delay(5);
  94.     lcd_wcmd(0x01);         
  95.     delay(5);
  96. }

  97. void flash()
  98. {
  99.       delay(600);                  
  100.       lcd_wcmd(0x08);           
  101.       delay(200);                  
  102.       lcd_wcmd(0x0c);            
  103.       delay(200);                    
  104.       lcd_wcmd(0x08);            
  105.       delay(200);                    
  106.       lcd_wcmd(0x0c);            
  107.       delay(200);
  108. }


  109. main()
  110. {
  111.     uchar i;
  112.     delay(10);
  113.     lcd_init();                        


  114.     while(1)              
  115.    {
  116.       lcd_wcmd(0x06);           
  117.       lcd_pos(0);                  
  118.       i = 0;

  119.      while(dis1[i] != '\0')
  120.      {                                    
  121.        lcd_wdat(dis1[i]);
  122.        i++;
  123.        delay(30);                    
  124.      }

  125.       lcd_pos(0x40);              
  126.       i = 0;

  127.      while(dis2[i] != '\0')
  128.      {
  129.        lcd_wdat(dis2[i]);        
  130.        i++;
  131.        delay(30);                    
  132.      }

  133.       flash();                        
  134.       lcd_wcmd(0x01);           
  135.       delay(200);                  
  136.       lcd_wcmd(0x04);        
  137.       lcd_pos(15);               
  138.       i = 0;

  139.      while(dis3[i] != '\0')
  140.      {                                 
  141.        lcd_wdat(dis3[i]);
  142.        i++;
  143.        delay(30);                  
  144.      }

  145.       lcd_pos(0x4F);              
  146.       i = 0;

  147.      while(dis4[i] != '\0')
  148.      {
  149.        lcd_wdat(dis4[i]);        
  150.        i++;
  151.        delay(30);                  
  152.      }

  153.       flash();                        
  154.       lcd_wcmd(0x01);         
  155.       delay(200);                 

  156.    }
  157. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:520481 發(fā)表于 2019-4-28 17:07 | 只看該作者
有沒有大手子幫我看看啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-4-28 17:27 | 只看該作者

仿真圖里的排阻用錯(cuò)了,P1的電平無法確定。在元件庫里查找 RESPACK-8 排阻。
回復(fù)

使用道具 舉報(bào)

地板
ID:96682 發(fā)表于 2019-4-28 20:06 | 只看該作者
樓主得先弄清楚 J1 是什么器件
回復(fù)

使用道具 舉報(bào)

5#
ID:520481 發(fā)表于 2019-4-29 13:56 | 只看該作者
wulin 發(fā)表于 2019-4-28 17:27
仿真圖里的排阻用錯(cuò)了,P1的電平無法確定。在元件庫里查找 RESPACK-8 排阻。

萬分感謝啊 1602能顯示了
回復(fù)

使用道具 舉報(bào)

6#
ID:520481 發(fā)表于 2019-4-29 13:56 | 只看該作者
wc86110 發(fā)表于 2019-4-28 20:06
樓主得先弄清楚 J1 是什么器件

謝謝啊 樓上幫我指正了 排阻弄錯(cuò)了
回復(fù)

使用道具 舉報(bào)

7#
ID:226629 發(fā)表于 2019-4-29 14:41 | 只看該作者
現(xiàn)在好了就行
回復(fù)

使用道具 舉報(bào)

8#
ID:524649 發(fā)表于 2019-4-29 18:58 | 只看該作者
要用正確的排阻才可以正常顯示呀
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av毛片| 黄色日批视频 | 免费观看日韩精品 | 成人久久久 | 欧美日韩视频 | 91精品国产综合久久久久久蜜臀 | 亚洲欧洲中文日韩 | 中文字幕视频在线观看 | 久久亚洲一区 | 国产一级免费视频 | 亚洲欧美一区二区三区国产精品 | av片在线观看网站 | 日韩视频免费 | 国产一区精品 | 国产伦一区二区三区久久 | 日韩亚洲欧美一区 | 韩日在线| 国产伦精品一区二区三区视频金莲 | 视频在线一区 | 久久av一区 | 国产不卡在线观看 | 国产精品美女久久久久久久久久久 | 欧美精品欧美精品系列 | 欧美日韩福利视频 | 国产美女在线免费观看 | 欧美aⅴ片 | 在线免费毛片 | 成人影院在线 | 国产高清视频 | 另类在线| 日日夜夜精品 | 国产精品激情小视频 | 国产精品一区二区三区在线播放 | 日韩av在线不卡 | 成人免费黄色片 | 日韩一区二区在线视频 | 久久精品a| 看片一区 | 韩国av影院| 亚洲欧美视频 | 免费一级毛片 |