0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將DHT11與PIC16F877A連接進(jìn)行溫度和濕度的測量

科技觀察員 ? 來源:circuitdigest ? 作者:Sourav Gupta ? 2022-08-22 16:07 ? 次閱讀

溫度和濕度測量通常在家庭自動(dòng)化、環(huán)境監(jiān)測、氣象站等許多應(yīng)用中很有用。LM35旁邊最常用的溫度傳感器是 DHT11,我們之前通過與Arduino和Raspberry連接構(gòu)建了許多DHT11 項(xiàng)目Pi和許多其他開發(fā)板。在本文中,我們將學(xué)習(xí)如何將此DHT11 與 PIC16F87A連接,這是一個(gè) 8 位 PIC 微控制器。我們將使用這個(gè)微控制器通過 DHT11 讀取溫度和濕度的值并將其顯示在液晶顯示器上。

DHT11 – 規(guī)范和工作

DHT11 傳感器以模塊形式或傳感器形式提供。在本教程中,我們使用的是傳感器,兩者之間的唯一區(qū)別在于,在模塊形式中,傳感器具有一個(gè)濾波電容和一個(gè)連接到傳感器輸出引腳的上拉電阻。因此,如果您正在使用該模塊,則無需在外部添加它們。傳感器形式的 DHT11 如下所示。

poYBAGMDOJGAGOsSAAFAlxfqC2o033.png

DHT11 傳感器帶有藍(lán)色或白色外殼。 在這個(gè)外殼內(nèi),我們有兩個(gè)重要的組件 可以幫助我們感知相對(duì)濕度和溫度。 第一個(gè)組件是一對(duì)電極;這兩個(gè)電極之間的電阻由保持水分的基板決定。所以測得的電阻與環(huán)境的相對(duì)濕度成反比。相對(duì)濕度越高,電阻值越低,反之亦然。另外,請(qǐng)注意相對(duì)濕度與實(shí)際濕度不同。相對(duì)濕度測量空氣中相對(duì)于空氣溫度的水含量。

另一個(gè)組件是表面貼裝的 NTC 熱敏電阻。術(shù)語 NTC 代表負(fù)溫度系數(shù),隨著溫度的升高,電阻值將減小。傳感器的輸出經(jīng)過工廠校準(zhǔn),因此作為程序員,我們不必?fù)?dān)心校準(zhǔn)傳感器。1-Wire通信給出的傳感器輸出,我們看一下這個(gè)傳感器的引腳和連接圖。

pYYBAGMDOI2AERVOAAEjlw0WPUM086.png

產(chǎn)品采用 4pin 單排封裝。第 1 個(gè)引腳跨接 VDD,第 4 個(gè)引腳跨接 GND。第二個(gè)引腳是數(shù)據(jù)引腳,用于通信目的。該數(shù)據(jù)引腳需要一個(gè) 5k 的上拉電阻。但是,也可以使用其他上拉電阻,例如 4.7k 到 10k。第 3 個(gè)引腳沒有連接任何東西。所以它被忽略了。

數(shù)據(jù)表提供了技術(shù)規(guī)格以及可以在下表中看到的接口信息 -

poYBAGMDOImADZ12AAEl5wfpbgE823.png

上表顯示了溫度和濕度的測量范圍和精度。它可以測量 0-50 攝氏度的溫度,精度為 +/- 2 攝氏度,測量相對(duì)濕度 20-90%RH,精度為 +/- 5%RH。詳細(xì)規(guī)格見下表。

pYYBAGMDOIWAXLyyAANKPdPVoFM730.png

與 DHT11 傳感器通信

如前所述,為了使用 PIC 從DHT11讀取數(shù)據(jù),我們必須使用PIC 單線通信協(xié)議。有關(guān)如何執(zhí)行此操作的詳細(xì)信息,可以從其數(shù)據(jù)表中的 DHT 11 的接口圖了解,如下所示。

poYBAGMDOIKAUtv4AAKm-le43io889.png

