0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC15系列單片機(jī)與迪文DGUS屏應(yīng)用(六):?jiǎn)纹瑱C(jī)程序編寫

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 17:34 ? 次閱讀

相信接觸過(guò)STC15系列單片機(jī)的小伙伴們,應(yīng)該會(huì)對(duì)其編程風(fēng)格比較熟悉,沒(méi)錯(cuò),STC15系列單片機(jī)可以采用庫(kù)函數(shù)編程,官方提供了標(biāo)準(zhǔn)的函數(shù)庫(kù),我們只需要利用好庫(kù)函數(shù),便可大大簡(jiǎn)化配置流程,從而提高編程效率。由于筆者這里的教程不是關(guān)于51單片機(jī)的基礎(chǔ)教程,所以此處省去了新建工程以及如何添加庫(kù)文件等操作。

首先,我們要養(yǎng)成良好的習(xí)慣,在使用任何一款板子的時(shí)候,先建一個(gè)配置板載資源的文件,當(dāng)然要是板子比較復(fù)雜的話,可以分模塊配置多個(gè),由于筆者使用的板子比較簡(jiǎn)單,所以就只添加了一個(gè)名為“BSP_IO.h”的文件,顧名思義,就是一些輸入輸出的配置而已了。

接下來(lái),我們來(lái)配置一下串口參數(shù),在之前的帖子中我們知道,迪文DGUS屏的串口通信波特率配置的是115200,那么,我們?cè)趩纹瑱C(jī)程序中,自然也要講串口通信的波特率配置成115200,其他的就不需要修改了:

程序中有需要用到串口定時(shí)向觸摸屏刷新數(shù)據(jù),所以,這里我們也配置一個(gè)定時(shí)器,并設(shè)置起中斷頻率為1000Hz,即:1ms中斷一次。

接下來(lái),我們需要根據(jù)板子上的IO分布,來(lái)配置一下IO口的輸入輸出模式,所有輸入口均配置成“準(zhǔn)雙向口”,所有輸出口均配置成“強(qiáng)推挽模式”。

另外,程序中也有用到兩路0-5V電壓的采集,所以此處我們還需要對(duì)ADC相關(guān)的參數(shù)進(jìn)行配置,本例程中采用的是AD口分別是P10和P11,查詢方式獲取AD值:

至此,系統(tǒng)配置相關(guān)的東西基本就完成了,接下來(lái),我們就需要自己寫一些應(yīng)用相關(guān)的函數(shù)了,本例中,筆者寫了四個(gè)函數(shù):

Uart1_M(jìn)onitor(); //串口1數(shù)據(jù)監(jiān)控

Uart1_Send(); //串口1發(fā)送指令

ADC_Sampling(); //ADC采樣

GIOP_StateRefresh();//GPIO狀態(tài)刷新

