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

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

QQ登錄

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

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

LCD1602+51單片機(jī)最小系統(tǒng)應(yīng)用仿真及制作

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本文將介紹LCD1602和51單片機(jī)最小系統(tǒng)結(jié)合在一起的簡(jiǎn)單實(shí)例,關(guān)于如何制作51單片機(jī)最小系統(tǒng)可以參見(jiàn)筆者之前寫(xiě)的一篇——51單片機(jī)最小系統(tǒng)的制作

先放兩張實(shí)物圖片:

            
            圖片一(開(kāi)機(jī)后)                                              圖片二(按下按鈕后)

好了,接下來(lái)正式進(jìn)入制作環(huán)節(jié):

第一步:仿真


繪制好原理圖,仿真時(shí)單片機(jī)最小系統(tǒng)只放一個(gè)單片機(jī)就可以了,但實(shí)際電路中需要加上電源模塊、復(fù)位模塊。


                      原理圖

原理圖文件請(qǐng)?jiān)诟郊姓摇?br />
原理圖繪制好后,編寫(xiě)代碼并生成hex文件。代碼內(nèi)容為:

  1. /*************************功能************************/
  2. /*使用外部中斷INTO改變LED狀態(tài),并且用1602顯示出其狀態(tài)*/
  3. #include<reg51.h>
  4. #include <intrins.h>
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. uchar code table[]="   HELLO  1602  ";
  8. uchar code table0[]="1602   TEST      ";
  9. uchar code table1[]="RESULT:    "; //空格是寫(xiě)到LCD了,即空格也是內(nèi)容
  10. uchar code table2[]="OK!";
  11. uchar code table3[]="liang";
  12. uchar code table4[]="mie";
  13. uchar num;
  14. sbit led=P1^7;
  15. sbit lcden=P2^0; //液晶使能端
  16. sbit lcdrs=P2^2; //液晶數(shù)據(jù)命令選擇端選擇寫(xiě)數(shù)據(jù)還是寫(xiě)命令
  17. void delay(uint z)        // 延時(shí)函數(shù)
  18. {
  19.    uint i,j;
  20.    for(i=z;i>0;i--)
  21.    for(j=110;j>0;j--);
  22. }
  23. void write_com(uchar com) //寫(xiě)入
  24. {
  25.   lcdrs=0; //LCD 選擇輸入命令
  26.   P0=com; //向P0 口輸入命令          39-32端口
  27.   delay(5); //延時(shí)
  28.   lcden=1; //打開(kāi)LCD 使能
  29.   delay(5); //一個(gè)高脈沖
  30.   lcden=0; //關(guān)閉LCD 使能
  31. }         
  32. void write_data(uchar date)
  33. {
  34.   lcdrs=1; //設(shè)置為輸入數(shù)據(jù)
  35.   P0=date; //將數(shù)據(jù)賦給P0 口
  36.   delay(5); //延時(shí)
  37.   lcden=1; //置高
  38.   delay(5); //高脈沖
  39.   lcden=0; //置低完成高脈沖
  40. }
  41. void init()                //LED 初始化
  42. {
  43.   lcden=0;
  44.   write_com(0x38);//設(shè)置16x2 顯示5x7 點(diǎn)陣,8 位數(shù)據(jù)接口         
  45.   write_com(0x0c); //設(shè)置開(kāi)始顯示不顯示光標(biāo)           (指令4)
  46.   write_com(0x06); //寫(xiě)一個(gè)字符后地址指針加1 (指令3)
  47.   write_com(0x01); //顯示清零數(shù)據(jù)指針清零  (指令1)
  48. }
  49.         
  50. void display(unsigned char *p)//按指針  地址寫(xiě)入數(shù)據(jù)
  51. {
  52.    while(*p!='\0')
  53.      {
  54.        write_data(*p);                 //寫(xiě)數(shù)據(jù)
  55.        p++;
  56.        delay(1);
  57.      }
  58. }
  59.                                                          
  60. void main()
  61. {         
  62.    TCON=0x01;          //設(shè)置中斷為INTO
  63.          IE=0x81;
  64.    led=0;
  65.          init();     
  66.     write_com(0x80); //將數(shù)據(jù)指針第一行第一個(gè)字處,
  67.           display(table);        //調(diào)用函數(shù)的方式寫(xiě)入數(shù)據(jù)
  68.           delay(800);
  69.           write_com(0x80); //將數(shù)據(jù)指針第一行第一個(gè)字處,
  70.           display(table0);        //調(diào)用函數(shù)的方式寫(xiě)入數(shù)據(jù)
  71.     write_com(0x80+0x40); //定義指針位置          將數(shù)據(jù)指針第二行第一個(gè)字處
  72.     for(num=0;num<7;num++)
  73.        {
  74.           write_data(table1[num]);
  75.           delay(5);
  76.        }
  77.           write_com(0x80+0x4c);         //按1602的地址單個(gè)寫(xiě)入數(shù)據(jù)
  78.           write_data(table2[0]);
  79.                 write_com(0x80+0x4d);          //按1602的地址單個(gè)寫(xiě)入數(shù)據(jù)
  80.           write_data(table2[1]);
  81.                 write_com(0x80+0x4e);                 //按1602的地址單個(gè)寫(xiě)入數(shù)據(jù)
  82.           write_data(table2[2]);               
  83.           while(1);                        
  84. }        
  85. void key_can() interrupt 0
  86. {
  87.    delay(20);        // 消除按鍵抖動(dòng)
  88.    if(P3^3==0)
  89.      {
  90.            if(P3^3==0)
  91.            {
  92.              led=!led;
  93.                  
  94.            }
  95.            if(led==1)
  96.              {
  97.                write_com(0x80+0x4b);
  98.                      display(table3);
  99.                    }               
  100.           else if(led==0)
  101.             {
  102.               write_com(0x80+0x4b);            //按1602的地址單個(gè)寫(xiě)入數(shù)據(jù)
  103.                     display(table4);
  104.               write_com(0x80+0x4f);
  105.                     write_data(table1[8]);                 //按1602的地址單個(gè)寫(xiě)入數(shù)據(jù)
  106.                           write_com(0x80+0x4e);
  107.                     write_data(table1[8]);        
  108.                   }
  109.      }
  110.   }
