PCB布局、布線技巧,好用東西大家頂起來
上傳時間: 2014-01-15
上傳用戶:elinuxzj
摘要:本文介紹一種用純軟件來擴展89C51單片機串行口的方法,詳細說明了通過掃描發(fā)送、中斷接收實現(xiàn)模擬串行通信的編程技巧。關(guān)鍵詞:串行口;通信;89C51;單片機;擴展
上傳時間: 2013-11-16
上傳用戶:gundan
keil c51語言使用技巧及實戰(zhàn)第一章 介紹這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關(guān)于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把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 這本書也能很好地為你服務但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統(tǒng)設(shè)計通過.
上傳時間: 2013-11-03
上傳用戶:hfnishi
單片機應用編程技巧100問1.C語言和匯編語言在開發(fā)單片機時各有哪些優(yōu)缺點?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。C語言是一種結(jié)構(gòu)化的高級語言。其優(yōu)點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執(zhí)行效率沒有匯編高。對于目前普遍使用的RISC架構(gòu)的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執(zhí)行什幺動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。所以在單片機開發(fā)中,我們還是建議采用匯編語言比較好。2.C或匯編語言可以用于單片機,C++能嗎?答:在單片機開發(fā)中,主要是匯編和C,沒有用C++的。3.搞單片機開發(fā),一定要會C嗎?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。對于目前普遍使用的RISC架構(gòu)的8bit MCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執(zhí)行什么動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。所以在資源較少單片機開發(fā)中,我們還是建議采用匯編語言比較好。
上傳時間: 2013-12-10
上傳用戶:busterman
Keil 還提供了一些輔助工具如外圍接口、性能分析、變量來源分析、代碼作用分析等,幫助我們了解程的性能、查找程序中的隱藏錯誤,快速查看程序變量名信息等,這一講中將對這些功工具作一介紹,另外還將介紹Keil 的部份高級調(diào)試技巧。這部份功能并不是直接用來進行程序調(diào)試的,但可以幫助我們進行程序的調(diào)試、程序性能的分析,同樣是一些很有用的工具。
上傳時間: 2013-10-28
上傳用戶:1966649934
在單片機應用開發(fā)中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機設(shè)計上的難題,《電子工程專輯》網(wǎng)站特邀Holtek香 港分公司工程部處長鄧宏杰先生擔任《單片機應用編程技巧》專題討論的嘉賓,與廣大 設(shè)計工程師交流單片機設(shè)計開發(fā)經(jīng)驗。現(xiàn)根據(jù)論壇中的討論歸納出單片機開發(fā)中應掌握 的幾個基本技巧。一、 如何提高C語言編程代碼的效率鄧宏杰指出,用C語言進行單片機程序設(shè)計是單片機開發(fā)與應用的必然趨勢。他強調(diào):“ 如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數(shù),這樣就可以很明確的知道效率。在今后編程的 時候,使用編譯效率最高的語句。” 他指出,各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時間僅比以匯編語言編寫的同樣功能程度長5-20%。他說:“對于復雜而開發(fā)時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統(tǒng)的C語言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調(diào)試起來問題就會很 多,反而導致執(zhí)行效率低于匯編語言。” 二、 如何減少程序中的bug? 對于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運行中應考慮的超范圍管理參數(shù)有: 1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵參數(shù)、采集處理中的運行參 數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵或 非正常回應進行出錯處理。 2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、 存儲單元長度、堆疊深度。在程式設(shè)計中,對資源參數(shù)不允許超范圍使用。 3.應用參數(shù)。這些應用參數(shù)常表現(xiàn)為一些單片機、功能單元的應用條件。如E2PROM的擦 寫次數(shù)與資料存儲時間等應用參數(shù)界限。 4.過程參數(shù)。指系統(tǒng)運行中的有序變化的參數(shù)。
上傳時間: 2013-10-21
上傳用戶:chukeey
Keil C51 使用技巧及實戰(zhàn):到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把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 這本書也能很好地為你服務但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設(shè)計。
上傳時間: 2013-10-27
上傳用戶:Jerry_Chow
隨著HDL Hardware Description Language 硬件描述語言語言綜合工具及其它相關(guān)工具的推廣使廣大設(shè)計工程師從以往煩瑣的畫原理圖連線等工作解脫開來能夠?qū)⒐ぷ髦匦霓D(zhuǎn)移到功能實現(xiàn)上極大地提高了工作效率任何事務都是一分為二的有利就有弊我們發(fā)現(xiàn)現(xiàn)在越來越多的工程師不關(guān)心自己的電路實現(xiàn)形式以為我只要將功能描述正確其它事情交給工具就行了在這種思想影響下工程師在用HDL語言描述電路時腦袋里沒有任何電路概念或者非常模糊也不清楚自己寫的代碼綜合出來之后是什么樣子映射到芯片中又會是什么樣子有沒有充分利用到FPGA的一些特殊資源遇到問題立刻想到的是換速度更快容量更大的FPGA器件導致物料成本上升更為要命的是由于不了解器件結(jié)構(gòu)更不了解與器件結(jié)構(gòu)緊密相關(guān)的設(shè)計技巧過分依賴綜合等工具工具不行自己也就束手無策導致問題遲遲不能解決從而嚴重影響開發(fā)周期導致開發(fā)成本急劇上升 目前我們的設(shè)計規(guī)模越來越龐大動輒上百萬門幾百萬門的電路屢見不鮮同時我們所采用的器件工藝越來越先進已經(jīng)步入深亞微米時代而在對待深亞微米的器件上我們的設(shè)計方法將不可避免地發(fā)生變化要更多地關(guān)注以前很少關(guān)注的線延時我相信ASIC設(shè)計以后也會如此此時如果我們不在設(shè)計方法設(shè)計技巧上有所提高是無法面對這些龐大的基于深亞微米技術(shù)的電路設(shè)計而且現(xiàn)在的競爭越來越激勵從節(jié)約公司成本角度出 也要求我們盡可能在比較小的器件里完成比較多的功能 本文從澄清一些錯誤認識開始從FPGA器件結(jié)構(gòu)出發(fā)以速度路徑延時大小和面積資源占用率為主題描述在FPGA設(shè)計過程中應當注意的問題和可以采用的設(shè)計技巧本文對讀者的技能基本要求是熟悉數(shù)字電路基本知識如加法器計數(shù)器RAM等熟悉基本的同步電路設(shè)計方法熟悉HDL語言對FPGA的結(jié)構(gòu)有所了解對FPGA設(shè)計流程比較了解
上傳時間: 2013-11-06
上傳用戶:asdfasdfd
用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默認情況下生成*.hex 的可執(zhí)行文件,但是當我們要生成*.bin 的可執(zhí)行文件時怎么辦呢?答案是可以使用RVCT 的fromelf.exe 工具進行轉(zhuǎn)換。也就是說首先將源文件編譯鏈接成*.axf 的文件,然后使用fromelf.exe 工具將*.axf 格式的文件轉(zhuǎn)換成*.bin格式的文件。下面將具體說明這個操作步驟:1. 打開Axf_To_Bin 文件中的Axf_To_Bin.uv2 工程文件;2. 打開Options for Target ‘Axf_To_Bin’對話框,選擇User 標簽頁;3. 構(gòu)選Run User Programs After Build/Rebuild 框中的Run #1 多選框,在后邊的文本框中輸入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin ./output/Axf_To_Bin.axf 命令行;4. 重新編譯文件,在./output/文件夾下生成了Axf_To_Bin.bin 文件。在上面的步驟中,有幾點值得注意的是:1. C:\Keil\ARM\BIN31\表示RV MDK 的安裝目錄;2. fromelf.exe 命令的具體語法格式如下:命令的格式為:fromelf [options] input_file命令選項如下:--help 顯示幫助信息--vsn 顯示版本信息--output file 輸出文件(默認的輸出為文本格式)--nodebug 在生成的映象中不包含調(diào)試信息--nolinkview 在生成的映象中不包含段的信息二進制輸出格式:--bin 生成Plain Binary 格式的文件--m32 生成Motorola 32 位十六進制格式的文件--i32 生成Intel 32 位十六進制格式的文件--vhx 面向字節(jié)的位十六進制格式的文件t--base addr 設(shè)置m32,i32 格式文件的基地址--text 顯示文本信息文本信息的標志-v 打印詳細信息-a 打印數(shù)據(jù)地址(針對帶調(diào)試信息的映象)-d 打印數(shù)據(jù)段的內(nèi)容-e 打印表達式表print exception tables-f 打印消除虛函數(shù)的信息-g 打印調(diào)試表print debug tables-r 打印重定位信息-s 打印字符表-t 打印字符串表-y 打印動態(tài)段的內(nèi)容-z 打印代碼和數(shù)據(jù)大小的信息
標簽: MDK bin 可執(zhí)行文件
上傳時間: 2013-12-17
上傳用戶:AbuGe
protel 99se 使用技巧以及常見問題解決方法:里面有一些protel 99se 特別技巧,還有我們經(jīng)常遇到的一些問題!如何使一條走線至兩個不同位置零件的距離相同? 您可先在Design/Rule/High Speed/Matched Net Lengths的規(guī)則中來新增規(guī)則設(shè)定,最后再用Tools/EqualizeNet Lengths 來等長化即可。 Q02、在SCHLIB中造一零件其PIN的屬性,如何決定是Passive, Input, I/O, Hi- Z,Power,…..?在HELP中能找到說明嗎?市面有關(guān) SIM?PLD?的書嗎?或貴公司有講義? 你可在零件庫自制零件時點選零件Pin腳,并在Electrical Type里,可以自行設(shè)定PIN的 屬性,您可參考臺科大的Protel sch 99se 里面有介紹關(guān)于SIM的內(nèi)容。 Q03、請問各位業(yè)界前輩,如何能順利讀取pcad8.6版的線路圖,煩請告知 Protel 99SE只能讀取P-CAD 2000的ASCII檔案格式,所以你必須先將P-CAD8.6版的格式轉(zhuǎn)為P-CAD 2000的檔案格式,才能讓Protel讀取。 Q04、請問我該如何標示線徑大小的那個平方呢 你可以將格點大小設(shè)小,還有將字形大小縮小,再放置數(shù)字的平方位置即可。 Q05、請問我一次如何更改所有組件的字型 您可以點選其中一個組件字型,再用Global的方法就可以達成你的要求。
上傳時間: 2015-01-01
上傳用戶:yxgi5
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1