国产成人片_69堂亚洲国产日韩精品无码专区成人妻中文字幕一区二区三区在线久久久久_亚洲精品一区二区三区四区高清

語言中文

新聞中心

熱搜關(guān)鍵詞:

單片機的程序編寫說明

來源:宇凡微 | 發(fā)布日期:2022-10-08

MCU的程序的編寫與PC下的程序的編寫存在很大的區(qū)別,雖然現(xiàn)在基于C的MCU開發(fā)工具越來越流行,但對于一個高效的程序代碼和喜歡使用匯編的設(shè)計者來講,匯編語言仍然是最簡潔、最有效的編程語言。

單片機的程序編寫說明

對于MCU的程序編寫,其基本的框架可以說是大體一致的,一般分為初始化部分(這是MCU程序設(shè)計與PC最大的不同),主程序循環(huán)體和中斷處理程序三大部分,其分別說明如下:

1、初始化:

對于所有的MCU程序的設(shè)計來講,初始化是最基本也是最重要的一步,一般包括如下內(nèi)容:

屏蔽所有中斷并初始化堆棧指針:初始化部分一般不希望有任何中斷發(fā)生。

清除系統(tǒng)的RAM區(qū)域和顯示Memory:雖然有時可能沒有完全的必要,但從可靠性及一致性的角度出發(fā),特別是對于防止意外的錯誤,還是建議養(yǎng)成良好的編程習(xí)慣。

IO口的初始化:根據(jù)項目的應(yīng)用的要求,設(shè)定相關(guān)IO口的輸入輸出方式,對于輸入口,需要設(shè)定其上拉或下拉電阻;對于輸出口,則必須設(shè)定其初始的電平輸出,以防出現(xiàn)不必要的錯誤。

中斷的設(shè)置:對于所有項目需要用到的中斷源,應(yīng)該給予開啟并設(shè)定中斷的觸發(fā)條件,而對于不使用的多余的中斷,則必須給予關(guān)閉。

其他功能模塊的初始化:對于所有需要用到的MCU的外圍功能模塊,必須按項目的應(yīng)用的要求進行相應(yīng)的設(shè)置,如UART的通訊,需要設(shè)定Baud Rate,數(shù)據(jù)長度,校驗方式和Stop Bit的長度等,而對于Programmer Timer,則必須設(shè)置其時鐘源,分頻數(shù)及Reload Data等。

參數(shù)的初始化:完成了MCU的硬件和資源的初始化后,接下來就是對程序中使用到的一些變量和數(shù)據(jù)的初始化設(shè)置,這一部分的初始化需要根據(jù)具體的項目及程序的總體安排來設(shè)計。對于一些用EEPROM來保存項目預(yù)制數(shù)的應(yīng)用來講,建議在初始化時將相關(guān)的數(shù)據(jù)拷貝到MCU的RAM,以提高程序?qū)?shù)據(jù)的訪問速度,同時降低系統(tǒng)的功耗(原則上,訪問外部EEPROM都會增加電源的功耗)。

2、主程序循環(huán)體:

大多數(shù)MCU是屬于長時間不間斷運行的,因此其主程序體基本上都是以循環(huán)的方式來設(shè)計,對于存在多種工作模式的應(yīng)用來講,則可能存在多個循環(huán)體,相互之間通過狀態(tài)標(biāo)志來進行轉(zhuǎn)換。對于主程序體,一般情況下主要安排如下的模塊:

計算程序:計算程序一般比較耗時,因此堅決反對放在任何中斷中處理,特別是乘除法運算。

實時性要求不高或沒有實時性要求的處理程序;顯示傳輸程序:主要針對存在外部LED、LCD Driver的應(yīng)用。

3、中斷處理程序:

中斷程序主要用于處理實時性要求較高的任務(wù)和事件,如,外部突發(fā)性信號的檢測,按鍵的檢測和處理,定時計數(shù),LED顯示掃描等。

一般情況下,中斷程序應(yīng)盡可能保證代碼的簡潔和短小,對于不需要實時去處理的功能,可以在中斷中設(shè)置觸發(fā)的標(biāo)志,然后由主程序來執(zhí)行具體的事務(wù)――這一點非常重要,特別是對于低功耗、低速的MCU來講,必須保證所有中斷的及時響應(yīng)。