復(fù)制代碼

原理圖和代碼都有了,仿真的準(zhǔn)備工作就完了,現(xiàn)在正式進(jìn)入仿真。

將代碼加載進(jìn)單片機(jī)中,若不會(huì)加載者可以參見(jiàn)筆者之前寫(xiě)的一篇——51單片機(jī)最小系統(tǒng)的制作

點(diǎn)擊仿真,查看結(jié)果。以下是一些結(jié)果圖片:

            
          點(diǎn)擊仿真時(shí)首先顯示界面                                             點(diǎn)擊仿真時(shí)第二顯示界面并將一直停在此處

(由于開(kāi)始時(shí),主要有變化的就是LCD1602,故此處截圖只截了一部分。)

           
        按下按鈕后-燈亮,LCD1602顯示有變化                      再次按下按鈕后-燈亮,LCD1602顯示有變化

第二步:準(zhǔn)備元器件




第三步:繪制焊接圖

此處默認(rèn)手頭已經(jīng)有單片機(jī)最小系統(tǒng)了,沒(méi)有的話(huà)可以參見(jiàn)筆者之前寫(xiě)的一篇——51單片機(jī)最小系統(tǒng)的制作

為了便于重復(fù)使用LCD1602,采用了排插;為了便于后續(xù)繼續(xù)拓展LCD1602的實(shí)例,將此處的做成一個(gè)模塊。

元器件布局圖如下:




走線(xiàn)圖(部分走線(xiàn)未畫(huà),具體請(qǐng)看圖片中的文字)如下:






第四步:焊接
繪制好焊接圖后,照著圖一部分一部分焊接,就可以了。下圖是我采用錫接走線(xiàn)法焊接好后的反面圖:



切記不要焊短路了!!切記不要焊短路了!!切記不要焊短路了!!

第五步:實(shí)物測(cè)試

先將hex程序下載到單片機(jī)中,然后照著DSN原理圖的連線(xiàn)用杜邦線(xiàn)將51單片機(jī)最小系統(tǒng)與LCD1062模塊連接,接通電源,適當(dāng)調(diào)節(jié)滑動(dòng)變阻器來(lái)調(diào)整LCD1062的對(duì)比度,從而使字符顯示清晰。LCD1062D的15腳接電源正極,16腳接電源負(fù)極,15和16位背光電源。

