找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

1602字符顯示keil+protues詳細(xì)講解及說明

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:164381 發(fā)表于 2017-2-20 14:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1602字符顯示keil+protues詳細(xì)講解及說明

源程序:
  1. #include<reg52.h>
  2. typedef unsigned int u16;
  3. typedef unsigned char u8;

  4. #define DATA P0                                //宏定義,相當(dāng)于  define π 3.14,這里沒有等號。

  5. sbit rs = P2^1;                                          //rs,sw,en;可以理解成液晶的幾個功能開關(guān),無非就只有兩種狀態(tài)
  6. sbit rw = P1^5;                                                                         //為0或1,對應(yīng)的功能詳細(xì)看使用手冊。這里是把液晶的
  7. sbit en = P1^6;                                                                   //這三個開關(guān)與單片機引腳定義為鏈接狀態(tài),以便單片機控制液晶。

  8. void delay(u16 num)
  9. {
  10.     u16 x,y;
  11.         for (x=num;x>0;x--)
  12.              for(y=110;y>0;y--);

  13. }
  14. void write_cmd(u8 cmd)                   //寫指令
  15. {
  16.   rs=0;                                                   //選擇指令寄存器
  17.   rw=0;                                                   //進(jìn)行寫操作
  18.   DATA = cmd;                                   //把指令傳給單片機
  19.   delay(5);
  20.   en=1;
  21.   delay(5);
  22.   en=0;                                                   //en為使能端,當(dāng)en由高電平跳到底電平時,液晶模塊執(zhí)行命令。
  23. }
  24. void write_data(u8 dat)
  25. {
  26.   rs=1;                                                        //選擇數(shù)據(jù)寄存器
  27.   rw=0;                                                        //進(jìn)行寫操作
  28.   DATA = dat;                                        // 把數(shù)據(jù)傳給單片機
  29.   delay(5);
  30.   en=1;
  31.   delay(5);
  32.   en=0;
  33. }
  34. void lcd_init()                                 //初始化
  35. {
  36.    write_cmd(0x02);           //歸為
  37.    write_cmd(0x06);           //設(shè)置輸入方式
  38.    write_cmd(0x0e);           //控制顯示開關(guān)
  39.    write_cmd(0x38);           //功能設(shè)置
  40.    write_cmd(0x01);    //清屏
  41. }
  42. void main()
  43. {
  44.   rw=0;
  45.   rs=0;
  46.   en=0;
  47.   lcd_init();
  48.   write_cmd(0x80);             //0x80,(0xc0)為在液晶上顯示的地址;80為第一排顯示,c0為第二排顯示。
  49.   write_data('x');      //顯示的數(shù)據(jù)
  50.   write_data('i');
  51.   write_data('a');
  52.   write_data('o');
  53.   write_data(' ');
  54.   write_data('p');
  55.   write_data('e');
  56.   write_data('n');
  57.   write_data('g');
  58.   write_data(' ');
  59.   write_data('y');
  60.   write_data('o');
  61.   write_data('u');
  62.   write_cmd(0xc0);                 //第二排顯示
  63.   write_data('t');                  //顯示的數(shù)據(jù)
  64. while(1);
  65. }
復(fù)制代碼


仿真工程文件及完整源碼下載:
1602字符顯示.rar (45.29 KB, 下載次數(shù): 31)

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2017-2-22 01:02 | 只看該作者
好資料,51黑有你更精彩。!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表