相信接觸過STC15系列單片機的小伙伴們,應該會對其編程風格比較熟悉,沒錯,STC15系列單片機可以采用庫函數編程,官方提供了標準的函數庫,我們只需要利用好庫函數,便可大大簡化配置流程,從而提高編程效率。由于筆者這里的教程不是關于51單片機的基礎教程,所以此處省去了新建工程以及如何添加庫文件等操作。
首先,我們要養成良好的習慣,在使用任何一款板子的時候,先建一個配置板載資源的文件,當然要是板子比較復雜的話,可以分模塊配置多個,由于筆者使用的板子比較簡單,所以就只添加了一個名為“BSP_IO.h”的文件,顧名思義,就是一些輸入輸出的配置而已了。
接下來,我們來配置一下串口參數,在之前的帖子中我們知道,迪文DGUS屏的串口通信波特率配置的是115200,那么,我們在單片機程序中,自然也要講串口通信的波特率配置成115200,其他的就不需要修改了:
程序中有需要用到串口定時向觸摸屏刷新數據,所以,這里我們也配置一個定時器,并設置起中斷頻率為1000Hz,即:1ms中斷一次。
接下來,我們需要根據板子上的IO分布,來配置一下IO口的輸入輸出模式,所有輸入口均配置成“準雙向口”,所有輸出口均配置成“強推挽模式”。
另外,程序中也有用到兩路0-5V電壓的采集,所以此處我們還需要對ADC相關的參數進行配置,本例程中采用的是AD口分別是P10和P11,查詢方式獲取AD值:
至此,系統配置相關的東西基本就完成了,接下來,我們就需要自己寫一些應用相關的函數了,本例中,筆者寫了四個函數:
Uart1_Monitor(); //串口1數據監控
Uart1_Send(); //串口1發送指令
ADC_Sampling(); //ADC采樣
GIOP_StateRefresh();//GPIO狀態刷新
其中,Uart1_Monitor()函數,主要是用對串口中斷接收到的數據進行解析,比如:DGUS屏按鍵返回的指令、參數設置的指令等;Uart1_Send()函數,主要用來定時向DGUS屏寫入數據,比如:數據變量顯示、圖標變量顯示等; ADC_Sampling()函數主要是對外部兩路0-5V模擬量輸入進行采樣處理; GIOP_StateRefresh()函數主要是用來實時刷新輸入輸出口的狀態。
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
單片機(Microcontroller Unit, MCU)調試是嵌入式開發中的一個重要環節,它幫助開發者發現和修復代碼中的錯誤,優化程序性能。不同的單片機和開發環境可能使用不同的調試工具和命令
發表于 12-19 09:56
?386次閱讀
單片機(Microcontroller Unit,MCU)編程是指為單片機編寫程序的過程,這些程序控制單片機的行為和功能。單片機廣泛應用于嵌
發表于 11-01 14:13
?803次閱讀
程序通常涉及以下幾個步驟: 選擇單片機和開發環境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發環境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機連接到開發板或
發表于 10-21 11:21
?829次閱讀
單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用
發表于 10-17 18:03
?878次閱讀
表述存在一定的誤解,因為Keil主要是用于編寫、編譯和調試單片機程序的工具,而不是直接從單片機中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發 :Keil允許用戶使用C語言或
發表于 09-02 10:32
?1152次閱讀
單片機燒錄程序是單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的R
發表于 09-02 10:05
?1491次閱讀
單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄程序是指將編寫
發表于 09-02 10:04
?1408次閱讀
單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸到單片機的存儲器中,使其能夠按照程序
發表于 09-02 09:54
?571次閱讀
單片機燒錄程序是單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機
發表于 09-02 09:47
?1276次閱讀
歡迎來到單片機的世界,這是一種微小(但功能強大)的設備,改變了嵌入式系統的面貌。在本文中,您將了解單片機的一些基本知識、單片機的結構以及微處理器與單片機之間的一些區別。在深入
發表于 08-09 11:49
?1770次閱讀
ZX-D30、ZX-D37、ZX-D32等。 藍牙模塊設置 : 將藍牙模塊與單片機連接。通常,藍牙模塊通過串口(UART)與單片機通信。 設置藍牙模塊的工作模式和參數,例如波特率、名稱、停止位、數據位等。這通常通過發送特定的AT命令來完成。
發表于 07-24 17:59
?2785次閱讀
最近看到臺私信要資料的同學比較多,想必大家都是對單片機有著濃厚的學習興趣,但是很多新手開始入門單片機的時候都會遇到一些學習的誤區,今天就來整理一下大家可能會遇到的六大誤區。單片機作為嵌
發表于 03-28 08:03
?910次閱讀
需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
發表于 03-18 10:13
?807次閱讀
Unit,CPU)、存儲器、輸入輸出接口電路等核心功能,常見的單片機有以8051為代表的8位單片機、PIC系列單片機和AVR系列
發表于 02-02 11:27
?1.1w次閱讀
單片機最小系統包含以下幾部分:單片機芯片、時鐘電路、復位電路、電源電路、外圍電路和連接接口等。 單片機芯片:單片機是整個系統的核心部分,負責數據處理和控制任務。常見的
發表于 01-24 10:40
?1.5w次閱讀
評論