摘要:提出通過顏色法提取像素點的漢字點陣字模信息提取方法,給出基于VB6.0的系統控件設置及流程實現方法。與基于內碼法的漢字點陣提取方法的比較結果表明,該方法能夠方便地修改顯示內容、字體及字號,豐富LED或LCD顯示屏控制系統的字體顯示效果,提高其工作效率。關鍵詞:點陣顯示;點陣字模提取;區位碼
上傳時間: 2013-10-19
上傳用戶:yt1993410
前言 隨著單片機應用的越來越廣泛,MCS-51單片機(如C51/52/55)以其優越的性能/價格比一直長盛不衰。隨著社會分工越來越細,許多產業都得利于其模塊化設計,這有利于大家把工作做好做專,我們特設計了JMDM-MB01單片機主板和一系列的功能板。選好相應的硬件,可以構成相應的系統,對于客戶特定的應用,也可以開發相應的功能板;我們的設計意圖是,像電腦一樣,主板就像電腦主板一樣,而一系列功能板就像PCI或ISA總線的控制板,我們提供的驅動程序就像是PCI或ISA總線的控制板的驅動程序,這樣,就可以把辛苦的,非標的單片機設計簡化成標準件的組態,該系統適用于科研、開發教學實驗初期的設計之用。同時也適用于工控,智能儀表等符合要求的應用場合,具有極高的性能/價格比。本系統的所有接口原理、一般接口資料均能找到,并提供Windows下組態測試軟件一套。
上傳時間: 2014-12-27
上傳用戶:fandeshun
EM78系列單芯片-提升軟件效率的小程序筆者閑暇時總喜歡一個人窩在房里拿烙鐵,焊電路板,在網絡上游走,看到喜歡的DIY也一定仔細端詳,即使按圖施工也可以得到不少的樂趣,相信酷愛此道的人應該也不少,除了喜歡看看別人的作品,也可以互相比較一下看誰用的零件少,誰提供的功能強,誰的速度最快,所以經常很容易就搜集到一些不錯的電路,日子久了就像堆積木一樣,可以一個方塊一個方塊的拿來用,吾人戲稱為積木設計法。將許多有用的電路組合在一起,又是一個新的東西。這種方式的確又快又經濟,符合現代人快餐的觀念。不僅是硬件可以像堆積木一樣的收集起來,軟件當然也可以適用于積木法則,于是在不少有心人的努力之下,筆者也收集了EM78系列單芯片一些很好的鏈接庫,所以說麻雀雖小,五臟俱全。也因為這些鏈接庫極具參考價值,筆者不忍獨享,故決定將紊亂的筆記重新整理后。
上傳時間: 2013-11-21
上傳用戶:kristycreasy
8 位A/D 型OTP/Mask 單片機 概述HT46x23 是8 位高性能精簡指令集單片機專門為多輸入/輸出口的產品而設計的特別適合應用于像洗衣機控制器和家用電器類產品其HALT 功能可降低功耗.
上傳時間: 2013-11-11
上傳用戶:love1314
OM8361/TDA8362單片機的設計及應用 OM8361/TDA8362為飛利浦公司開發的單片集成電路來完成全部小信號的處理OM8361/TDA8362集成度較高可完成中頻視頻色度及行場掃描等小信號的處理具有PAL/NTSC自動識別彩色解碼電路若外接TDA8395即可方便實現SECAM解碼集成塊外接了免調整的一行基帶延時處理專用芯片TDA4665由于色解碼方面采用了當今流行的PAL-S方式的色解碼方式使得PAL制圖像的色彩亮麗鮮艷程度有了極大的提高塊內還集成了色度陷波器色帶通濾波器亮度延遲線等使外圍可調元件較少方便了生產與維修
上傳時間: 2013-10-08
上傳用戶:qiao8960
51單片機C語言編程手冊這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統的解決方法為使問題討論更加清晰在適當的地方給出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數據書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經通過測試這并不意味著你可以隨時把這些程序加到你的應用系統或工程中有些地方必須首先經過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發是一個好的決定你會發現使用C 進行開發將使你的工程開發和維護的時間大大減少如果你已經擁有Keil C51 那你已經選擇了一個非常好的開發工具我發現Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據你所用的開發工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計
上傳時間: 2013-11-01
上傳用戶:cjh1129
SDRAM的原理和時序 SDRAM內存模組與基本結構 我們平時看到的SDRAM都是以模組形式出現,為什么要做成這種形式呢?這首先要接觸到兩個概念:物理Bank與芯片位寬。1、 物理Bank 傳統內存系統為了保證CPU的正常工作,必須一次傳輸完CPU在一個傳輸周期內所需要的數據。而CPU在一個傳輸周期能接受的數 據容量就是CPU數據總線的位寬,單位是bit(位)。當時控制內存與CPU之間數據交換的北橋芯片也因此將內存總線的數據位寬 等同于CPU數據總線的位寬,而這個位寬就稱之為物理Bank(Physical Bank,下文簡稱P-Bank)的位寬。所以,那時的內存必須要組織成P-Bank來與CPU打交道。資格稍老的玩家應該還記 得Pentium剛上市時,需要兩條72pin的SIMM才能啟動,因為一條72pin -SIMM只能提供32bit的位寬,不能滿足Pentium的64bit數據總線的需要。直到168pin-SDRAM DIMM上市后,才可以使用一條內存開機。不過要強調一點,P-Bank是SDRAM及以前傳統內存家族的特有概念,RDRAM中將以通道(Channel)取代,而對 于像Intel E7500那樣的并發式多通道DDR系統,傳統的P-Bank概念也不適用。2、 芯片位寬 上文已經講到SDRAM內存系統必須要組成一個P-Bank的位寬,才能使CPU正常工作,那么這個P-Bank位寬怎么得到呢 ?這就涉及到了內存芯片的結構。 每個內存芯片也有自己的位寬,即每個傳輸周期能提供的數據量。理論上,完全可以做出一個位寬為64bit的芯片來滿足P-Ban k的需要,但這對技術的要求很高,在成本和實用性方面也都處于劣勢。所以芯片的位寬一般都較小。臺式機市場所用的SDRAM芯片 位寬最高也就是16bit,常見的則是8bit。這樣,為了組成P-Bank所需的位寬,就需要多顆芯片并聯工作。對于16bi t芯片,需要4顆(4×16bit=64bit)。對于8bit芯片,則就需要8顆了。以上就是芯片位寬、芯片數量與P-Bank的關系。P-Bank其實就是一組內存芯片的集合,這個集合的容量不限,但這個集合的 總位寬必須與CPU數據位寬相符。隨著計算機應用的發展,
上傳時間: 2013-11-04
上傳用戶:zhuimenghuadie
keil c51語言使用技巧及實戰第一章 介紹這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統的解決方法為使問題討論更加清晰在適當的地方給出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數據書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經通過測試這并不意味著你可以隨時把這些程序加到你的應用系統或工程中有些地方必須首先經過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發是一個好的決定你會發現使用C 進行開發將使你的工程開發和維護的時間大大減少如果你已經擁有Keil C51 那你已經選擇了一個非常好的開發工具我發現Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據你所用的開發工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統設計通過.
上傳時間: 2013-11-03
上傳用戶:hfnishi
PIC單片機實用教程基礎篇+提高篇 PIC單片機(Peripheral Interface Controller)是一種用來開發的去控制外圍設備的集成電路(IC)。一種具有分散作用(多任務)功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當于人的神經系統。 PIC 單片機是一個小的計算機 PIC單片機有計算功能和記憶內存像CPU并由軟件控制允行。然而,處理能力—存儲器容量卻很有限,這取決于PIC的類型。但是它們的最高操作頻率大約都在20MHz左右,存儲器容量用做寫程序的大約1K—4K字節。 時鐘頻率與掃描程序的時間和執行程序指令的時間有關系。但不能僅以時鐘頻率來判斷程序處理能力,它還隨處理裝置的體系結構改變(1*)。如果是同樣的體系結構,時鐘頻率較高的處理能力會較強。 這里用字來解釋程序容量。用一個指令(2*)表示一個字。通常用字節(3*)來表示存儲器(4*)容量。一個字節有8位,每位由1或0組成。PIC16F84A單片機 的指令由14位構成。當把1K個子轉換成位為:1 x 1,024 x 14 = 14,336位。再轉換為字節為:14,336/(8 x 1,024) = 1.75K。在計算存儲器的容量時,我們規定 1G 字節 = 1,024M 字節, 1M 字節 = 1,024K 字節, 1K 字節= 1,024 字節. 它們不是以1000為倍數,因為這是用二進制計算的緣故。 1*計算機的物理結構,包括組織結構、容量、該計算機的CPU、存儲器以及輸入輸出設備間的互連。經常特指CPU的組織結構,包括它的寄存器、標志、總線、算術邏輯部件、指令譯碼與執行機制以及定時和控制部件。 2*指出某種操作并標識其操作數(如果有操作數的話)的一種語言構造 3*作為一個單位來操作(運算)的一個二進制字符串,通常比計算機的一個字短。 4*處理機內的所有可尋址存儲空間以及用于執行指令的其它內存儲器。 在計算存儲器的容量時,我們規定 1G 字節 = 1,024M 字節, 1M 字節 = 1,024K 字節, 1K 字節= 1,024 字節. 它們不是以1000為倍數,因為這是用二進制計算的緣故。 用PIC單片機使電路做的很小巧變得可能。 因為PIC單片機可以把計算部分、內存、輸入和輸出等都做在一個芯片內。所以她工作起來效率很高、功能也自由定義還可以靈活的適應不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。
上傳時間: 2013-10-15
上傳用戶:sxdtlqqjl
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131