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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1967|回復: 1
打印 上一主題 下一主題
收起左側(cè)

關于單片機+LCD1602顯示一排黑塊問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:818709 發(fā)表于 2021-12-18 17:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
電路應該是沒問題,想請大家?guī)臀铱匆幌鲁绦蛴袥]有問題,好像是LCD的初始化問題,具體小弟也不太懂,麻煩各位啦。程序是用光敏電阻做光照度計的。如果大家有其他方法解決的話也想請教一下,新手Proteus仿真的時候都沒問題。


程序:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit _st= P2^2;
  5. sbit _eoc=P2^1;
  6. sbit _oe=P2^0;

  7. uchar ad_result=0;
  8. int vol,lux;
  9. float realv;

  10. sbit rs=P2^5;                  
  11. sbit rw=P2^6;
  12. sbit en=P2^7;

  13. uchar code t1[]={"  illuminometer "};                  
  14. uchar code t2[]={"     Lux .   Vol"};                  
  15. void delay(uint ms)                  
  16. {
  17. uint i,j;
  18. for(i=ms;i>0;i--)
  19. for(j=110;j>0;j--);
  20. }

  21. void writelcd_cmd(uchar cmd)
  22. {
  23. en=0;
  24. rs=0;
  25. rw=0;
  26. delay(1);
  27. P0=cmd;  
  28. en=1;
  29. delay(1);
  30. en=0;
  31. }

  32. void writelcd_dat(uchar dat)
  33. {
  34. en=0;
  35. rs=1;
  36. rw=0;
  37. delay(1);
  38. P0=dat;
  39. en=1;
  40. delay(1);
  41. en=0;
  42. }

  43. void lcd_init()  
  44. {
  45. uchar i,j;
  46. writelcd_cmd(0x38);  
  47. delay(5);
  48. writelcd_cmd(0x38);
  49. delay(5);
  50. writelcd_cmd(0x38);
  51. writelcd_cmd(0x08);
  52. writelcd_cmd(0x01);
  53. writelcd_cmd(0x06);
  54. writelcd_cmd(0x0c);
  55. writelcd_cmd(0x80);
  56.         
  57. for(i=0;i<16;i++)
  58. {
  59. writelcd_dat(t1[i]);  
  60. }
  61. writelcd_cmd(0xc0);
  62. for(j=0;j<16;j++)   
  63. {
  64. writelcd_dat(t2[j]);
  65. }
  66. }

  67. void display(uint dat,uchar add)
  68. {
  69. uchar bai,shi ,ge,sfen;
  70. bai=dat/1000;
  71. shi=dat/100%10;
  72. ge=dat/10%10;
  73. sfen=dat%10;        
  74. writelcd_cmd(add);
  75. writelcd_dat(bai+0x30);
  76. writelcd_cmd(add+2);
  77. writelcd_dat(shi+0x30);
  78. writelcd_dat(ge+0x30);
  79. writelcd_dat(sfen+0x30);
  80. }

  81. void display2(uint dat,uchar add)
  82. {
  83. uchar bai,shi ,ge,sfen,wan;
  84. wan=dat/10000;
  85. bai=dat/1000&10;
  86. shi=dat/100%10;
  87. ge=dat/10%10;
  88. sfen=dat%10;        
  89. writelcd_cmd(add);
  90. writelcd_dat(wan+0x30);
  91. writelcd_dat(bai+0x30);
  92. writelcd_dat(shi+0x30);
  93. writelcd_dat(ge+0x30);
  94. writelcd_dat(sfen+0x30);
  95. }

  96. void main(void)
  97. {
  98.         lcd_init();
  99.         EA=1;
  100.         TH0=(65536-50000)/256;  
  101.     TL0=(65536-50000)%256;   
  102.     TR0=1;    //?ú2??D??T0?a??
  103.     ET0=1;
  104.         while(1)
  105.         {
  106.                
  107.                 _st=0;_st=1;_st=0;
  108.                 while(!_eoc);
  109.                 _oe=1;
  110.                 ad_result=P1;
  111.                 _oe=0;
  112.                
  113.                 vol=5000-(100.0*ad_result/5.1);
  114.                 realv=vol/1000.0;
  115.                 lux=864/((10*realv)/(5-realv)-1.36);
  116.                 if(lux<=30000 && lux>=1)
  117.                 {        
  118.                 lux=864/((10*realv)/(5-realv)-1.36);
  119.                 display2(lux,0xc0);
  120.                 display(vol,0xc8);
  121.                 }
  122.                 else
  123.                 {               
  124.                 display(vol,0xc8);
  125.                 }
  126.         }
  127. }

  128. void count0() interrupt 1  
  129. {  
  130.         P3=0xff;
  131.         
  132.         P3=0xfe;
  133.         
  134. }

復制代碼

程序最后這一步?jīng)]看懂是在干嘛,也想問一下
void count0() interrupt 1
{  
        P3=0xff;
        
        P3=0xfe;
        
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:262 發(fā)表于 2021-12-18 21:06 | 只看該作者
來看一下51hei論壇里面解決此問題的痛苦經(jīng)歷吧:
51hei搜索框輸入"1602 方塊"或者"1602 黑塊"或者"1602 白塊"或者"1602 格":

這個是io口設置問題,最終搞定了:http://www.zg4o1577.cn/bbs/dpj-199732-1.html
http://www.zg4o1577.cn/bbs/dpj-168643-1.html
http://www.zg4o1577.cn/bbs/dpj-208189-1.html
http://www.zg4o1577.cn/bbs/dpj-210690-1.html

既有可能是軟件問題也有硬件問題
http://www.zg4o1577.cn/bbs/dpj-187378-1.html
http://www.zg4o1577.cn/bbs/dpj-160754-1.html
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产美女一区二区 | 久久精品小短片 | 亚洲精品视频在线看 | 老熟女毛片 | 一级毛片,一级毛片 | 国产在线网址 | 国产精品久久久久久久久污网站 | 色婷婷精品国产一区二区三区 | 成人免费网站在线 | 亚洲一区国产精品 | 一级特黄在线 | 一本一道久久a久久精品综合 | 91精品国产综合久久久久久 | 久久国产精品精品国产色婷婷 | 久久性色 | 色先锋影音 | 国产a级毛片 | 国产区一区二区三区 | 欧美h| 国产第一亚洲 | 日韩久久久久 | 国产精品精品 | 99精品在线观看 | 国产精品久久二区 | 国产成人高清 | 中文字幕av在线播放 | 狠狠操天天操 | 亚洲国产成人av | 亚洲 中文 欧美 | 欧美美女爱爱视频 | 免费成人高清在线视频 | 国产91九色 | 中文在线www | 天天曰夜夜操 | 97av在线 | 99热热 | 亚洲乱码一区二区三区在线观看 | 久久a久久 | 欧美一级做性受免费大片免费 | 日韩精品极品视频在线观看免费 | 国产在线视频一区 |