單片機的C語言程序應用課件_第1頁
單片機的C語言程序應用課件_第2頁
單片機的C語言程序應用課件_第3頁
單片機的C語言程序應用課件_第4頁
單片機的C語言程序應用課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第二章C與8051

1.對單片機的指令系統(tǒng)不要求了解,僅要求對8051的存儲器結(jié)構(gòu)有初步了解;

寄存器的分配、不同存儲的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;關鍵字及運算函數(shù)可用近似人的思維過程方式使用;編程和程序調(diào)試時間顯著縮短,從而提高效率;提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;具有方便的模塊化編程技術,程序移植性強。C語言的優(yōu)點:2.2.2Cx51編譯器編譯器版本編譯時間存儲模式編譯堆棧浮點支持AmericanAutomation16.02.076min3sSMLNo[1]IAR4.05A2min3sTSCMLBYesYesAvocet1.31min47sSMLNoYesBso/Tasking1.102min25sSALYesYesKEIL3.011min28sSALYesYesIntermetrics3.322min52sSL[3]NoYesMCC1.7[2]SMLNoNoDunfields2.11[2]SL[4]NoNo注:[1]僅大模式有浮點支持;[3]支持幾種動態(tài)分配方案[2]不能翻譯所有測試程序;[4]ROM與RAM映射到同一地址空間3.2.3keil8051開發(fā)工具keil8051開發(fā)工具的用途:可用于編譯C源程序、匯編程序,鏈接和定位目標文件及庫,創(chuàng)建HEX文件以及調(diào)試目標程序。4.keil

開發(fā)套件對照表:部件PK51DK51CA51A51FR51μVsion2項目管理器和編輯器√√√√Ax51匯編器√√√√Cx編譯器√√√Bl51鏈接器/定位器√√√√LIB51庫管理器√√√√μVsion2調(diào)試器/模擬器√√RTX51Tiny√RTX51Full√5.keil

軟件開發(fā)流程:(1)創(chuàng)建一個項目,從期間數(shù)據(jù)庫中選擇目標芯片,并配置工具軟件的設置;(2)用C或匯編創(chuàng)建源程序;(3)用項目管理器構(gòu)造應用;(4)糾正源文件中的錯誤;(5)調(diào)試鏈接后的應用。6.文件夾組織結(jié)構(gòu)

安裝程序復制開發(fā)工具到基本目錄的各個子目錄中。默認的基本目錄是C:\KEIL。下表列出的文件夾結(jié)構(gòu)是包括所有8051開發(fā)工具的全部安裝信息。C:\KEIL\C51\ASM匯編SFR定義文件和模板源程序文件

C:\KEIL\C51\BIN8051工具的執(zhí)行文件

C:\KEIL\C51\EXAMPLES示例應用

C:\KEIL\C51\RTX51完全實時操作系統(tǒng)文件

C:\KEIL\C51\RTX_TINY小型實時操作系統(tǒng)文件

C:\KEIL\C51\INCC編譯器包含文件

C:\KEIL\C51\LIBC編譯器庫文件啟動代碼和常規(guī)I/O資源

C:\KEIL\C51\MONITOR目標監(jiān)控文件和用戶硬件的監(jiān)控配置C:\KEIL\UV2普通uVision2文件

7.keilCx51使用簡介:(1)點擊Project菜單,選擇彈出的下拉式菜單中的New

Project,如圖1-2。圖1-2

NewProject菜單8.(2)選擇所要的單片機,這里選擇常用的Ateml

公司的AT89c51。而且本單片機c語言教程里的大部分程序都是基于此芯片的,此時屏幕如圖1-4所示。圖1-4選取芯片9.圖1-5新建程序文件這個操作也能通過菜單File-New或快捷鍵Ctrl+N來實現(xiàn)。好了,現(xiàn)在能編寫程序了。10.11.圖1-6把文件加入到項目文件組中12.(5)編譯運行。看圖1-7,圖中1、2、3

都是編譯按鈕,不一樣是1

是用于編譯單個文件。2是編譯鏈接當前項目,如果先前編譯過一次之后文件沒有做動編輯改動,這個時候再點擊是不會再次重新編譯的。3

