相信接觸過(guò)STC15系列單片機(jī)的小伙伴們,應(yīng)該會(huì)對(duì)其編程風(fēng)格比較熟悉,沒錯(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)編程是指為單片機(jī)編寫程序的過(guò)程,這些程序控制單片機(jī)的行為和功能。單片機(jī)廣泛應(yīng)用于嵌
發(fā)表于 11-01 14:13
?345次閱讀
程序通常涉及以下幾個(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
?279次閱讀
表述存在一定的誤解,因?yàn)镵eil主要是用于編寫、編譯和調(diào)試單片機(jī)程序的工具,而不是直接從單片機(jī)中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發(fā) :Keil允許用戶使用C語(yǔ)言或
發(fā)表于 09-02 10:32
?717次閱讀
單片機(jī)燒錄程序是單片機(jī)開發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),涉及到將編寫好的程序代碼通過(guò)燒錄器寫入單片機(jī)的R
發(fā)表于 09-02 10:05
?899次閱讀
單片機(jī)(Microcontroller Unit, MCU)是一種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設(shè)備。單片機(jī)燒錄程序是指將編寫
發(fā)表于 09-02 10:04
?953次閱讀
單片機(jī)燒錄原理 單片機(jī)燒錄是指將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)的存儲(chǔ)器中,使其能夠按照程序
發(fā)表于 09-02 09:54
?413次閱讀
單片機(jī)燒錄程序是單片機(jī)開發(fā)過(guò)程中非常重要的一步,它涉及到將編寫好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)
發(fā)表于 09-02 09:47
?813次閱讀
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
?2150次閱讀
需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
發(fā)表于 03-18 10:13
?593次閱讀
Unit,CPU)、存儲(chǔ)器、輸入輸出接口電路等核心功能,常見的單片機(jī)有以8051為代表的8位單片機(jī)、PIC系列單片機(jī)和AVR系列
發(fā)表于 02-02 11:27
?9963次閱讀
是指使用特定的編程語(yǔ)言編寫控制單片機(jī)工作的程序。 在本文中,將為您提供一些常見的單片機(jī)編程實(shí)例,包括基礎(chǔ)應(yīng)用、傳感器應(yīng)用、通信應(yīng)用等方面的案例。 一、基礎(chǔ)應(yīng)用 LED流水燈 流水燈是最
發(fā)表于 01-16 09:37
?2557次閱讀
和輸入/輸出設(shè)備的芯片。它通常用于嵌入式系統(tǒng)中,能夠完成一系列特定的任務(wù)。開發(fā)人員編寫的單片機(jī)代碼負(fù)責(zé)指導(dǎo)單片機(jī)執(zhí)行相應(yīng)的任務(wù)。然而,編寫
發(fā)表于 01-08 14:12
?2912次閱讀
燒錄STC51單片機(jī)是一項(xiàng)常見的操作,下面將詳細(xì)介紹如何進(jìn)行燒錄以及所需的步驟和工具。本文將按照如下順序進(jìn)行詳解: STC51單片機(jī)簡(jiǎn)介 硬件燒錄工具介紹 硬件燒錄步驟 軟件燒錄工具介
發(fā)表于 01-02 17:41
?3088次閱讀
編寫51單片機(jī)程序需要以下步驟: 編寫程序框架:首先,你需要定義程序所需要的變量和常量,以及設(shè)置中斷向量和寄存器的初始狀態(tài)。這些信息可以根據(jù)
發(fā)表于 12-25 14:54
?1459次閱讀
STC8位單片機(jī)
---超強(qiáng)抗干擾,無(wú)法解密
-采用STC第八代加密技術(shù)
---不需要外部晶振和外部復(fù)位的單片機(jī)
---可省掉外部EEPROM,利用IAP技術(shù)
發(fā)表于 11-28 15:09
?16次下載
評(píng)論