在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機設計上的難題,《電子工程專輯》網站特邀Holtek香 港分公司工程部處長鄧宏杰先生擔任《單片機應用編程技巧》專題討論的嘉賓,與廣大 設計工程師交流單片機設計開發經驗。現根據論壇中的討論歸納出單片機開發中應掌握 的幾個基本技巧。一、 如何提高C語言編程代碼的效率鄧宏杰指出,用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。他強調:“ 如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的 時候,使用編譯效率最高的語句。” 他指出,各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。他說:“對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很 多,反而導致執行效率低于匯編語言。” 二、 如何減少程序中的bug? 對于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統運行中應考慮的超范圍管理參數有: 1.物理參數。這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參 數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或 非正常回應進行出錯處理。 2.資源參數。這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、 存儲單元長度、堆疊深度。在程式設計中,對資源參數不允許超范圍使用。 3.應用參數。這些應用參數常表現為一些單片機、功能單元的應用條件。如E2PROM的擦 寫次數與資料存儲時間等應用參數界限。 4.過程參數。指系統運行中的有序變化的參數。
上傳時間: 2013-10-21
上傳用戶:chukeey
新版交通燈模組范例代碼、電路原理圖、PCB圖、使用說明書和產品說明書(快速上手)。
上傳時間: 2013-10-20
上傳用戶:edward_0608
隨著單片機開發技術的不斷發展,目前已有越來越多的人從普遍使用匯編語言到逐漸使用高級語言開發,其中主要是以C語言為主,市場上幾種常見的單片機均有其C語言開發環境。這里以最為流行的80C51單片機為例來學習單片機的C語言編程技術。大家都有C語言基礎,但是編單片機程序,大家還得找專門的書來學習一下。這里我們只介紹Keil這種工具軟件的用法。學習一種編程語言,最重要的是建立一個練習環境,邊學邊練才能學好。Keil軟件是目最流行開發80C51系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(µVision)將這些部份組合在一起。下面我以一個實驗舉一個例子,一步一步學習Keil軟件的使用。 首先我們看硬件原理圖: 很明顯,要點亮使發光二極管,必須使單片機的I/O口P1.0輸出低電平。于是我們的任務就是編程序使P1.0輸出地電平。1. 使用Keil前必須先安裝。安裝過程簡單,這里不在敘述。2. 安裝好了Keil軟件以后,我們打開它。打開以后界面如下:
上傳時間: 2013-11-07
上傳用戶:wtrl
Keil C51 使用技巧及實戰:到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發是一個好的決定你會發現使用C 進行開發將使你的工程開發和維護的時間大大減少如果你已經擁有Keil C51 那你已經選擇了一個非常好的開發工具我發現Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據你所用的開發工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計。
上傳時間: 2013-10-27
上傳用戶:Jerry_Chow
微機接口技術試題:《微機接口技術》模擬試題 一、 選擇題:(每空1分,共20分)1. CPU與外設之間交換數據常采用 、 、 和 四種方式,PC機鍵盤接口采用 傳送方式。 ⒉ 當進行DMA方式下的寫操作時,數據是從 傳送到 __中。 ⒊ PC總線、ISA總線和EISA總線的地址線分別為: 、 和 根。 ⒋ 8254定時/計數器內部有 個端口、共有 種工作方式。 ⒌8255的A1和A0引腳分別連接在地址總線的A1和A0,當命令端口的口地址為317H時,則A口、B口、C口的口地址分別為 、 、 。 ⒍ PC微機中最大的中斷號是 、最小的中斷號是 。 ⒎PC微機中鍵盤是從8255的 口得到按鍵數據。 ⒏ 串行通信中傳輸線上即傳輸_________,又傳輸_________。 二、選擇題:(每題2分,共10分)⒈ 設串行異步通信每幀數據格式有8個數據位、無校驗、一個停止位,若波特率為9600B/S,該方式每秒最多能傳送( )個字符。 ① 1200 ② 150 ③ 960 ④ 120 2.輸出指令在I/O接口總線上產生正確的命令順序是( )。① 先發地址碼,再發讀命令,最后讀數據。② 先發讀命令、再發地址碼,最后讀數據。③ 先送地址碼,再送數據,最后發寫命令。④ 先送地址碼,再發寫命令、最后送數據。3 使用8254設計定時器,當輸入頻率為1MHZ并輸出頻率為100HZ時,該定時器的計數初值為( )。 ① 100 ② 1000 ③ 10000 ④ 其它 4 在PC機中5號中斷,它的中斷向地址是( )。 ① 0000H:0005H ② 0000H:0010H ③ 0000H:0014H ④ 0000H:0020H 5. 四片8259級聯時可提供的中斷請求總數為( )。 ① 29個 ② 30個 ③ 31個 ④ 32個 6. 下述總線中,組內都是外設串行總線為( )組。① RS-485、IDE、ISA。② RS-485、IEEE1394、USB。③ RS-485、PCI、IEEE1394。④ USB、SCSI、RS-232。 7. DMA在( )接管總線的控制權。① 申請階段 ② 響應階段 ③ 數據傳送階段 ④ 結束階段 8. 中斷服務程序入口地址是( )。 ① 中斷向量表的指針 ② 中斷向量 ③ 中斷向量表 ④ 中斷號
上傳時間: 2013-11-16
上傳用戶:xiaoxiang
ICCAVR軟件中文使用說明書:一ImageCraft 的ICC AVR 編譯器安裝1 運行光盤上的SETUP.EXE 程序進行安裝方法一a 打開我的電腦b 打開光盤驅動器所對應的盤符c 雙擊光盤中文件SETUP.EXE 的圖標d 按照屏幕提示選定一個安裝路徑后進行安裝方法二a 在開始菜單中選擇運行項目b 在運行對話框中填入drive:\setup.exe注意drive 對應你的機器中的光盤驅動器盤符c 按確定鍵開始安裝d 其余同方法一注意按上述方法進行安裝后得到的是一個只可以使用30 天的未注冊版對正式版用戶還要進行第二步的注冊才可得到一個無時間限制的正式版ICC AVR 正式版分標準版和專業版在標準版中有一些功能限制如代碼的壓縮工程和文件的配置檢查在標準版中不可以使用
上傳時間: 2013-10-23
上傳用戶:hwl453472107
ICCAVR中文使用說明:ICCAVR 介紹1 ImageCraft 的ICCAVR 介紹ImageCraft 的ICCAVR 是一種使用符合ANSI 標準的C 語言來開發微控制器MCU程序的一個工具它有以下幾個主要特點ICCAVR 是一個綜合了編輯器和工程管理器的集成工作環境IDE 其可在WINDOWS9X/NT 下工作源文件全部被組織到工程之中文件的編輯和工程的構筑也在這個環境中完成編譯錯誤顯示在狀態窗口中并且當你用鼠標單擊編譯錯誤時光標會自動跳轉到編輯窗口中引起錯誤的那一行這個工程管理器還能直接產生您希望得到的可以直接使用的INTELHEX 格式文件INTEL HEX 格式文件可被大多數的編程器所支持用于下載程序到芯片中去ICCAVR 是一個32 位的程序支持長文件名出于篇幅考慮本說明書并不介紹通用的C 語言語法知識僅介紹使用ICC AVR 所必須具備的知識因此要求讀者在閱讀本說明書之前應對C 語言有了一定程度的理解2 ICCAVR 中的文件類型及其擴展名文件類型是由它們的擴展名決定的IDE 和編譯器可以使用以下幾種類型的文件輸入文件.c 擴展名----表示是C 語言源文件.s 擴展名----表示是匯編語言源文件.h 擴展名----表示是C 語言的頭文件.prj 擴展名----表示是工程文件這個文件保存由IDE 所創建和修改的一個工程的有關信息.a 擴展名----庫文件它可以由幾個庫封裝在一起libcavr.a 是一個包含了標準C 的庫和AVR 特殊程序調用的基本庫如果庫被引用鏈接器會將其鏈接到您的模塊或文件中您也可以創建或修改一個符合你需要的庫輸出文件.s 對應每個C 語言源文件由編譯器在編譯時產生的匯編輸出文件.o 由匯編文件匯編產生的目標文件多個目標文件可以鏈接成一個可執行文件.hex INTEL HEX 格式文件其中包含了程序的機器代碼.eep INTEL HEX 格式文件包含了EEPROM 的初始化數據.cof COFF 格式輸出文件用于在ATMEL 的AvrStudio 環境下進行程序調試.lst 列表文件在這個文件中列舉出了目標代碼對應的最終地址.mp 內存映象文件它包含了您程序中有關符號及其所占內存大小的信息.cmd NoICE 2.xx 調試命令文件.noi NoICE 3.xx 調試命令文件.dbg ImageCraft 調試命令文件
上傳時間: 2013-10-29
上傳用戶:truth12
使用C語言肯定要使用到C編譯器,以便把寫好的C程序編譯為機器碼,這樣單片機才能執行編寫好的程序。KEIL uVISION2是眾多單片機應用開發軟件中優秀的軟件之一,它支持眾多不同公司的MCS51架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和C語言的程序設計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發51應用的工程師或普通的單片機愛好者,都對它十分喜歡。 以上簡單介紹了KEIL51軟件,要使用KEIL51軟件,必需先要安裝它。KEIL51是一個商業的軟件,對于我們這些普通愛好者可以到KEIL中國代理周立功公司的網站上下載一份能編譯2K的DEMO版軟件,基本可以滿足一般的個人學習和小型應用的開發。(安裝的方法和普通軟件相當這里就不做介紹了) 安裝好后,你是不是迫不及待的想建立自己的第一個C程序項目呢?下面就讓我們一起來建立一個小程序項目吧。或許你手中還沒有一塊實驗板,甚至沒有一塊單片機,不過沒有關系我們可以通過KEIL軟件仿真看到程序運行的結果。 首先當然是運行KEIL51軟件。怎么打開?噢,天!那你要從頭學電腦了。呵呵,開個玩笑,這個問題我想讀者們也不會提的了:P。運行幾秒后,出現如圖1-1的屏幕。
上傳時間: 2013-11-10
上傳用戶:邶刖
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
medwin使用說明手冊
標簽: medwin
上傳時間: 2013-11-24
上傳用戶:nem567397