DHT11 需要來自 MCU 的啟動(dòng)信號(hào)來啟動(dòng)通信。因此,每次 MCU 都需要向 DHT11 Sensor 發(fā)送啟動(dòng)信號(hào),要求其發(fā)送溫度和濕度值。在完成啟動(dòng)信號(hào)后,DHT11 會(huì)發(fā)送一個(gè) 包含溫度和濕度信息的響應(yīng)信號(hào)。數(shù)據(jù)通信采用單總線數(shù)據(jù)通信協(xié)議。全數(shù)據(jù)長度為 40 位,傳感器先發(fā)送高位數(shù)據(jù)。

poYBAGMDOH6AMdNTAAK6IH7VbqI826.png

由于上拉電阻,數(shù)據(jù)線在空閑模式下始終保持在 VCC 電平。MCU 需要將此電壓從高到低拉低至少 18 毫秒。在此期間,DHT11 傳感器檢測到啟動(dòng)信號(hào),微控制器將數(shù)據(jù)線拉高 20-40us。這 20-40us 的時(shí)間稱為 DHT11 開始響應(yīng)的等待期。在這個(gè)等待期之后,DHT11 將數(shù)據(jù)發(fā)送到微控制器單元。

DHT11 傳感器數(shù)據(jù)格式

數(shù)據(jù)由組合在一起的小數(shù)部分和整數(shù)部分組成。傳感器遵循以下數(shù)據(jù)格式 -

8bit 積分 RH 數(shù)據(jù) + 8bit 十進(jìn)制 RH 數(shù)據(jù) + 8bit 積分 T 數(shù)據(jù) + 8bit 十進(jìn)制 T 數(shù)據(jù) + 8bit 校驗(yàn)和。

可以通過使用接收到的數(shù)據(jù)檢查校驗(yàn)和值來驗(yàn)證數(shù)據(jù)。可以這樣做是因?yàn)?,如果一切正常,并且傳感器已?jīng)傳輸了正確的數(shù)據(jù),那么校驗(yàn)和應(yīng)該是“8 位 RH 積分?jǐn)?shù)據(jù)+8 位十進(jìn)制 RH 數(shù)據(jù)+8 位積分 T 數(shù)據(jù)+8 位十進(jìn)制 T 數(shù)據(jù)”之和。

所需組件

對(duì)于這個(gè)項(xiàng)目,需要以下內(nèi)容 -

PIC單片機(jī)(8位)編程設(shè)置。

面包板

5V 500mA 電源裝置。

4.7k電阻2個(gè)

1k電阻

PIC16F877A

20mHz晶體

33pF電容2個(gè)

16x2 字符 LCD

DHT11傳感器

跳線

示意圖

將DHT11 與 PIC16F877A連接的電路圖如下所示。

poYBAGMDOHiAMdeTAAFMJE3KRRs485.png

我們使用16x2 LCD來顯示我們從 DHT11 測量的溫度和濕度值。LCD 采用4 線模式連接,傳感器和 LCD 均由 5V 外部電源供電。我使用面包板進(jìn)行所有必需的連接,并使用了外部 5V 適配器。您還可以使用此面包板電源板為您的電路板供電 5V。

pYYBAGMDOHSAHMRzAATrTLah-uU041.png

電路準(zhǔn)備好后,我們要做的就是上傳本頁底部給出的代碼,我們可以開始讀取溫度和濕度,如下所示。如果您想知道代碼是如何編寫的以及它是如何工作的,請(qǐng)進(jìn)一步閱讀。您還可以在本頁底部的視頻中找到該項(xiàng)目的完整工作。

poYBAGMDOHOAPJUTAAdBo_c7wLc623.png

DHT11 with PIC MPLABX 代碼說明

代碼使用 MPLABX IDE 編寫,并使用 XC8 編譯器編譯,兩者均由 Microchip 提供,可免費(fèi)下載和使用。請(qǐng)參考基礎(chǔ)教程了解編程基礎(chǔ)知識(shí),下面只討論與 DHT11 傳感器通信所需的三個(gè)重要功能。功能是 -

無效 dht11_init(); 
無效查找響應(yīng)();
char read_dht11();

