新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC12F683微控制器實(shí)驗(yàn)板

PIC12F683微控制器實(shí)驗(yàn)板

作者: 時(shí)間:2011-08-02 來(lái)源:網(wǎng)絡(luò) 收藏
軟件開(kāi)發(fā)

本文引用地址:http://m.butianyuan.cn/article/172592.htm

  在的匯編語(yǔ)言或高級(jí)語(yǔ)言,你可以寫(xiě)你的方案。但是,我要在這里展示的,我是用從MikroElektronica mikroC編譯器的免費(fèi)版本。它是一個(gè)C編譯器的PIC微芯片,并免費(fèi)版本限制輸出程序的大小為2K。但我們并不需要為的不止于此。

  的,我們將使用下面的配置位。mikroC,您可以在“編輯”項(xiàng)目“窗口中選擇。

  振蕩器:內(nèi)部RC,沒(méi)有時(shí)鐘

  WDT關(guān)閉

  主清除殘疾人

  對(duì)于所有的表明,使用4.0 MHz的內(nèi)部時(shí)鐘。

  為PIC12F683的完成學(xué)習(xí)板

  

  

  

  測(cè)試實(shí)驗(yàn)

  再次閱讀,然后再繼續(xù)以上的軟件開(kāi)發(fā)部分。

  ************************************************** *******************************

  實(shí)驗(yàn)1號(hào):3位二進(jìn)制計(jì)數(shù)器

  本次實(shí)驗(yàn)的目的是建立一個(gè)3位二進(jìn)制上升計(jì)數(shù)器,每個(gè)計(jì)數(shù)之間的延遲1秒計(jì)數(shù)從000到111。到111后,它重置為000,并再次開(kāi)始計(jì)數(shù)。計(jì)數(shù)值將顯示在三個(gè)LED。

  安裝: 連接GP0,GP1和GP2(PIC的引腳7,6和5)LED 3,2和1。

  

  / *

  PIC12F683的實(shí)驗(yàn)局

  Experimen號(hào)1:3位計(jì)數(shù)器

  “指示燈1,2和3是連接到GPIO2,GPIO1和GPIO0,

  分別為“

  * / 短我; 無(wú)效的主要(){ CMCON0 = 7; / /禁用比較 TRISIO = 8 / / GPIO0 - GPIO2輸出和GP3是默認(rèn)輸入 的ANSEL = 0;/ /沒(méi)有ADC GPIO = 0; delay_ms(500) I = 0; { GPIO = I; delay_ms(1000); I = 1; (我== 8)I = 0; }(1);}

  在mikroC編譯這個(gè)程序,負(fù)載??內(nèi)的PIC12F683與任何ICSP編程。輸出:

  

  在LED上顯示的3位計(jì)數(shù)器實(shí)驗(yàn)第2號(hào):輕觸開(kāi)關(guān)輸入和電機(jī)控制。本次實(shí)驗(yàn)的目的是兩個(gè)輕觸開(kāi)關(guān)來(lái)控制電機(jī)。當(dāng)按下一個(gè)開(kāi)關(guān),電機(jī)就會(huì)開(kāi)啟,其他關(guān)閉。安裝: 將SW1和SW2引腳(引腳7)GP0和GP1的PIC12F683(引腳6)。還可以連接電機(jī)驅(qū)動(dòng)器的引腳GP2的(引腳5 )。因此,GP0和GP1均為輸入和GP2輸出。請(qǐng)記住,當(dāng)按下開(kāi)關(guān)時(shí),相應(yīng)的SW引腳被拉低 。在正常情況下,SW1和SW2拉高。

  軟件

  /* Motor ON/OFF control with tact switches

  Rajendra Bhatt, Sep 3, 2010

  PIC12F683, MCLR OFF, Internal Oscillator @ 4.00MHz

  */

  sbit Start_Button at GP0_bit;

  sbit Stop_Button at GP1_bit;

  sbit Motor at GP2_bit;

  void main() {

  CMCON0 = 7; // Disable Comparators

  TRISIO = 0x03; // 0000 0011 GPIO 0, 1, Inputs; Rest are O/Ps

  ANSEL = 0x00;

  Motor = 0;

  do {

  if (!Start_Button) { /* When a tact switch is pressed, Logic I/P is 0*/

  Delay_ms(100);

  Motor = 1; // Turn Motor ON

  }

  if (!Stop_Button) {

  Delay_ms(100);

  Motor = 0; // Turn Motor ON

  }

  } while(1);

  }

  輸出:當(dāng)SW1按下時(shí),電機(jī)將開(kāi)啟,并按下SW2時(shí),它會(huì)熄滅。

  

  實(shí)驗(yàn)3: 軟件UART測(cè)試。

  本次實(shí)驗(yàn)的目的是發(fā)送一個(gè)字符串到PC使用的軟件UART例程。該字符串將被轉(zhuǎn)移到PC上的超級(jí)終端窗口顯示時(shí),按下SW1開(kāi)關(guān)。字符串將被按下開(kāi)關(guān)

  安裝:



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