其中,Uart1_M(jìn)onitor()函數(shù),主要是用對(duì)串口中斷接收到的數(shù)據(jù)進(jìn)行解析,比如:DGUS屏按鍵返回的指令、參數(shù)設(shè)置的指令等;Uart1_Send()函數(shù),主要用來(lái)定時(shí)向DGUS屏寫入數(shù)據(jù),比如:數(shù)據(jù)變量顯示、圖標(biāo)變量顯示等; ADC_Sampling()函數(shù)主要是對(duì)外部?jī)陕?-5V模擬量輸入進(jìn)行采樣處理; GIOP_StateRefresh()函數(shù)主要是用來(lái)實(shí)時(shí)刷新輸入輸出口的狀態(tài)。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6040

    文章

    44594

    瀏覽量

    636924
  • 程序編寫
    +關(guān)注

    關(guān)注

    1

    文章

    14

    瀏覽量

    8239
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)Debug工具性能對(duì)比 單片機(jī)調(diào)試常用命令

    單片機(jī)(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的一個(gè)重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯(cuò)誤,優(yōu)化程序性能。不同的單片機(jī)和開發(fā)環(huán)境可能使用不同的調(diào)試工具和命令
    的頭像 發(fā)表于 12-19 09:56 ?383次閱讀

    單片機(jī)編程語(yǔ)言有哪些選擇

    單片機(jī)(Microcontroller Unit,MCU)編程是指為單片機(jī)編寫程序的過(guò)程,這些程序控制單片機(jī)的行為和功能。單片機(jī)廣泛應(yīng)用于嵌
    的頭像 發(fā)表于 11-01 14:13 ?791次閱讀

    單片機(jī)怎么寫入程序

    程序通常涉及以下幾個(gè)步驟: 選擇單片機(jī)和開發(fā)環(huán)境 : 確定項(xiàng)目需求,選擇合適的單片機(jī)型號(hào)。 安裝相應(yīng)的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機(jī)連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?822次閱讀

    單片機(jī)的中斷機(jī)制

    單片機(jī)的中斷機(jī)制是一種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過(guò)程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得單片機(jī)在各種應(yīng)用
    的頭像 發(fā)表于 10-17 18:03 ?861次閱讀

    keil可以讀出單片機(jī)程序

    表述存在一定的誤解,因?yàn)镵eil主要是用于編寫、編譯和調(diào)試單片機(jī)程序的工具,而不是直接從單片機(jī)中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發(fā) :Keil允許用戶使用C語(yǔ)言或
    的頭像 發(fā)表于 09-02 10:32 ?1140次閱讀

    單片機(jī)燒錄程序用什么軟件

    單片機(jī)燒錄程序單片機(jī)開發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),涉及到將編寫好的程序代碼通過(guò)燒錄器寫入單片機(jī)的R
    的頭像 發(fā)表于 09-02 10:05 ?1466次閱讀

    單片機(jī)燒錄程序可以重新燒嗎

    單片機(jī)(Microcontroller Unit, MCU)是一種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設(shè)備。單片機(jī)燒錄程序是指將編寫
    的頭像 發(fā)表于 09-02 10:04 ?1397次閱讀

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎

    單片機(jī)燒錄原理 單片機(jī)燒錄是指將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)的存儲(chǔ)器中,使其能夠按照程序
    的頭像 發(fā)表于 09-02 09:54 ?565次閱讀

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序單片機(jī)開發(fā)過(guò)程中非常重要的一步,它涉及到將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)
    的頭像 發(fā)表于 09-02 09:47 ?1242次閱讀

    讀懂什么單片機(jī):組成結(jié)構(gòu)與應(yīng)用

    歡迎來(lái)到單片機(jī)的世界,這是一種微小(但功能強(qiáng)大)的設(shè)備,改變了嵌入式系統(tǒng)的面貌。在本文中,您將了解單片機(jī)的一些基本知識(shí)、單片機(jī)的結(jié)構(gòu)以及微處理器與單片機(jī)之間的一些區(qū)別。在深入
    的頭像 發(fā)表于 08-09 11:49 ?1764次閱讀
    一<b class='flag-5'>文</b>讀懂什么<b class='flag-5'>單片機(jī)</b>:組成結(jié)構(gòu)與應(yīng)用

    藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳

    ZX-D30、ZX-D37、ZX-D32等。 藍(lán)牙模塊設(shè)置 : 將藍(lán)牙模塊與單片機(jī)連接。通常,藍(lán)牙模塊通過(guò)串口(UART)與單片機(jī)通信。 設(shè)置藍(lán)牙模塊的工作模式和參數(shù),例如波特率、名稱、停止位、數(shù)據(jù)位等。這通常通過(guò)發(fā)送特定的AT命令來(lái)完成。
    的頭像 發(fā)表于 07-24 17:59 ?2775次閱讀
    藍(lán)牙模塊如何實(shí)現(xiàn)<b class='flag-5'>單片機(jī)</b>和手機(jī)端數(shù)據(jù)互傳

    新手學(xué)習(xí)單片機(jī)最常見的大誤區(qū)!

    最近看到臺(tái)私信要資料的同學(xué)比較多,想必大家都是對(duì)單片機(jī)有著濃厚的學(xué)習(xí)興趣,但是很多新手開始入門單片機(jī)的時(shí)候都會(huì)遇到一些學(xué)習(xí)的誤區(qū),今天就來(lái)整理一下大家可能會(huì)遇到的大誤區(qū)。單片機(jī)作為嵌
    的頭像 發(fā)表于 03-28 08:03 ?907次閱讀
    新手學(xué)習(xí)<b class='flag-5'>單片機(jī)</b>最常見的<b class='flag-5'>六</b>大誤區(qū)!

    基于單片機(jī)多功能洗衣機(jī)控制

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
    發(fā)表于 03-18 10:13 ?801次閱讀
    基于<b class='flag-5'>單片機(jī)</b>多功能洗衣<b class='flag-5'>機(jī)</b>控制

    單片機(jī)的最小系統(tǒng)由什么組成 單片機(jī)的最小系統(tǒng)包括哪些

    Unit,CPU)、存儲(chǔ)器、輸入輸出接口電路等核心功能,常見的單片機(jī)有以8051為代表的8位單片機(jī)、PIC系列單片機(jī)和AVR系列
    的頭像 發(fā)表于 02-02 11:27 ?1.1w次閱讀

    單片機(jī)最小系統(tǒng)包含哪幾部分 單片機(jī)最小系統(tǒng)的作用

    單片機(jī)最小系統(tǒng)包含以下幾部分:單片機(jī)芯片、時(shí)鐘電路、復(fù)位電路、電源電路、外圍電路和連接接口等。 單片機(jī)芯片:單片機(jī)是整個(gè)系統(tǒng)的核心部分,負(fù)責(zé)數(shù)據(jù)處理和控制任務(wù)。常見的
    的頭像 發(fā)表于 01-24 10:40 ?1.5w次閱讀