說明:適用于沒用燒寫ATmega8并行編程器的朋友,初用ATmega8的工程師常常在串行編程時寫錯熔絲位,及加密位,造成不能再串行編程的不便,沒并行編程將無法再使用,本人就是因此才特花兩天時間做了一個簡易的并行編程器(很簡單,用萬能板搭焊即可),將的芯片加密位及熔絲恢復出廠默認值恢復串行編程。
上傳時間: 2013-11-07
上傳用戶:牧羊人8920
INTEL公司在20世紀80年代初發布的微控制器的代表作MCS-51系列單片機,包括8051、8031、8052、8032、8751和8752等。
上傳時間: 2013-11-23
上傳用戶:lnnn30
單片機系統的低功耗設計策略:摘要嵌入式系統的低功耗設計需要全面分析各方面因素,統籌規劃。在設計之初,各個因素往往是相互制約、相互影響的,一個降低系統功耗的措施有時會帶來其他方面的“負效應”。因此,降低系統整體功耗,需要仔細分析和計算。本文從硬件和應用軟件設計兩個方面,闡述一個以單片機為核心的嵌入式系統低功耗設計時所需考慮的一些問題。關鍵詞低功耗設計 硬件設計 應用軟件設計 低功耗模式 在嵌入式應用中,系統的功耗越來越受到人們的重視,這一點對于需要電池供電的便攜式系統尤其明顯。降低系統功耗,延長電池的壽命,就是降低系統的運行成本。對于以單片機為核心的嵌入式應用,系統功耗的最小化需要從軟、硬件設計兩方面入手?! ‰S著越來越多的嵌入式應用使用了實時操作系統,如何在操作系統層面上降低系統功耗也成為一個值得關注的問題。限于篇幅,本文僅從硬件設計和應用軟件設計兩個方面討論。
上傳時間: 2013-11-21
上傳用戶:zhenyushaw
用單片機制作通用型電視遙控器:本文介紹了一種用MCS-51系列單片機AT89C52代替專用遙控芯片的設計方案,通過軟件模擬實現了電視機遙控編碼的發射,并且達到“一器多用”。上世紀八十年代初,日本率先在電視產品中使用了紅外遙控技術,目前已經在電視機上得到了廣泛應用。電視遙控器使用的是專用集成發射芯片來實現遙控碼的發射,如東芝TC9012,飛利浦SAA3010T等。這些芯片價格較貴,且相互之間采用的遙控編碼格式互不兼容,所以各機型的遙控器通常只能針對各自的遙控對象而無法通用。本文在試驗驗證的基礎上,介紹了如何利用低成本的MCS-51系列單片機來實現遙控碼的模擬發射,并實現遙控器的通用化。遙控發射技術的基本原理通常彩電遙控信號的發射,就是將某個按鍵所對應的控制指令和系統碼(由0和1組成的序列),調制在32~56KHz范圍內的載波上,然后經放大、驅動紅外發射管將信號發射出去。不同公司的遙控芯片,采用的遙控碼格式也不一樣。在此介紹較普遍的兩種,一種是NEC標準,一種是PHILIPS 標準。
上傳時間: 2013-11-17
上傳用戶:jiangfire
地彈的形成:芯片內部的地和芯片外的PCB地平面之間不可避免的會有一個小電感。這個小電感正是地彈產生的根源,同時,地彈又是與芯片的負載情況密切相關的。下面結合圖介紹一下地彈現象的形成。 簡單的構造如上圖的一個小“場景”,芯片A為輸出芯片,芯片B為接收芯片,輸出端和輸入端很近。輸出芯片內部的CMOS等輸入單元簡單的等效為一個單刀雙擲開關,RH和RL分別為高電平輸出阻抗和低電平輸出阻抗,均設為20歐。GNDA為芯片A內部的地。GNDPCB為芯片外PCB地平面。由于芯片內部的地要通過芯片內的引線和管腳才能接到GNDPCB,所以就會引入一個小電感LG,假設這個值為1nH。CR為接收端管腳電容,這個值取6pF。這個信號的頻率取200MHz。雖然這個LG和CR都是很小的值,不過,通過后面的計算我們可以看到它們對信號的影響。先假設A芯片只有一個輸出腳,現在Q輸出高電平,接收端的CR上積累電荷。當Q輸出變為低電平的時候。CR、RL、LG形成一個放電回路。自諧振周期約為490ps,頻率為2GHz,Q值約為0.0065。使用EWB建一個仿真電路。(很老的一個軟件,很多人已經不懈于使用了。不過我個人比較依賴它,關鍵是建模,模型參數建立正確的話仿真結果還是很可靠的,這個小軟件幫我發現和解決過很多實際模擬電路中遇到的問題。這個軟件比較小,有比較長的歷史,也比較成熟,很容易上手。建議電子初入門的同學還是熟悉一下。)因為只關注下降沿,所以簡單的構建下面一個電路。起初輸出高電平,10納秒后輸出低電平。為方便起見,高電平輸出設為3.3V,低電平是0V。(實際200M以上芯片IO電壓會比較低,多采用1.5-2.5V。)
標簽: 分
上傳時間: 2013-10-17
上傳用戶:zhishenglu
微型機算計發展概述人類從原始社會學會使用工具以來到現代社會經歷了三次大的產業革命:農業革命、工業革命、信息革命。而信息革命是以計算機技術和通信技術的發展和普及為代表的。人類已進入了高速發展的現代時期。其中計算機科學和技術發展之快,是任何其他技術都無法相提并論的自從1946年美國賓夕法尼亞大學研制成功的世界上第一臺電子計算機到現在已50多年的歷史。計算機的發展經歷了四代:第一代:電子管電路計算機,電子管數:18800個;繼電器數量:5000個;耗電量:150KW;重量:30t;占地面積:150平方米;運算速度:5000次加法運算/s。第二代:晶體管電路計算機(60年代初)第三代:小規模集成電路計算機。第四代:大規模(LSI)和超大規模(VSLI)集成電路計算機。第四代計算機基本情況:運算速度為每秒幾千億次到幾萬億次;從數值計算和數據處理到目前進行知識處理的人工智能階段;計算機不僅可以處理文字、字符、圖形圖象信息,而且可以處理音頻、視頻等多媒體信息;計算機正朝著智能化和多媒體化方向發展。微型計算機的定義:以微處理器為核心,再配上半導體存儲器、輸入/輸出接口電路、系統總線及其它支持邏輯電路組成的計算機稱微型計算機。在1971年美國Intel公司首先研制成功世界上第一塊微處理器芯片4004以來,差不多每隔2~3年就推出一代新的微處理器產品;如今已推出了第五代微處理器。因為微處理器是微型計算機的核心部件,它的性能在很大程度上決定了微型計算機的性能,所以微型計算機的發展是以微處理器的發展而更新換代的。微處理器和微型計算機的發展:1.第一代微處理器和微型計算機:(1971~1973年)——4位CPU和低檔8位處理器,典型的產品有:Intel 4004、改進型的4040,是4位處理器,以它為核心構成的微機是MCS-4。Intel 8008是8位通用微處理器,以它為核心所構的微機是MCS-8。參數:芯片采用PMOS工藝;集成度為2000管/片;時鐘頻率1MHz;平均指令執行時間為20μs。2.第二代微處理器和微型計算機(1973~1978年)——成熟的8位CPU,典型的產品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美國Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改進型。MOS 6502,由MOS公司推出,它是IBM PC機問世之前世界上最流行的微型計算機Apple2(蘋果機)的CPU。第二代微處理器的參數:芯片工藝采用NMOS工藝,集成度達到5000~9000管/片;時鐘頻率2~4MHz;平均指令執行時間為1~2μs;具有多種尋址方式,指令系統完善,基本指令100多條。特點:具有中斷、DMA等控制功能;也考慮了兼容性、接口標準化和通用性、配套的外圍電路功能和種類齊全。在軟件方面:主要是匯編,還有一些簡單的高級語言和操作系統。
上傳時間: 2013-11-24
上傳用戶:蔣清華嗯
基于P87 C591的CAN總線系統智能節點設計Design of CAN System Intelligent Node Based on P87C591 給出了基于帶CAN控制器的單片8位微控制器P87C591的智能節點的硬件電路及軟件結構,詳細介紹了設計中的難點及實現過程中應注意的問題。關鍵詞:CAN總線;智能節點 Abstract:A h ardc ircuita nds oftw arec onfigurationo fth ei ntelligentnode based on a microcontroller with CAN controller P87C591 arepresented.E speciallyt hec ruxi nd esigninga ndt hep roblemst hatshould be paid attention in realizing are discussed in details.Keyw ords:C AN;in telligentn ode CA N 總線 是德國Bosch從20世紀80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。由于CAN總線具有較強的糾錯能力,支持差分收發,因而適合高噪聲環境。并具有較遠的傳輸距離,適用于許多領域的分布式測控系統。目前已在工業自動化、建筑物環境控制、醫療設備等許多領域得到廣泛的應用。CAN已成為國際標準化組織IS011898標準。
上傳時間: 2013-10-30
上傳用戶:xymbian
九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標 志寄存器 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許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應I/O端口00H—3FH DB 10000000B ;對應I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH DB 0FFH ;位圖結束字節TSSLen = $TSSSEG ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常: in al,21h ;(1)正常執行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執行 out 20h,eax ;(6)正常執行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位??梢娂词怪灰獧z查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
針對現有車牌識別算法中的車牌定位、字符分割和字符識別三個核心模塊存在的不足, 提出了一種基于邊緣兩側顏色檢測的車牌定位方法;通過采用動態閾值調整方法,很好的實現了字符分割;對神經網絡在字符識別技術中的應用進行了大量的研究和實驗,根據漢字和數字、字母特征提取的不同,在對字符信息初識別時將漢字和數字、字母采用不同結構參數設置的神經網絡進行識別,并對識別結果中包含的具有形體相近的字符提出了一種“不等權值”的方法。結果證明識別率有了明顯提高。
上傳時間: 2013-11-22
上傳用戶:herog3
此資料網上搜集。你可以到其他地方找到。我不負責專利和知識產權。
上傳時間: 2014-01-26
上傳用戶:daguda