第一個(gè)函數(shù)用于dht11 的啟動(dòng)信號(hào)。如前所述,與 DHT11 的每次通信都以啟動(dòng)信號(hào)開始,這里首先更改引腳方向以將數(shù)據(jù)引腳配置為微控制器的輸出。然后數(shù)據(jù)線被拉低,一直等待18mS。之后,微控制器再次將線路設(shè)為高電平,并一直等待長達(dá) 30us。等待時(shí)間過后,數(shù)據(jù)引腳設(shè)置為微控制器的輸入以接收數(shù)據(jù)。

無效 dht11_init(){ 
DHT11_Data_Pin_Direction= 0; //配置RD0為輸出
DHT11_Data_Pin = 0; //RD0向傳感器發(fā)送0 
__delay_ms(18); 
DHT11_Data_Pin = 1;//RD0向傳感器發(fā)送1 
__delay_us(30); 
DHT11_Data_Pin_Direction = 1;//配置RD0為輸入
}

下一個(gè)函數(shù)用于根據(jù)數(shù)據(jù)引腳狀態(tài)設(shè)置校驗(yàn)位。它用于檢測 DHT11 傳感器的響應(yīng)。

無效 find_response(){ 
Check_bit = 0; 
__delay_us(40); 
if (DHT11_Data_Pin == 0){ 
__delay_us(80); 
if (DHT11_Data_Pin == 1){ 
            Check_bit = 1; 
}           
__delay_us(50);} 
}

最后是dht11讀取函數(shù);此處數(shù)據(jù)被讀取為 8 位格式,其中數(shù)據(jù)通過位移操作返回,具體取決于數(shù)據(jù)引腳狀態(tài)。

char read_dht11(){ 
char 數(shù)據(jù),for_count; 
for(for_count = 0; for_count < 8; for_count++){ 
            while(!DHT11_Data_Pin); 
            __delay_us(30); 
            if(DHT11_Data_Pin == 0){ 
            data&= ~(1<<(7 - for_count)); //清除位 (7-b) 
            } 
            else{ 
            data|= (1 << (7 - for_count)); //設(shè)置位 (7-b) 
            while(DHT11_Data_Pin); 
            } 
            }
返回?cái)?shù)據(jù);
}

???

之后,一切都在 main 函數(shù)中完成。首先,系統(tǒng)初始化在 LCD 被初始化并將 LCD 引腳端口方向設(shè)置為輸出的地方完成。應(yīng)用程序在主函數(shù)內(nèi)部運(yùn)行

無效 main() { 
system_init(); 
while(1){ 
            __delay_ms(800); 
            dht11_init(); 
            查找響應(yīng)();
            if(Check_bit == 1){ 
            RH_byte_1 = read_dht11(); 
            RH_byte_2 = read_dht11(); 
            Temp_byte_1 = read_dht11(); 
            Temp_byte_2 = read_dht11(); 
            求和 = read_dht11(); 
            if(Summation == ((RH_byte_1+RH_byte_2+Temp_byte_1+Temp_byte_2) & 0XFF)){
            濕度 = Temp_byte_1; 
            RH = RH_byte_1;                                
            lcd_com (0x80);                       
            lcd_puts("溫度:");
            //lcd_puts(""); 
            lcd_data(48 + ((濕度/10) % 10)); 
            lcd_data(48 + (濕度 % 10)); 
            液晶數(shù)據(jù)(0xDF);
            lcd_puts("C"); 
            lcd_com (0xC0);          
            lcd_puts("濕度:"); 
            //lcd_puts(""); 
            lcd_data(48 + ((RH / 10) % 10)); 
            lcd_data(48 + (RH % 10)); 
            lcd_puts("%"); 
            } 
            else{ 
            lcd_puts("校驗(yàn)和錯(cuò)誤"); 
            } 
            }
            其他 { 
            clear_screen(); 
            lcd_com (0x80);
            lcd_puts("錯(cuò)誤!?。?); 
            lcd_com (0xC0); 
            lcd_puts("沒有反應(yīng)。"); 
            } 
            __delay_ms(1000); 
} 
}

與 DHT11 傳感器的通信是在while循環(huán)中完成的,在該循環(huán)中將啟動(dòng)信號(hào)提交給傳感器。之后,觸發(fā)find_response函數(shù)。如果Check_bit為 1,則進(jìn)行進(jìn)一步的通信,否則 LCD 將顯示錯(cuò)誤對(duì)話框。

根據(jù) 40 位數(shù)據(jù),read_dht11被調(diào)用 5 次(5 次 x 8 位),并按照數(shù)據(jù)表中提供的數(shù)據(jù)格式存儲(chǔ)數(shù)據(jù)。校驗(yàn)和狀態(tài)也被檢查,如果發(fā)現(xiàn)錯(cuò)誤,它也會(huì)在 LCD 中通知。最后,數(shù)據(jù)被轉(zhuǎn)換并傳輸?shù)?16x2 字符 LCD。