結(jié)語(yǔ):遇到問(wèn)題多查資料,多動(dòng)手,做完之后寫(xiě)篇文章來(lái)溫故一下,捋一下思路的同時(shí)也回饋大眾~

部分參考資料來(lái)源:1.http://www.zg4o1577.cn/bbs/dpj-31284-1.html
2.http://www.zg4o1577.cn/bbs/dpj-57960-1.html
3.http://wenku.baidu.com/link?url= ... kXtUSQU-TBxEU46BWte


下載:
LCD1602 51單片機(jī)最小系統(tǒng)應(yīng)用仿真及制作.zip (709.56 KB, 下載次數(shù): 58)

評(píng)分

參與人數(shù) 2黑幣 +110 收起 理由
zhaok2013 + 10 很給力!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:285390 發(fā)表于 2018-2-25 14:31 | 只看該作者
我想問(wèn)一下那個(gè)仿真文件可以用miltisim13.0打開(kāi)嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:285390 發(fā)表于 2018-2-25 14:33 | 只看該作者
哇塞,這個(gè)文件特別給力
回復(fù)

使用道具 舉報(bào)

地板
ID:167522 發(fā)表于 2018-5-7 18:01 | 只看該作者
好帖子,學(xué)習(xí)到了
回復(fù)

使用道具 舉報(bào)

5#
ID:166089 發(fā)表于 2018-7-2 12:54 | 只看該作者
伊潔奧康 發(fā)表于 2018-2-25 14:31
我想問(wèn)一下那個(gè)仿真文件可以用miltisim13.0打開(kāi)嗎

我是用Proteus仿真的,你可以試試
回復(fù)

使用道具 舉報(bào)

6#
ID:685675 發(fā)表于 2020-3-8 16:41 | 只看該作者
你好,請(qǐng)問(wèn)一下,我的89C52單片機(jī)引腳不夠用了,想再加個(gè)LCD模塊,自制這么一個(gè)洞洞板,連接單片機(jī)的哪里呢
回復(fù)

使用道具 舉報(bào)

7#
ID:695749 發(fā)表于 2020-3-8 22:54 | 只看該作者
正好在學(xué)習(xí)1602,可以借鑒做個(gè)小系統(tǒng)。謝謝分享!
回復(fù)

使用道具 舉報(bào)

8#
ID:166089 發(fā)表于 2020-3-9 09:16 | 只看該作者
tcsyz0071 發(fā)表于 2020-3-8 16:41
你好,請(qǐng)問(wèn)一下,我的89C52單片機(jī)引腳不夠用了,想再加個(gè)LCD模塊,自制這么一個(gè)洞洞板,連接單片機(jī)的哪里呢

這個(gè)我不清楚,你可以自行百度一下。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 黄色在线观看网址 | 91麻豆精品国产91久久久资源速度 | 国产成人免费网站 | 一区二区三区国产精品 | 三级免费av | 九九久久精品视频 | 欧美亚洲视频 | 日韩欧美高清 | 亚洲免费人成在线视频观看 | 亚洲综合色丁香婷婷六月图片 | 国产精品久久久久久久久久久久 | 天天精品在线 | 日韩久久久久 | 日韩精品一区二区三区视频播放 | 国产精品国产馆在线真实露脸 | 精品国产一区二区三区性色av | a精品视频 | 久久精品国产99国产 | 亚洲国产精品一区二区三区 | 久久69精品久久久久久久电影好 | 久久久美女 | 国产精品成人一区二区 | 国产一区二区三区不卡av | 久久国产视频网站 | 国产在线精品一区二区 | 99久久99| 欧美激情 亚洲 | 超碰操 | 日韩美女在线看免费观看 | 国产精品无码永久免费888 | 97精品超碰一区二区三区 | 国产在线一级片 | 久久精品亚洲精品国产欧美 | 久久婷婷国产麻豆91 | 亚洲精品视 | 国产中文原创 | 国产精品久久久久久久久久久久 | 欧美日韩亚洲视频 | h视频网站在线观看 | 国产在线高清 | 中文字幕精品视频 |