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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

液晶1602的外接函數-頭文件的編寫

[復制鏈接]
跳轉到指定樓層
樓主
ID:197531 發表于 2017-9-6 17:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
只需要將要顯示的數據進行小處理就可以

單片機源程序如下:
  1.         //親測可用
  2.         #include <reg52.h>
  3.         #define uchar unsigned char
  4.         #define uint unsigned int
  5.         sbit lcden = P2^7;
  6.         sbit lcdrs = P2^6;           //數據命令選擇端 為高時選擇“數據” 為低時選擇“命令”
  7.         sbit lcdrw = P2^5;           //讀寫選擇端 通常給低電平,將數據寫入,再顯示
  8.         uchar code table1[]="   2017-7-29";          //12位
  9.         uchar code table2[]="      :  :";        //10位
  10.         uchar num;
  11.         uchar miao,fen,shi;          //定義三個變量:秒、分鐘、小時
  12.         
  13.         void LCD_init();
  14.         void write_com(uchar);                //命令子函數(寫指令)
  15.         void write_data(uchar);                //數據子函數
  16.         void write_sfm(uchar,uchar);
  17.         void delay(uint);

  18.         void main()
  19.         {
  20.                 LCD_init();

  21.                 while(1)
  22.                 {
  23. //                        miao = TIME[0];                 //將從1302寄存器中讀到的時間賦給三個變量
  24. //                        fen  = TIME[1];                 //假設是35秒,則通過write_sfm函數將3和5拆開,分別顯示
  25. //                        shi  = TIME[2];

  26. //實驗
  27.                         miao = 25;          //少個分號,這咋整
  28.                         fen = 19;
  29.                         shi = 16;
  30.                         write_sfm(10,miao);          //以下三行就是對外的接口
  31.                         write_sfm(7,fen);
  32.                         write_sfm(4,shi);
  33.                 }
  34.                
  35.         }
  36.         /*******************************************************************************
  37.         * 函數名         : void delay(uint);
  38.         * 函數功能                 : 延時x ms
  39.         * 輸入           : x
  40.         * 輸出                  : 無
  41.         * 備注           : 無
  42.         *******************************************************************************/
  43.         void delay(uint x)                                              //延時xms
  44.         {
  45.             uint i,j;
  46.             for (i = x;i > 0;i--)
  47.                         for (j = 110;j > 0;j--);        
  48.         }

  49.         /*******************************************************************************
  50.         * 函數名         : void LCD_init();
  51.         * 函數功能                 : LCD的初始化設置
  52.         * 輸入           : 無
  53.         * 輸出                  : 無
  54.         * 備注           : 無
  55.         *******************************************************************************/
  56.         void LCD_init()
  57.         {
  58.                 lcden = 0;
  59.                 lcdrw = 0;
  60.                 write_com(0x38);
  61.                 write_com(0x0e);
  62.                 write_com(0x06);        //光標加一,為啥要加1呢
  63.                 write_com(0x01);
  64.                 write_com(0x80);
  65.                
  66.                 //效果:在第一行顯示出2017-7-29字樣,在第二行顯示出16:19:25字樣(實驗結果成功)
  67.                 for (num = 0;num < 12;num++)   //首先輸出
  68.                 {
  69.                         write_data(table1[num]);
  70.                         delay(20);
  71.                 }
  72.                 write_com(0x80+0x40);
  73.                 for (num = 0;num < 10;num++)   //首先輸出
  74.                 {
  75.                         write_data(table2[num]);
  76.                         delay(20);
  77.                 }        
  78.         }        

  79.         /*******************************************************************************
  80.         * 函數名         : void write_com(uchar);
  81.         * 函數功能                 : 命令子函數(寫指令)
  82.         * 輸入           : com
  83.         * 輸出                  : 無
  84.         * 備注           : 無
  85.         *******************************************************************************/
  86.         void write_com(uchar com)
  87.         {
  88.                 lcdrs = 0;
  89.                 P0 = com;        
  90.                 delay(5);
  91.                 lcden = 1;
  92.                 delay(5);
  93.                 lcden = 0;
  94.         }

  95.         /*******************************************************************************
  96.         * 函數名         : void write_data(uchar);
  97.         * 函數功能                 : 將數據寫入LCD1602
  98.         * 輸入           : date
  99.         * 輸出                  : 無
  100.         * 備注           : 無
  101.         *******************************************************************************/
  102.         void write_data(uchar date)
  103.         {
  104.                 lcdrs = 1;
  105.                 P0 = date;           
  106.                 delay(5);                //延時5ms
  107.                 lcden = 1;                //一個高脈沖把數據讀走
  108.                 delay (5);
  109.                 lcden = 0;
  110.         }

  111. ……………………

  112. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
液晶1602對外的接口函數.zip (34.36 KB, 下載次數: 18)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:754419 發表于 2020-5-18 00:25 | 只看該作者
很有用,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区视频 | 国产精品久久毛片av大全日韩 | 国产精品成av人在线视午夜片 | 成人精品国产免费网站 | 蜜桃黄网 | 精品亚洲一区二区三区 | 久久国产精品91 | 宅男噜噜噜66一区二区 | wwwww在线观看 | 久久性av| 在线免费观看黄a | 久久久久久久一区 | 在线观看视频一区 | 国产精品一区二区不卡 | 日本三级日产三级国产三级 | 91电影在线 | 成人免费一区二区三区牛牛 | 中文字幕在线免费观看 | 一级毛片观看 | 青青久久av北条麻妃海外网 | 波多野结衣精品在线 | 国产精品一区二区三区四区 | av网站免费观看 | 亚洲天堂日韩精品 | 国产成人精品网站 | 国产精品a久久久久 | 日本免费在线观看视频 | 国产精品免费在线 | 国产98色在线 | 精品粉嫩aⅴ一区二区三区四区 | 国产成人99久久亚洲综合精品 | 特黄级国产片 | 在线国产视频 | 成人免费网站视频 | 精品视频在线一区 | 日韩成人免费 | 久久久噜噜噜www成人网 | 国产精品美女久久久久久免费 | 午夜精品久久久久久久久久久久久 | 久久久观看 | 亚洲一区二区三区久久 |