#include

#include


#include "supporting_cfile/lcd.h"


#pragma config FOSC = HS // 振蕩器選擇位(HS 振蕩器)

#pragma config WDTE = OFF // 看門狗定時(shí)器使能位(WDT 禁用)

#pragma config PWRTE = ON // 上電定時(shí)器使能位(PWRT 使能)

# pragma config BOREN = ON // 欠壓復(fù)位使能位(BOR 使能)

#pragma config LVP = OFF // 低電壓(單電源)在線串行編程使能位(RB3 為數(shù)字 I/O,HV 開啟MCLR 必須用于編程)

#pragma config CPD = OFF // 數(shù)據(jù) EEPROM 存儲(chǔ)器代碼保護(hù)位(數(shù)據(jù) EEPROM 代碼保護(hù)關(guān)閉)

#pragma config WRT = OFF // 閃存程序存儲(chǔ)器寫使能位(寫保護(hù)關(guān)閉;所有程序存儲(chǔ)器可由 EECON 控制寫入)

#pragma config CP = OFF // Flash 程序存儲(chǔ)器代碼保護(hù)位(代碼保護(hù)關(guān)閉)



/*

程序流程相關(guān)定義

*/

#define DHT11_Data_Pin PORTDbits.RD5

#define DHT11_Data_Pin_Direction TRISDbits.TRISD5

#define FIRST_LINE 0x80

#define SECOND_LINE 0xC0



#define _XTAL_FREQ 20000000 //20 Mhz


unsigned char Check_bit, Temp_byte_1, Temp_byte_2, RH_byte_1, RH_byte_2;

unsigned char Himudity, RH, Sumation ;


//dht11相關(guān)定義


無效 dht11_init();

無效查找響應(yīng)();

char read_dht11();


// 系統(tǒng)相關(guān)定義


無效系統(tǒng)初始化(無效);

無效介紹屏幕(無效);

無效清除屏幕(無效);


無效 main() {

system_init();



while(1){

__delay_ms(800);

dht11_init();

查找響應(yīng)();

if(Check_bit == 1){

RH_byte_1 = read_dht11();

RH_byte_2 = read_dht11();

Temp_byte_1 = read_dht11();

Temp_byte_2 = read_dht11();

求和 = read_dht11();

if(Sumation == ((RH_byte_1+RH_byte_2+Temp_byte_1+Temp_byte_2) & 0XFF)){

Himudity = Temp_byte_1;

RH = RH_byte_1;

lcd_com (0x80);

lcd_puts("溫度:");

//lcd_puts("");

lcd_data(48 + ((Himudity / 10) % 10));

lcd_data(48 + (濕度 % 10));

液晶數(shù)據(jù)(0xDF);

lcd_puts("C");

lcd_com (0xC0);

lcd_puts("濕度:");

//lcd_puts("");

lcd_data(48 + ((RH / 10) % 10));

lcd_data(48 + (RH % 10));

lcd_puts("%");

}

else{

lcd_puts("校驗(yàn)和錯(cuò)誤");

}

}

其他 {

clear_screen();

lcd_com (0x80);

lcd_puts("錯(cuò)誤?。?!");


lcd_puts("沒有反應(yīng)。");

}

__delay_ms(1000);

}

}


/*

* 這將初始化 dht22 傳感器。

*/


