www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

首頁 > 評測 > 與時俱進的8位單片機——Microchip Curiosity開發(fā)板評測

與時俱進的8位單片機——Microchip Curiosity開發(fā)板評測

8位   單片機   Microchip   Curiosity   PIC   
  • 作者:netlhx
  • 來源:21ic
  • [導(dǎo)讀]
  • Curiosity開發(fā)板對于初學(xué)者及入門用戶來說,功能足夠,特別是結(jié)合MikroElektronika MikroBUS Adapter Click系列擴展模塊,用戶能夠迅速建立自己的產(chǎn)品或?qū)嶒炘,從而實現(xiàn)創(chuàng)意即產(chǎn)品的偉大構(gòu)想。

配置內(nèi)容主要包括時鐘源及分頻設(shè)置,這里使用默認的FOSC作為定時器1的時鐘源,分頻系數(shù)設(shè)置為1:8,這些都是很直觀的設(shè)置。令人比較感興趣的是右上角的時鐘周期的計算,這里假設(shè)要指定2ms的定時設(shè)置,上面設(shè)置的用戶預(yù)設(shè)的期望值,下面則是經(jīng)過對當前時鐘源的計算后得出真實值,可以看到這種設(shè)置方式的值是沒有偏差的。但是調(diào)整分頻系數(shù)后,有可能會得到計算值與預(yù)期值會有偏差的情況,這也符合MCU的工作原理。這是使用GUI模式設(shè)置帶來的好處,直觀!就這一功能而言,該工具比STM32的CubeMX工具更好用!

如果需要使用時鐘中斷,需要勾選Enable Timer Interrupt選項。

注意下面還有一個時鐘的軟件設(shè)置,這里用來指定中斷回調(diào)時的軟件調(diào)整設(shè)置,比如想要每500ms執(zhí)行一次軟件回調(diào),則可以在這個地方輸入250,經(jīng)計算之后,中斷的頻率則實際變成了500ms一次,非常直觀!

如此設(shè)置之后,就可以點擊MCC界面左上角的Generate按鈕來生成源代碼,將用戶的設(shè)置轉(zhuǎn)換為實際的代碼。

23.jpg

圖22:MCC生成的文件

這里列出了MCC生成的所有代碼。MCC檢測到當前工程文件里面沒有包含main,所以這里直接生成一個。當然如果用戶自己寫了main.c的話,MCC就不會為你添加了。

現(xiàn)在基本的框架及內(nèi)容都已經(jīng)準備好。但是要記住一點,MCC只會為你生成你指定的一些初始化代碼,程序的邏輯及功能還是需要程序員來完成,所以接下來就是在MCC為我們生成的基礎(chǔ)之上來實現(xiàn)自己的功能。比如,讓板載的LED燈開始以一定的頻率閃爍。

24.jpg

圖23:用戶LED原理圖

這是開發(fā)板上4個用戶LED燈的硬件連接圖,我們準備使用D7來操作,這也是上面配置GPIO時為什么要指定RC5的輸出功能的原因。上面的代碼中我們已配置TMR1的定時周期為2ms,同時軟件調(diào)整為250倍,這樣子的話每隔500ms就會調(diào)用一次回調(diào)函數(shù)。

打開tmr1.c文件,找到void TMR1_CallBack(void)函數(shù),添加LED狀態(tài)翻轉(zhuǎn)的語句,調(diào)整后的代碼如下

25.jpg

圖24:回調(diào)函數(shù)

這里是在回調(diào)函數(shù)里實現(xiàn)D7的翻轉(zhuǎn),由于時間為500ms,所以D7就會每隔500ms翻轉(zhuǎn)一次狀態(tài),從而實現(xiàn)LED燈的閃爍效果。

不過事情還沒有結(jié)束,我們還需要自己啟動定時器來實現(xiàn)定時器的計數(shù)及回調(diào)。打開main.c,在while語句之前添加如下指令

26.jpg

圖25:main函數(shù)

注意代碼中的注釋,大意是說,如果開啟了全局或外設(shè)中斷,還需要將相應(yīng)的注釋去掉,以打開外設(shè)或全局中斷功能。在啟用全局及外設(shè)中斷功能的代碼后面,我們添加了兩條語句,一條是初始化定時器的語句,一條是啟動定時器的語句。這些屬于程序功能性的代碼都需要我們自己來處理,MCC還沒有智能到這種程度!

現(xiàn)在可以點擊IDE中的編譯并下載按鈕,來將代碼下載到開發(fā)板上。如果沒有其它錯誤的話,你應(yīng)該會看到類似下面的輸出

27.jpg

圖26:編譯、下載

表明代碼已下載到開發(fā)板,稍等片刻就可以看到D7開始閃爍。

以后的開發(fā)過程基本類似,即:創(chuàng)建一個工程文件;使用MCC來初始化基本功能;在程序中添加自己的功能。

總體來說,Curiosity開發(fā)板還是很不錯的。對于初學(xué)者及入門用戶來說,功能足夠,特別是結(jié)合MPLAB X IDE及MCC,用戶能夠迅速進入狀態(tài),無需擔(dān)心過多的硬件特別是寄存器級的操作細節(jié),而是將主要精力集中在程序功能這一塊,迅速實現(xiàn)自己想要的功能。結(jié)合MikroElektronika MikroBUS™ Adapter Click系列擴展模塊,用戶能夠迅速建立自己的產(chǎn)品或?qū)嶒炘停瑥亩鴮崿F(xiàn)創(chuàng)意即產(chǎn)品的偉大構(gòu)想。

8位機,也有自己的春天!

參考資源:

PIC16F1619資料

Curiosity資料

開發(fā)工具

本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論