4、對于不同任務(wù)體的安排,不同的MCU其處理的方法也有所不同:

例如,對于低速、低功耗的MCU(Fosc=32768Hz)應(yīng)用,考慮到此類項目均為手持式設(shè)備和采用普通的LCD顯示,對按鍵的反應(yīng)和顯示的反應(yīng)要求實時性較高,因此一般采用定時中斷的方式來處理按鍵的動作和數(shù)據(jù)的顯示;而對于高速的MCU,如Fosc》1MHz的應(yīng)用,由于此時MCU有足夠的時間來執(zhí)行主程序循環(huán)體,因此可以只在相應(yīng)的中斷中設(shè)置各種觸發(fā)標(biāo)志,并將所有的任務(wù)放在主程序體中來執(zhí)行。

5、在MCU的程序設(shè)計中,還需要特別注意的一點就是:

要防止在中斷和主程序體中同時訪問或設(shè)置同一個變量或數(shù)據(jù)的情況。有效的預(yù)防方法是,將此類數(shù)據(jù)的處理安排在一個模塊中,通過判斷觸發(fā)標(biāo)志來決定是否執(zhí)行該數(shù)據(jù)的相關(guān)操作;而在其他的程序體中(主要是中斷),對需要進行該數(shù)據(jù)的處理的地方只設(shè)置觸發(fā)的標(biāo)志。這可以保證數(shù)據(jù)的執(zhí)行是可預(yù)知和唯一的。

以上就是宇凡微單片機工程師整理的單片機的程序編寫說明全部內(nèi)容分享,宇凡微提供ic晶元生產(chǎn)及封裝定制,作為九齊一級代理商,擁有十多年的單片機芯片應(yīng)用方案設(shè)計經(jīng)驗,為廣大電子產(chǎn)品生產(chǎn)商提供 MCU應(yīng)用功能定制開發(fā)服務(wù)。

【本文標(biāo)簽】 單片機 單片機程序編寫

【責(zé)任編輯】單片機工程師

客戶案例

聯(lián)系我們
0755-82225097
深圳市羅湖區(qū)筍崗街道寶安北路4004號藝方創(chuàng)啟5樓
yufanweixiaoan@yfwdz.cn
微信二維碼微信二維碼

ALL RIGHT RESERVED 2022. 粵ICP備17095549號 技術(shù)支持: 牛商股份 百度統(tǒng)計 粵公網(wǎng)安備 44030402004503號

今日视点:监管精准亮剑严打资本市场惑众谣言|资本市场 建信基金:三季度国民经济数据出炉 外需韧性支撑生产偏强 现货金首次升破每盎司4400美元 深夜!A股,重磅突发!刚刚,中国神华连发88份公告! 观河北:冀韵入画 探美五彩村落 2026考研今启幕!考生:考研的价值在于花时间发现自己 【打新必读】新广益估值分析,抗溢胶特种膜(创业板)|新能源 日发精机:Airwork公司自2025年7月起被银团接管,目前尚未收到相关进展信息|日发精机 国际媒体采风团感受吉林冰雪地标魅力 汽车反内卷关键战:“60天账期”倡议已半年,多数车企付款天数明显变短,但供应商称“影响不大” 宇树人形机器人助演王力宏演唱会,表演高难度空翻,视频火爆!马斯克转发:令人印象深刻|王力宏 订单暴涨!核聚变 这些公司中标大单|核聚变 “中国保险经纪第一人”、江泰保险经纪董事长沈开涛疑似失联,此前公司有多人被带走协查|保险经纪 人形机器人最大融资诞生!超越宇树、智元,估值中国第一! 长三角A股市值首超30万亿 破局AI数据中心供电瓶颈:SuperX Digital Power发布两款800VDC供电方案 ZFX山海证券:比特币的长期定价逻辑|比特币 吴晓求:财政资源不能仅聚焦短期盈利项目 “投资于人” 等具有长远价值的领域同样应获资源倾斜 广东陆丰核电项目2号机组主体工程正式开工 华为nova 15系列及全场景发布会价格汇总:6款新品 1488元起|玻璃|华为nova 万亿冰雪赛道下绽放的“笑脸” RadexMarkets瑞德克斯:比特币四年周期未改 预警2026休整期|瑞德克 赫力昂携手京东健康启动关爱慢病年度合作