介紹了Linux字符設備驅動程序中建立設備,初始化設備、設備的資源分配和如何訪問設備方法以及相關函數的實現
上傳時間: 2016-04-19
上傳用戶:wangyi39
本程序只要完成動態數據庫的創建。在表的設計視圖中,每一個字段都有設計類型
上傳時間: 2013-12-20
上傳用戶:小眼睛LSL
JAVABEAN分頁程序。1、數據庫表中有GoodsType表 2、新建TypeList.jsp頁面 3、新建GoodsType的實體類 4、新建GoodsTypeDAO的操作類 5、在BusinessDelegate類中注冊相應的方法 6、在TypeList.jsp頁面中調用方法查詢所有的類型 并且查詢出的所有類型在做成鏈接時都要使用URL重寫 7、寫一個Index.jsp頁面,將GoodsList.jsp頁面和TypeList.jsp頁面放入框架集 8、在GoodsList.jsp頁面中,將JavaBean初始化的時候,要設置查詢語句
標簽: GoodsType GoodsTypeDAO JAVABEAN TypeList
上傳時間: 2014-01-12
上傳用戶:851197153
本文介紹了一種在單片機應用中實現高效、多功能鍵盤掃描分析的設計思想、方法和原理。該演算法可以實現組合鍵、自動連續等功能,並具有軟、硬體開銷小,效率高等特點。該演算法已應用於實際產品中。 關鍵字:鍵盤掃描;單片機
上傳時間: 2013-12-14
上傳用戶:fredguo
準時化生產(just-in-time,JIT)誕生于20世紀50年代的日本,并于70年代全球石油危機中倍受關注。準時化生產是豐田生產方式的核心。它采用“看板管理”實現“拉動”式生產,與傳統的以計劃為主的“推動”式生產有著本質區別。全面質量管理、設備合理布置、作業標準化、設備快速調整以及良好的外部協作等方法,確保了準時化生產的順利實施。
標簽: just-in-time 準時
上傳時間: 2017-05-25
上傳用戶:zwei41
條碼技術是隨通信技術,計算機技術的發展應運而生的自動識別技術的一種。根據二進制編碼規則對應形成的由對光反映率不同的條、空組成的圖形,經光電掃描識讀器掃描,將采集的信息經處理器進行處理,從而達到自動識別的目的。條碼技術自出現以來,得到了人們的普遍關注,發展十分迅速,已廣泛用于交通運輸、商業、醫療衛生、制造業、倉儲業、郵電業等領域,極大的提高了數據采集和信息處理的速度,提高了工作效率,并為管理的科學化、信息化和現代化作出了貢獻。目前常用的是一維條碼,但一維條碼最大的弱點就是表征的信息量是有限的,需要依賴外部數據庫支持,離開這個數據庫條碼本身就沒有意義了。二維條碼克服了這一弱點,它是在一維條碼基礎上形成的高密度、高信息量的條碼,可以將大量信息在小區域內編碼,它本身就是一個完整的數據文件,是實現證件、卡片等信息存儲、攜帶并可以通過機器自動識讀的理想方法。 本課題采用流行的嵌入式技術,采用S3C44BOX作為二維條碼PDF417識別器的數據采集終端,該終端內嵌μC/OS-Ⅱ操作系統,將應用分解成多任務,簡化了應用系統軟件設計;使控制系統的實時性得到了保證,提高了系統的可靠性和穩定性;同時也增強了系統的可擴展性和產品開發的可延續性。 本課題的主要任務是PDF417(Portable Data File)二維條碼圖像的識別。先由掃描儀或照相機獲取二維條碼的原始圖像,再由PC(Personal Computer)計算機中的圖象處理程序對圖象數據進行處理,然后在條碼中定位單個碼字符號的圖像,利用算法識別出單個碼字符號。本文在條碼圖像的預處理方面進行了算法改進,取得了較好的成果,能夠有效的去掉干擾噪聲和圖像定位。通過實驗結果表明:本課題研究的二維條碼識別系統是比較令人滿意的。
上傳時間: 2013-08-01
上傳用戶:caiiicc
近年來,隨著微電子技術的高速發展,數字圖像壓縮編碼技術的逐漸成熟,實時圖象處理在多媒體、HDTV、圖像通信等領域有著越來越廣泛的應用,圖像壓縮/解壓的IC芯片也已成為多媒體技術的核心,實現這些算法芯片的研究成為信息產業的新熱點.該文基于FPGA設計了JPEG圖像壓縮編解碼芯片,通過改進算法優化結構,在合理地利用硬件資源的條件下,有效地挖掘出算法內在的并行性.在JPEG編碼器設計中,改進了JEONG的DCT變換算法,采用流水線優化算法解決時間并行性問題,提高了DCT/IDCT模塊的運算速度;設計了基于查找表結構的定點乘法器,便于在設計中共享乘法單元,以適應流水線設計的要求;依據Huffman編碼表的規律性,采用并行查找表結構,用較少的存儲單元完成Huffman編解碼的運算,同時也提高了編解碼速度.在JPEG解碼器設計中,根據Huffman碼字本身的特點和JPEG標準,設計了一種Huffman碼字分組結構,基于該結構提出分組Huffman查找表及地址編碼的設計方法,進而完成了新的快速Huffman解碼算法及其模塊設計.整個設計及其各個模塊都在ALTERA公司的EDA工具QUARTUSII平臺上進行了邏輯綜合及功能和時序仿真.綜合和仿真結果表明,基于FPGA的JPEG圖像編解碼芯片消耗很少的FPGA硬件資源,達到了較高的工作頻率,在速度和資源利用率方面均達到了較優的狀態,可滿足實時JPEG圖像編解碼的要求.在邏輯設計的基礎上,該設計可以進一步作硬件仿真和實驗,將源代碼燒錄進FPGA芯片,作為獨立器件或有自主知識產權的JPEG IP模塊,應用于可視電話、手機和會議電視等低成本JPEG編解碼系統的實現.
上傳時間: 2013-05-31
上傳用戶:yuying4000
GPS技術在導航、定位及精確打擊等方面產生了重要影響,已經廣泛地應用在各種武器平臺上。但是,在干擾環境下也顯現出許多問題。由于其到達地球表面的信號極其微弱(-160dBW),在現在復雜的電磁環境中容易受到干擾,尤其是C/A碼信號更易受到干擾,并且隨著導航戰的發展對GPS的抗干擾已成為爭取導航資源的有效措施。因此,研究干擾環境下的GPS接收機設計具有重要意義。 本文首先簡要介紹了GPS信號的結構及構成,通過對GPS信號特征以及接收機抗干擾能力的分析,結合干擾對接收機的作用方式及效果,確定GPS最易受的干擾類型為阻塞式干擾,然后針對這種干擾類型提出了一種有效的抗干擾技術-----自適應調零天線技術。接下來,著重研究了GPS接收機在此抗干擾技術前提下的若干抗干擾方法,并對其進行了詳細的分析和討論。 研究過程中,通過對最佳化準則和空域自適應濾波的理解,首先對不同天線陣列結構進行了性能仿真和比較分析,然后在對稱圓形天線陣列的基礎上對空域自適應算法進行了仿真分析,針對其自由度有限的問題接著對空時濾波方法做了詳細討論,在7元對稱圓形陣列的基礎上仿真說明了二者各自的優缺點。考慮到實際的干擾環境和本課題研究的初期階段,因此選用了適合本課題干擾環境的空域濾波方法,并對其自適應算法進行了適當的改進,使得其抗干擾性能獲得了一定程度的改善。 最后,詳細說明了該接收機抗干擾模塊的FPGA實現原理。詳細給出了頂層及各子模塊的設計流程與RTL視圖,實驗結果驗證了該算法的有效性。
上傳時間: 2013-06-03
上傳用戶:xfbs821
九.輸入/輸出保護為了支持多任務,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位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加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
Keil uVision2是目前使用廣泛的單片機開發軟件,它集成了源程序編輯和程序調試于一體,支持匯編、C、PL/M語言。 這里我們僅僅介紹 Keil uVision2 的簡單使用,更詳細的使用方法見本光盤\單片機軟件\Keil c51\Keil書籍與資料目錄中的內容。 keil C51 v6.12 的安裝: 先運行光盤中 單片機軟件\setup\setup.exe 安裝程序,選擇安裝“Eval Version”版進行安裝。一直點擊“Yes”或“Next”,直到“Finish”完成。 之后運行同目錄中的 Keil uv2 漢化安裝.exe 安裝漢化程序。 keil C51 v6.12 的使用: 點擊桌面快捷圖標,可以直接進入主畫面:現在,我們來做個實際程序,請跟著我一步一步學著做,實際體驗一下從編輯源程序到程序調試的全過程。 這里讓我們做一個 讓單片機 P0 口所驅動的 LED 燈隔一個亮隔一個滅 的程序。 在Keil系統中,每做個獨立的程序,都視為工程(或者叫項目)。首先從菜但的“工程”中“新建工程...”,建立我們將要做的工程項目:新建的工程要起個與工程項目意義一致的名字,可以是中文名;我們這里的程序是實驗測試程序,所以起的名字為 Test ,并將 Test 工程“保存”到 C:\Keil 下:接下來,Keil環境要求我們為 Test 工程選擇一個單片機型號;我們選擇 Atmel 公司的 89C51(雖然我們使用的是89S51,但由于89S51與89C51內、外部結構完全一樣,所以這里依然選擇“89C51”)。“確定”后工程項目就算建立了。
上傳時間: 2013-10-12
上傳用戶:zzzzzz