日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

單片機(jī)
2012-11-10 10:24
關(guān)鍵字: 微控制器 PIC 引腳 BSP
收藏

簡介

電子產(chǎn)品是我的愛好。當(dāng)我在大學(xué)的時候,我曾與微控制器的一些經(jīng)驗(yàn),我沒有與Atmel的AT89C51的幾個項(xiàng)目。最近,我已經(jīng)長大了PIC單片機(jī)的利息,我想我應(yīng)該開始用8針的微芯片。我挑的PIC12F683微芯片。該微控制器讓我著迷了很多,因?yàn)槲蚁肟纯次覀兡茏鲂┦裁磁c8引腳微控制器(其中2個引腳的電源,所以實(shí)際上只是6針左側(cè)的I / O)。所以我想這是我自己的學(xué)習(xí)板。在這個項(xiàng)目中,我首先要說明我的學(xué)習(xí)板,然后將演示幾個實(shí)驗(yàn)。PIC12F683的一些功能: 工作電壓范圍寬(2.0 - 5.5V)

精確的內(nèi)部振蕩器(軟件可選,8 MHz到125千赫)

6 I / O引腳電平變化中斷功能。

4個10位A / D轉(zhuǎn)換器

兩個8位和16位定時器

一個捕捉,比較和PWM模塊

在線串行編程

程序存儲器- 2048字,以SRAM為128字節(jié),電可擦除可編程只讀存儲器(EEPROM),256個字節(jié)

電路布局和設(shè)計(jì)

本學(xué)習(xí)板具有以下特點(diǎn):

一個9V直流的開關(guān)電源輸入插座

穩(wěn)壓+5 V電源使用7805芯片

3輸出LED和LED電源1

2輸入輕觸開關(guān)

2電位器:一個模擬輸入,并提供ADC的參考電壓

基于晶體管的TTL - RS232電平轉(zhuǎn)換器的串行通信。

一個一個晶體管驅(qū)動直流馬達(dá)。

壓電蜂鳴器

在黑板上的大多數(shù)這些功能是通過女性的針腳訪問。6 - I / O引腳的PIC12F683的是硬連接到任何東西,他們通過針腳。的數(shù)字 顯示PIC12F683的引腳,女性的頭和跳線用于連接電路板上的類型,學(xué)習(xí)板的詳細(xì)電路圖。只有ISCP引腳是通過男性的針腳訪問 。整個電路是建立在一個8 × 12厘米的一般原型板。

 

 

 

 

正如你看到的輸出LED470Ω電流串聯(lián)限流電阻,使一個PIC引腳可以安全駕駛。還通過一個串聯(lián)電阻PIC引腳直接驅(qū)動壓電式蜂鳴器。但是,直流電動機(jī)作為S8050晶體管的集電極負(fù)載所需的電流來驅(qū)動電機(jī),不能由PIC端口提供連接。因此,PIC端口可以拉動其基高開關(guān)晶體管和晶體管集電極電流提供足夠的電流來驅(qū)動電機(jī)。 TTL RS232電平轉(zhuǎn)換,反之亦然實(shí)現(xiàn)兩個晶體管和其他一些組件。 RS232電平所需的負(fù)電壓是從一臺PC本身的RS232端口被盜 。注意有沒有硬件UART內(nèi)部的PIC12F683,因此從微控制器的串行數(shù)據(jù)傳輸?shù)絇C將可能只有通過通過GP0任何軟件UART,GP1,GP2的,GP4,GP5端口(GP3僅輸入) 。微控制器端的發(fā)射機(jī)和接收機(jī)端口UTX和URX表示,而在PC端Tx和Rx,分別記為。線路圖顯示,輕觸開關(guān)與兩個電位器輸出和所有8個PIC12F683的引腳的兩個輸入是通過女性的頭訪問。輕觸開關(guān)低電平有效,也就是說,在正常情況下,輕觸開關(guān)輸出為高電平,當(dāng)它被按下時,輸出為低電平。有情侶的頭做實(shí)驗(yàn)時,可能需要額外的VCC和GND端子。電源電路是7805穩(wěn)壓IC的標(biāo)準(zhǔn)電路。一個供電指示燈是與一個470Ω的系列電阻跨接在VCC和GND。在電路串行編程(ICSP)的PIC12F683的,可以用兩個引腳:ICSPDAT(引腳7)和ICSPCLK(引腳6)。編程電壓Vpp的,應(yīng)提供引腳的PIC12F683編程時,4。所需的所有ISCP引腳通過一個男性頭,所以可以通過任何ICSP PIC的程序員編程的PIC。確保程序員方和我們的學(xué)習(xí)板ISCP引腳順序相匹配。重要事項(xiàng):在ICSP引腳4,6,和PIC12F683的7應(yīng)該不會被連接到任何東西,離開他們所以,不會有任何編程器和外部電路之間的電壓沖突。
 