是重新編譯,每點擊一次均會再次編譯鏈接一次,不管程序是否有改動。在3

右邊的是停止編譯按鈕,只有點擊了前三個中的任一個,停止按鈕才會生效。5

是菜單中的它們。在4

中能看到編譯的錯誤信息和使用的系統(tǒng)資源情況等,以后我們要查錯就靠它了。6

是有一個小放大鏡的按鈕,這就是開啟\關閉調(diào)試模式的按鈕,它也存在于菜單Debug-Start\StopDebugSession,快捷鍵為Ctrl+F5。13.圖1-7編譯程序14.(6)進入調(diào)試模式,軟件窗口樣式大致如圖1-8所示。圖中1為運行,當程序處于停止狀態(tài)時才有效,2為停止,程序處于運行狀態(tài)時才有效。3是復位,模擬芯片的復位,程序回到最開頭處執(zhí)行。按4能打開5中的串行調(diào)試窗口,這個窗口能看到從51芯片的串行口輸入輸出的字符。15.2.4Cx51程序開發(fā)過程Cx51源程序Cx51編譯器浮動目標碼模塊鏈接器絕對定位目標碼文件EPROM編程器系統(tǒng)庫用戶庫列表文件映像文件硬件仿真16.2.5Cx51程序結(jié)構(gòu)一般格式:類型函數(shù)名(數(shù)據(jù)類型形式參數(shù),數(shù)據(jù)類型形式參數(shù)···){

數(shù)據(jù)說明部分;執(zhí)行語句部分;}一個函數(shù)可以以3種形態(tài)出現(xiàn):函數(shù)定義,函數(shù)調(diào)用,函數(shù)說明.17.Cx51程序結(jié)構(gòu)

程序:P1端口輸出#include<REG52.H> //單片機資源描述voidmain(void) //一個項目只有一 //個main主函數(shù){ //函數(shù)體開始 P1=0x55; //隔一個為高 while(1){;} //單片機空循環(huán)待機} //函數(shù)體結(jié)束18.Cx51編程要點1.C語言由函數(shù)構(gòu)成2.一個函數(shù)由兩個部分組成3.C程序總是從mian()函數(shù)開始的4.書寫格式自由5.分號結(jié)束6.C語言對輸入/輸出“函數(shù)化”7.注解用//或/*內(nèi)容*/19.C程序的規(guī)范化設計在單片機C程序設計中,項目一般按功能模塊化進行結(jié)構(gòu)化設計。將一個項目劃分為多個功能,每個功能的相關程序放在一個C程序文檔中,稱之為一個模塊,對應的文件名即為模塊名。一個模塊通常由兩個文檔組成,一個為頭文件*.h,對模塊中的數(shù)據(jù)結(jié)構(gòu)和函數(shù)原型進行描述;另一個則為C文件*.c

,對數(shù)據(jù)實例或?qū)ο蠖x,以及函數(shù)算法具體實現(xiàn)。20.H頭文件的作用作為項目設計,除了對項目總體功能進行詳細描述外,就是對每個模塊進行詳細定義,也就是給出所有模塊的頭文件。通常H頭文件要定義模塊中各函數(shù)的功能,以及輸入和輸出參數(shù)的要求。模塊的具體實現(xiàn),由項目組成根據(jù)H文件進行設計、編程、調(diào)試完成。為了保密和安全,模塊實現(xiàn)后以可連接文件OBJ、或庫文件LIB的方式提供給項目其他成員使用。21.H頭文件的基本格式//如下為鍵盤驅(qū)動模塊KeyDriver.H的模型#ifndef _KeyDriver_H_ //防重復引用#define _KeyDriver_H_ //此符號唯一/////////////////////////////////////////////////////////////////charkbhit(void); //擊鍵否unsignedchargetch(void); //取鍵值/////////////////////////////////////////////////////////////////#endif22.C程序的基本格式#include<REG52.H> //頭文件在系統(tǒng)中#include“KeyDriver.h” //頭文件在項目中charkbhit(void) //擊鍵否{}unsignedchargetch(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論