相信接觸過STC15系列單片機(jī)的小伙伴們,應(yīng)該會對其編程風(fēng)格比較熟悉,沒錯,STC15系列單片機(jī)可以采用庫函數(shù)編程,官方提供了標(biāo)準(zhǔn)的函數(shù)庫,我們只需要利用好庫函數(shù),便可大大簡化配置流程,從而提高編程效率。由于筆者這里的教程不是關(guān)于51單片機(jī)的基礎(chǔ)教程,所以此處省去了新建工程以及如何添加庫文件等操作。
首先,我們要養(yǎng)成良好的習(xí)慣,在使用任何一款板子的時候,先建一個配置板載資源的文件,當(dāng)然要是板子比較復(fù)雜的話,可以分模塊配置多個,由于筆者使用的板子比較簡單,所以就只添加了一個名為“BSP_IO.h”的文件,顧名思義,就是一些輸入輸出的配置而已了。
接下來,我們來配置一下串口參數(shù),在之前的帖子中我們知道,迪文DGUS屏的串口通信波特率配置的是115200,那么,我們在單片機(jī)程序中,自然也要講串口通信的波特率配置成115200,其他的就不需要修改了:
程序中有需要用到串口定時向觸摸屏刷新數(shù)據(jù),所以,這里我們也配置一個定時器,并設(shè)置起中斷頻率為1000Hz,即:1ms中斷一次。
接下來,我們需要根據(jù)板子上的IO分布,來配置一下IO口的輸入輸出模式,所有輸入口均配置成“準(zhǔn)雙向口”,所有輸出口均配置成“強(qiáng)推挽模式”。
另外,程序中也有用到兩路0-5V電壓的采集,所以此處我們還需要對ADC相關(guān)的參數(shù)進(jìn)行配置,本例程中采用的是AD口分別是P10和P11,查詢方式獲取AD值:
至此,系統(tǒng)配置相關(guān)的東西基本就完成了,接下來,我們就需要自己寫一些應(yīng)用相關(guān)的函數(shù)了,本例中,筆者寫了四個函數(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ù),主要是用對串口中斷接收到的數(shù)據(jù)進(jìn)行解析,比如:DGUS屏按鍵返回的指令、參數(shù)設(shè)置的指令等;Uart1_Send()函數(shù),主要用來定時向DGUS屏寫入數(shù)據(jù),比如:數(shù)據(jù)變量顯示、圖標(biāo)變量顯示等; ADC_Sampling()函數(shù)主要是對外部兩路0-5V模擬量輸入進(jìn)行采樣處理; GIOP_StateRefresh()函數(shù)主要是用來實(shí)時刷新輸入輸出口的狀態(tài)。
-
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638628 -
程序編寫
+關(guān)注
關(guān)注
1文章
14瀏覽量
8249
發(fā)布評論請先 登錄
相關(guān)推薦
單片機(jī)Debug工具性能對比 單片機(jī)調(diào)試常用命令
單片機(jī)編程語言有哪些選擇
基于51單片機(jī)的手動數(shù)字時鐘
![基于51<b class='flag-5'>單片機(jī)</b>的手動數(shù)字時鐘](https://file1.elecfans.com//web1/M00/F3/4F/wKgZoWcVAq2AGPEHAAVBtNVqXVM246.png)
單片機(jī)怎么寫入程序
單片機(jī)的中斷機(jī)制
單片機(jī)hex文件反編譯成C語言的過程
keil可以讀出單片機(jī)的程序嗎
單片機(jī)燒錄程序用什么軟件
單片機(jī)燒錄程序可以重新燒嗎
單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎
單片機(jī)燒錄程序的基本步驟是什么
一文讀懂什么單片機(jī):組成結(jié)構(gòu)與應(yīng)用
![一<b class='flag-5'>文</b>讀懂什么<b class='flag-5'>單片機(jī)</b>:組成結(jié)構(gòu)與應(yīng)用](https://file1.elecfans.com/web2/M00/02/61/wKgaoma1kdyADDwLAABAp6xMFds053.png)
藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳
![藍(lán)牙模塊如何實(shí)現(xiàn)<b class='flag-5'>單片機(jī)</b>和手機(jī)端數(shù)據(jù)互傳](https://file1.elecfans.com/web2/M00/FF/17/wKgaomagzkeAd9gtAAAaFxHI0pw392.png)
新手學(xué)習(xí)單片機(jī)最常見的六大誤區(qū)!
![新手學(xué)習(xí)<b class='flag-5'>單片機(jī)</b>最常見的<b class='flag-5'>六</b>大誤區(qū)!](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
基于單片機(jī)多功能洗衣機(jī)控制
![基于<b class='flag-5'>單片機(jī)</b>多功能洗衣<b class='flag-5'>機(jī)</b>控制](https://file1.elecfans.com/web2/M00/C4/B6/wKgZomX3o7KAc9AZAAAReeI3K9k830.jpg)
評論