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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 70908|回復: 61
打印 上一主題 下一主題
收起左側

教大家怎么寫一個液晶1602的程序(絕對很簡單。。

  [復制鏈接]
跳轉到指定樓層
樓主
ID:102668 發表于 2016-1-11 01:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
今天,小編給各位電子愛好者伙伴講解這么一個程序,也許你看了郭天祥的10天學會單片機后感覺好多代碼都不能親手動手去寫對嗎?其實自己寫代碼寫模塊都是有一定的方法的,掌握了一定的方法,以后不管寫什么,你都會如魚得手,小編總結了一個很多人都頭疼的問題,如何寫一個液晶顯示的程序呢?代碼好長。。。≡趺崔k?害怕了?沒有動力干了?小編告訴你,你立馬有動力,不再懼怕類似1602的模塊!!請往下看。
首先:
要寫一個液晶1602的程序,我們需要明白液晶有三個端口是要寫入相關的數據的;分別是E、RS、RW。
數據手冊內容眾多,小編就不一一闡釋了;

所以,請看lcd1602數據手冊:http://www.zg4o1577.cn/mcu/827.html
接著:

看完了數據手冊,有木有發現靈感?是不是好多都是可以看著自己就可以敲出來?
好了,我們開始寫程序:
寫液晶的時候分為以下步驟:
1、寫指令(看看數據手冊里有的)
void writecmd(uchar com)  
{
E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
RS=0;
RW=0;
P0=com;   
delay(2);  //延時一下會穩定很多,后面一條也是一樣的
E=1;  
delay(2);
E=0;
}
//以上的P0就是液晶送數據的端口,當然你可以是P2口,看你的       電路是怎么樣那就怎么改,至于為什么是com,這是個自定義形式參數來的,也可以改成別的,但是不能是關鍵字,這個參數傳的就是你想要寫的指令;下面寫數據的P0是你想要寫的數據。詳情看看大程序便知

2、寫數據(同樣數據手冊也有)
void writedata(uchar dat)//寫數據,函數名隨便你定義看得懂就行
{  
  E=0;     //寫數據和寫命令的方法差不多,復制過來。照著數據手            //冊的寫數據要求去寫!
  RS=1;
  RW=0;
  P0=dat;
  delay(2);
  E=1;  
  delay(2);
  E=0;

}

3、初始化(一樣的,數據手冊也有,照寫)
void init(void)              
{  delay(15);
writecmd(0x38);
delay(5);
writecmd(0x38);
delay(5);
writecmd(0x38);
writecmd(0x38);
writecmd(0x08);
writecmd(0x01);
writecmd(0x06);
writecmd(0x0c);
}
好了一個液晶的基本操作就是這三部分組成的,不難吧?
接下來來看看我們如何顯示如圖所示的字符:

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

//這三個引腳參考資料
sbit E=P2^7;                //1602使能引腳
sbit RW=P2^6;                //1602讀寫引腳        
sbit RS=P2^5;                //1602數據/命令選擇引腳

uchar tab1[]=" www.zg4o1577.cn  ";  //要顯示什么就在這兒改
uchar tab2[]="LCD1602 test ok!";  //[size=15.5555562973022px]要顯示什么就在這兒改

void delay(uint del)   //延時1ms
{
uint i,j;
for(i=0;i<del;i++)
   for(j=0;j<=168;j++);
}
void writecmd(uchar com)  //寫指令
{
E=0;
RS=0;
RW=0;
P0=com;
delay(2);
E=1;  
delay(2);
E=0;
}
void writedata(uchar dat)//寫數據
{  
  E=0;
  RS=1;
  RW=0;
  P0=dat;
  delay(2);
  E=1;  
  delay(2);
  E=0;

}
void init(void)               //初始化
{
delay(15);
writecmd(0x38);
delay(5);
writecmd(0x38);
delay(5);
writecmd(0x38);
writecmd(0x38);
writecmd(0x08);
writecmd(0x01);
writecmd(0x06);
writecmd(0x0c);
}
void main()
{  uchar j;
  init();
  writecmd(0x80);    //告訴液晶在哪個地方顯示 (設置地址指針)//80H+00
  for(j=0;j<16;j++)  //有16個字符,要循環16次
  {
   writedata(tab1[j]);
        delay(2);
  }
  writecmd(0x80+0x40); //再設置第二行的起始位置80H+40H

  for(j=0;j<16;j++)   //有16個字符,要循環16次
  { writedata(tab2[j]);
         delay(2);
  }
  while(1);         //讓液晶顯示就一直停在這里。

}


好了,你們可以照著我這個程序去修改得到你們想要的顯示結果,同樣也可以發揮一下你們的想法,如何讓液晶進行移屏顯示呢?怎么樣做出移動的效果呢?有待大家的努力噢!小編最主要的目的是要告訴大家,任何模塊拿起來都不要懼怕,把數據手冊看一遍,看不懂再看一遍,然后看看別人是怎么寫的,自己動手改一遍,再寫一遍,轉化為自己的東西,這樣就可以學到經驗了。

評分

參與人數 4黑幣 +25 收起 理由
老愚童63 + 10 很給力!
康德 + 5 贊一個!
only大煞風景 + 5 贊一個!
qjzyx + 5 贊一個!

查看全部評分

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

使用道具 舉報

沙發
ID:72398 發表于 2017-12-20 15:11 | 只看該作者
太好了受益很深;
回復

使用道具 舉報

板凳
ID:262674 發表于 2017-12-20 19:02 | 只看該作者
簡潔明了,謝謝分享!
回復

使用道具 舉報

地板
ID:266116 發表于 2017-12-24 17:35 | 只看該作者
謝謝,你說的很易學懂!
回復

使用道具 舉報

5#
ID:157975 發表于 2017-12-24 18:04 | 只看該作者
太謝謝了,正在犯愁。多謝大俠
回復

使用道具 舉報

6#
ID:260785 發表于 2017-12-24 19:47 | 只看該作者
簡潔明了,謝謝分享!
回復

使用道具 舉報

7#
ID:260785 發表于 2017-12-25 10:46 | 只看該作者
謝謝,你說的很易學懂!
回復

使用道具 舉報

8#
ID:266095 發表于 2017-12-25 14:36 | 只看該作者
真的非常感謝成功點亮
回復

使用道具 舉報

9#
ID:269758 發表于 2018-1-1 14:56 | 只看該作者
請問怎么顯示單片機里的數據啊,就是不是從程序里定義的,而是由單片機從別的地方都出來的數據
回復

使用道具 舉報

10#
ID:309880 發表于 2018-5-5 23:45 | 只看該作者
謝謝你
回復

使用道具 舉報

11#
ID:306032 發表于 2018-5-22 15:46 | 只看該作者
學習了、謝謝
回復

使用道具 舉報

12#
ID:294665 發表于 2018-5-22 18:12 | 只看該作者
簡單明了,有收獲,謝謝樓主
回復

使用道具 舉報

13#
ID:335213 發表于 2018-5-22 20:56 | 只看該作者
謝謝分享
回復

使用道具 舉報

14#
ID:313328 發表于 2018-5-22 21:08 | 只看該作者
學習了,值得收藏
回復

使用道具 舉報

15#
ID:375592 發表于 2018-7-23 14:47 | 只看該作者
感謝分享。有些困惑解開了,謝謝
回復

使用道具 舉報

16#
ID:60026 發表于 2018-7-24 09:35 | 只看該作者
記號一下!慢慢消化!
回復

使用道具 舉報

17#
ID:378374 發表于 2018-7-24 11:25 | 只看該作者
感謝大神
回復

使用道具 舉報

18#
ID:321640 發表于 2018-7-24 11:36 | 只看該作者
感謝解決了這一塊的疑惑
回復

使用道具 舉報

19#
ID:329283 發表于 2018-7-24 14:13 | 只看該作者
寫的很簡潔,思路很清楚。
回復

使用道具 舉報

20#
ID:74602 發表于 2018-7-24 16:27 | 只看該作者
支持技術貼,對我們初學者來說真是及時雨。
回復

使用道具 舉報

21#
ID:374237 發表于 2018-7-24 17:12 | 只看該作者
其實就是這么回事
回復

使用道具 舉報

22#
ID:300183 發表于 2018-7-31 17:52 | 只看該作者
學習了、謝謝
回復

使用道具 舉報

23#
ID:33851 發表于 2018-8-1 11:25 | 只看該作者
謝謝樓主,適合小白學習。
回復

使用道具 舉報

24#
ID:382813 發表于 2018-8-4 12:09 | 只看該作者
簡單明了
回復

使用道具 舉報

25#
ID:382765 發表于 2018-8-4 13:59 | 只看該作者
前來學習了
回復

使用道具 舉報

26#
ID:379680 發表于 2018-9-7 08:26 | 只看該作者
路過學習學習。
回復

使用道具 舉報

27#
ID:303059 發表于 2018-10-3 17:52 | 只看該作者
樓主,為什么我顯示的字母是黑點
回復

使用道具 舉報

28#
ID:399179 發表于 2018-10-3 19:33 來自觸屏版 | 只看該作者
正在學習,謝謝!
回復

使用道具 舉報

29#
ID:432910 發表于 2018-12-3 13:43 | 只看該作者
最后沒有while(1)咋辦
回復

使用道具 舉報

30#
ID:71421 發表于 2018-12-5 22:45 | 只看該作者
感謝分享!。!
回復

使用道具 舉報

31#
ID:333678 發表于 2018-12-6 07:42 來自觸屏版 | 只看該作者
多謝樓主分享,學習了。
回復

使用道具 舉報

32#
ID:440685 發表于 2018-12-6 10:54 來自觸屏版 | 只看該作者
感謝。自己琢磨了老半天,終于會了。
回復

使用道具 舉報

33#
ID:469510 發表于 2019-5-20 14:45 | 只看該作者
感謝分享!!!!!!!
回復

使用道具 舉報

34#
ID:543112 發表于 2019-5-20 19:32 來自觸屏版 | 只看該作者
太收益了,簡單明了。
回復

使用道具 舉報

35#
ID:505027 發表于 2019-6-13 10:16 | 只看該作者
感謝,但不知道我哪里出錯了,顯示出來是錯誤的,代碼直接照抄的
回復

使用道具 舉報

36#
ID:464755 發表于 2019-6-14 19:15 來自觸屏版 | 只看該作者
看了之后,忍無可忍了,一定要回復下,很有用,樓主多謝!辛苦了!
回復

使用道具 舉報

37#
ID:464755 發表于 2019-6-19 03:05 來自觸屏版 | 只看該作者
另外,為啥初始化里,0x38,就是定義顯示兩行,5*8字符的。要刷3次?
回復

使用道具 舉報

38#
ID:524818 發表于 2019-6-19 18:29 | 只看該作者
經典,以前看不懂的這樣一講就容易理解了,謝謝!
回復

使用道具 舉報

39#
ID:580953 發表于 2019-7-11 10:48 | 只看該作者
樓主,再分享一個12864的唄,最近被他難住了
回復

使用道具 舉報

40#
ID:452731 發表于 2019-7-11 14:03 | 只看該作者
簡單明了,學習中
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品96久久久久久 | 久久草在线视频 | 欧美专区在线视频 | 国产精品久久久久aaaa樱花 | 蜜桃av鲁一鲁一鲁一鲁 | 美女一区二区在线观看 | 亚洲精品中文字幕 | 久久高清 | 亚洲精品高清视频在线观看 | 色综合天天网 | 成人久久18免费网站 | 鸡毛片 | 国产不卡一区 | 国产欧美一区二区三区久久人妖 | 久久成人免费视频 | 视频一区在线观看 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | av免费网址| 欧美色视频免费 | 黄色网毛片 | 国产伦精品一区二区三区精品视频 | 一级片成人 | 99久久久无码国产精品 | 日韩欧美大片 | 欧美一区二区三区在线看 | 日本中文字幕一区 | 久久亚洲一区二区三区四区 | av网址在线| 亚洲国产成人精品女人 | 99精品视频在线 | 天天操夜夜操免费视频 | 精品国产1区2区3区 一区二区手机在线 | 91视频免费观看 | 午夜男人免费视频 | 男女羞羞视频在线免费观看 | а天堂中文最新一区二区三区 | 国产 欧美 日韩 一区 | 国产激情视频在线观看 | 超碰伊人久久 | 91香蕉| 欧美日韩大片 |