<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          STM32屏幕計(jì)時(shí)器 您所在的位置:網(wǎng)站首頁 屬鼠找屬什么的好 STM32屏幕計(jì)時(shí)器

          STM32屏幕計(jì)時(shí)器

          2024-07-16 06:07| 來源: 網(wǎng)絡(luò)整理| 查看: 265

          目錄 一、最終效果二、實(shí)現(xiàn)思想三、實(shí)現(xiàn)過程3.1 屏幕顯示3.2 中斷處理

          一、最終效果

          顯示屏顯示計(jì)時(shí)時(shí)間,格式為 00:00:00,依次為 時(shí):分:秒,程序運(yùn)行之后自動(dòng)計(jì)時(shí),當(dāng)按下按鍵,計(jì)時(shí)清零,按下按鍵采用外部中斷。

          二、實(shí)現(xiàn)思想

          調(diào)用lcd驅(qū)動(dòng)代碼讓屏幕顯示時(shí)間信息,

          三、實(shí)現(xiàn)過程 3.1 屏幕顯示

          屏幕為SPI協(xié)議的128x128的LCD屏幕,查看原理圖,找到對(duì)應(yīng)接口 在這里插入圖片描述 在這里插入圖片描述 在STM32CubeMX中進(jìn)行引腳配置 由于所調(diào)用的LCD驅(qū)動(dòng)代碼中引腳名稱已經(jīng)確定,不好直接更改代碼,所以在配置引腳時(shí),要將對(duì)應(yīng)的引腳重命名 在這里插入圖片描述 在對(duì)應(yīng)引腳上右鍵改名,改名后?? 在這里插入圖片描述 因?yàn)槠聊伙@示需要高的刷新率,需更改引腳輸出速度為高速?? 在這里插入圖片描述 在這里插入圖片描述 按鍵設(shè)置為外部中斷,配置按鍵為外部中斷?? 在這里插入圖片描述 在這里插入圖片描述 STM32CubeMX中進(jìn)行引腳配置?? 在這里插入圖片描述 將lcd驅(qū)動(dòng)代碼放入工程文件對(duì)應(yīng)位置?? 在這里插入圖片描述 在這里插入圖片描述 在工程文件中添加屏幕驅(qū)動(dòng)程序 lcd.c?? 在這里插入圖片描述 添加完要編譯一下,將其關(guān)聯(lián)文件添加進(jìn)來,編譯完后?? 在這里插入圖片描述 給圖片添加一個(gè)背景,利用圖片取模軟件將一個(gè)圖片進(jìn)行取模轉(zhuǎn)換,生成一個(gè)十六進(jìn)制元素的二維數(shù)組 在這里插入圖片描述 生成一個(gè).h文件并放入項(xiàng)目文件中,對(duì)lcd.h和剛生成的文件進(jìn)行引用?? 在這里插入圖片描述 在這里插入圖片描述 在keil中打開生成的圖模文件,保存數(shù)組名,下面會(huì)用?? 在這里插入圖片描述

          調(diào)用屏幕驅(qū)動(dòng)代碼中所定義好的一些函數(shù)對(duì)屏幕初始化和圖片的顯示?? 在這里插入圖片描述 給計(jì)時(shí)器添加一個(gè)標(biāo)題和時(shí)間顯示區(qū)域?? 在這里插入圖片描述 顯示效果如下?? 在這里插入圖片描述 Gui_DrawFont_GBK16字符串顯示函數(shù)的第三個(gè)參數(shù)為一個(gè)字符串首地址,那如何讓顯示的字符串能夠動(dòng)起來呢??這時(shí)我們可以想到一個(gè)函數(shù)sprintf,這個(gè)函數(shù)可以對(duì)一個(gè)字符串進(jìn)行格式化改變,時(shí)間一改變,就可以接著改變字符串內(nèi)容。 在這里插入圖片描述 接下來寫計(jì)時(shí)的程序,邏輯很好理解,時(shí)間每增加1秒,接著就將改變好的字符串輸出到屏幕如下?? 在這里插入圖片描述

          3.2 中斷處理

          找到中斷向量表,追找到外部中斷的處理函數(shù) 在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述 追到了外部中斷回調(diào)函數(shù)?? 在這里插入圖片描述 進(jìn)行重寫回調(diào)函數(shù),每次按鍵觸發(fā)的外部中斷會(huì)回調(diào)以下重寫的回調(diào)函數(shù)?? 在這里插入圖片描述 在該函數(shù)中要對(duì)時(shí)、分、秒變量進(jìn)行清零,同時(shí)更新屏幕顯示,若不重新寫回屏幕(沒有上面的地183行代碼),則會(huì)出現(xiàn)下面情況,按下按鍵后不能清零,而是從第一秒1秒開始計(jì)時(shí)???????? 在這里插入圖片描述 ??原因是:程序大部分時(shí)間都處于延時(shí)狀態(tài),而你在按下按鍵時(shí)是處在延時(shí)狀態(tài),延時(shí)狀態(tài)程序收到中斷信號(hào),保存現(xiàn)場,進(jìn)行中斷處理函數(shù)的執(zhí)行,此時(shí)雖然時(shí)間變量都給清零了,但是沒有立即寫回屏幕顯示時(shí)間,中斷返回,恢復(fù)現(xiàn)場,主程序又回到延時(shí)狀態(tài),此時(shí)程序執(zhí)行到了下面這里?? 在這里插入圖片描述 這樣,秒數(shù)就會(huì)加 1 變成1,下面再寫回屏幕就會(huì)顯示1了??

          改正之后就沒有問題了????????

          在這里插入圖片描述



          【本文地址】

          公司簡介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 凤翔县| 金塔县| 泾川县| 安图县| 延寿县| 巩留县| 禹州市| 石河子市| 义乌市| 龙里县| 依安县| 寿宁县| 荔浦县| 固原市| 三门县| 兴山县| 大新县| 舟曲县| 安远县| 鸡泽县| 右玉县| 五大连池市| 泰兴市| 海门市| 瑞安市| 马关县| 荆门市| 乌鲁木齐县| 永胜县| 敦化市| 娱乐| 广南县| 金坛市| 澄江县| 都昌县| 冷水江市| 济源市| 青铜峡市| 社会| 岳西县| 依兰县| http://444 http://444 http://444 http://444 http://444 http://444