freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

單片機課程設計-基于單片機的數(shù)字秒表設計(編輯修改稿)

2024-10-08 19:34 本頁面
 

【文章內容簡介】 12M,該數(shù)值與最終產生的目標代碼無關,僅用于軟件模擬調試時顯示程序執(zhí)行時間。正確設置該數(shù)值可使顯示時間與實際所用時間一致,一般將其設置成與你的硬件所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時間,也可以不設,這里設置為 12。 設置對話框中的 OutPut 頁面,如圖 所示,這里面也有多個選擇項,其中 Creat Hex file 用于生成可執(zhí)行代碼文件(可以用 編程器 寫入單片機芯片的 HEX 格式文件,文件的擴展名為 .HEX),默認情況下該項未被選中,如果要寫片做硬件實驗,就必須選中該項,這一點是初學者易疏忽的,在此特別提醒注意。選中 Debug information 將會產生調試信息,這些信息用于調試,如果需要對程序進行調試,應當選中該項。 Browse information 是產生瀏覽信息,該信息可以用菜單 viewBrowse 來查看,這里取默認值。按鈕 Select Folder for objects” 是用來選擇最終的目標文件所在的文件夾,默認是與工程文件在同一個文件夾中。 Name of Executable 用于指定最終生成的目標文件的名字,默認與工程的名字相同,這兩 項一般不需要更改。 工程設置對話框中的其它各頁面與 C51編譯選項、 A51 的匯編選項、 BL51 連接器的連接選項等用法有關,這里均取默認值,不作任何修改。以下僅對一些有關頁面中常用的選項作一個簡單介紹。 圖 Listing 標簽頁用于調整生成的列表文件選項。在匯編或編譯完成后將產生( *.lst)的列表文件,在連接完成后也將產生( *.m51)的列表文件,該頁用于對列表文件的內容和形式進行細致的調節(jié),其中比較常用的選項是 “C Compile Listing” 下的“Assamble Code” 項,選中該項可以在列表文件中生成 C 語言源程序所對應的匯編代碼。 圖 代碼生成控制 C51 標簽頁用于對 Keil 的 C51 編譯器的編譯過程進行控制,其中比較常用的是“Code Optimization” 組,如圖 7 所示,該組中 Level 是優(yōu)化等級, C51 在對源程序進行編譯時,可以對代碼多至 9 級優(yōu)化,默認使用第 8級,一般不必修改,如果在編譯中出現(xiàn)一些問題,可以降低優(yōu)化級別試一試。 Emphasis 是選擇編譯優(yōu)先方式,第一項是代碼量優(yōu)化(最終生成的代碼量?。?;第二項是速度優(yōu)先(最終生成的代碼速度快); 第三項是缺省。默認的是速度優(yōu)先,可根據(jù)需要更改。設置完成后按確認返回主界面,工程文件建立、設置完畢。 、連接 圖 有關編譯、連接、項目設置的工具條 在設置好工程后,即可進行編譯、連接。選擇菜單 ProjectBuild target,對當前工程進行連接,如果當前文件已修改 ,軟件會先對該文件進行編譯,然后再連接以產生目標代碼;如果選擇 Rebuild All target files 將會對當前工程中的所有文件重新進行編譯然后再連接,確保最終生產的目標代碼是最新的,而 Translate ? . 項則僅對該文件進行編譯,不進行連接。 以上操作也可以通過工具欄按鈕直接進行。圖 8 是有關編譯、設置的工具欄按鈕,從左到右分別是:編譯、編譯連接、全部重建、停止編譯和對工程進 行設置。 編譯過程中的信息將出現(xiàn)在輸出窗口中的 Build 頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可 以定位到出錯的位置,對源程序反復修改之后,最終會得到如圖 所示的結果,提示獲得了名為 的文件,該文件即可被編程器讀入并寫到芯片中,同時還產生了一些其它相關的文件,可被用于 Keil 的仿真與調試,這時可以進入下一步調試的工作。 圖 正確編譯、連接之后的結果 設計思 想 本設計采用了 C 語言編寫,由于 C語言編程靈活,可移植性強。 在一定程度上簡化了編程過程。模塊化結構程序的設計,可以使系統(tǒng)軟件便于調試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設計。 主程序設 計 本系統(tǒng)程序主要模塊由主程序、定時中斷服務程序、外部中斷 0 服務程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進行調用。協(xié)調各個子程序之間的聯(lián)系。系統(tǒng)(上電)復位后,進入主程序,主程序流程圖如圖 8所示 。 當外部中斷有請求則去執(zhí)行外部中斷服務程序。并在執(zhí)行完后返回主程序。 外部 中斷程序設計 中斷的概念 CPU 在處理某一事件 A時,發(fā)生了另一事件 B 請求 CPU 迅速去處理(中斷發(fā)生); CPU暫時中斷當前的工作,轉去處理事件 B(中斷響應和中斷服務);待 CPU 將事件 B處理完畢后,再回到原來事件 A被中斷的地方繼續(xù)處理事件 A(中斷返回),這一過程稱為中斷 。 K=1 Temp++ 圖 主程序 流程圖 開始 程序初始化 Temp=0 K=2 Temp=temp K=0 Temp=0 顯示數(shù)據(jù) 定時中斷程序設計 定時 /計數(shù)器的結構 定時 /計數(shù)器的實質是加 1 計數(shù)器( 16 位),由高 8位和低 8位兩個寄存器組成。 TMOD是定 時 /計數(shù)器的工作方式寄存器,確定工作方式和功能; TCON 是控制寄存器,控制 T0、T1 的啟動和停止及設置溢出標志 。 定時 /計數(shù)器的原理 加 1 計數(shù)器輸入的計數(shù)脈沖有兩個來源 ,一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經 12分頻后送來;一個是 T0或 T1 引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加 1,當加到計數(shù)器為全 1 時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使 TCON 中 TF0或 TF1 置 1,向 CPU發(fā)出中斷請求(定時 /計數(shù)器中斷允許時)。如果定時 /計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表 示計數(shù)值已滿。 可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加 1 計數(shù)器的計數(shù)值。 圖 中斷 程序 子 流程圖 否 K=2 是 K++ INT0 中斷 K=0 圖 定時器 T0子程序流程圖 實驗程序 AT89C52 顯示 ~ 匯編語言程序 。 要實現(xiàn) 四 位數(shù)碼管顯示 ~ 依次循環(huán)的秒表設計,必須得將 AT89C52 芯片寫入程序,只有將程序寫進 AT89C52芯片,才能實現(xiàn)其秒表的原理功能。 主函數(shù)設計 void main() { init()。 //初始化子程序 while(1) { if(k==0) { init()。 //初始化子程序 wela=1。 //初始設置顯示 P2=0XFF。 wela=0。 P0=0xc0。 否 是 中斷返回 定時器 T0入口地址 調用數(shù)碼顯示子程序 Temp 加 1 置初值 定時器溢出中斷 } if(k==1) //第二次按鍵開始計數(shù) { if(temp==9999) //當計數(shù)超過 秒時清零 { temp=0。 } qian=temp/1000。 //計算數(shù)碼 管第一位 bai=temp%1000/100。 //計算數(shù)碼管第二位 shi=temp%1000%100/10。 //計算數(shù)碼管第三位 ge=temp%10。 //計算數(shù)碼管第四位 display(qian,bai,shi,ge)。 //顯示時間 } Else //第二次按鍵時停止 { qian=temp/1000。 bai=temp%1000/100。 shi
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1