亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

串行收發(fā)

  • 89C51串行口及串行通信技術(shù)

    7.1  串行通信基本知識7.2  串行口及應(yīng)用7.3  RS-232C標(biāo)準(zhǔn)接口總線 及串行通信硬件設(shè)計7.4  89C51與89C51點對點異步通信7.5  89C51與PC機間通信軟件的設(shè)計7.6  PC機與多個單片機間的通信本章將介紹89C51串行口的結(jié)構(gòu)及應(yīng)用PC機與89C51間的雙機通信一臺PC機控制多臺89C51前沿機的分布式系統(tǒng),以及通信接口電路和軟件設(shè)計,并給出設(shè)計實例,包括接口電路、程序框圖、主程序和接收/發(fā)送子程序.

    標(biāo)簽: 89C51 串行口 串行通信技術(shù)

    上傳時間: 2013-10-27

    上傳用戶:firstbyte

  • 自動檢測80C51串行通訊中的波特率

    自動檢測80C51串行通訊中的波特率:本文介紹一種在80C51 串行通訊應(yīng)用中自動檢測波特率的方法。按照經(jīng)驗,程序起動后所接收到的第1 個字符用于測量波特率。這種方法可以不用設(shè)定難于記憶的開關(guān),還可以免去在有關(guān)應(yīng)用中使用多種不同波特率的煩惱。人們可以設(shè)想:一種可靠地實現(xiàn)自動波特檢測的方法是可能的,它無須嚴(yán)格限制可被確認(rèn)的字符。問題是:在各種的條件下,如何可以在大量允許出現(xiàn)的字符中找出波特率定時間隔。顯然,最快捷的方法是檢測一個單獨位時間(single bit time),以確定接收波特率應(yīng)該是多少。可是,在RS-232 模式下,許多ASCII 字符并不能測量出一個單獨位時間。對于大多數(shù)字符來說,只要波特率存在合理波動(這里的波特率是指標(biāo)準(zhǔn)波特率),從起始位到最后一位“可見”位的數(shù)據(jù)傳輸周期就會在一定范圍內(nèi)發(fā)生變化。此外,許多系統(tǒng)采用8 位數(shù)據(jù)、無奇偶校驗的格式傳輸ASCII 字符。在這種格式里,普通ASCII 字節(jié)不會有MSB 設(shè)定,并且,UART總是先發(fā)送數(shù)據(jù)低位(LSB),后發(fā)送數(shù)據(jù)高位(MSB),我們總會看見數(shù)據(jù)的停止位。在下面的波特率檢測程序中,先等待串行通訊輸入管腳的起始信號(下降沿),然后起動定時器T0。在其后的串行數(shù)據(jù)的每一個上升沿,將定時器T0 的數(shù)值捕獲并保存。當(dāng)定時器T0溢出時,其最后一次捕獲的數(shù)值即為從串行數(shù)據(jù)起始位到最后一個上升沿(我們假設(shè)是停止位)過程所持續(xù)的時間。

    標(biāo)簽: 80C51 自動檢測 串行通訊 波特率

    上傳時間: 2014-08-22

    上傳用戶:dajin

  • 單片機溫度采集器與PC104分站的串行通信

    單片機溫度采集器與PC104分站的串行通信:用PC104 模塊組建的礦井變電所采集分站,具有強大的以太網(wǎng)和CAN 總線通信功能。在PC104模塊底板上,設(shè)計了一個基于89C2051 單片機的溫度采集器,用于采集溫度傳感器監(jiān)測值并通過串口將該監(jiān)測值傳送到PC104 分站。該設(shè)計簡化了變電所環(huán)境溫度監(jiān)測的軟、硬件,并且編程簡單,充分利用了PC104 的空閑串口資源。關(guān)鍵詞:溫度采集器; 單片機; 串行通信; PC104

    標(biāo)簽: 104 PC 單片機

    上傳時間: 2013-11-24

    上傳用戶:wangchong

  • TMS320F240 DSP與C51單片機串行通訊的實現(xiàn)

    本文介紹一種實現(xiàn)TMS320F240 DSP與C51單片機串行通訊的方法。詳細(xì)說明了TMS320F240 DSP與C51單片機的硬件構(gòu)成和軟件設(shè)置等問題。

    標(biāo)簽: 320F F240 TMS 320

    上傳時間: 2013-11-24

    上傳用戶:1234567890qqq

  • 串行EEPROM在MCS 51單片機系統(tǒng)中的應(yīng)用

    通過介紹串行EEPR0M芯片在MCS.51單片機系統(tǒng)中的應(yīng)用,為單片機應(yīng)用數(shù)據(jù)存儲器的擴展,提供一個新的理念,從而有效地提高了單片機cPu的引腳資源利用率,為單片機應(yīng)用系統(tǒng)設(shè)計、開發(fā)、數(shù)據(jù)管理提供了又一種結(jié)構(gòu)形式.

    標(biāo)簽: EEPROM MCS 串行 51單片機

    上傳時間: 2013-10-21

    上傳用戶:181992417

  • PC MCU串行通信的應(yīng)用設(shè)計方法

    RS232C串行通信在控制領(lǐng)域里應(yīng)用得很廣泛但在實際應(yīng)用中又會因所控制的對象所解決的問題不同而各具特點本文所涉及的是傳輸距離不超過15米所傳輸數(shù)據(jù)量較小的PC機和單片機的通信如PC機對IC卡的讀寫PC機對單片機燒寫器的數(shù)據(jù)轉(zhuǎn)輸以及其它一些具有類似特點的智能化儀器和儀表中的數(shù)據(jù)通信

    標(biāo)簽: MCU PC 串行通信 應(yīng)用設(shè)計

    上傳時間: 2014-12-28

    上傳用戶:6546544

  • 內(nèi)置Reset WDT電路的串行E2PROM原理及應(yīng)用設(shè)計

    CAT24Cxxx是集E2PROM存儲器, 精確復(fù)位控制器和看門狗定時器三種流行功能于一體的芯片。CAT24C161/162(16K),CAT24C081/082(8K),CAT24C041/042(4K)和CAT24C021/022(2K) 主要作為I2C 串行CMOS E2PROM器件,采用先進的CMOS工藝大大降低了器件的功耗。CAT24Cxxx另一特點是16 字節(jié)的頁寫緩沖區(qū),提供8腳DIP和SOIC封裝。CAT24Cxxx的復(fù)位功能和看門狗定時器功能保證系統(tǒng)出現(xiàn)故障的時候能給CPU一個復(fù)位信號。CAT24Cxxx的第2腳輸出低電平復(fù)位信號,第7腳輸出高電平復(fù)位信號。CAT24Cxx1 看狗溢出信號從SDA腳輸出CAT24Cxx2不具備看門狗功能

    標(biāo)簽: E2PROM Reset WDT 內(nèi)置

    上傳時間: 2013-12-12

    上傳用戶:siying

  • 基于AT89C51應(yīng)用系統(tǒng)的串行通信設(shè)計

    基于AT89C51應(yīng)用系統(tǒng)的串行通信設(shè)計:介紹了基于AT89C51應(yīng)用系統(tǒng)中的串行通信軟硬件設(shè)計方法和實現(xiàn)過程,在基于紅外成像技術(shù)的電力設(shè)備狀態(tài)檢測系統(tǒng)中,將紅外測溫儀檢測到設(shè)備的溫度數(shù)據(jù)傳給控制電路,進行數(shù)據(jù)格式的轉(zhuǎn)換后,在RAM 中存儲,同時上傳給PC機。系統(tǒng)利用MAX232實現(xiàn)RS 232C的EIA 電平與單片機的TTI 電平之聞轉(zhuǎn)換,利用通用串口芯片8251A擴展串行接13',實現(xiàn)PC機與單片機之問的串行通信。 關(guān)鍵詞:串行通信;單片機;接口;RS232C

    標(biāo)簽: 89C C51 AT 89

    上傳時間: 2014-12-21

    上傳用戶:aeiouetla

  • SPI接口讀寫串行EEPROM

    SPI接口讀寫串行EEPROM:93C46為采用3線串行同步總線SPI接口方式的EEPROM,其芯片引腳名稱和功能描述如圖1-1:

    標(biāo)簽: EEPROM SPI 接口 串行

    上傳時間: 2013-11-19

    上傳用戶:taozhihua1314

  • 串行編程器源程序(Keil C語言)

    串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現(xiàn)編程的讀,寫,擦等細(xì)節(jié)//AT89C2051的特殊處:給XTAL一個脈沖,地址計數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設(shè)置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環(huán)讀,直到讀出與寫入的數(shù)相同 {  nTimeOut++;  if(nTimeOut>1000)//超時了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設(shè)置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    標(biāo)簽: Keil 串行 C語言 編程器

    上傳時間: 2013-11-12

    上傳用戶:gut1234567

主站蜘蛛池模板: 博爱县| 莫力| 博白县| 九台市| 喀喇| 海南省| 大同市| 博白县| 太湖县| 屯门区| 鄂尔多斯市| 丽水市| 玉屏| 清丰县| 武邑县| 甘孜县| 武邑县| 东港市| 大兴区| 深圳市| 盐津县| 北海市| 临朐县| 怀集县| 富顺县| 吉安县| 凯里市| 无棣县| 怀远县| 聊城市| 北京市| 阿瓦提县| 新乡县| 龙江县| 贡觉县| 宁晋县| 贡嘎县| 岢岚县| 台江县| 纳雍县| 苍溪县|