無效 dht11_init(){

DHT11_Data_Pin_Direction= 0; //配置RD0為輸出

DHT11_Data_Pin = 0; //RD0向傳感器發(fā)送0

__delay_ms(18);

DHT11_Data_Pin = 1;//RD0向傳感器發(fā)送1

__delay_us(30);

DHT11_Data_Pin_Direction = 1;//配置RD0為輸入

}


/*

* 這將發(fā)現(xiàn) dht22 傳感器是否工作。

*/


無效 find_response(){

Check_bit = 0;

__delay_us(40);

if (DHT11_Data_Pin == 0){

__delay_us(80);

if (DHT11_Data_Pin == 1){

Check_bit = 1;

}

__delay_us(50);}

}



/*

此函數(shù)用于讀取 dht22。

*/



char read_dht11(){

char data, for_count;

for(for_count = 0; for_count < 8; for_count++){

while(!DHT11_Data_Pin);

__delay_us(30);

if(DHT11_Data_Pin == 0){

data&= ~(1<<(7 - for_count)); //清除位 (7-b)

}

else{

data|= (1 << (7 - for_count)); //設(shè)置位 (7-b)

while(DHT11_Data_Pin);

} //等到 PORTD.F0 變低

}

返回?cái)?shù)據(jù);

}



void system_init(){

TRISB = 0; // LCD 引腳設(shè)置為輸出。

液晶初始化();

介紹屏幕();

//dht11_init();

}



/*

這個(gè)函數(shù)是為了在沒有命令的情況下清除屏幕。

*/


void clear_screen(void){

lcd_com(FIRST_LINE);

lcd_puts("");

lcd_com(第二行);

lcd_puts("");

}




/*

此函數(shù)用于播放介紹。

*/


