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

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

職業(yè)

  • 自己做的單片機Proteus仿真實例

    自己在學校的時候做的一些單片機仿真實例和一些資料,希望對大家有些幫助

    標簽: Proteus 單片機 仿真實例

    上傳時間: 2013-11-08

    上傳用戶:oojj

  • MOTOROLA 8位增強型單片機M68HC11原理與應用

    本書分三部分介紹在美國廣泛應用的、高功能的M68HC11系列單片機(8位機 ,Motorola公司)。內容包括M68HC11的結構與其基本原理、開發工具EVB(性能評估板)以及開發和應用技術。本書在介紹單片機硬、軟件的基礎上,進一步介紹了在美國實驗室內,如何應用PC機及EVB來進行開發工作。通過本書的介紹,讀者可了解這種單片機的原理并學會開發和應用方法。本書可作為大專院校單片機及其實驗的教材(本科、短訓班)。亦可供開發、應用單片機的各專業(計算機、機電、化工、紡織、冶金、自控、航空、航海……)有關技術人員參考。 第一部分 M68HC11 結構與原理Motorola單片機 1 Motorla單片機 1.1 概述 1.1.1 Motorola 單片機發展概況(3) 1.1.2 Motorola 單片機結構特點(4) 1.2 M68HC11系列單片機(5) 1.2.1 M68HC11產品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9單片機引腳說明(8) 1.3 Motorola 32位單片機(14) 1.3.1中央處理器(CPU32)(15) 1.3.2 定時處理器(TPU)(16) 1.3.3 串行隊列模塊(QSM)(16) 1.3.4 系統集成模塊 (SIM)(16) 1.3.5 RAM(17) 2 系統配置與工作方式 2.1 系統配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的編程與擦除(20) 2?2 工作方式選擇(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通單片工作方式(23) 2.3.2 普通擴展工作方式(23) 2.3.3 特殊自舉方式(27) 2.3.4 特殊測試方式(28) 3 中央處理器(CPU)與片上存儲器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和雙累加器D(32) 3.1.2 變址寄存器X、Y(32) 3.1.3 棧指針SP(32) 3.1.4 程序計數器PC(33) 3.1.5 條件碼寄存器CCR(33) 3.2 片上存儲器(34) 3.2.1 存儲器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 復位和中斷 4.1 復位(41) 4.1.1 M68HC11的系統初始化條件(41) 4.1.2 復位形式(43) 4.2 中斷(48) 4.2.1 條件碼寄存器CCR中的中斷屏蔽位(48) 4.2.2 中斷優先級與中斷矢量(49) 4.2.3 非屏蔽中斷(52) 4.2.4 實時中斷(53) 4.2.5 中斷處理過程(56) 5 M68HC11指令系統 5.1 M68HC11尋址方式(59) 5.1.1 立即尋址(IMM)(59) 5.1.2 擴展尋址(EXT)(60) 5.1.3 直接尋址(DIR)(60) 5.1.4 變址尋址(INDX、INDY)(61) 5.1.5 固有尋址(INH)(62) 5.1.6 相對尋址(REL)(62) 5.1.7 前置字節(63) 5.2 M68HC11指令系統(63) 5.2.1 累加器和存儲器指令(63) 5.2.2 棧和變址寄存器指令(68) 5.2.3 條件碼寄存器指令(69) 5.2.4 程序控制指令(70) 6 輸入與輸出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 應答I/O子系統(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 數據格式(83) 6.3.3 SCI硬件結構(84) 6.3.4 SCI寄存器(86) 6.4 串行外圍接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引腳信號(92) 6.4.3 SPI結構(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系統與外部設備進行串行數據傳輸(99) 7 定時器系統與脈沖累加器 7.1 概述(105) 7.2 循環計數器(107) 7.2.1 時鐘分頻器(107) 7.2.2 計算機正常工作監視功能(110) 7.2.3 定時器標志的清除(110) 7.3 輸入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定時器輸入捕捉鎖存器(TIC1、TIC2、TIC3) 7.3.3 輸入信號沿檢測邏輯(113) 7.3.4 輸入捕捉中斷(113) 7.4 輸出比較功能(114) 7.4.1 概述(114) 7.4.2 輸出比較功能使用的寄存器(116) 7.4.3 輸出比較示例(118) 7.5 脈沖累加器(119) 7.5.1 概述(119) 7.5.2 脈沖累加器控制和狀態寄存器(121) 8 A/D轉換系統 8.1 電荷重新分布技術與逐次逼近算法(125) 8.1.1 基本電路(125) 8.1.2 A/D轉換逐次逼近算法原理(130) 8.2 M68HC11中A/D轉換的實現方法(131) 8.2.1 逐次逼近A/D轉換器(131) 8.2.2 控制寄存器(132) 8.2.3 系統控制邏輯(135)? 9 單片機的內部操作 9.1 用立即>    圖書前言   美國Motorola公司從80年代中期開始推出的M68HC11系列單片機是當今功能最強、性能/價格比最好的八位單片微計算機之一。在美國,它已被廣泛地應用于教學和各種工業控制系統中。?   該單片機有豐富的I/O功能,完善的系統保護功能和軟件控制的節電工作方式 。它的指令系統與早期Motorola單片機MC6801等兼容,同時增加了91條新指令。其中包含16位乘法、除法運算指令等。   為便于用戶開發和應用M68HC11單片機,Motorola公司提供了多種開發工具。M68HC11 EVB (Evaluation Board)性能評估板就是一種M68HC11系列單片機的廉價開發工具。它既可用來 調試用戶程序,又可在仿真方式下運行。為方便用戶,M68HC11 EVB可與IBM?PC連接 ,借助于交叉匯編、通信程序等軟件,在IBM?PC上調試程序。?   本書分三部分(共15章)介紹了M68HC11的結構和基本原理、開發工具-EVB及開發應用實例等。第一部分(1~9章),介紹M68HC11的結構和基本原理。包括概述,系統配置與工作方式、CPU和存儲器、復位和中斷、指令系統、I/O、定時器系統和脈沖累加器、A/D轉換系統、單片機的內部操作等。第二部分(10~11章),介紹M68HC11 EVB的原理和技術特性以及EVB的應用。第三部分(12~15章),介紹M68HC11的開發與應用技術。包括基本的編程練習、應用程序設計、接口實驗、接口設計及應用等。   讀者通過學習本書,不僅可了解M68HC11的硬件、軟件,而且可了解使用EVB開發和應用M68HC11單片機的方法。在本書的第三部分專門提供了一部分實驗和應用程序。?   本書系作者張寧作為高級訪問學者,應邀在美國馬薩諸塞州洛厄爾大學(University of Massachusetts Lowell)工作期間完成的。全書由張寧執筆。在編著過程中,美國洛厄爾大學的R·代克曼教授?(Professor Robert J. Dirkman)多次與張寧一起討論、研究,并提供部分資料及實驗數據。參加編寫和審校等工作的還有王云霞、孫曉芳、劉安魯、張籍、來安德、張楊等同志。?   為將M68HC11系列單片機盡快介紹給我國,美國Motorola公司的Terrence M.S.Heng先生曾大力支持本書的編著和出版。在此表示衷心感謝。    

    標簽: MOTOROLA M68 68 11

    上傳時間: 2013-10-27

    上傳用戶:rlgl123

  • LCD12864顯示漢字和數字(程序和電路)

    附件為:LCD12864顯示漢字和數字的程序與電路 /*  自定義延時子函數 */ void delayms(uchar z) {   int x,y;   for(x=z;x>0;x--)      for(y=110;y>0;y--); } /*      判斷LCD忙信號狀態 */ void buys() {   int dat;   RW=1;   RS=0;   do     {           P0=0x00;          E=1;    dat=P0;    E=0;    dat=0x80 & dat;   } while(!(dat==0x00)); } /*      LCD寫指令函數 */ void w_com(uchar com) {   //buys();   RW=0;   RS=0;   E=1;   P0=com;   E=0; }  /*      LCD寫數據函數 */ void w_date(uchar date) {   //buys();   RW=0;   RS=1;   E=1;   P0=date;   E=0; } /*     LCD選屏函數 */ void select_screen(uchar screen) {     switch(screen)     {         case 0:     //選擇全屏                 CS1=0;        CS2=0;           break;      case 1:     //選擇左屏                 CS1=0;        CS2=1;           break;                          case 2:     //選擇右屏                 CS1=1;        CS2=0;           break;    /*  case 3:     //選擇右屏                 CS1=1;          CS2=1;               break;    */     }           } /*   LCDx向上滾屏顯示 */ void lcd_rol() {     int x;     for(x=0;x<64;x++)        {       select_screen(0);     w_com(0xc0+x);       delayms(500);     } } /*     LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) {   int x,y;   select_screen(screen);     //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏   for(x=0xb8;x<0xc0;x++)   //從0xb8-0xbf,共8頁      {    w_com(x);    w_com(0x40);   //列的初始地址是0x40    for(y=0;y<64;y++)       {            w_date(0x00);              }       }    } /*   LCD顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數       int a;    mun=mun*32;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       } }  /*   LCD顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       } } /*   LCD顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       } } /*   LCD初始化函數 */ void lcd_init() {   w_com(0x3f);   //LCD開顯示   w_com(0xc0);   //LCD行初始地址,共64行   w_com(0xb8);   //LCD頁初始地址,共8頁   w_com(0x40);   //LCD列初始地址,共64列     } /*   LCD顯示主函數 */ void main() {   //第一行       int x;    lcd_init();     //LCD初始化    clear_screen(0);    //LCD清屏幕    lcd_display_shuzi(1,0,4,5);    //LCD顯示數字    lcd_display_shuzi(1,0,5,1);    //LCD顯示數字       lcd_display_hanzi(1,0,3,0);    //LCD顯示漢字    lcd_display_hanzi(2,0,0,1);    //LCD顯示漢字    //LCD字符漢字    lcd_display_hanzi(2,0,1,2);    //LCD顯示漢字   //第二行     lcd_display_zifuk(1,1,2,0);    //LCD顯示字符    lcd_display_zifuk(1,1,3,0);    //LCD顯示字符    lcd_display_zifuk(1,1,4,0);    //LCD顯示字符    lcd_display_zifuk(1,1,5,4);    //LCD顯示字符    lcd_display_shuzi(1,1,6,8);    //LCD顯示字符    lcd_display_shuzi(1,1,7,9);    //LCD顯示字符    lcd_display_shuzi(2,1,0,5);    //LCD顯示字符    lcd_display_shuzi(2,1,1,1);    //LCD顯示字符    lcd_display_zifuk(2,1,2,4);    lcd_display_zifuk(2,1,3,1);    lcd_display_zifuk(2,1,4,2);    lcd_display_zifuk(2,1,5,3);   //第三行    for(x=0;x<4;x++)       {      lcd_display_hanzi(1,2,x,3+x);    //LCD顯示漢字    }      for(x=0;x<4;x++)       {      lcd_display_hanzi(2,2,x,7+x);    //LCD顯示漢字    }   //第四行     for(x=0;x<4;x++)       {      lcd_display_zifuk(1,3,x,5+x);    //LCD顯示漢字    }     lcd_display_shuzi(1,3,4,7);     lcd_display_shuzi(1,3,5,5);     lcd_display_shuzi(1,3,6,5);     lcd_display_zifuk(1,3,7,9);     lcd_display_shuzi(2,3,0,8);     lcd_display_shuzi(2,3,1,9);     lcd_display_shuzi(2,3,2,9);     lcd_display_shuzi(2,3,3,5);     lcd_display_shuzi(2,3,4,6);     lcd_display_shuzi(2,3,5,8);     lcd_display_shuzi(2,3,6,9);     lcd_display_shuzi(2,3,7,2);        while(1);    /* while(1)     {     //  LCD向上滾屏顯示        lcd_rol();     }    */ }

    標簽: 12864 LCD 漢字 數字

    上傳時間: 2013-11-08

    上傳用戶:aeiouetla

  • C函數速查手冊全書下載

    C函數速查手冊 出版社:人民郵電出版社 《C函數速查手冊》中所講的C語言函數按照功能順序和字母順序進行排序,讀者既可以按照功能順序查找,也可以按照字母順序學習。《C函數速查手冊》不僅適合于C語言初學者學習使用,而且也可以作為中、高級C語言開發人員的參考手冊。 目錄  第1章 數學函數    1.1 _clear87函數:清除浮點狀態字    1.2 _status87函數:取浮點狀態字    1.3 abs函數:求整數的絕對值    1.4 acos、acosl函數:反余弦函數    1.5 asin、asinl函數:反正弦函數    1.6 atan函數:反正切函數    1.7 atan2、atan2l函數:計算Y/X的反正切值    1.8 cabs函數:計算復數的模    1.9 ceil函數:向上取整    1.10 cos函數:余弦函數    1.11 cosh函數:雙曲余弦函數    1.12 div函數:求兩個整數相除的商和余數    1.13 exp函數:指數函數    1.14 fabs函數:求浮點數的絕對值    1.15 floor函數:向下取整    1.16 fmod函數:計算x對y的模    1.17 frexp函數:將浮點數分為底數與指數    1.18 hypot函數:計算直角三角形的斜邊    1.19 labs函數:取長整數的絕對值    1.20 ldexp、ldexpl函數:冪計算    1.21 ldiv函數:兩個長整型數相除    1.22 log、logl函數:計算自然對數    1.23 log10、log10l函數:計算常用對數    1.24 max函數:求兩個數中的最大者    1.25 min函數:求兩個數中的最小者    1.26 modf、modfl函數:分割數為整數部分和小數部分    1.27 poly函數:計算多項式    1.28 pow函數:指數函數    1.29 pow10函數:指數函數    1.30 rand函數:隨機數發生器    1.31 random函數:隨機數發生器    1.32 randomize函數:初始化隨機數發生器    1.33 sin函數:正弦函數    1.34 sinh函數:雙曲正弦函數    1.35 sqrt函數:計算平方根    1.36 srand函數:初始化隨機數發生器    1.37 tan、tanl函數:正切函數    1.38 tanh、tanhl函數:雙曲正切函數    第2章 字符串函數    2.1 atof函數:把字符串轉換成浮點數    2.2 atoi函數:將字符串轉換成整型數    2.3 atol函數:將字符串轉換成長整型數    2.4 ecvt函數:將浮點數轉換為字符串    2.5 fcvt函數:將浮點數轉換為字符串    2.6 gcvt函數:將浮點數轉換成字符串    2.7 itoa函數:將整數值轉換為字符串    2.8 isalnum函數:字母、數字判斷函數    2.9 isalpha函數:字母判斷函數    2.10 isascii函數:整數值的字符分類    2.11 iscntrl函數:控制字符判斷函數    2.12 isdigit函數:數字判斷函數    2.13 isgraph函數:打印字符判斷    2.14 islower函數:小寫字母判斷函數    2.15 isprint函數:可打印字符判斷函數    2.16 isptmct函數:標點符號判斷函數    2.17 isspace函數:空格等判斷函數    2.18 isupper函數:大寫字母判斷函數    2.19 isxdigit函數:十六進制數字判斷函數    2.20 ltoa函數:將長整值轉換為字符串    2.21 mbstowcs函數:將多字節字符序列轉換成相應的寬字符序列    2.22 mbtowc函數:將多字節字符轉換成相應的寬字符    2.23 stpcpy函數:復制字符串    2.24 strcat函數:拼接字符串    2.25 strchr函數:查找給定字符    2.26 strcmp函數:比較字符串    2.27 strcmpi函數:比較字符串    2.28 strcpy函數:復制字符串    2.29 strcspn函數:查找不包含指定字符集子串的段    2.30 strdup函數:將字符串復制到新建的位置    2.31 stricmp函數:比較字符串    2.32 strlen函數:獲取字符長度

    標簽: 函數 書下載 速查手冊

    上傳時間: 2014-12-25

    上傳用戶:水口鴻勝電器

  • 單片機C語言控制電機星三角自動起動

    本程序包括內容有: 1、外控制線路接線 2、控制板接線 3、參考:三相異步電動機Y-△起動電路的工作原理 4、程序控制運行流程 5、完整程序

    標簽: 單片機 C語言 控制 電機

    上傳時間: 2013-10-14

    上傳用戶:shenlan

  • SONIX 8BIT單片機26系列I/O型原理及基礎課件

    主要內容: 1、Sonix 26xx單片機簡介;2、Sonix 26xx單片機特點;3、Sonix 26xx單片機內部結構;4、Sonix 26xx單片機資源;5、Sonix 26xx單片機ROM、RAM的映射;6、Sonix 26xx寄存器(ACC、PFLAG、PC、Y、Z、R);

    標簽: SONIX 8BIT 單片機

    上傳時間: 2013-10-29

    上傳用戶:遠遠ssad

  • C51原理及相關基礎入門知識

    C51原理及相關基礎入門知識 第一章:C51 流程控制語句一、分類條件語句、循環語句和開關語句。下面將對這些語句作詳細介紹。(1) 條件語句條件語句的一般形式為:if(表達式)語句 1;else語句 2;上述結構表示: 如果表達式的值為非0(TURE)即真, 則執行語句1, 執行完語句1 從語句2 后開始繼續向下執行; 如果表達式的值為 0(FALSE)即假, 則跳過語句1 而執行語句2。所謂表達式是指關系表達式和邏輯表達式的結合式。注意:1. 條件執行語句中"else 語句2;"部分是選擇項, 可以缺省, 此時條件語句變成:if(表達式) 語句1;表示若表達式的值為非 0 則執行語句1 , 否則跳過語句1 繼續執行。2. 如果語句1 或語句2 有多于一條語句要執行時, 必須使用"{"和"}" 把這些語句包括在其中, 此時條件語句形式為:if(表達式){語句體 1;}else{語句體 2;}3. 條件語句可以嵌套, 這種情況經常碰到, 但條件嵌套語句容易出錯, 其原因主要是不知道哪個if 對應哪個else。例如:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");對于上述情況,規定: else 語句與最近的一個if 語句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了使 else 與if(x>20||x<-10) 相匹配, 必須用花括號。如下所示:if(x>20||x<-10){if(y<=100&&y>x)printf("Good");}

    標簽: C51 入門知識

    上傳時間: 2013-10-24

    上傳用戶:Sophie

  • linux 中斷和設備驅動

    linux 中斷和設備驅動 本章介紹L i n u x內核是如何維護它支持的文件系統中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統),再解釋一下L i n u x內核的真實文件系統是如何得到支持的。L i n u x的一個最重要特點就是它支持許多不同的文件系統。這使 L i n u x非常靈活,能夠與許多其他的操作系統共存。在寫這本書的時候, L i n u x共支持1 5種文件系統: e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。無疑隨著時間的推移,L i n u x支持的文件系統數還會增加。

    標簽: linux 中斷 設備驅動

    上傳時間: 2013-11-13

    上傳用戶:zxh122

  • PC機之間串口通信的實現

    PC機之間串口通信的實現一、實驗目的 1.熟悉微機接口實驗裝置的結構和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學會串行通信程序的編制方法。 二、實驗內容與要求 1.基本要求主機接收開關量輸入的數據(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數據通過8251A傳輸出去。終端接收后在顯示器上顯示數據。具體操作說明如下:(1)出現提示信息“start with R in the board!”,通過調整乒乓開關的狀態,設置8位數據;(2)在小鍵盤上按“R”鍵,系統將此時乒乓開關的狀態讀入計算機I中,并顯示出來,同時顯示經串行通訊后,計算機II接收到的數據;(3)完成后,系統提示“do you want to send another data? Y/N”,根據用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數據的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發送方確認來保證發送和接收正確。 三、設計報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發送移位寄存器”(并→串)。能夠完成上述“串←→并”轉換功能的電路,通常稱為“通用異步收發器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發送字符時,必須首先設置TXEN和CTS#為有效狀態,TXEN(Transmitter Enable)是允許發送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發來的對CPU請求發送信號的響應信號。然后就開始發送過程。在發送時,每當CPU送往發送緩沖器一個字符,發送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數據以起始位開始,接著是最低有效數據位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發送的數據是以發送時鐘TXC的下降沿同步的,也就是說這些數據總是在發送時鐘TXC的下降沿從8251A發出。數據傳輸的波特率取決于編程時指定的波特率因子,為發送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數據傳輸的波特率就是發送器時鐘頻率的1/16。CPU通過數據總線將數據送到8251A的數據輸出緩沖寄存器以后,再傳輸到發送緩沖器,經移位寄存器移位,將并行數據變為串行數據,從TxD端送往外部設備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數據的起始位,并且啟動接收控制電路中的一個計數器來進行計數,計數器的頻率等于接收器時鐘頻率。計數器是作為接收器采樣定時,當計數到相當于半個數位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數8個時鐘后采樣到低電平。之后,8251A每隔一個數位的傳輸時間對RxD端采樣一次,依次確定串行數據位的值。串行數據位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數據以后通過內部數據總線送入接收緩沖器,此時發出有效狀態的RxRDY信號通知CPU,通知CPU8251A已經收到一個有效的數據。一個字符對應的數據可以是5~8位。如果一個字符對應的數據不到8位,8251A會在移位轉換成并行數據的時候,自動把他們的高位補成0。 五、系統總體設計方案根據系統設計的要求,對系統設計的總體方案進行論證分析如下:1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數據量,只需使用基本輸入和8位數據線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。2.當使用串口進行數據傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現發送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數器2來實現。4:顯示和鍵盤輸入均使用DOS功能調用來實現。設計思路框圖,如下圖所示: 六、硬件設計硬件電路主要分為8位開關量數據獲取電路,串行通信數據發送電路,串行通信數據接收電路三個部分。1.8位開關量數據獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關的數據。此次設計在獲取8位開關數據量時采用8255令其工作在方式0,A口輸入8位數據,CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。2.串行通信電路串行通信電路本設計中8253主要為8251充當頻率發生器,接線如下圖所示。

    標簽: PC機 串口通信

    上傳時間: 2013-12-19

    上傳用戶:小火車啦啦啦

  • MPC106 PCI Bridge/Memory Contr

    In this document, the term Ô60xÕ is used to denote a 32-bit microprocessor from the PowerPC architecture family that conforms to the bus interface of the PowerPC 601ª, PowerPC 603ª, or PowerPC 604 microprocessors. Note that this does not include the PowerPC 602ª microprocessor which has a multiplexed address/data bus. 60x processors implement the PowerPC architecture as it is speciÞed for 32-bit addressing, which provides 32-bit effective (logical) addresses, integer data types of 8, 16, and 32 bits,and ßoating-point data types of 32 and 64 bits (single-precision and double-precision).1.1 Overview The MPC106 provides an integrated high-bandwidth, high-performance, TTL-compatible interface between a 60x processor, a secondary (L2) cache or additional (up to four total) 60x processors, the PCI bus,and main memory. This section provides a block diagram showing the major functional units of the 106 and describes brießy how those units interact.Figure 1 shows the major functional units within the 106. Note that this is a conceptual block diagram intended to show the basic features rather than an attempt to show how these features are physically implemented on the device.

    標簽: Bridge Memory Contr MPC

    上傳時間: 2013-10-08

    上傳用戶:18711024007

主站蜘蛛池模板: 杭锦后旗| 蓝田县| 宜良县| 通许县| 广丰县| 塔河县| 龙州县| 甘孜县| 固阳县| 尼木县| 彭水| 抚松县| 河东区| 土默特右旗| 泗阳县| 泰顺县| 南雄市| 玛曲县| 刚察县| 易门县| 商丘市| 铜川市| 绥阳县| 顺义区| 百色市| 中宁县| 雷山县| 英山县| 辽宁省| 金川县| 浠水县| 内丘县| 永寿县| 隆回县| 沂水县| 甘德县| 务川| 南投市| 威宁| 盐津县| 东乌珠穆沁旗|