和泰c语言函数库,合泰杯 | 合泰单片机入门 编程详解(二)
一、說在前面:
前面我們講解了合泰單片機 HT66F23x0 的開發環境,也舉例了 LED 流水燈的是工程編寫。那么今天我們就來說說,如何親自根據芯片手冊清晰的編寫第一個程序呢。如果你是第一次接觸合泰的單片機,你也許會感覺很差異,同為 8 bit 的單片機為什么編程不一樣的。這對于學過了解 51 的新手初始?HT66F23x0 還是有點反應不過來,至少一開始我是這樣的。好的,我們進入今天的重點。
2、開發環境:
1、HT-IDE3000 (編輯器)
2、HOPE3000 For e-Link (燒錄器)
如果你還沒有安裝以上2個工具可以點擊連接查看?合泰杯 | 合泰單片機入門 環境搭建安裝(一),這里就不再復述。
3、流水燈編程實驗
為了更直觀的對比51 編程,直接貼圖一步步的分析。
對比51的編程,我們發現,工程文件多了 【 啟動代碼 、頭文件、外部文件 】
步驟分析:
1、創建完整的工程后,我們可以看到工程名,以及你使用的單片機型號。工程名稱一般都要大寫,并且命名清楚,英文的可讀性要強。
2、源文件里面包含的是,主函數的 ( .C ) 文件,我們編寫的代碼都放這邊,和 51 里的 main 主函數一樣。
3、啟動代碼,這個文件是匯編寫的,啟動代碼是非常關鍵的,所有的CPU都有啟動代碼。同樣的 51 單片機也有,這里完成了最基本的初始化功能,尤其是中斷向量表,程序員每一個中斷函數的名字都要與啟動代碼中的向量表對應,否則中斷是無法進入的。
4、頭文件就是存放 ( .H ) 文件的,外部文件就是存放你在外部文件夾編寫的代碼導入到工程時顯示的文件。
現在我們就是進入編程的區域。里面的代碼定義和我們接觸51的代碼定義有些不同,頭文件的引用這是每個工程里面都必須有點的。其中??< > ?和? "? " 的區別就是前者是優先在庫里面尋找頭文件,后者是優先在你的工程文件夾里面尋找頭文件。
5、_pg (_pa pb?_pc _pd _pe_pf _ph)是指合泰單片機的 gpio 引腳定義,類似51的 P0,P1,P2, P3 gpio引腳一樣,
注意:合泰單片機都是以 ( _ xxxx )開始命名
6、_pxgc 表示的是 gpio 口的輸入 / 輸出模式,使能 0 為輸出模式,使能 1 為輸入模式。
具體配置如下:
6.1、輸入 / 輸出端口控制寄存器
每一個輸入 / 輸出口都具有各自的控制寄存器,用來控制輸入 / 輸出狀態。從而每個 I/O 引腳都可以通過軟件控制,動態的設置為 CMOS 輸出或輸入。所有的I/O 端口的引腳都各自對應于 I/O 端口控制的某一位。若 I/O 引腳要實現輸入功能,則對應的控制寄存器的位需要設置為“1”。這時程序指令可以直接讀取輸入腳的邏輯狀態。若控制寄存器相應的位被設定為“0”,則此引腳被設置為CMOS 輸出。當引腳設置為輸出狀態時,程序指令讀取的是輸出端口寄存器的內容。注意,如果對輸出口做讀取動作時,程序讀取到的是內部輸出數據鎖存器中的狀態,而不是輸出引腳上實際的邏輯狀態。
注意,如果對輸出口做讀取動作時,程序讀取到的是內部輸出數據鎖存器中的狀態,而不是輸出引腳上實際的邏輯狀態。
6.2、上拉電阻
許多產品應用在端口處于輸入狀態時需要外加一個上拉電阻來實現上拉的功能。為了免去外部上拉電阻,當引腳規劃為輸入時,可由內部連接到一個上拉電阻。這些上拉電阻可通過相關上拉控制寄存器來設置,它用一個 PMOS 晶體管來實現上拉電阻功能。應注意只有在引腳共用功能用腳配置為輸入或 NMOS輸出時,可通過相關上拉控制寄存器控制上拉電阻,否則,上拉電阻無法被使能。
6.3、PA 口喚醒
當使用“HALT”指令迫使單片機進入休眠或空閑模式,單片機的系統時鐘將會停止以降低功耗,此功能對于電池及低功耗應用很重要。喚醒單片機有很多種方法,其中之一就是使 PA 口的其中一個引腳從高電平轉為低電平。這個功能特別適合于通過外部開關來喚醒的應用。 PA 口的每個引腳可以通過設置 PAWU寄存器來單獨選擇是否具有喚醒功能。應注意只有在引腳共用功能選擇為通用輸入 / 輸出口且單片機進入暫停模式時,此功能可由喚醒控制寄存器控制。
6.4、輸入 / 輸出端口電源控制
此系列單片機為 PE3~PE0 輸入 / 輸出端口提供了不同的端口電源選擇。通過設定 PMPS 寄存器中的 PMPS1~PMPS0 位段可確定端口電源是來自電源引腳 VDD或是 VDDIO 引腳。若來自 VDDIO 引腳則該引腳功能必須通過相應的引腳共用功能選擇位預先設定。必須注意的是若 VDDIO 引腳被選作端口電源引腳,則該引腳上的輸入電源電壓應等于或小于單片機供電電壓。
以上這幾點是摘要芯片手冊的 I/O 引腳的配置,具體配置還需具體分析。具體的詳細內可以參考幫助手冊,資料我已上傳到個人博客首頁 。
7、_wdtc = 0b10101111?配置看門,具體的配置如下:
以上就是編程合泰單片機的第一個流水燈程序步驟,其實單片機的功能都是大同小異的,當我們擁有了 51 的基礎后,我們在拿到一款新的單片機,首先要找的就是官網里的芯片開發手冊,你遇見的問題官網都可以解決。好了理解完基本的編程后,我們接下來就是學習不同的單片機外設開發。
=======================(更新中····)=====================
注:一個熱愛開源技術,記錄分享51單片機,STM32,C語言,數據結構和算法,嵌入式Linux技術的公眾號,學習的道路是寬廣的,人海之中若有緣相見,那就關注一波吧,讓我們一起共同成長,記錄生活記錄你!
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的和泰c语言函数库,合泰杯 | 合泰单片机入门 编程详解(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux宝塔面板配置可道云,使用宝塔面
- 下一篇: 触摸屏mtp文件转c语言,F28335与