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

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

QQ登錄

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

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

關(guān)于單片機(jī)+LCD1602顯示一排黑塊問(wèn)題

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


程序:
  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. }

復(fù)制代碼

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


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

使用道具 舉報(bào)

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

這個(gè)是io口設(shè)置問(wèn)題,最終搞定了: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

既有可能是軟件問(wèn)題也有硬件問(wèn)題
http://www.zg4o1577.cn/bbs/dpj-187378-1.html
http://www.zg4o1577.cn/bbs/dpj-160754-1.html
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久青青 | 黄色网址在线免费观看 | www中文字幕 | 精品三级在线观看 | a视频在线观看 | 国产精品欧美一区二区 | 免费观看www7722午夜电影 | 一级a爱片性色毛片免费 | 国产精品无码久久久久 | 亚洲女人天堂成人av在线 | 91久久精品日日躁夜夜躁欧美 | 黑人巨大精品欧美一区二区免费 | 欧美1区2区| 国产日韩欧美91 | 99久久成人 | 亚洲精品久久久蜜桃网站 | 欧美一级高潮片免费的 | 在线视频 中文字幕 | h视频免费在线观看 | 亚洲第一在线视频 | 国产一区二区三区在线 | av网站免费观看 | 欧美成人第一页 | 在线国产精品一区 | 男女午夜激情视频 | 国产95在线 | 人人九九精 | 久久精品一级 | 国产在线中文 | 国产日韩精品久久 | 成人h电影在线观看 | 一区二区三区中文字幕 | 伊人在线视频 | 射欧美| 免费av直接看 | 国产一区二区三区在线视频 | 国产91丝袜在线播放 | 欧美精品中文字幕久久二区 | 亚洲乱码一区二区三区在线观看 | 中文字幕视频网 | 91精品一区二区三区久久久久 |