<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LCD1602驅(qū)動(dòng)顯示實(shí)驗(yàn)STM32

          LCD1602驅(qū)動(dòng)顯示實(shí)驗(yàn)STM32

          作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏

          /*********************************************************************
          *名 稱(chēng):LCD_Setpos_DispDecimal()
          *功 能:在指定位置顯示一個(gè)有效位不超過(guò)8位的浮點(diǎn)數(shù)
          *入口參數(shù):row:待顯示的行 1,2
          * col:待顯示的列 0~15
          * num:待顯示的浮點(diǎn)數(shù)放大10的整數(shù)倍后得到的整數(shù),不超過(guò)8位
          * dot:小數(shù)點(diǎn)的位數(shù)
          *出口參數(shù):無(wú)
          *********************************************************************/
          void LCD_Setpos_DispDecimal(uchar row,uchar col,uint32_t num,uchar dot)
          {
          LCD_Setpos(row,col);
          LCD_DispDecimal(num,dot);
          }
          /*********************************************************************
          *名 稱(chēng):LCD_DispDateTime()
          *功 能:顯示日歷,顯示日期與時(shí)間
          *入口參數(shù):year:年,可以是任意值
          * month:月,1~12
          * day:日,1~31
          * hour:時(shí),1~24 或 1~12
          * min:分,0~59
          * sec:秒,0~59
          *出口參數(shù):無(wú)
          *說(shuō) 明:使用前必須先宏定義USE_LCD_DISP_DATE,在包含文件之前定義有效
          *顯示格式:Date:yyyy-mm-dd *
          * Time:hh:mm:ss *
          *********************************************************************/
          void LCD_DispDateTime(uint32_t year,uchar month,uchar day,uchar hour,uchar min,uchar sec)
          {
          LCD_Setpos(1,0);
          LCD_DispString("Date:");
          LCD_Dispnum((uint32_t)year);
          LCD_DispChar(-);
          LCD_Dispnum((uint32_t)month);
          LCD_DispChar(-);
          LCD_Dispnum((uint32_t)day);
          LCD_Setpos(1,15);
          LCD_DispChar(*); //第一行結(jié)束符顯示
          LCD_Setpos(2,0);
          LCD_DispString("Time:");
          LCD_Dispnum((uint32_t)hour);
          LCD_DispChar(:);
          LCD_Dispnum((uint32_t)min);
          LCD_DispChar(:);
          LCD_Dispnum((uint32_t)sec);
          LCD_Setpos(2,15);
          LCD_DispChar(*); //第二行結(jié)束符顯示
          }
          /*********************************************************************
          *名 稱(chēng):LCD_DispStopWatch()
          *功 能:顯示秒表,顯示時(shí),分,秒,10毫秒,精確到10ms
          *入口參數(shù):hour:時(shí),1~24 或 1~12
          * min:分,0~59
          * sec:秒,0~59
          * tenms:10ms計(jì)數(shù)值,如3表示30ms
          *出口參數(shù):無(wú)
          *顯示格式:Current Time: *
          * hh:mm:ss:tt *
          *********************************************************************/
          void LCD_DispStopWatch(uchar hour,uchar min,uchar sec,uchar tenms)
          {
          LCD_Setpos(1,0);
          LCD_DispString("Current Time:");
          LCD_Setpos(1,15);
          LCD_DispChar(*); //第一行結(jié)束符顯示
          LCD_Setpos(2,2);
          LCD_Dispnum((uint32_t)hour);
          LCD_DispChar(:);
          LCD_Dispnum((uint32_t)min);
          LCD_DispChar(:);
          LCD_Dispnum((uint32_t)sec);
          LCD_DispChar(:);
          LCD_Dispnum((uint32_t)tenms);
          LCD_Setpos(2,15);
          LCD_DispChar(*); //第二行結(jié)束符顯示
          }
          /*********************************************************************
          *名 稱(chēng):LCD_DispFreq()
          *功 能:顯示頻率計(jì),動(dòng)態(tài)自動(dòng)調(diào)整頻率顯示
          *入口參數(shù):freq:可以顯示8位整數(shù)表示的頻率值,頻率范圍1Hz~99MHz
          *出口參數(shù):無(wú)
          *說(shuō) 明:入口的頻率值單位是Hz,顯示函數(shù)自動(dòng)選擇合適的顯示方式
          * freq>=1000000顯示成6位小數(shù)的MHz
          * else freq>=1000 顯示成3位小數(shù)的KHz
          * else freq>=0 默認(rèn)顯示單位是Hz (三個(gè)區(qū)間互斥)
          *********************************************************************/
          void LCD_DispFreq(uint32_t freq)
          {
          LCD_Setpos(1,0);
          LCD_DispString("Current Freq:");
          LCD_Setpos(2,1); //顯示位置
          if(freq>=1000000)
          {
          LCD_DispDecimal(freq,6);
          LCD_DispString("MHz");
          }
          else if(freq>=1000)
          {
          LCD_DispDecimal(freq,3);
          LCD_DispString("KHz");
          }
          else { LCD_Dispnum(freq);
          LCD_DispString("Hz");
          }
          LCD_Setpos(2,14);
          LCD_DispString("OK");
          }
          //屏幕整體左移一格,用于滾動(dòng)顯示
          void LCD_ShiftLeft()
          {
          LCD_Writecmd(0x18);
          }
          //屏幕整體右移一格,用于滾動(dòng)顯示
          void LCD_ShiftRight(void)
          {
          LCD_Writecmd(0x1C);
          }
          //清屏,清除顯示
          void LCD_Clear(void)
          {
          LCD_Writecmd(0x01);
          }
          //使光標(biāo)還回原點(diǎn)位置
          void LCD_Return(void)
          {
          LCD_Writecmd(0x02);
          }
          //關(guān)顯示
          void LCD_Close(void)
          {
          LCD_Writecmd(0x08);
          }
          //開(kāi)顯示
          void LCD_Open(void)
          {
          LCD_Writecmd(0x0C);
          }
          /*********************************************************************
          *名 稱(chēng):LCD_FlickerChar()
          *功 能:使指定位置字符閃爍,不顯示光標(biāo)
          *入口參數(shù):row:行 1,2
          * col:列 0~15
          *出口參數(shù):無(wú)
          *說(shuō) 明:寫(xiě)命令0x0D不顯示光標(biāo)的閃爍,寫(xiě)命令0x0F是顯示光標(biāo)的閃爍
          * 一旦設(shè)定閃爍后,會(huì)根據(jù)位置變化閃爍,關(guān)閃爍寫(xiě)命令0x0C
          *********************************************************************/
          void LCD_FlickerChar(uchar row,uchar col)
          {
          LCD_Writecmd(0x0D);
          LCD_Setpos(row,col);
          }
          //關(guān)閉字符閃爍
          void LCD_CloseFlicker(void)
          {
          LCD_Writecmd(0x0C);
          }
          //屏幕秒閃爍一次
          void LCD_FlickerScreen(void)
          {
          LCD_Writecmd(0x08);//關(guān)顯示
          delay_nms(500);
          LCD_Writecmd(0x0C);//開(kāi)顯示
          delay_nms(500);
          }


          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();