91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第一個單片機程序(C言語編寫)

發布時間:2020-07-16 18:13:36 來源:網絡 閱讀:1001 作者:yuw2017 欄目:網絡安全

忙活了半天,預備任務做了那么多,終于要編寫我們的程序代碼了。假如學過 C 言語的話,你應當很輕松的跟著我的編程本人寫出來,假如沒學過 C 言語也沒緊要,你先照著我的抄,我會在適宜的地位寫出來對 C 言語語法的說明,如許抄幾回后再看看說明,就應當很明確了,抄的時分必定要仔細,特別標點符號弗成以搞錯。
第一個單片機程序:

			#include <reg52.h> //包括特別功用存放器界說的頭文件 sbit LED = P0^0; //位地址聲明,留意:sbit 必需小寫、P 大寫! void main(){ //任何一個 C 程序都必需有且僅有一個 main 函數 LED = 0; //分號表現一條語句完畢 }


先從程序語法下去剖析一下:

  • main 是主函數的函數名字,每個 C 程序都必需有且僅有一個 main 函數。

  • void 是函數的前往值類型,本程序沒有前往值,用 void 表現。

  • {}在這里是函數開端和完畢的標記,弗成省略。

  • 每條 C 言語語句以;完畢的。


邏輯下去看,程序如許寫就可以了,然則在實踐單片機使用中,存在一個成績。比方我們的程序空間可以包容 100 行代碼,然則我們實踐上的程序只用了 50 行代碼,當運轉完了50 行,再持續運轉時,第 51 行的程序不是我們想運轉的程序,而是不肯定的未知內容,一旦履行下去程序就會失足從而能夠招致單片機主動復位,所以我們平日在程序中參加一個死輪回,讓程序逗留在我們愿望的這個形態下,不要亂運轉,有以下兩種寫法可以參考:
參考程序一:

			#include <reg52.h> sbit LED = P0^0; void main(){ while(1){ LED = 0; } }


參考程序二:

			#include <reg52.h> sbit LED = P0^0; void main(){ LED = 0; while(1); }


程序一的功用是程序在重復不時的有限次履行 LED = 0;這條語句,而程序二的功用是履行一次,然后程序直接逗留下來等候,絕對程序一來說程序二愈加簡練一些。針關于圖 2-6,我們這個程序可以把小燈點亮,然則這個程序卻點不亮我們板子上的小燈,這是為什么呢?
這里人人就要培育一個認識了,我們做單片機編程,實踐上算是硬件底層驅動程序開辟,這種程序的開辟,是離不開電路圖的,必需依據我們的電路圖來停止程序的編寫。假如我們設計電路板的電路圖和圖 2-6 一樣的話,程序可以勝利點亮小燈,然則假如紛歧樣,就能夠點不亮。
我們的開辟板上,還有一個 74HC138 作為 8 個 LED 小燈的總開關,而 P0.0 僅僅是個離開關。好像我們家里老是有一個供電總閘,然后每一個電燈又有一個專門的開關,我們方才的程序僅僅翻開了誰人電燈的開關,然則沒有翻開誰人總電閘,所以程序需求加上這局部代碼。
由于這節課要引見的內容比擬多,所以我們把 74HC138 的道理以及為什么要加額定的代碼鄙人節課一致引見,這節課我們直接加上這局部代碼,人人曉得有這么一回事就可以了。

			#include <reg52.h> //包括特別功用存放器界說的頭文件 sbit LED = P0^0; //位地址聲明,留意:sbit 必需小寫、P 大寫! sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main(){ ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //點亮小燈 while (1); //程序中止在這里 }


寫了這么多煩瑣的語句,剛開端人人能夠認為很費事,為什么有的書上程序很復雜就可以點亮小燈,我們這里卻這么費事呢。人人要理解一點,就是我們做這個進修板,固然僅僅供給給人人復雜進修運用,然則我們也得依照實踐產物的開辟形式去設計,所以綜合思索要素許多,人人學到后邊就會明確它的設計價值了,這里人人只需跟著我們去做就可以了。
程序編好了,我們要對我們的程序停止編譯,生成我們需求的可以下載到單片機里的文件,在編譯之前,我們先要勾選一個選項,Project-->Options for Target Target1...,或許直接點圖 2-17 中紅框內的快捷圖標:

第一個單片機程序(C言語編寫)
圖 2-17  工程選項圖標


在彈出的對話框中,點擊 Output 選項頁,勾選個中的“Create HEX File”復選框,然后點 OK,如圖 2-18 所示。

第一個單片機程序(C言語編寫)
圖 2-18  創立 HEX 文件


設置好今后呢,點擊“Project-->rebuild all target files”,或許鼠標點擊圖 2-19 中紅框內的快捷圖標,就可以對程序停止編譯了。

第一個單片機程序(C言語編寫)
圖2-19  編譯程序


編譯完成后,在我們的 Keil 下方的 Output 窗口會呈現響應的提醒,人人留意看圖 2-20,這個窗口通知我們編譯完成后的狀況,data=9.0,指的是我們的程序運用了單片機外部的 256字節 RAM 資本中的 9 個字節,code=29 的意思是運用了 8K 代碼 Flash 資本中的 29 個字節。
當提醒“0 Error(s), 0 warning(s)”表現我們的程序沒有毛病和正告,就會呈現“creating hex file from “LED”...,意思是從以后工程生成了一個 HEX 文件,我們要下載到單片機上的就是這個HEX 文件。假如呈現有毛病和正告提醒的話,就是 Error 和 warning 不是 0,那么我們就要對程序停止反省,找出成績,處理好了再停止編譯發生 HEX 才可以。

第一個單片機程序(C言語編寫)
圖2-20  編譯輸入信息


到此為止,程序就編譯好了,下邊我們就要把編譯好的程序文件下載到單片機里了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平原县| 黎川县| 永宁县| 洛南县| 溧水县| 高青县| 宁阳县| 嘉定区| 呼和浩特市| 宝应县| 佛学| 大关县| 峨眉山市| 卫辉市| 土默特右旗| 乌拉特前旗| 仲巴县| 万州区| 巨野县| 天台县| 崇信县| 清丰县| 噶尔县| 阿尔山市| 彭山县| 禄劝| 靖江市| 社旗县| 微山县| 贵德县| 阿勒泰市| 富平县| 临夏县| 冕宁县| 沅陵县| 光山县| 霸州市| 大兴区| 博乐市| 咸丰县| 曲阳县|