軟件開發(fā)

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

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

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

WDT關(guān)閉

主清除殘疾人

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

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

 

 

 

 

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

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

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

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

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

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

 

 

/ *

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

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

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

分別為“

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

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

 

 

在LED上顯示的3位計(jì)數(shù)器實(shí)驗(yàn)第2號:輕觸開關(guān)輸入和電機(jī)控制。本次實(shí)驗(yàn)的目的是兩個輕觸開關(guān)來控制電機(jī)。當(dāng)按下一個開關(guān),電機(jī)就會開啟,其他關(guān)閉。安裝: 將SW1和SW2引腳(引腳7)GP0和GP1的PIC12F683(引腳6)。還可以連接電機(jī)驅(qū)動器的引腳GP2的(引腳5 )。因此,GP0和GP1均為輸入和GP2輸出。請記住,當(dāng)按下開關(guān)時,相應(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按下時,電機(jī)將開啟,并按下SW2時,它會熄滅。

 

 

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

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

安裝:
 

微控制器端:

連接UTX和SW1引腳GP0(引腳7)和GP1端口分別。

PC端:

連接RX(2),TX(3)和GND(5)針板相應(yīng)的PC機(jī)的RS232端口引腳。此外,在PC上定義以下設(shè)置一個新的連接的超級終端窗口。

BPS = 9600,數(shù)據(jù)位= 8;校驗(yàn)=無,停止位= 1; =硬件流量控制

 

 

軟件

/*

PIC12F683 Experiment Board

Experimen No. 3 : Read analog voltage from AN0 and diplay

on Hyperterminal window on PC using Software UART.

Date: 06/25/2010

*/

char Message1[] = "Digital Value= ";

unsigned int adc_value, backup=0 ;

char *temp = "0000", error;

int i;

void main() {

CMCON0 = 7;

TRISIO = 11; // GPIO 0, 1, 3 Inputs; Rest are O/Ps

ANSEL = 0;

GPIO = 0;

// Define GPIO.3 as UART Rx, and 5 as Tx

error = Soft_UART_Init(&GPIO,3, 5, 9600, 0 );

Delay_ms(100);

do {

adc_value = ADC_Read(0);

if(adc_value != backup) {

if (adc_value/1000)

temp[0] = adc_value/1000 + 48;

else

temp[0] = '0';

temp[1] = (adc_value/100)%10 + 48;

temp[2] = (adc_value/10)%10 + 48;

temp[3] = adc_value%10 + 48;

for (i=0; i<= 13; i++) {

Soft_UART_Write(Message1[i]);

Delay_ms(50);

}

for (i=0; i<= 3; i++) {

Soft_UART_Write(temp[i]);

Delay_ms(50);

}

Soft_UART_Write(10); // Line Feed

Soft_UART_Write(13); // Carriage Return

backup = adc_value;

}

delay_ms(100);

} while(1);

}

輸出

相應(yīng)的模擬輸入數(shù)字號碼將顯示在超級終端窗口。您可以改變電位器和數(shù)字同等數(shù)量也將發(fā)生變化。請記住,ADC是10位,讓您在屏幕上看到的數(shù)量將會從0000到1023。

 

 

相關(guān)推薦