mcs-51單片機應(yīng)用教程以MCS-51系列單片機為主線,從實用的角度出發(fā),通過介紹大量單片機技能訓(xùn)練實例和應(yīng)用實例,指導(dǎo)讀者學(xué)習(xí)和使用單片機。《MCS-51單片機應(yīng)用教程》分為基礎(chǔ)篇和應(yīng)用篇兩大部分。基礎(chǔ)篇講述單片機的基礎(chǔ)知識,包括單片機原理與結(jié)構(gòu)、指令系統(tǒng)、定時與中斷、串行通信等。應(yīng)用篇包括單片機的基礎(chǔ)訓(xùn)練和應(yīng)用實例兩部分。《MCS-51單片機應(yīng)用教程》各章節(jié)由淺入深,前后呼應(yīng),使讀者能夠在理解掌握單片機原理的基礎(chǔ)上,很快學(xué)會單片機的使用。 MCS-51單片機應(yīng)用教程 目錄 第1篇 基礎(chǔ)篇 第1章 MCS-51單片機系統(tǒng)結(jié)構(gòu) 1.1 概述 1.2 單片機的內(nèi)部結(jié)構(gòu) 1.3 單片機的存儲器結(jié)構(gòu) 1.4 單片機并行I/O口 1.5 單片機的復(fù)位電路 1.6 單片機的時鐘與時序 第2章 單片機的指令系統(tǒng) 2.1 指令系統(tǒng)概述 2.2 尋址方式 2.3 指令功能介紹 第3章 單片機的中斷系統(tǒng)與定時器/計數(shù)器 3.1 中斷系統(tǒng) 3.2 單片機的定時器/計數(shù)器 3.3 外部中斷源的擴展 第4章 單片機的串行通信 4.1 串行通信的概念 4.2 MCS-51串行口的結(jié)構(gòu)及工作方式 4.3 串行通信的應(yīng)用 第2篇 應(yīng)用篇 第5章 單片機實用開發(fā)步驟 5.1 單片機應(yīng)用系統(tǒng)設(shè)計的一般流程 5.2 單片機匯編程序的編輯方法 5.3 源程序的編譯
標(biāo)簽: mcs 51 單片機 應(yīng)用教程
上傳時間: 2013-11-12
上傳用戶:qingdou
單片機應(yīng)用技術(shù)選編(3) 目錄 第一章 單片機的綜合應(yīng)用技術(shù)1.1 8098單片機存儲器的擴展技術(shù)1.2 87C196KC單片機的DMA功能1.3 MCS?96系列單片機高精度接口設(shè)計1.4 利用PC機的8096軟件開發(fā)系統(tǒng)1.5 EPROM模擬器及其應(yīng)用1.6 MCS?51智能反匯編軟件的設(shè)計與實現(xiàn)1.7 MCS?51系列軟件設(shè)計與調(diào)試中一個值得注意的問題1.8 PL/M語言在微機開發(fā)系統(tǒng)中的應(yīng)用特性1.9 MCS?51單片機開發(fā)系統(tǒng)中的斷點產(chǎn)生1.10 C語言實型數(shù)與單片機浮點數(shù)之間數(shù)據(jù)格式的轉(zhuǎn)換1.11 微機控制系統(tǒng)初始化問題探討1.12 MCS?51中斷系統(tǒng)中的復(fù)位問題1.13 工業(yè)控制軟件的編程原則與編程技巧1.14 CMOS微處理器的功耗特性及其功耗控制原理和應(yīng)用1.15 基于PLL技術(shù)的A/D、D/A轉(zhuǎn)換器的設(shè)計1.16 智能儀器監(jiān)控程序的模塊化設(shè)計1.17 用軟件邏輯開關(guān)實現(xiàn)單片機的地址重疊使用1.18 8259A可編程中斷控制器與8031單片機接口電路及編程1.19 NSC810及其在各種微處理機中的應(yīng)用1.20 MC146818在使用中的幾個問題1.21 交流伺服系統(tǒng)中采用8155兼作雙口信箱存儲器的雙微機結(jié)構(gòu)1.22 實用漢字庫芯片的制作 第二章 新一代存儲器及邏輯器件2.1 新一代非易失性記憶元件--閃爍存儲器2.2 Flash存儲器及應(yīng)用2.3 隨機靜態(tài)存儲器HM628128及應(yīng)用2.4 非揮發(fā)性隨機存儲器NOVRAM2.5 ASIC的設(shè)計方法和設(shè)計工具2.6 GAL器件的編程方法及其應(yīng)用2.7 第三代可編程邏輯器件--高密EPLD輯器件EPLDFPGA設(shè)計轉(zhuǎn)換 第三章 數(shù)據(jù)采集、前向通道與測量技術(shù) 3.1 溫度傳感器通道接口技術(shù) 3.2 LM135系列精密溫度傳感器的原理和應(yīng)用 3.3 儀表放大器AD626的應(yīng)用 3.4 5G7650使用中應(yīng)注意的問題 3.5 用集成運算放大器構(gòu)成電荷放大器組件 3.6 普通光電耦合器的線性應(yīng)用 3.7 高線性光耦合型隔離放大器的研制 3.8 一種隔離型16位單片機高精度模擬量接口3.9 單片16位A/D轉(zhuǎn)換器AD7701及其與8031單片機的串行接口3.10 雙積分型A/D轉(zhuǎn)換器與MCS?51系列單片機接口的新方法3.11 8031單片機與AD574A/D轉(zhuǎn)換器的最簡接口3.12 8098單片機A/D轉(zhuǎn)換接口及其程序設(shè)計3.13 提高A/D轉(zhuǎn)換器分辨率的實用方案3.14 用CD4051提高8098單片機內(nèi)10位A/D轉(zhuǎn)換器分辨率的方法3.15 單片機實現(xiàn)16位高速積分式A/D轉(zhuǎn)換器3.16 434位A/D轉(zhuǎn)換器MAX133(134)的原理及應(yīng)用3.17 AD574A應(yīng)用中應(yīng)注意的問題 3.18 CC14433使用中應(yīng)注意的問題 3.19 高精度寬范圍數(shù)據(jù)采集系統(tǒng)的溫度補償途徑 3.20 縮短ICL7135A/D采樣程序時間的一種方法 3.21 用單片機實現(xiàn)的數(shù)字式自動增益控制 3.22 自動量程轉(zhuǎn)換電路 3.23 雙積分型A/D的自動量程切換電路 3.24 常用雙積分型A/D轉(zhuǎn)換器自換程功能的擴展3.25 具有自動量程轉(zhuǎn)換功能的單片機A/D接口3.26 混合型數(shù)據(jù)采集器SDM857的功能與應(yīng)用3.27 高速數(shù)據(jù)采集系統(tǒng)的傳輸接口3.28 SJ2000方向鑒別位移脈寬頻率檢測多用途專用集成電路3.29 多路高速高精度F/D專用集成電路3.30 數(shù)控帶通濾波器的實現(xiàn)及其典型應(yīng)用 第四章 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制4.2 自動控制技術(shù)的新發(fā)展--模糊控制技術(shù)4.3 模糊控制表的確定原則4.4 變結(jié)構(gòu)模糊控制系統(tǒng)的實驗研究4.5 新型集成模糊數(shù)據(jù)相關(guān)器NLX1124.6 功率固態(tài)繼電器的應(yīng)用4.7 雙向功率MOS固態(tài)繼電器4.8 SSR小型固態(tài)繼電器與PSSR功率參數(shù)固態(tài)繼電器4.9 JGD型多功能固態(tài)繼電器的原理和應(yīng)用4.10 光電耦合器在晶閘管觸發(fā)電路中的應(yīng)用4.11 一種廉價的12位D/A轉(zhuǎn)換器AD667及接口4.12 利用單片機構(gòu)成高精度PWM式12位D/A4.13 三相高頻PWM模塊SLE45204.14 專用集成電路TCA785及其應(yīng)用4.15 單片溫度控制器LM3911的應(yīng)用4.16 工業(yè)測控系統(tǒng)軟件設(shè)計的若干問題研究 第五章 人機對話通道接口技術(shù)5.1 廉價實用的8×8鍵盤5.2 單片機遙控鍵盤接口5.3 對8279鍵盤顯示接口的改進5.4 用單片機8031的七根I/O線實現(xiàn)對鍵盤與顯示器的控制5.5 通用8位LED數(shù)碼管驅(qū)動電路ICM7218B5.6 利用條圖顯示驅(qū)動器LM3914組成100段LED顯示器的方法5.7 液晶顯示器的多極驅(qū)動方式5.8 點陣式液晶顯示屏的構(gòu)造與應(yīng)用5.9 點陣式液晶顯示器圖形程序設(shè)計5.10 DMF5001N點陣式液晶顯示器和8098單片機的接口技術(shù)5.11 8098單片機與液晶顯示控制器HD61830接口5.12 利用PL/M語言對點陣式液晶顯示器進行漢字程序設(shè)計5.13 語音合成器TMS 5220的開發(fā)與應(yīng)用5.14 制作T6668語音系統(tǒng)的一些技術(shù)問題5.15 單片機、單板機在屏顯系統(tǒng)中的應(yīng)用 第六章 多機通訊網(wǎng)絡(luò)與遙控技術(shù)6.1 用雙UART構(gòu)成的可尋址遙測點裝置--兼談如何組成系統(tǒng)6.2 IBM?PC微機與8098單片機的多機通訊6.3 80C196單片機與IBM?PC機的串行通訊6.4 IBM?PC與MCS?51多機通訊的研究6.5 半雙工方式傳送的單片機多機通信接口電路及軟件設(shè)計6.6 單片機與IBM/PC機通訊的新型接口及編程6.7 用光耦實現(xiàn)一點對多點的總線式通訊電路6.8 用EPROM作為通訊變換器實現(xiàn)多機通訊6.9 ICL232單電源雙RS?232發(fā)送/接收器及其應(yīng)用6.10 DTMF信號發(fā)送/接收電路芯片MT8880及應(yīng)用6.11 通用紅外線遙控系統(tǒng)6.12 8031單片機在遙控解碼方面的應(yīng)用 第七章 電源、電壓變換及電源監(jiān)視7.1 用于微機控制系統(tǒng)的高可靠性供電方法7.2 80C31單片機防掉電和抗干擾電源的設(shè)計7.3 可編程基準(zhǔn)電壓源7.4 電源電壓監(jiān)視器件M81953B7.5 檢出電壓可任意設(shè)定的電源電壓監(jiān)測器7.6 低壓降(LDO?Low Drop?Out)穩(wěn)壓器7.7 LM317三端可調(diào)穩(wěn)壓器應(yīng)用二例7.8 三端集成穩(wěn)壓器的擴流應(yīng)用 第八章 可靠性與抗干擾技術(shù)8.1 數(shù)字電路的可靠性設(shè)計實踐與體會8.2 單片機容錯系統(tǒng)的設(shè)計與實現(xiàn)8.3 微機測控系統(tǒng)的接地、屏蔽和電源供給8.4 ATE的抗干擾及接地技術(shù)8.5 微處理器監(jiān)控電路MAX690A/MAX692A8.6 電測儀表電路的實用抗干擾技術(shù)8.7 工業(yè)鍍鋅電阻爐溫度控制機的抗干擾措施8.8 一種簡單的抗干擾控制算法 ? 第九章 綜合應(yīng)用實例9.1 蔬菜灌溉相關(guān)參數(shù)的自動檢測9.2 MH?214溶解氧測定儀9.3 COP840C單片機在液晶線控空調(diào)電腦控制器中的應(yīng)用9.4 單片機在電飯煲中的應(yīng)用9.5 用PIC單片機制作電扇自然風(fēng)發(fā)生器 第十章 文章摘要 一、 單片機的綜合應(yīng)用技術(shù)1.1 摩托羅拉8位單片機的應(yīng)用和開發(fā)1.2 NS公司的COP800系列8位單片機1.3 M68HC11與MCS?51單片機功能比較1.4 8098單片機8M存儲空間的擴展技術(shù)1.5 80C196KC單片機的外部設(shè)備事件服務(wù)器1.6 一種多進程實時控制系統(tǒng)的軟件設(shè)計1.7 開發(fā)單片機的結(jié)構(gòu)化高級語言PL/M?961.8 應(yīng)用軟件開發(fā)中的菜單接口技術(shù)1.9 單片機用戶系統(tǒng)EPROM中用戶程序的剖析方法1.10 BJS?98硬件、軟件典型實驗1.11 FORTH語言系統(tǒng)的開發(fā)應(yīng)用1.12 在Transputer系統(tǒng)上用并行C語言編程的特點1.13 一種軟件擴展8031內(nèi)部計數(shù)器簡易方法1.14 MCS 51系列單片機功能測試方法研究1.15 用CD 4520B設(shè)計對稱輸出分頻器的方法1.16 多路模擬開關(guān)CC 4051功能擴展方法1.17 條形碼技術(shù)及其應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)? 二、 新一代存儲器及邏輯器件2.1 一種多功能存儲器M6M 72561J2.2 串行E2PROM及其在智能儀器中的應(yīng)用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM編程卡2.5 電子盤的設(shè)計與實現(xiàn)2.6 NS GAL器件的封裝標(biāo)簽、類型代碼和編程結(jié)構(gòu)間的關(guān)系 三、數(shù)據(jù)采集、前向通道與測量技術(shù)3.1 儀器用精密運放CA3193的應(yīng)用3.2 集成電壓?電流轉(zhuǎn)換器XTR100的應(yīng)用3.3 瞬時浮點放大器及應(yīng)用3.4 隔離放大器289J及其應(yīng)用3.5 ICS?300系列新型加速度傳感器3.6 一種實用的壓力傳感器接口電路3.7 霍爾傳感器的應(yīng)用3.8 一種對多個傳感器進行調(diào)理的方法3.9 兩線制壓力變送器3.10 小信號雙線變送器XTR101的使用3.11 兩線長距離頻率傳輸壓力變送器的設(shè)計3.12 測溫元件AD590及其應(yīng)用3.13 熱敏電阻應(yīng)用動態(tài)3.14 一種組合式A/D、D/A轉(zhuǎn)換器的設(shè)計3.15 一種復(fù)合式A/D轉(zhuǎn)換器3.16 TLC549串行輸出ADC及其應(yīng)用3.17 提高A/D轉(zhuǎn)換精度的方法--雙通道A/D轉(zhuǎn)換3.18 模數(shù)轉(zhuǎn)換器ICL7135的0~3.9999V顯示3.19 微型光耦合器3.20 一種高精度的分壓器電路3.21 利用單片機軟件作熱電偶非線性補償3.22 三線制RTD測量電路及應(yīng)用中要注意的問題3.23 微伏信號高精度檢測中極易被忽略的問題3.24 寬范圍等分辨率精密測量法3.25 傳感器在線校準(zhǔn)系統(tǒng)3.26 一種高精度的熱敏電阻測溫電路3.27 超聲波專用集成電路LM1812的原理與應(yīng)用3.28 旋轉(zhuǎn)變壓器數(shù)字化檢測及其在8098單片機控制伺服系統(tǒng)中的應(yīng)用3.29 單片集成兩端式感溫電流源AD590在溫度測控系統(tǒng)中的應(yīng)用?3.30 數(shù)字示波器和單片機構(gòu)成的自動測試系統(tǒng)3.31 霍爾效應(yīng)式功率測量研究 四、 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制(實用模糊控制講座之一)4.2 紅綠燈模糊控制器(實用模糊控制講座之二)4.3 國外模糊技術(shù)新產(chǎn)品4.4 交流串級調(diào)速雙環(huán)模糊PI單片機控制系統(tǒng)4.5 時序控制專用集成電路LT156及其應(yīng)用4.6 電池充電控制集成電路4.7 雙向晶閘管4.8 雙向可控硅的自觸發(fā)電路及其應(yīng)用4.9 微處理器晶閘管頻率自適應(yīng)觸發(fā)器4.10 F18系列晶閘管模塊介紹4.11 集成電路UAA4002的原理及應(yīng)用4.12 IGBT及其驅(qū)動電路4.13 TWH8751應(yīng)用集錦4.14 結(jié)構(gòu)可變式計算機工業(yè)控制系統(tǒng)設(shè)計4.15 單片機控制的音響編輯器 五、 人機對話通道接口技術(shù)5.1 5×7點陣LED智能顯示器的應(yīng)用5.2 基于8031串行口的LED電子廣告牌5.3 點陣液晶顯示控制器與計算機的接口技術(shù)5.4 單片機控制可編程液晶顯示系統(tǒng)5.5 大規(guī)模語言集成電路應(yīng)用綜述5.6 最新可編程語言集成電路MSSIO61的應(yīng)用5.7 用PC打印機接口擴展并行接口 六、 多機系統(tǒng)、網(wǎng)絡(luò)與遙控技術(shù)6.1 用8098單片機構(gòu)成的分布式測溫系統(tǒng)6.2 平衡接口EIA?422和EIA485設(shè)計指南6.3 I2C BUS及其系統(tǒng)設(shè)計6.4 摩托羅拉可尋址異步接受/發(fā)送器6.5 用5V供電的RS232C接口芯片6.6 四通道紅外遙控器6.7 TA7333P和TA7657P的功能及應(yīng)用 七、 電源、電壓變換及電源監(jiān)視7.1 單片機控制的可控硅三相電源調(diào)壓穩(wěn)壓技術(shù)7.2 集成開關(guān)電源控制器MC34063的原理及應(yīng)用7.3 LM299精密基準(zhǔn)電壓源7.4 集成過壓保護器的應(yīng)用7.5 3V供電的革命7.6 HMOS微機的超低電源電壓運行技術(shù) 八、 可靠性與抗干擾設(shè)計8.1 淺談艦船電磁兼容與可靠性 九、 綜合應(yīng)用實例9.1 8098單片機交流電氣參數(shù)測試系統(tǒng)的設(shè)計和應(yīng)用9.2 主軸回轉(zhuǎn)誤差補償控制器9.3 FWK?A型大功率發(fā)射臺微機控制系統(tǒng)9.4 高性能壓控振蕩型精密波形發(fā)生器ICL8038及應(yīng)用9.5 單片機COP 840C在洗碗機中的應(yīng)用
標(biāo)簽: 單片機 應(yīng)用技術(shù)
上傳時間: 2013-11-10
上傳用戶:lijinchuan
九.輸入/輸出保護為了支持多任務(wù),80386不僅要有效地實現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo) 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級執(zhí)行的程序所訪問。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當(dāng)前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應(yīng)用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問I/O地址時發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨享設(shè)備時發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應(yīng)一個I/O地址,位串的第0位對應(yīng)I/O地址0,位串的第n位對應(yīng)I/O地址n。如果位串中的第位為0,那么對應(yīng)的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應(yīng)的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應(yīng)的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當(dāng)一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應(yīng)的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應(yīng)位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務(wù)實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節(jié),所以開始偏移應(yīng)小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問許可檢查細節(jié)保護模式下處理器在執(zhí)行I/O指令時進行許可檢查的細節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應(yīng)字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護故障;(8)進行I/O訪問。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應(yīng)I/O端口00H—3FH DB 10000000B ;對應(yīng)I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執(zhí)行 out 20h,eax ;(6)正常執(zhí)行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細節(jié)可見,不論是否必要,當(dāng)進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進行。當(dāng)TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標(biāo)志保護輸入輸出的保護與存儲在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標(biāo)志寄存器特殊字段的處理 特權(quán)級 VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務(wù)門調(diào)用任務(wù),實現(xiàn)任務(wù)嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準(zhǔn)備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務(wù)門調(diào)用測試任務(wù)1。測試任務(wù)1能夠順利進行;(5)通過任務(wù)門調(diào)用測試任務(wù)2。測試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護異常;(6)通過任務(wù)門調(diào)用測試任務(wù)3。測試任務(wù)3演示I/O敏感指令如何引起通用保護異常;(7)通過任務(wù)門調(diào)用測試任務(wù)4。測試任務(wù)4演示特權(quán)指令如何引起通用保護異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準(zhǔn)備返回實模式;(9)返回實模式,并作結(jié)束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
三種方法讀取鍵值 使用者設(shè)計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產(chǎn)生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(tài)判斷哪個按鍵被按下。 本實驗採用中斷式實現(xiàn)使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設(shè)計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識使之能夠提升你的設(shè)計 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動控制再到PC 機上的鍵盤上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內(nèi)核的這些功能使得8051 單片機很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運行各種程序而且開發(fā)者只需要學(xué)習(xí)這一個平臺8051 系列的基本結(jié)構(gòu)如下1 一個8 位算術(shù)邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數(shù)器4 全雙工串行通信5 6 個中斷源兩個中斷優(yōu)先級6 128 字節(jié)內(nèi)置RAM7 獨立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執(zhí)行時間可把時鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時間1.085ms
上傳時間: 2013-11-09
上傳用戶:chenlong
微處理器及微型計算機的發(fā)展概況 第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。 第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎(chǔ)上發(fā)展起來的。其中Intel公司的8088。8086是在8085的基礎(chǔ)發(fā)展起來的;M68000是Motorola公司在M6800 的基礎(chǔ)發(fā)展起來的; 第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表, 第五代微處理機的發(fā)展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年P(guān)ENTIUM 2又被推向市場。 INTEL CPU 發(fā)展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內(nèi)存640 bytes,生產(chǎn)曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內(nèi)存64KB,生產(chǎn)曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內(nèi)存1MB,生產(chǎn)曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運算速度20~60MIPs,集成晶體管1.2M個,1微米制造工藝,168針PGA,最大尋址內(nèi)存4GB,緩存8/16/32/64KB,生產(chǎn)曰期1989年4月 Celeron一代, 主頻266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 總線頻率66MHz,0.25微米制造工藝,生產(chǎn)曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級緩存,13條全新指令集SSE3),生產(chǎn)曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預(yù)測、亂序執(zhí)行超線程技術(shù) 微型計算機組成結(jié)構(gòu)單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、 內(nèi)存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發(fā)展概況 機器語言 機器語言就是0,1碼語言,是計算機唯一能理解并直接執(zhí)行的語言。匯編語言 用一些助記符號代替用0,1碼描述的某種機器的指令系統(tǒng),匯編語言就是在此基礎(chǔ)上完善起來的。高級語言 BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向?qū)ο笳Z言 C++,Java等編程語言是面向?qū)ο蟮恼Z言。 1.3 微型計算機中信息的表示及運算基礎(chǔ)(一) 十進制ND有十個數(shù)碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權(quán)展開式以10稱為基數(shù),各位系數(shù)為0~9,10i為權(quán)。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數(shù)碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權(quán)展開式以2為基數(shù),各位系數(shù)為0、1, 2i為權(quán)。 一般表達式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數(shù)碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數(shù),各位系數(shù)為0~9,A~F,16i為權(quán)。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數(shù)制之間的轉(zhuǎn)換 (二)二進制與十六進制數(shù)之間的轉(zhuǎn)換 24=16 ,四位二進制數(shù)對應(yīng)一位十六進制數(shù)。舉例:(三)十進制數(shù)轉(zhuǎn)換成二、十六進制數(shù)整數(shù)、小數(shù)分別轉(zhuǎn)換 1.整數(shù)轉(zhuǎn)換法“除基取余”:十進制整數(shù)不斷除以轉(zhuǎn)換進制基數(shù),直至商為0。每除一次取一個余數(shù),從低位排向高位。舉例: 2. 小數(shù)轉(zhuǎn)換法“乘基取整”:用轉(zhuǎn)換進制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。舉例: 三、帶符號數(shù)的表示方法 機器數(shù):機器中數(shù)的表示形式。真值: 機器數(shù)所代表的實際數(shù)值。舉例:一個8位機器數(shù)與它的真值對應(yīng)關(guān)系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 機器數(shù):[X1]機= 01010100 [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數(shù)值位與真值數(shù)值位相同。 例 8位原碼機器數(shù): 真值: x1 = +1010100B x2 =- 1010100B 機器數(shù): [x1]原 = 01010100 [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復(fù)雜。 正數(shù)的反碼與原碼表示相同。 負數(shù)反碼符號位為 1,數(shù)值位為原碼數(shù)值各位取反。 例 8位反碼機器數(shù): x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、補碼(Two’s Complement)正數(shù)的補碼表示與原碼相同。 負數(shù)補碼等于2n-abs(x)8位機器數(shù)表示的真值四、 二進制編碼例:求十進制數(shù)876的BCD碼 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符編碼 美國標(biāo)準(zhǔn)信息交換碼ASCII碼,用于計算 機與計算機、計算機與外設(shè)之間傳遞信息。 3、漢字編碼 “國家標(biāo)準(zhǔn)信息交換用漢字編碼”(GB2312-80標(biāo)準(zhǔn)),簡稱國標(biāo)碼。 用兩個七位二進制數(shù)編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內(nèi)碼例如“巧”字的代碼是0B9H、0C1H1·4 運算基礎(chǔ) 一、二進制數(shù)的運算加法規(guī)則:“逢2進1” 減法規(guī)則:“借1當(dāng)2” 乘法規(guī)則:“逢0出0,全1出1”二、二—十進制數(shù)的加、減運算 BCD數(shù)的運算規(guī)則 循十進制數(shù)的運算規(guī)則“逢10進1”。但計算機在進行這種運算時會出現(xiàn)潛在的錯誤。為了解決BCD數(shù)的運算問題,采取調(diào)整運算結(jié)果的措施:即“加六修正”和“減六修正”例:10001000(BCD)+01101001(BCD) =000101010111(BCD) 1 0 0 0 1 0 0 0 + 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 + 0 1 1 0 0 1 1 0 ……調(diào)整 1 0 1 0 1 0 1 1 1 進位 例: 10001000(BCD)- 01101001(BCD)= 00011001(BCD) 1 0 0 0 1 0 0 0 - 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 - 0 1 1 0 ……調(diào)整 0 0 0 1 1 0 0 1 三、 帶符號二進制數(shù)的運算 1.5 幾個重要的數(shù)字邏輯電路編碼器譯碼器計數(shù)器微機自動工作的條件程序指令順序存放自動跟蹤指令執(zhí)行1.6 微機基本結(jié)構(gòu)微機結(jié)構(gòu)各部分組成連接方式1、以CPU為中心的雙總線結(jié)構(gòu);2、以內(nèi)存為中心的雙總線結(jié)構(gòu);3、單總線結(jié)構(gòu)CPU結(jié)構(gòu)管腳特點 1、多功能;2、分時復(fù)用內(nèi)部結(jié)構(gòu) 1、控制; 2、運算; 3、寄存器; 4、地址程序計數(shù)器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時間: 2013-10-17
上傳用戶:erkuizhang
1 序言1.1 版本1.0-19921992 I2C 總線規(guī)范的這個版本有以下的修正• 刪除了用軟件編程從機地址的內(nèi)容因為實現(xiàn)這個功能相當(dāng)復(fù)雜而且不被使用• 刪除了低速模式實際上這個模式是整個I2C 總線規(guī)范的子集不需要明確地詳細說明• 增加了快速模式它將位速率增加4 倍到達400kbit/s 快速模式器件都向下兼容即它們可以在0~100kbit/s 的I2C 總線系統(tǒng)中使用• 增加了10 位尋址允許1024 個額外的從機地址• 快速模式器件的斜率控制和輸入濾波改善了EMC 性能注意100kbit/s 的I2C 總線系統(tǒng)或100kbit/s 器件都沒有改變1.2 版本2.0-1998I2C 總線實際上已經(jīng)成為一個國際標(biāo)準(zhǔn)在超過100 種不同的IC 上實現(xiàn)而且得到超過50 家公司的許可但是現(xiàn)在的很多應(yīng)用要求總線速度更高電源電壓更低這個更新版的I2C 總線規(guī)范滿足這些要求而且有以下的修正• 增加了高速模式Hs 模式它將位速率增加到3.4Mbit/s Hs 模式的器件可以和I2C 總線系統(tǒng)中快速和標(biāo)準(zhǔn)模式器件混合使用位速率從0~3.4Mbit/s• 電源電壓是2V 或更低的器件的低輸出電平和滯后被調(diào)整到符合噪聲容限的要求而且保持和電源電壓更高的器件兼容• 快速模式輸出級的0.6V 6mA 要求被刪除• 新器件的固定輸入電平被總線電壓相關(guān)的電平代替• 增加了雙向電平轉(zhuǎn)換器的應(yīng)用信息
上傳時間: 2014-12-28
上傳用戶:hakim
C8051F040/1/2/3/4/5/6/7混合信號ISP FLASH 微控制器數(shù) 據(jù) 手 冊 C8051F04x 系列器件是完全集成的混合信號片上系統(tǒng)型MCU,具有64 個數(shù)字I/O 引腳(C8051F040/2/4/6)或32 個數(shù)字I/O 引腳(C8051F041/3/5/7),片內(nèi)集成了一個CAN2.0B 控制器。下面列出了一些主要特性;有關(guān)某一產(chǎn)品的具體特性參見表1.1。 高速、流水線結(jié)構(gòu)的8051 兼容的CIP-51 內(nèi)核(可達25MIPS) 控制器局域網(wǎng)(CAN2.0B)控制器,具有32 個消息對象,每個消息對象有其自己的標(biāo)識 全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi)) 真正12 位(C8051F040/1)或10 位(C8051F042/3/4/5/6/7)、100 ksps 的ADC,帶PGA 和8 通道模擬多路開關(guān) 允許高電壓差分放大器輸入到12/10 位ADC(60V 峰-峰值),增益可編程 真正8 位500 ksps 的ADC,帶PGA 和8 通道模擬多路開關(guān)(C8051F040/1/2/3) 兩個12 位DAC,具有可編程數(shù)據(jù)更新方式(C8051F040/1/2/3) 64KB(C8051F040/1/2/3/4/5)或32KB(C8051F046/7)可在系統(tǒng)編程的FLASH 存儲器 4352(4K+256)字節(jié)的片內(nèi)RAM 可尋址64KB 地址空間的外部數(shù)據(jù)存儲器接口 硬件實現(xiàn)的SPI、SMBus/ I2C 和兩個UART 串行接口 5 個通用的16 位定時器 具有6 個捕捉/比較模塊的可編程計數(shù)器/定時器陣列 片內(nèi)看門狗定時器、VDD 監(jiān)視器和溫度傳感器具有片內(nèi)VDD 監(jiān)視器、看門狗定時器和時鐘振蕩器的C8051F04x 系列器件是真正能獨立工作的片上系統(tǒng)。所有模擬和數(shù)字外設(shè)均可由用戶固件使能/禁止和配置。FLASH 存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新8051 固件。片內(nèi)JTAG 調(diào)試電路允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU 進行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試。該調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,支持?jǐn)帱c、觀察點、單步及運行和停機命令。在使用JTAG 調(diào)試時,所有的模擬和數(shù)字外設(shè)都可全功能運行。每個MCU 都可在工業(yè)溫度范圍(-45℃到+85℃)工作,工作電壓為2.7 ~ 3.6V。端口I/O、/RST和JTAG 引腳都容許5V 的輸入信號電壓。C8051F040/2/4/6 為100 腳TQFP 封裝(見圖1.1 和圖1.3的框圖)。C8051F041/3/5/7 為64 腳TQFP 封裝(見圖1.2 和圖1.4 的框圖)。
上傳時間: 2013-10-24
上傳用戶:hwl453472107
第1章 單片機系統(tǒng)概述1.1 AVR系列單片機的特點1.2 AT90系列單片機簡介第2章 AT90LS8535單片機的基礎(chǔ)知識2.1 AT90LS8535單片機的總體結(jié)構(gòu)2.1.1 AT90LS8535單片機的中央處理器2.1.2 AT90LS8535單片機的存儲器組織2.1.3 AT90LS8535單片機的I/O接口2.1.4 AT90LS8535單片機的內(nèi)部資源2.1.5 AT90LS8535單片機的時鐘電路2.1.6 AT90LS8535單片機的系統(tǒng)復(fù)位2.1.7 AT90LS8535單片機的節(jié)電方式2.1.8 AT90LS8535單片機的芯片引腳2.2 AT90LS8535單片機的指令系統(tǒng)2.2.1 匯編指令格式2.2.2 尋址方式2.2.3 偽指令2.2.4 指令類型及數(shù)據(jù)操作方式2.3 應(yīng)用程序設(shè)計2.3.1 程序設(shè)計方法2.3.2 應(yīng)用程序舉例第3章 AT90LS8535單片機的C編程3.1 支持高級語言編程的AVR系列單片機3.2 AVR的C編譯器3.3 ICC AVR介紹3.3.1 安裝ICC AVR3.3.2 設(shè)置ICC AVR3.4 用ICC AVR編寫應(yīng)用程序3.5 下載程序文件第4章 數(shù)據(jù)類型、運算符和表達式4.1 ICC AVR支持的數(shù)據(jù)類型4.2 常量與變量4.2.1 常量4.2.2 變量4.3 AT90LS8535的存儲空間4.4 算術(shù)和賦值運算4.4.1 算術(shù)運算符和算術(shù)表達式4.4.2 賦值運算符和賦值表達式4.5 邏輯運算4.6 關(guān)系運算4.7 位操作4.7.1 位邏輯運算4.7.2 移位運算4.8 逗號運算第5章 控制流5.1 C語言的結(jié)構(gòu)化程序設(shè)計5.1.1 順序結(jié)構(gòu)5.1.2 選擇結(jié)構(gòu)5.1.3 循環(huán)結(jié)構(gòu)5.2 選擇語句5.2.1 if語句5.2.2 switch分支5.2.3 選擇語句的嵌套5.3 循環(huán)語句5.3.1 while語句5.3.2 do…while語句5.3.3 for語句5.3.4 循環(huán)語句嵌套5.3.5 break語句和continue語句第6章 函數(shù)6.1 函數(shù)的定義6.1.1 函數(shù)的定義的一般形式6.1.2 函數(shù)的參數(shù)6.1.3 函數(shù)的值6.2 函數(shù)的調(diào)用6.2.1 函數(shù)的一般調(diào)用6.2.2 函數(shù)的遞歸調(diào)用6.2.3 函數(shù)的嵌套使用6.3 變量的類型及其存儲方式6.3.1 局部變量6.3.2 局部變量的存儲方式6.3.3 全局變量6.3.4 全局變量的存儲方式6.4 內(nèi)部函數(shù)和外部函數(shù)6.4.1 內(nèi)部函數(shù)6.4.2 外部函數(shù)第7章 指針第8章 結(jié)構(gòu)體和共用體第9章 AT90LS8535的內(nèi)部資源第10章 AT90LS8535的人機接口編程第11章 AT90LS8535的外圍擴展第12章 AT90LS8535的通信編程第13章 系統(tǒng)設(shè)計中的程序處理方法
上傳時間: 2013-10-31
上傳用戶:smthxt
存儲器技術(shù).doc 計算機的主存儲器(Main Memory),又稱為內(nèi)部存儲器,簡稱為內(nèi)存。內(nèi)存實質(zhì)上是一組或多組具備數(shù)據(jù)輸入輸出和數(shù)據(jù)存儲功能的集成電路。內(nèi)存的主要作用是用來存放計算機系統(tǒng)執(zhí)行時所需要的數(shù)據(jù),存放各種輸入、輸出數(shù)據(jù)和中間計算結(jié)果,以及與外部存儲器交換信息時作為緩沖用。由于CPU只能直接處理內(nèi)存中的數(shù)據(jù) ,所以內(nèi)存是計算機系統(tǒng)中不可缺少的部件。內(nèi)存的品質(zhì)直接關(guān)系到計算機系統(tǒng)的速度、穩(wěn)定性和兼容性。 4.1 存儲器類型計算機內(nèi)部存儲器有兩種類型,一種稱為只讀存儲器ROM(Read Only Memiry),另一種稱為隨機存儲器RAM(Random Access Memiry)。 4.1.1 只讀存儲器只讀存儲器ROM主要用于存放計算機固化的控制程序,如主板的BIOS程序、顯卡BIOS控制程序、硬盤控制程序等。ROM的典型特點是:一旦將數(shù)據(jù)寫入ROM中后,即使在斷電的情況下也能夠永久的保存數(shù)據(jù)。從使用上講,一般用戶能從ROM中讀取數(shù)據(jù),而不能改寫其中的數(shù)據(jù)。但現(xiàn)在為了做一日和尚撞一天鐘于軟件或硬件程序升級,普通用戶使用所謂的閃存(Flash Memiry)也可以有條件地改變ROM中的數(shù)據(jù)。有關(guān)只讀存儲器ROM的內(nèi)容將在第11章中介紹,本章主要介紹隨機存儲器。4.1.2 隨機存取存儲器隨機存取存儲器RAM的最大特點是計算機可以隨時改變RAM中的數(shù)據(jù),并且一旦斷電,TAM中數(shù)據(jù)就會立即丟失,也就是說,RAM中的數(shù)據(jù)在斷電后是不能保留的。從用于制造隨機存取存儲器的材料上看,RAM又可分為靜態(tài)隨機存儲器SRAM(Static RAM)和動態(tài)隨機存儲器DRAM(Dymamic RAM)兩種。1. 動態(tài)隨機存儲器在DRAM中數(shù)據(jù)是以電荷的形式存儲在電容上的,充電后電容上的電壓被認為是邏輯上的“1”,而放電后的電容上的電壓被認為是邏輯上的“0”認。為了減少存儲器的引腳數(shù),就反存儲器芯片的每個基本單元按行、列矩陣形式連接起來,使每個存儲單元位于行、列的交叉點。這樣每個存儲單元的地址做一日和尚撞一天鐘可以用位數(shù)較少的行地址和列地址兩個部分表示,在對每個單元進行讀寫操作時,就可以采用分行、列尋址方式寫入或讀出相應(yīng)的數(shù)據(jù),如圖4-1所示。 由于電容充電后,電容會緩慢放電,電容 上的電荷會逐漸
標(biāo)簽: 存儲器
上傳時間: 2014-01-10
上傳用戶:18752787361
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1