void Introduction_screen(void){

lcd_com(FIRST_LINE);

lcd_puts("歡迎來到");

lcd_com(第二行);

lcd_puts("電路文摘");

__delay_ms(1000);

__delay_ms(1000);

清除屏幕();

lcd_com(FIRST_LINE);

lcd_puts("DHT11 傳感器");

lcd_com(第二行);

lcd_puts("用 PIC16F877A");

__delay_ms(1000);

__delay_ms(1000);

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150125
  • 液晶顯示器
    +關(guān)注

    關(guān)注

    11

    文章

    570

    瀏覽量

    43499
  • DHT11
    +關(guān)注

    關(guān)注

    19

    文章

    274

    瀏覽量

    57413
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PIC16F877A在proteus中讀寫AT24C512

    此時(shí)把I2C DEBUGGER的SCL線連接PIC16F877A和AT24C512的SCL線上,這樣PIC16F877A可以正常的寫AT24C512。當(dāng)PIC16F877A發(fā)送啟動(dòng)信
    發(fā)表于 12-30 16:09

    PIC16F887 DHT11濕度程序

    PIC16F877A 單片機(jī) PIC16F887 DHT11濕度 程序
    發(fā)表于 11-24 06:25

    使用DHT11和STM32單片機(jī)進(jìn)行濕度溫度監(jiān)控

    測量0°C至50°C的溫度,精度為1°C。 它可以測量20%至90%的濕度,精度為1%。我們將把DHT11
    發(fā)表于 03-01 06:24

    pic16f877a中文資料pdf

    pic16f877a中文資料
    發(fā)表于 07-15 13:20 ?4548次下載
    <b class='flag-5'>pic16f877a</b>中文資料pdf

    PIC16F877A串口發(fā)送查詢方式

    PIC16F877A串口發(fā)送,查詢方式,就為了調(diào)出這個(gè)費(fèi)了我一天時(shí)間,原來是串口芯片電壓問題,現(xiàn)總結(jié)如下
    發(fā)表于 09-01 11:03 ?10次下載
    <b class='flag-5'>PIC16F877A</b>串口發(fā)送查詢方式

    PIC16F877A串口芯片電壓問題

    PIC16F877A串口發(fā)送,查詢方式,就為了調(diào)出這個(gè)費(fèi)了我一天時(shí)間,原來是串口芯片電壓問題,現(xiàn)總結(jié)如下
    發(fā)表于 09-01 11:15 ?9次下載
    <b class='flag-5'>PIC16F877A</b>串口芯片電壓問題

    PIC16F877A的UART通信和proteus仿真的資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PIC16F877A的UART通信和proteus仿真的資料合集免費(fèi)下載PIC877單片機(jī)進(jìn)行UART測試
    發(fā)表于 12-29 08:00 ?29次下載
    <b class='flag-5'>PIC16F877A</b>的UART通信和proteus仿真的資料合集免費(fèi)下載

    PIC16F877A 單片機(jī) PIC16F887 DHT11濕度 程序

    電子發(fā)燒友網(wǎng)站提供《PIC16F877A 單片機(jī) PIC16F887 DHT11濕度 程序.pdf》資料免費(fèi)下載
    發(fā)表于 11-16 16:51 ?34次下載
    <b class='flag-5'>PIC16F877A</b> 單片機(jī) <b class='flag-5'>PIC16F</b>887 <b class='flag-5'>DHT11</b> 溫<b class='flag-5'>濕度</b> 程序

    PIC16F877A開發(fā)板 數(shù)碼管動(dòng)態(tài)掃描實(shí)驗(yàn)

    //****************電子園PIC16F877A開發(fā)板 數(shù)碼管動(dòng)態(tài)掃描實(shí)驗(yàn)****************//////mcu: PIC16F877A 4MHz //2010年12月
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 數(shù)碼管動(dòng)態(tài)掃描實(shí)驗(yàn)

    PIC16F877A開發(fā)板 普通IO驅(qū)動(dòng)74595實(shí)驗(yàn)

    //*****************電子園PIC16F877A開發(fā)板 普通IO驅(qū)動(dòng)74595實(shí)驗(yàn)***************////PIC16F877A 實(shí)驗(yàn)板////mcu
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 普通IO驅(qū)動(dòng)74595實(shí)驗(yàn)

    PIC16F877A 看門狗定時(shí)器實(shí)驗(yàn)

    //*******************PIC16F877A 看門狗定時(shí)器實(shí)驗(yàn)******************* // //PORTA,PORTB,PORTC,PORTD,PORTE
    發(fā)表于 11-16 20:06 ?8次下載
    <b class='flag-5'>PIC16F877A</b> 看門狗定時(shí)器實(shí)驗(yàn)

    PIC16F887 DHT11濕度傳感器 單片機(jī)

    電子發(fā)燒友網(wǎng)站提供《PIC16F887 DHT11濕度傳感器 單片機(jī).pdf》資料免費(fèi)下載
    發(fā)表于 11-17 09:06 ?26次下載
    <b class='flag-5'>PIC16F</b>887 <b class='flag-5'>DHT11</b><b class='flag-5'>濕度</b>傳感器 單片機(jī)

    MCP4921與PIC16F877A接口進(jìn)行數(shù)模轉(zhuǎn)換的方法

    在本教程中,我們DAC MCP4921 與 Microchip PIC16F877A 接口以進(jìn)行數(shù)模轉(zhuǎn)換。
    發(fā)表于 09-06 17:40 ?1507次閱讀
    <b class='flag-5'>將</b>MCP4921與<b class='flag-5'>PIC16F877A</b>接口<b class='flag-5'>進(jìn)行</b>數(shù)模轉(zhuǎn)換的方法

    使用熱敏打印機(jī)連接PIC16F877A并使用輕觸開關(guān)實(shí)現(xiàn)打印的教程

    在本教程中,我們熱敏打印機(jī) CSN A1 與廣泛使用的 PIC 微控制器 PIC16F877A 連接。在本項(xiàng)目中,熱敏打印機(jī)
    的頭像 發(fā)表于 11-04 15:10 ?2469次閱讀
    使用熱敏打印機(jī)<b class='flag-5'>連接</b><b class='flag-5'>PIC16F877A</b>并使用輕觸開關(guān)實(shí)現(xiàn)打印的教程

    PIC16F877A開發(fā)板原理圖

    PIC16F877A開發(fā)板原理圖免費(fèi)下載。
    發(fā)表于 03-21 15:47 ?12次下載