采用雙極型開(kāi)關(guān)管的逆變器,基極驅(qū)動(dòng)電流基本上為開(kāi)關(guān)電流的1/β,因此大電流開(kāi)關(guān)電路必須采用多級(jí)放大,不僅使電路復(fù)雜化,可靠性也變差而且隨著輸出功率的增大,開(kāi)關(guān)管驅(qū)動(dòng)電流需大于集電極電流的1/β,致使普通驅(qū)動(dòng)IC無(wú)法直接驅(qū)動(dòng)。雖說(shuō)采用多級(jí)放大可以達(dá)到目的,但是波形失真卻明顯增大,從而導(dǎo)致開(kāi)關(guān)管的導(dǎo)通/截止損耗也增大。目前解決大功率逆變電源及UPS的驅(qū)動(dòng)方案,大多采用MOS FET管作開(kāi)關(guān)器件。
上傳時(shí)間: 2013-10-20
上傳用戶(hù):zhaoq123
附件是51mini仿真器中文使用手冊(cè),其中包括有51mini的驅(qū)動(dòng),USB安裝指南及USB驅(qū)動(dòng)程序。 2003 年 SST 公司推出了 SST89C54/58 芯片,并且在官方網(wǎng)站公布了單片機(jī)仿真程序,配合 KEIL 可以實(shí)現(xiàn)標(biāo) 準(zhǔn) 51 內(nèi)核芯片的單步調(diào)試等等,從而實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的 51 單片機(jī)仿真方案,將仿真器直接拉低到一顆芯片的價(jià) 格。 但是, 1 分錢(qián) 1 分貨,這個(gè)仿真方案由于先天的缺陷存在若干重大問(wèn)題: 占用 p30,p31 端口 占用定時(shí)器 2 占用 8 個(gè) sp 空間 運(yùn)行速度慢 最高通信速度只有 38400,無(wú)法運(yùn)行 c 語(yǔ)言程序。(由于 c 語(yǔ)言程序會(huì)調(diào)用庫(kù)文件,每單步一次 的時(shí)間足夠你吃個(gè)早飯) 所以,網(wǎng)上大量銷(xiāo)售的這種這種仿真器最多只能仿真跑馬燈等簡(jiǎn)單程序,并沒(méi)有實(shí)際使用價(jià)值。51mini 是深 圳市學(xué)林電子有限公司開(kāi)發(fā)生產(chǎn)的具有自主知識(shí)產(chǎn)權(quán)的新一代專(zhuān)業(yè)仿真器,采用雙 CPU 方案,一顆負(fù)責(zé)和 KEIL 解 釋?zhuān)硗庖活w負(fù)責(zé)運(yùn)行用戶(hù)程序,同時(shí)巧妙利用 CPU 的 P4 口通信,釋放 51 的 P30,P31,完美解決了上述問(wèn)題, 體積更小,是目前價(jià)格最低的專(zhuān)業(yè)級(jí)別 51 單片機(jī)仿真器,足以勝任大型項(xiàng)目開(kāi)發(fā)。 51mini仿真器創(chuàng)新設(shè)計(jì): 1 三明治夾心雙面貼片,體積縮小到只有芯片大小,真正的“嵌入式”結(jié)構(gòu)。 2 大量采用最新工藝和器件,全貼片安裝,進(jìn)口鉭電容,貼片電解。 3 采用快恢復(fù)保險(xiǎn),即便短路也可有效保護(hù)。 4 單 USB 接口,無(wú)需外接電源和串口,臺(tái)式電腦、無(wú)串口的筆記本均適用。三 CPU 設(shè)計(jì),采用仿真芯片+監(jiān)控 芯片+USB 芯片結(jié)構(gòu),是一款真正獨(dú)立的仿真器,不需要依賴(lài)開(kāi)發(fā)板運(yùn)行。 5 下載仿真通訊急速 115200bps,較以前版本提高一個(gè)數(shù)量級(jí)(10 倍以上),單步運(yùn)行如飛。 6 不占資源,無(wú)限制真實(shí)仿真(32 個(gè) IO、串口、T2 可完全單步仿真),真實(shí)仿真 32 條 IO 腳,包括任意使用 P30 和 P31 口。 7 兼容 keilC51 UV2 調(diào)試環(huán)境支持單步、斷點(diǎn)、隨時(shí)可查看寄存器、變量、IO、內(nèi)存內(nèi)容。可仿真各種 51 指 令兼容單片機(jī),ATMEL、Winbond、INTEL、SST、ST 等等。可仿真 ALE 禁止,可仿真 PCA,可仿真雙 DPTR,可仿真 硬件 SPI。媲美 2000 元級(jí)別專(zhuān)業(yè)仿真器! 8 獨(dú)創(chuàng)多聲響和 led 指示實(shí)時(shí)系統(tǒng)狀態(tài)和自檢。 9 獨(dú)創(chuàng)長(zhǎng)按復(fù)位鍵自動(dòng)進(jìn)入脫機(jī)運(yùn)行模式,這時(shí)仿真機(jī)就相當(dāng)于目標(biāo)板上燒好的一個(gè)芯片,可以更加真實(shí)的運(yùn) 行。這種情況下實(shí)際上就變了一個(gè)下載器,而且下次上電時(shí)仍然可以運(yùn)行上次下載的程序。 USB 驅(qū)動(dòng)的安裝 第一步:用隨機(jī) USB 通訊電纜連接儀器的 USB 插座和計(jì)算機(jī) USB口;顯示找到新硬件向?qū)Вx擇“從列表或指定位置安裝(高級(jí))”選項(xiàng),進(jìn)入下一步; 第二步:選擇“在搜索中包括這個(gè)位置”,點(diǎn)擊“瀏覽”,定位到配套驅(qū)動(dòng)光盤(pán)的驅(qū)動(dòng)程序文件夾,如 E:\驅(qū)動(dòng)程序\XLISP 驅(qū)動(dòng)程序\USBDRIVER2.0\,進(jìn)入下一步; 第三步:彈出“硬件安裝”對(duì)話框,如果系統(tǒng)提示“沒(méi)有通過(guò)Windows 徽標(biāo)測(cè)試…”,不用理會(huì),點(diǎn)擊“仍然繼續(xù)”,向?qū)Ъ撮_(kāi)始安裝軟件;然后彈出“完成找到新硬件向?qū)?rdquo;對(duì)話框,點(diǎn)擊完成。 第四步:系統(tǒng)第二次彈出“找到新的硬件向?qū)?rdquo;對(duì)話框,重復(fù)以上幾個(gè)步驟; 右下角彈出對(duì)話框“新硬件已安裝并可以使用了”,表明 USB 驅(qū)動(dòng)已成功安裝。你可以進(jìn)入系統(tǒng)的:控制面板\系統(tǒng)\硬件\設(shè)備管理器中看到以下端口信息, 表示系統(tǒng)已經(jīng)正確的安裝了 USB 驅(qū)動(dòng)。
上傳時(shí)間: 2013-11-02
上傳用戶(hù):貓愛(ài)薛定諤
單片機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書(shū) 第一部分 系統(tǒng)介紹一、系統(tǒng)的特點(diǎn)EL 型微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)旨在提高實(shí)驗(yàn)者的動(dòng)手能力、分析解決問(wèn)題的能力,系統(tǒng)具有以下特點(diǎn):1、系統(tǒng)采用了模塊化設(shè)計(jì),實(shí)驗(yàn)系統(tǒng)功能齊全,涵蓋了微處理器教學(xué)實(shí)驗(yàn)課程的大部分內(nèi)容。2、系統(tǒng)采用了開(kāi)放式的結(jié)構(gòu)設(shè)計(jì),通二組相對(duì)獨(dú)立的總線最多可同時(shí)擴(kuò)展二塊應(yīng)用實(shí)驗(yàn)板,用戶(hù)可根據(jù)需要購(gòu)置相應(yīng)的實(shí)驗(yàn)板,降低了成本,提高了靈活性,便于升級(jí)換代。3、配有兩塊可編程器件EPM7064/ATF1502,一塊被系統(tǒng)占用。另一塊供用戶(hù)實(shí)驗(yàn)用。兩塊器件皆可通過(guò)JTAG 接口在線編程。使用十分方便。4、系統(tǒng)配有LED 數(shù)碼管顯示和點(diǎn)陣式液晶顯示模塊,二者的接口都對(duì)用戶(hù)開(kāi)放,方便用戶(hù)靈活使用。5、系統(tǒng)配有完善的輸入鍵盤(pán),方便用戶(hù)靈活編程。6、靈活的電源接口:配有PC 機(jī)電源插座,可有PC 提供電源。另外還配有外接開(kāi)關(guān)電源,提供所需的+5V、±12V,其輸入為220V 的交流電。7、系統(tǒng)的聯(lián)機(jī)運(yùn)行模式:配有系統(tǒng)調(diào)試軟件,系統(tǒng)調(diào)試軟件分為DOC 版和WINDOWS 版兩種,均為中文多窗口界面。調(diào)試程序時(shí)可以同時(shí)打開(kāi)寄存器窗口、內(nèi)存窗口、變量窗口、反匯編窗口、波形顯示窗口等等,極大的方便了用戶(hù)的程序調(diào)試。該軟件集源程序編輯、編譯、鏈接、調(diào)試于一體,每項(xiàng)功能均為中衛(wèi)下拉菜單,簡(jiǎn)明易學(xué)。經(jīng)常使用的功能均備有熱鍵,這樣可以提高程序的調(diào)試效率。調(diào)試軟件不僅支持匯編語(yǔ)言,而且還支持C 語(yǔ)言編輯、編譯調(diào)試。8、系統(tǒng)的單機(jī)運(yùn)行模式:系統(tǒng)在沒(méi)有與計(jì)算機(jī)連接的情況下,自動(dòng)運(yùn)行在單機(jī)模式,在此模式下,用戶(hù)可通過(guò)鍵盤(pán)輸入運(yùn)行程序(機(jī)器碼),和操作指令,同時(shí)將輸入信息及操作的結(jié)果在LED 數(shù)碼管上顯示出來(lái)。9、系統(tǒng)的功能齊全,可擴(kuò)展性(數(shù)據(jù)總線、地址總線、控制總線為用戶(hù)開(kāi)放)亦能輕松滿足其課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)使用等。二、系統(tǒng)概述1、微處理器: 8031,它的P1 口、T0、EX0、EX1、RXD、TXD、RD、WR 皆對(duì)用戶(hù)開(kāi)放,供用戶(hù)使用。2、時(shí)鐘頻率:6.0MHz3、存儲(chǔ)器:程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,最多可達(dá)64K,板載ROM(監(jiān)控程序27C256)16K,RAM(程序存儲(chǔ)器6264)8K 供用戶(hù)下載實(shí)驗(yàn)程序,可達(dá)到32K;RAM(數(shù)據(jù)存儲(chǔ)器6264)8K 供用戶(hù)程序使用,可擴(kuò)展達(dá)32K。(RAM 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器不可同時(shí)擴(kuò)展至32K,具體與廠家聯(lián)系)。(見(jiàn)圖1-1:存儲(chǔ)器組織圖)。在程序存儲(chǔ)器中:20000H----2FFFFH 為監(jiān)控程序存儲(chǔ)器區(qū),用戶(hù)不可使用,3000H----3FFFH 為用戶(hù)數(shù)據(jù)存儲(chǔ)區(qū)。4000H----7FFFH 為實(shí)驗(yàn)程序存儲(chǔ)器區(qū),供用戶(hù)下載實(shí)驗(yàn)程序8000H----CF9FH,CFF0H------FFFFH 為用戶(hù)CPLD 實(shí)驗(yàn)區(qū)段,用戶(hù)可在此段空間編程。CFA0H----CFDFH 系統(tǒng)I/O 區(qū),用戶(hù)可用但不可更改。
標(biāo)簽: 單片機(jī)原理 實(shí)驗(yàn)指導(dǎo)書(shū)
上傳時(shí)間: 2013-10-21
上傳用戶(hù):kiklkook
本文設(shè)計(jì)了一個(gè)用AT89S51 實(shí)現(xiàn)手動(dòng)控制的上網(wǎng)計(jì)時(shí)系統(tǒng),這套系統(tǒng)由單片機(jī)作為核心部件,只需在pc 機(jī)上網(wǎng)和斷網(wǎng)時(shí)按下計(jì)時(shí)開(kāi)關(guān),計(jì)時(shí)器系統(tǒng)即開(kāi)始自動(dòng)計(jì)時(shí),并可以累計(jì)本月上網(wǎng)總時(shí)長(zhǎng),還可以同時(shí)顯示本次上網(wǎng)時(shí)長(zhǎng)和累計(jì)上網(wǎng)時(shí)長(zhǎng)。此外,本系統(tǒng)還可以設(shè)定上網(wǎng)報(bào)警時(shí)間,當(dāng)超出設(shè)定值時(shí),系統(tǒng)會(huì)發(fā)出報(bào)警提示。通過(guò)單片機(jī)的自動(dòng)控制,解除了用戶(hù)重復(fù)費(fèi)時(shí)的手工勞動(dòng),而且本設(shè)計(jì)的計(jì)時(shí)系統(tǒng)成本低廉,運(yùn)行穩(wěn)定,有很大的實(shí)際應(yīng)用價(jià)值。
標(biāo)簽: 單片機(jī) 上網(wǎng)計(jì)時(shí)
上傳時(shí)間: 2013-11-06
上傳用戶(hù):66666
單片機(jī)的數(shù)學(xué)基礎(chǔ):本章基本要求:?jiǎn)纹瑱C(jī)是現(xiàn)代電子智能儀器儀表及嵌入式系統(tǒng)的主要組成部分,應(yīng)用非常廣泛,是現(xiàn)代工程技術(shù)人員必須掌握的知識(shí)之一。本章要求掌握數(shù)的進(jìn)制及其相互轉(zhuǎn)換、帶符號(hào)數(shù)的表示方法、溢出的判別方法、ASCII 碼和BCD 碼等單片機(jī)的數(shù)學(xué)基礎(chǔ)知識(shí);掌握單片機(jī)的概念、特點(diǎn)、應(yīng)用范圍、發(fā)展歷程等基礎(chǔ)知識(shí);了解常用單片機(jī)系列。為后續(xù)章節(jié)的學(xué)習(xí)打下基礎(chǔ)。1.1 單片機(jī)的數(shù)學(xué)基礎(chǔ)1.1.1 數(shù)的進(jìn)位制及其相互轉(zhuǎn)換(1) 數(shù)的幾種常用進(jìn)制數(shù)制是人們利用符號(hào)來(lái)計(jì)數(shù)的方法,數(shù)制有很多種,人們熟悉的是十進(jìn)制。但由于數(shù)在機(jī)器中是以器件的物理狀態(tài)來(lái)表示的,所以一個(gè)具有兩種穩(wěn)定狀態(tài)且能相互轉(zhuǎn)換的器件,就可以用來(lái)表示一位二進(jìn)制數(shù)。二進(jìn)制數(shù)的表示是最簡(jiǎn)單而且是最可靠的,另外二進(jìn)制的運(yùn)算規(guī)則也是最簡(jiǎn)單的。因此,迄今為止,所有計(jì)算機(jī)都是以二進(jìn)制進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的。但是在使用二進(jìn)制編寫(xiě)程序時(shí)既繁鎖又容易出錯(cuò),所以人們?cè)诰帉?xiě)程序時(shí)又經(jīng)常用到十進(jìn)制、十六進(jìn)制或八進(jìn)制。下面分別予以介紹。任何一種數(shù)制都有兩個(gè)要素,即基數(shù)和權(quán)。基數(shù)為數(shù)制中所使用的數(shù)碼的個(gè)數(shù)。當(dāng)基數(shù)為R 時(shí),該數(shù)制可使用的數(shù)碼為0~(R-1)。例如在二進(jìn)制中基數(shù)為2,可使用0 和1 兩個(gè)數(shù)碼。在進(jìn)行運(yùn)算時(shí)按逢R 進(jìn)一,借1當(dāng)R的規(guī)則進(jìn)行。權(quán)是數(shù)制中某一數(shù)位上單位數(shù)的大小,它是一個(gè)指數(shù),底是基數(shù)R,冪是數(shù)碼的位置號(hào),數(shù)碼的位置號(hào)從0 開(kāi)始。將一個(gè)數(shù)中某一位的數(shù)碼與該位的權(quán)相乘,即為該位數(shù)碼的數(shù)值。
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2013-11-16
上傳用戶(hù):mahone
MCP定時(shí)器的死區(qū)插入: 在雙極性PWM驅(qū)動(dòng)系統(tǒng)中,上下橋臂的電力開(kāi)關(guān)器件交替導(dǎo)通(如圖1-1的半橋電路)。圖1-1 電力開(kāi)關(guān)半橋電路理想情況下,電力開(kāi)關(guān)器件的開(kāi)啟和關(guān)斷是不需要時(shí)間的,這時(shí)只要上下橋臂的驅(qū)動(dòng)信號(hào)只要相反就可以;而實(shí)際的電力開(kāi)關(guān)器件的開(kāi)啟和關(guān)斷是需要時(shí)間的,而且關(guān)斷時(shí)間比開(kāi)啟時(shí)間要長(zhǎng),這時(shí)就會(huì)出現(xiàn)一橋臂尚沒(méi)有完全關(guān)閉的情況下,另一橋臂就導(dǎo)通了,這就會(huì)出現(xiàn)上下橋臂同時(shí)導(dǎo)通的情況,致使電源短路,出現(xiàn)很大的直通電流,導(dǎo)致電力器件大量發(fā)熱,不但會(huì)造成電源浪費(fèi),還可能燒毀電力開(kāi)關(guān)器件。因此,為避免出現(xiàn)上下橋臂直通的現(xiàn)象,就需要在一橋臂開(kāi)始前,保證另一橋臂完全關(guān)斷,為此,在PWM驅(qū)動(dòng)信號(hào)中插入死區(qū)保護(hù)時(shí)間,如圖1-2中的灰條所示(這個(gè)信號(hào)是電力器件在低電平導(dǎo)通,高電平關(guān)斷的情況)。
上傳時(shí)間: 2013-11-14
上傳用戶(hù):dgann
數(shù)字密碼鎖設(shè)計(jì):本文的電子密碼鎖利用數(shù)字邏輯電路,實(shí)現(xiàn)對(duì)門(mén)的電子控制,并且有各種附加電路保證電路能夠安 工作,有極高的安全系數(shù)。 關(guān)鍵詞 電子密碼鎖 電壓比較器 555單穩(wěn)態(tài)電路 計(jì)數(shù)器 JK觸發(fā)器 UPS電源。 1 引言 隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見(jiàn)不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶(hù)的親呢。 設(shè)計(jì)本課題時(shí)構(gòu)思了兩種方案:一種是用以AT89C2051為核心的單片機(jī)控制方案;另一種是用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案。考慮到單片機(jī)方案原理復(fù)雜,而且調(diào)試較為繁瑣,所以本文采用后一種方案。 2 總體方案設(shè)計(jì) 2.1設(shè)計(jì)思路 共設(shè)了9個(gè)用戶(hù)輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶(hù)輸入密碼的時(shí)間超過(guò)40秒(一般情況下,用戶(hù)不會(huì)超過(guò)40秒,若用戶(hù)覺(jué)得不便,還可以修改)電路將報(bào)警80秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)5分鐘,防止他人的非法操作。
標(biāo)簽: 數(shù)字密碼鎖 電子密碼鎖 論文
上傳時(shí)間: 2013-11-13
上傳用戶(hù):ligi201200
電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.進(jìn)一步掌握鍵盤(pán)掃描和LED顯示的程序設(shè)計(jì)。 2.了解按鍵消抖的方法。 3.綜合運(yùn)用微機(jī)原理的軟硬件知識(shí)。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設(shè)置退格鍵,以便刪除輸入錯(cuò)誤的密碼;(3)在輸入的密碼時(shí)數(shù)碼管上只顯示8,并根據(jù)輸入位數(shù)依次橫移;(4)設(shè)置確認(rèn)鍵,當(dāng)確認(rèn)鍵按下后,判斷輸入密碼是否正確;(5)當(dāng)輸入密碼正確時(shí),點(diǎn)亮發(fā)光二極管;當(dāng)輸入密碼不正確時(shí),發(fā)光二極管不亮并且蜂鳴器報(bào)警,重新輸入,當(dāng)三次密碼輸入不正確時(shí),系統(tǒng)應(yīng)鎖定鍵盤(pán)10s。2.提高要求 將用戶(hù)分為管理者和使用者,管理者擁有超級(jí)密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、總體設(shè)計(jì) 電子密碼鎖的原理是:從鍵盤(pán)輸入一組密碼,CPU把該密碼和設(shè)置密碼比較,對(duì)則將鎖打開(kāi)(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開(kāi)),錯(cuò)則要求重新輸入,并記錄錯(cuò)誤次數(shù),如果三次錯(cuò)誤,則被強(qiáng)制鎖定并報(bào)警,除非超級(jí)密碼或者其他的手段打開(kāi),比如延時(shí)一段時(shí)間。 初步設(shè)計(jì)思路如下: 1.輸入密碼用矩形鍵盤(pán),包括數(shù)字鍵和功能鍵,功能鍵包括退格鍵和確認(rèn)鍵。 2.LED數(shù)碼管顯示輸入密碼,但是只是輸出顯示符號(hào)8 。采用動(dòng)態(tài)掃描輸出。 3.用發(fā)光二極管模擬鎖的情況,鎖關(guān)時(shí)發(fā)光二極管滅,打開(kāi)時(shí)發(fā)光二極管亮。 4.輸入密碼錯(cuò)誤時(shí)報(bào)警,3次輸入錯(cuò)誤時(shí)鍵盤(pán)鎖定10s,鍵盤(pán)無(wú)法接收數(shù)據(jù)。 軟件的設(shè)計(jì)主要包括矩形鍵盤(pán)鍵值的讀取、LED動(dòng)態(tài)掃描輸出程序、密碼判斷程序和報(bào)警程序。 五、硬件設(shè)計(jì) 根據(jù)設(shè)計(jì)思路,硬件電路可通過(guò)實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,由于實(shí)驗(yàn)平臺(tái)上的各個(gè)功能模塊已經(jīng)設(shè)計(jì)好,用戶(hù)在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對(duì)簡(jiǎn)單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由LED數(shù)碼管顯示模塊、按鍵模塊、發(fā)光二極管電路和蜂鳴器模塊組成。各個(gè)模塊的詳細(xì)說(shuō)明:1.LED數(shù)碼管模塊實(shí)驗(yàn)平臺(tái)上提供一組六個(gè)LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號(hào)的輸出選通。本設(shè)計(jì)用6個(gè)數(shù)碼管來(lái)動(dòng)態(tài)顯示時(shí)分秒,動(dòng)態(tài)顯示的定時(shí)時(shí)間由8253定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)。8253主要是實(shí)現(xiàn)每位顯示時(shí)間1ms,由8253的計(jì)數(shù)器0來(lái)實(shí)現(xiàn)。Clk0接實(shí)驗(yàn)平臺(tái)分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來(lái)控制計(jì)數(shù)器的起停。OUT0接8259的IRQ2,定時(shí)完成請(qǐng)求中斷,進(jìn)入中斷服務(wù)程序。軟件在中斷服務(wù)程序中LED數(shù)碼管顯示。
標(biāo)簽: 電子密碼鎖
上傳時(shí)間: 2013-10-16
上傳用戶(hù):15070202241
多路電壓采集系統(tǒng)一、實(shí)驗(yàn)?zāi)康模保煜た删幊绦酒珹DC0809,8253的工作過(guò)程,掌握它們的編程方法。2.加深對(duì)所學(xué)知識(shí)的理解并學(xué)會(huì)應(yīng)用所學(xué)的知識(shí),達(dá)到在應(yīng)用中掌握知識(shí)的目的。 二、實(shí)驗(yàn)內(nèi)容與要求1.基本要求通過(guò)一個(gè)A/D轉(zhuǎn)換器循環(huán)采樣4路模擬電壓,每隔一定時(shí)間去采樣一次,一次按順序采樣4路信號(hào)。A/D轉(zhuǎn)換器芯片AD0809將采樣到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),轉(zhuǎn)換完成后,CPU讀取數(shù)據(jù)轉(zhuǎn)換結(jié)果,并將結(jié)果送入外設(shè)即CRT/LED顯示,顯示包括電壓路數(shù)和數(shù)據(jù)值。2. 提高要求 (1) 可以實(shí)現(xiàn)循環(huán)采集和選擇采集2種方式。(2)在CRT上繪制電壓變化曲線。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、總體設(shè)計(jì)設(shè)計(jì)思路如下:1) 4路模擬電壓信號(hào)通過(guò)4個(gè)電位器提供0-5V的電壓信號(hào)。2) 選擇ADC0809芯片作為A/D轉(zhuǎn)換器,4路輸入信號(hào)分別接到ADC0809的IN0—IN4通道,每隔一定的時(shí)間采樣一次,采完一路采集下一路,4路電壓循環(huán)采集。3) 利用3個(gè)LED數(shù)碼管顯示數(shù)據(jù),1個(gè)數(shù)碼管用來(lái)顯示輸入電壓路數(shù),3個(gè)數(shù)碼管用來(lái)顯示電壓采樣值。4) 延時(shí)由8253定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)。 五、硬件電路設(shè)計(jì)根據(jù)設(shè)計(jì)思路,硬件主要利用了微機(jī)實(shí)驗(yàn)平臺(tái)上的ADC0809模數(shù)轉(zhuǎn)換器、8253定時(shí)/計(jì)數(shù)器以及LED顯示輸出等模塊。電路原理圖如下:1.基本接口實(shí)驗(yàn)板部分1) 電位計(jì)模塊,4個(gè)電位計(jì)輸出4路1-5V的電壓信號(hào)。2) ADC0809模數(shù)轉(zhuǎn)換器,將4路電壓信號(hào)接到IN0-IN3,ADD_A、ADD_B、ADD_C分別接A0、A1、A2,CS_AD接CS0時(shí),4個(gè)采樣通道對(duì)應(yīng)的地址分別為280H—283H。3) 延時(shí)模塊,8253和8255組成延時(shí)電路。8255的PA0接到8253的OUT0,程序中查詢(xún)計(jì)數(shù)是否結(jié)束。硬件電路圖如圖1所示。 圖1 基本實(shí)驗(yàn)板上的電路圖實(shí)驗(yàn)板上的LED顯示部分實(shí)驗(yàn)板上主要用到了LED數(shù)碼管顯示電路,插孔CS1用于數(shù)碼管段碼的輸出選通,插孔CS2用于數(shù)碼管位選信號(hào)的輸出選通。電路圖如圖2所示。
上傳時(shí)間: 2013-11-06
上傳用戶(hù):sunchao524
九.輸入/輸出保護(hù)為了支持多任務(wù),80386不僅要有效地實(shí)現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護(hù)。 這里下載本文源代碼。 <一>輸入/輸出保護(hù)80386采用I/O特權(quán)級(jí)IPOL和I/O許可位圖的方法來(lái)控制輸入/輸出,實(shí)現(xiàn)輸入/輸出保護(hù)。 1.I/O敏感指令輸入輸出特權(quán)級(jí)(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問(wèn)I/O空間中所有地址的最外層特權(quán)級(jí)。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)級(jí)執(zhí)行的程序所訪問(wèn)。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護(hù)方式下的執(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地址寫(xiě)數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫(xiě)字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱(chēng)為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時(shí)才可以執(zhí)行,所以把它們稱(chēng)為I/O敏感指令。從表中可見(jiàn),當(dāng)前特權(quán)級(jí)不在I/O特權(quán)級(jí)外層時(shí),可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級(jí)在I/O特權(quán)級(jí)外層時(shí),執(zhí)行CLI和STI指令將引起通用保護(hù)異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問(wèn)的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯(cuò)碼為0的通用保護(hù)異常。 由于每個(gè)任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個(gè)任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實(shí)模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實(shí)際要求需要。因?yàn)檫@樣做會(huì)使得在特權(quán)級(jí)3執(zhí)行的應(yīng)用程序要么可訪問(wèn)所有I/O地址,要么不可訪問(wèn)所有I/O地址。實(shí)際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問(wèn)部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問(wèn)另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問(wèn)I/O地址時(shí)發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨(dú)享設(shè)備時(shí)發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進(jìn)制位串組成。位串中的每一位依次對(duì)應(yīng)一個(gè)I/O地址,位串的第0位對(duì)應(yīng)I/O地址0,位串的第n位對(duì)應(yīng)I/O地址n。如果位串中的第位為0,那么對(duì)應(yīng)的I/O地址m可以由在任何特權(quán)級(jí)執(zhí)行的程序訪問(wèn);否則對(duì)應(yīng)的I/O地址m只能由在IOPL特權(quán)級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序訪問(wèn)。如果在I/O外層特權(quán)級(jí)執(zhí)行的程序訪問(wèn)位串中位值為1的位所對(duì)應(yīng)的I/O地址,那么將引起通用保護(hù)異常。 I/O地址空間按字節(jié)進(jìn)行編址。一條I/O指令最多可涉及四個(gè)I/O地址。在需要根據(jù)I/O位圖決定是否可訪問(wèn)I/O地址的情況下,當(dāng)一條I/O指令涉及多個(gè)I/O地址時(shí),只有這多個(gè)I/O地址所對(duì)應(yīng)的I/O許可位圖中的位都為0時(shí),該I/O指令才能被正常執(zhí)行,如果對(duì)應(yīng)位中任一位為1,就會(huì)引起通用保護(hù)異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進(jìn)制位串最大長(zhǎng)度是64K個(gè)位,即位圖的有效部分最大為8K字節(jié)。一個(gè)任務(wù)實(shí)際需要使用的I/O許可位圖大小通常要遠(yuǎn)小于這個(gè)數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲(chǔ)在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲(chǔ),所以位串所含的位數(shù)總被認(rèn)為是8的倍數(shù)。從前文中所述的TSS格式可見(jiàn),TSS內(nèi)偏移66H的字確定I/O許可位圖的開(kāi)始偏移。由于I/O許可位圖最長(zhǎng)可達(dá)8K字節(jié),所以開(kāi)始偏移應(yīng)小于56K,但必須大于等于104,因?yàn)門(mén)SS中前104字節(jié)為T(mén)SS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問(wèn)許可檢查細(xì)節(jié)保護(hù)模式下處理器在執(zhí)行I/O指令時(shí)進(jìn)行許可檢查的細(xì)節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開(kāi)始偏移;(3)計(jì)算I/O地址對(duì)應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計(jì)算位偏移以形成屏蔽碼值,即計(jì)算I/O地址對(duì)應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開(kāi)始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(6)若不越界,則從位圖中讀對(duì)應(yīng)字節(jié)及下一個(gè)字節(jié);(7)把讀出的兩個(gè)字節(jié)與屏蔽碼進(jìn)行與運(yùn)算,若結(jié)果不為0表示檢查未通過(guò),則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(8)進(jìn)行I/O訪問(wèn)。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對(duì)應(yīng)I/O端口00H—3FH DB 10000000B ;對(duì)應(yīng)I/O端口40H—47H DB 01100000B ;對(duì)用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對(duì)應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會(huì)引起通用保護(hù)異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實(shí)行 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許可檢查的細(xì)節(jié)可見(jiàn),不論是否必要,當(dāng)進(jìn)行許可位檢查時(shí),80386總是從I/O許可位圖中讀取兩個(gè)字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個(gè)字節(jié)。例如,上面的第(8)條指令要對(duì)I/O位圖中的兩個(gè)位進(jìn)行檢查,其低位是某個(gè)字節(jié)的最高位,高位是下一個(gè)字節(jié)的最低位。可見(jiàn)即使只要檢查兩個(gè)位,也可能需要讀取兩個(gè)字節(jié)。另一方面,最多檢查四個(gè)連續(xù)的位,即最多也只需讀取兩個(gè)字節(jié)。所以每次要讀取兩個(gè)字節(jié)。這也是在判別是否越界時(shí)再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時(shí)產(chǎn)生越界,必須在I/O許可位圖的最后填加一個(gè)全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個(gè)位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開(kāi)始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開(kāi)始偏移加8K時(shí),I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進(jìn)行。當(dāng)TSS的界限不大于I/O許可位圖開(kāi)始偏移加8K時(shí),I/O許可位圖有效部分就不到8K字節(jié),于是對(duì)較小I/O地址訪問(wèn)的許可檢查根據(jù)位圖進(jìn)行,而對(duì)較大I/O地址訪問(wèn)的許可檢查總被認(rèn)為不可訪問(wèn)而引起通用保護(hù)故障。因?yàn)檫@時(shí)會(huì)發(fā)生字節(jié)越界而引起通用保護(hù)異常,所以在這種情況下,可認(rèn)為不足的I/O許可位圖的高端部分全為1。利用這個(gè)特點(diǎn),可大大節(jié)約TSS中I/O許可位圖占用的存儲(chǔ)單元,也就大大減小了TSS段的長(zhǎng)度。 <二>重要標(biāo)志保護(hù)輸入輸出的保護(hù)與存儲(chǔ)在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實(shí)現(xiàn)輸入輸出保護(hù)。類(lèi)似地,對(duì)EFLAGS中的IF位也必須加以保護(hù),否則CLI和STI作為敏感指令對(duì)待是無(wú)意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對(duì)EFLAGS中的這三個(gè)字段的處理比較特殊,只有在較高特權(quán)級(jí)執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級(jí)下對(duì)這三個(gè)字段的處理情況。 不同特權(quán)級(jí)對(duì)標(biāo)志寄存器特殊字段的處理 特權(quán)級(jí) VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見(jiàn),只有在特權(quán)級(jí)0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對(duì)于IOPL同級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級(jí)不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時(shí),如果試圖修改這些字段中的任何一個(gè)字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護(hù)的實(shí)例(實(shí)例九)下面給出一個(gè)用于演示輸入輸出保護(hù)的實(shí)例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過(guò)任務(wù)門(mén)調(diào)用任務(wù),實(shí)現(xiàn)任務(wù)嵌套。 1.演示步驟實(shí)例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實(shí)模式下做必要準(zhǔn)備后,切換到保護(hù)模式;(2)進(jìn)入保護(hù)模式的臨時(shí)代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進(jìn)入演示代碼段,演示代碼段的特權(quán)級(jí)是0;(4)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)1。測(cè)試任務(wù)1能夠順利進(jìn)行;(5)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)2。測(cè)試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護(hù)異常;(6)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)3。測(cè)試任務(wù)3演示I/O敏感指令如何引起通用保護(hù)異常;(7)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)4。測(cè)試任務(wù)4演示特權(quán)指令如何引起通用保護(hù)異常;(8)從演示代碼轉(zhuǎn)臨時(shí)代碼,準(zhǔn)備返回實(shí)模式;(9)返回實(shí)模式,并作結(jié)束處理。
上傳時(shí)間: 2013-12-11
上傳用戶(hù):nunnzhy
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1