相信接觸過(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)投訴
相關(guān)推薦
單片機(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ī)(Microcontroller Unit,MCU)編程是指為單片機(jī)編寫程序的過(guò)程,這些程序控制單片機(jī)的行為和功能。單片機(jī)廣泛應(yīng)用于嵌
發(fā)表于 11-01 14:13
?791次閱讀
程序通常涉及以下幾個(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ī)在執(zhí)行主程序的過(guò)程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得單片機(jī)在各種應(yīng)用
發(fā)表于 10-17 18:03
?861次閱讀
表述存在一定的誤解,因?yàn)镵eil主要是用于編寫、編譯和調(diào)試單片機(jī)程序的工具,而不是直接從單片機(jī)中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發(fā) :Keil允許用戶使用C語(yǔ)言或
發(fā)表于 09-02 10:32
?1140次閱讀
單片機(jī)燒錄程序是單片機(jī)開發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),涉及到將編寫好的程序代碼通過(guò)燒錄器寫入單片機(jī)的R
發(fā)表于 09-02 10:05
?1466次閱讀
單片機(jī)(Microcontroller Unit, MCU)是一種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設(shè)備。單片機(jī)燒錄程序是指將編寫
發(fā)表于 09-02 10:04
?1397次閱讀
單片機(jī)燒錄原理 單片機(jī)燒錄是指將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)的存儲(chǔ)器中,使其能夠按照程序
發(fā)表于 09-02 09:54
?565次閱讀
單片機(jī)燒錄程序是單片機(jī)開發(fā)過(guò)程中非常重要的一步,它涉及到將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)
發(fā)表于 09-02 09:47
?1242次閱讀
歡迎來(lái)到單片機(jī)的世界,這是一種微小(但功能強(qiáng)大)的設(shè)備,改變了嵌入式系統(tǒng)的面貌。在本文中,您將了解單片機(jī)的一些基本知識(shí)、單片機(jī)的結(jié)構(gòu)以及微處理器與單片機(jī)之間的一些區(qū)別。在深入
發(fā)表于 08-09 11:49
?1764次閱讀
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次閱讀
最近看到臺(tái)私信要資料的同學(xué)比較多,想必大家都是對(duì)單片機(jī)有著濃厚的學(xué)習(xí)興趣,但是很多新手開始入門單片機(jī)的時(shí)候都會(huì)遇到一些學(xué)習(xí)的誤區(qū),今天就來(lái)整理一下大家可能會(huì)遇到的六大誤區(qū)。單片機(jī)作為嵌
發(fā)表于 03-28 08:03
?907次閱讀
需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
發(fā)表于 03-18 10:13
?801次閱讀
Unit,CPU)、存儲(chǔ)器、輸入輸出接口電路等核心功能,常見的單片機(jī)有以8051為代表的8位單片機(jī)、PIC系列單片機(jī)和AVR系列
發(fā)表于 02-02 11:27
?1.1w次閱讀
單片機(jī)最小系統(tǒng)包含以下幾部分:單片機(jī)芯片、時(shí)鐘電路、復(fù)位電路、電源電路、外圍電路和連接接口等。 單片機(jī)芯片:單片機(jī)是整個(gè)系統(tǒng)的核心部分,負(fù)責(zé)數(shù)據(jù)處理和控制任務(wù)。常見的
發(fā)表于 01-24 10:40
?1.5w次閱讀
評(píng)論