本書分三部分介紹在美國廣泛應(yīng)用的、高功能的M68HC11系列單片機(jī)(8位機(jī) ,Motorola公司)。內(nèi)容包括M68HC11的結(jié)構(gòu)與其基本原理、開發(fā)工具EVB(性能評估板)以及開發(fā)和應(yīng)用技術(shù)。本書在介紹單片機(jī)硬、軟件的基礎(chǔ)上,進(jìn)一步介紹了在美國實(shí)驗室內(nèi),如何應(yīng)用PC機(jī)及EVB來進(jìn)行開發(fā)工作。通過本書的介紹,讀者可了解這種單片機(jī)的原理并學(xué)會開發(fā)和應(yīng)用方法。本書可作為大專院校單片機(jī)及其實(shí)驗的教材(本科、短訓(xùn)班)。亦可供開發(fā)、應(yīng)用單片機(jī)的各專業(yè)(計算機(jī)、機(jī)電、化工、紡織、冶金、自控、航空、航海……)有關(guān)技術(shù)人員參考。 第一部分 M68HC11 結(jié)構(gòu)與原理Motorola單片機(jī) 1 Motorla單片機(jī) 1.1 概述 1.1.1 Motorola 單片機(jī)發(fā)展概況(3) 1.1.2 Motorola 單片機(jī)結(jié)構(gòu)特點(diǎn)(4) 1.2 M68HC11系列單片機(jī)(5) 1.2.1 M68HC11產(chǎn)品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9單片機(jī)引腳說明(8) 1.3 Motorola 32位單片機(jī)(14) 1.3.1中央處理器(CPU32)(15) 1.3.2 定時處理器(TPU)(16) 1.3.3 串行隊列模塊(QSM)(16) 1.3.4 系統(tǒng)集成模塊 (SIM)(16) 1.3.5 RAM(17) 2 系統(tǒng)配置與工作方式 2.1 系統(tǒng)配置(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 普通擴(kuò)展工作方式(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 程序計數(shù)器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 復(fù)位和中斷 4.1 復(fù)位(41) 4.1.1 M68HC11的系統(tǒng)初始化條件(41) 4.1.2 復(fù)位形式(43) 4.2 中斷(48) 4.2.1 條件碼寄存器CCR中的中斷屏蔽位(48) 4.2.2 中斷優(yōu)先級與中斷矢量(49) 4.2.3 非屏蔽中斷(52) 4.2.4 實(shí)時中斷(53) 4.2.5 中斷處理過程(56) 5 M68HC11指令系統(tǒng) 5.1 M68HC11尋址方式(59) 5.1.1 立即尋址(IMM)(59) 5.1.2 擴(kuò)展尋址(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 前置字節(jié)(63) 5.2 M68HC11指令系統(tǒng)(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 應(yīng)答I/O子系統(tǒng)(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 數(shù)據(jù)格式(83) 6.3.3 SCI硬件結(jié)構(gòu)(84) 6.3.4 SCI寄存器(86) 6.4 串行外圍接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引腳信號(92) 6.4.3 SPI結(jié)構(gòu)(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系統(tǒng)與外部設(shè)備進(jìn)行串行數(shù)據(jù)傳輸(99) 7 定時器系統(tǒng)與脈沖累加器 7.1 概述(105) 7.2 循環(huán)計數(shù)器(107) 7.2.1 時鐘分頻器(107) 7.2.2 計算機(jī)正常工作監(jiān)視功能(110) 7.2.3 定時器標(biāo)志的清除(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 脈沖累加器控制和狀態(tài)寄存器(121) 8 A/D轉(zhuǎn)換系統(tǒng) 8.1 電荷重新分布技術(shù)與逐次逼近算法(125) 8.1.1 基本電路(125) 8.1.2 A/D轉(zhuǎn)換逐次逼近算法原理(130) 8.2 M68HC11中A/D轉(zhuǎn)換的實(shí)現(xiàn)方法(131) 8.2.1 逐次逼近A/D轉(zhuǎn)換器(131) 8.2.2 控制寄存器(132) 8.2.3 系統(tǒng)控制邏輯(135)? 9 單片機(jī)的內(nèi)部操作 9.1 用立即> 圖書前言 美國Motorola公司從80年代中期開始推出的M68HC11系列單片機(jī)是當(dāng)今功能最強(qiáng)、性能/價格比最好的八位單片微計算機(jī)之一。在美國,它已被廣泛地應(yīng)用于教學(xué)和各種工業(yè)控制系統(tǒng)中。? 該單片機(jī)有豐富的I/O功能,完善的系統(tǒng)保護(hù)功能和軟件控制的節(jié)電工作方式 。它的指令系統(tǒng)與早期Motorola單片機(jī)MC6801等兼容,同時增加了91條新指令。其中包含16位乘法、除法運(yùn)算指令等。 為便于用戶開發(fā)和應(yīng)用M68HC11單片機(jī),Motorola公司提供了多種開發(fā)工具。M68HC11 EVB (Evaluation Board)性能評估板就是一種M68HC11系列單片機(jī)的廉價開發(fā)工具。它既可用來 調(diào)試用戶程序,又可在仿真方式下運(yùn)行。為方便用戶,M68HC11 EVB可與IBM?PC連接 ,借助于交叉匯編、通信程序等軟件,在IBM?PC上調(diào)試程序。? 本書分三部分(共15章)介紹了M68HC11的結(jié)構(gòu)和基本原理、開發(fā)工具-EVB及開發(fā)應(yīng)用實(shí)例等。第一部分(1~9章),介紹M68HC11的結(jié)構(gòu)和基本原理。包括概述,系統(tǒng)配置與工作方式、CPU和存儲器、復(fù)位和中斷、指令系統(tǒng)、I/O、定時器系統(tǒng)和脈沖累加器、A/D轉(zhuǎn)換系統(tǒng)、單片機(jī)的內(nèi)部操作等。第二部分(10~11章),介紹M68HC11 EVB的原理和技術(shù)特性以及EVB的應(yīng)用。第三部分(12~15章),介紹M68HC11的開發(fā)與應(yīng)用技術(shù)。包括基本的編程練習(xí)、應(yīng)用程序設(shè)計、接口實(shí)驗、接口設(shè)計及應(yīng)用等。 讀者通過學(xué)習(xí)本書,不僅可了解M68HC11的硬件、軟件,而且可了解使用EVB開發(fā)和應(yīng)用M68HC11單片機(jī)的方法。在本書的第三部分專門提供了一部分實(shí)驗和應(yīng)用程序。? 本書系作者張寧作為高級訪問學(xué)者,應(yīng)邀在美國馬薩諸塞州洛厄爾大學(xué)(University of Massachusetts Lowell)工作期間完成的。全書由張寧執(zhí)筆。在編著過程中,美國洛厄爾大學(xué)的R·代克曼教授?(Professor Robert J. Dirkman)多次與張寧一起討論、研究,并提供部分資料及實(shí)驗數(shù)據(jù)。參加編寫和審校等工作的還有王云霞、孫曉芳、劉安魯、張籍、來安德、張楊等同志。? 為將M68HC11系列單片機(jī)盡快介紹給我國,美國Motorola公司的Terrence M.S.Heng先生曾大力支持本書的編著和出版。在此表示衷心感謝。
上傳時間: 2013-10-27
上傳用戶:rlgl123
附件為:LCD12864顯示漢字和數(shù)字的程序與電路 /* 自定義延時子函數(shù) */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態(tài) */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數(shù) */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數(shù)據(jù)函數(shù) */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數(shù) */ 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清屏函數(shù):清屏從第一頁的第一列開始,總共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顯示漢字字庫函數(shù) */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-3,mun:顯示第幾個漢字的參數(shù) 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顯示字符字庫函數(shù) */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-7,mun:顯示第幾個漢字的參數(shù) 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顯示數(shù)字字庫函數(shù) */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-7,mun:顯示第幾個漢字的參數(shù) 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初始化函數(shù) */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數(shù) */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數(shù)字 lcd_display_shuzi(1,0,5,1); //LCD顯示數(shù)字 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(); } */ }
標(biāo)簽: 12864 LCD 漢字 數(shù)字
上傳時間: 2013-11-08
上傳用戶:aeiouetla
C函數(shù)速查手冊 出版社:人民郵電出版社 《C函數(shù)速查手冊》中所講的C語言函數(shù)按照功能順序和字母順序進(jìn)行排序,讀者既可以按照功能順序查找,也可以按照字母順序?qū)W習(xí)。《C函數(shù)速查手冊》不僅適合于C語言初學(xué)者學(xué)習(xí)使用,而且也可以作為中、高級C語言開發(fā)人員的參考手冊。 目錄 第1章 數(shù)學(xué)函數(shù) 1.1 _clear87函數(shù):清除浮點(diǎn)狀態(tài)字 1.2 _status87函數(shù):取浮點(diǎn)狀態(tài)字 1.3 abs函數(shù):求整數(shù)的絕對值 1.4 acos、acosl函數(shù):反余弦函數(shù) 1.5 asin、asinl函數(shù):反正弦函數(shù) 1.6 atan函數(shù):反正切函數(shù) 1.7 atan2、atan2l函數(shù):計算Y/X的反正切值 1.8 cabs函數(shù):計算復(fù)數(shù)的模 1.9 ceil函數(shù):向上取整 1.10 cos函數(shù):余弦函數(shù) 1.11 cosh函數(shù):雙曲余弦函數(shù) 1.12 div函數(shù):求兩個整數(shù)相除的商和余數(shù) 1.13 exp函數(shù):指數(shù)函數(shù) 1.14 fabs函數(shù):求浮點(diǎn)數(shù)的絕對值 1.15 floor函數(shù):向下取整 1.16 fmod函數(shù):計算x對y的模 1.17 frexp函數(shù):將浮點(diǎn)數(shù)分為底數(shù)與指數(shù) 1.18 hypot函數(shù):計算直角三角形的斜邊 1.19 labs函數(shù):取長整數(shù)的絕對值 1.20 ldexp、ldexpl函數(shù):冪計算 1.21 ldiv函數(shù):兩個長整型數(shù)相除 1.22 log、logl函數(shù):計算自然對數(shù) 1.23 log10、log10l函數(shù):計算常用對數(shù) 1.24 max函數(shù):求兩個數(shù)中的最大者 1.25 min函數(shù):求兩個數(shù)中的最小者 1.26 modf、modfl函數(shù):分割數(shù)為整數(shù)部分和小數(shù)部分 1.27 poly函數(shù):計算多項式 1.28 pow函數(shù):指數(shù)函數(shù) 1.29 pow10函數(shù):指數(shù)函數(shù) 1.30 rand函數(shù):隨機(jī)數(shù)發(fā)生器 1.31 random函數(shù):隨機(jī)數(shù)發(fā)生器 1.32 randomize函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.33 sin函數(shù):正弦函數(shù) 1.34 sinh函數(shù):雙曲正弦函數(shù) 1.35 sqrt函數(shù):計算平方根 1.36 srand函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.37 tan、tanl函數(shù):正切函數(shù) 1.38 tanh、tanhl函數(shù):雙曲正切函數(shù) 第2章 字符串函數(shù) 2.1 atof函數(shù):把字符串轉(zhuǎn)換成浮點(diǎn)數(shù) 2.2 atoi函數(shù):將字符串轉(zhuǎn)換成整型數(shù) 2.3 atol函數(shù):將字符串轉(zhuǎn)換成長整型數(shù) 2.4 ecvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.5 fcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.6 gcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換成字符串 2.7 itoa函數(shù):將整數(shù)值轉(zhuǎn)換為字符串 2.8 isalnum函數(shù):字母、數(shù)字判斷函數(shù) 2.9 isalpha函數(shù):字母判斷函數(shù) 2.10 isascii函數(shù):整數(shù)值的字符分類 2.11 iscntrl函數(shù):控制字符判斷函數(shù) 2.12 isdigit函數(shù):數(shù)字判斷函數(shù) 2.13 isgraph函數(shù):打印字符判斷 2.14 islower函數(shù):小寫字母判斷函數(shù) 2.15 isprint函數(shù):可打印字符判斷函數(shù) 2.16 isptmct函數(shù):標(biāo)點(diǎn)符號判斷函數(shù) 2.17 isspace函數(shù):空格等判斷函數(shù) 2.18 isupper函數(shù):大寫字母判斷函數(shù) 2.19 isxdigit函數(shù):十六進(jìn)制數(shù)字判斷函數(shù) 2.20 ltoa函數(shù):將長整值轉(zhuǎn)換為字符串 2.21 mbstowcs函數(shù):將多字節(jié)字符序列轉(zhuǎn)換成相應(yīng)的寬字符序列 2.22 mbtowc函數(shù):將多字節(jié)字符轉(zhuǎn)換成相應(yīng)的寬字符 2.23 stpcpy函數(shù):復(fù)制字符串 2.24 strcat函數(shù):拼接字符串 2.25 strchr函數(shù):查找給定字符 2.26 strcmp函數(shù):比較字符串 2.27 strcmpi函數(shù):比較字符串 2.28 strcpy函數(shù):復(fù)制字符串 2.29 strcspn函數(shù):查找不包含指定字符集子串的段 2.30 strdup函數(shù):將字符串復(fù)制到新建的位置 2.31 stricmp函數(shù):比較字符串 2.32 strlen函數(shù):獲取字符長度
上傳時間: 2014-12-25
上傳用戶:水口鴻勝電器
P0端口由鎖存器、輸入緩沖器、切換開關(guān)、一個與非門、一個與門及場效應(yīng)管驅(qū)動電路構(gòu)成。再看圖的右邊,標(biāo)號 為P0.X引腳的圖標(biāo),也就是說P0.X引腳可以是P0.0到P0.7的任何一位,即在P0口有8個與上圖相同的電路組成。
上傳時間: 2014-01-13
上傳用戶:fandeshun
//CM3 有 最多240個中斷(通常外部中斷寫作IRQs),就是 軟件上說的 IRQ CHANAELx(中斷通道號x) 每個中斷有自己的可編程的中斷優(yōu)先級【 有唯一對應(yīng)的 中斷優(yōu)先級寄存器 】. 由于CM3支持 硬件中斷嵌套,所以可以有 256 級的可編程優(yōu)先級 和 256級中斷嵌套【 書上稱:搶占(preempt) 優(yōu)先級】 所以大家可以設(shè): IRQ CHANAEL 0 通道 = 2 中斷優(yōu)先級WWDG 窗口定時器中斷 IRQ CHANAEL 1 通道 = 0 中斷優(yōu)先級PVD 聯(lián)到EXTI的電源電壓檢測(PVD)中斷 IRQ CHANAEL 3 通道 = 255 中斷優(yōu)先級RTC 實(shí)時時鐘(RTC)全局中斷 IRQ CHANAEL 6 通道 = 10 中斷優(yōu)先級EXTI0 EXTI線0中斷 ..... IRQ CHANAEL 239 通道 = (0<x<255) 中斷優(yōu)先級..
上傳時間: 2013-10-28
上傳用戶:redherr
MSP430系列C編譯器編程指南第1章 安裝和文檔關(guān)系圖本章說明如何安裝和運(yùn)行IAR 產(chǎn)品的命令行和Windwos Workbench 版本并給出與產(chǎn)品一起提供的用戶指南的概述請注意某此產(chǎn)品只有命令行版本且根據(jù)用戶正在使用的產(chǎn)品或平臺資料可能稍有不同1.1 命令行版本本節(jié)敘述怎樣安裝和運(yùn)得IAR 系統(tǒng)工具的命令版本1.1.1 用戶需要什么 DOS 4.X 或更高版本此產(chǎn)品也和運(yùn)行在Windows95, Windows NT 3.51 或更高版本或Windows 3.1 X 下的DOS 窗口相兼容 至少 10M 字節(jié)的自由磁盤空間 最少有 4M 字節(jié)的RAM 可供IAR 應(yīng)用程序使用
上傳時間: 2013-11-22
上傳用戶:agent
C51原理及相關(guān)基礎(chǔ)入門知識 第一章:C51 流程控制語句一、分類條件語句、循環(huán)語句和開關(guān)語句。下面將對這些語句作詳細(xì)介紹。(1) 條件語句條件語句的一般形式為:if(表達(dá)式)語句 1;else語句 2;上述結(jié)構(gòu)表示: 如果表達(dá)式的值為非0(TURE)即真, 則執(zhí)行語句1, 執(zhí)行完語句1 從語句2 后開始繼續(xù)向下執(zhí)行; 如果表達(dá)式的值為 0(FALSE)即假, 則跳過語句1 而執(zhí)行語句2。所謂表達(dá)式是指關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)合式。注意:1. 條件執(zhí)行語句中"else 語句2;"部分是選擇項, 可以缺省, 此時條件語句變成:if(表達(dá)式) 語句1;表示若表達(dá)式的值為非 0 則執(zhí)行語句1 , 否則跳過語句1 繼續(xù)執(zhí)行。2. 如果語句1 或語句2 有多于一條語句要執(zhí)行時, 必須使用"{"和"}" 把這些語句包括在其中, 此時條件語句形式為:if(表達(dá)式){語句體 1;}else{語句體 2;}3. 條件語句可以嵌套, 這種情況經(jīng)常碰到, 但條件嵌套語句容易出錯, 其原因主要是不知道哪個if 對應(yīng)哪個else。例如:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");對于上述情況,規(guī)定: 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");}
上傳時間: 2013-10-24
上傳用戶:Sophie
PIC單片機(jī)實(shí)用教程基礎(chǔ)篇+提高篇 PIC單片機(jī)(Peripheral Interface Controller)是一種用來開發(fā)的去控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)。 PIC 單片機(jī)是一個小的計算機(jī) PIC單片機(jī)有計算功能和記憶內(nèi)存像CPU并由軟件控制允行。然而,處理能力—存儲器容量卻很有限,這取決于PIC的類型。但是它們的最高操作頻率大約都在20MHz左右,存儲器容量用做寫程序的大約1K—4K字節(jié)。 時鐘頻率與掃描程序的時間和執(zhí)行程序指令的時間有關(guān)系。但不能僅以時鐘頻率來判斷程序處理能力,它還隨處理裝置的體系結(jié)構(gòu)改變(1*)。如果是同樣的體系結(jié)構(gòu),時鐘頻率較高的處理能力會較強(qiáng)。 這里用字來解釋程序容量。用一個指令(2*)表示一個字。通常用字節(jié)(3*)來表示存儲器(4*)容量。一個字節(jié)有8位,每位由1或0組成。PIC16F84A單片機(jī) 的指令由14位構(gòu)成。當(dāng)把1K個子轉(zhuǎn)換成位為:1 x 1,024 x 14 = 14,336位。再轉(zhuǎn)換為字節(jié)為:14,336/(8 x 1,024) = 1.75K。在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進(jìn)制計算的緣故。 1*計算機(jī)的物理結(jié)構(gòu),包括組織結(jié)構(gòu)、容量、該計算機(jī)的CPU、存儲器以及輸入輸出設(shè)備間的互連。經(jīng)常特指CPU的組織結(jié)構(gòu),包括它的寄存器、標(biāo)志、總線、算術(shù)邏輯部件、指令譯碼與執(zhí)行機(jī)制以及定時和控制部件。 2*指出某種操作并標(biāo)識其操作數(shù)(如果有操作數(shù)的話)的一種語言構(gòu)造 3*作為一個單位來操作(運(yùn)算)的一個二進(jìn)制字符串,通常比計算機(jī)的一個字短。 4*處理機(jī)內(nèi)的所有可尋址存儲空間以及用于執(zhí)行指令的其它內(nèi)存儲器。 在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進(jìn)制計算的緣故。 用PIC單片機(jī)使電路做的很小巧變得可能。 因為PIC單片機(jī)可以把計算部分、內(nèi)存、輸入和輸出等都做在一個芯片內(nèi)。所以她工作起來效率很高、功能也自由定義還可以靈活的適應(yīng)不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。
標(biāo)簽: PIC 單片機(jī) 實(shí)用教程
上傳時間: 2013-10-15
上傳用戶:sxdtlqqjl
The CAT28LV64 is a low voltage, low power, CMOS Parallel EEPROM organized as 8K x 8−bits. It requires a simple interface for in−system programming. On−chip address and data latches, self−timed write cycle with auto−clear and VCC power up/down write protection eliminate additional timing and protection hardware. DATA Polling and Toggle status bit signal the start and end of the self−timed write cycle. Additionally, the CAT28LV64 features hardware and software write protection.
上傳時間: 2013-11-16
上傳用戶:浩子GG
linux 中斷和設(shè)備驅(qū)動 本章介紹L i n u x內(nèi)核是如何維護(hù)它支持的文件系統(tǒng)中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統(tǒng)),再解釋一下L i n u x內(nèi)核的真實(shí)文件系統(tǒng)是如何得到支持的。L i n u x的一個最重要特點(diǎn)就是它支持許多不同的文件系統(tǒng)。這使 L i n u x非常靈活,能夠與許多其他的操作系統(tǒng)共存。在寫這本書的時候, L i n u x共支持1 5種文件系統(tǒng): 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支持的文件系統(tǒng)數(shù)還會增加。
標(biāo)簽: linux 中斷 設(shè)備驅(qū)動
上傳時間: 2013-11-13
上傳用戶:zxh122
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1