接下來的幾節,我們會帶著人人編寫第一個單片機程序。在此之前,我們先來理解一些 51 單片機特有的程序語法以及 Keil 軟件的根本操作步調,請人人必定要有耐煩。
我們次要是用 C 言語來對單片機編程,而有的單片機有那么幾條很特別的獨有的編程語句,51 單片機就有,先引見 2 條。
如圖 2-7,是截取的手冊中第 22 頁最下邊的一個表格。
第一條語句是:sfr P0 = 0x80;
sfr 這個癥結字,是 51 單片機特有的,他的感化是界說一個單片機特別功用存放器(special function register)。51 單片機外部有許多個小模塊,每一個模塊寓居在具有獨一房間號的房間內,同時每一個模塊都有 8 個掌握開關。P0 就是一個功用模塊,就住在了 0x80 這個房間里,我們就是經過設置 P0 外部這個模塊的 8 個開關,來讓單片機的 P0 這 8 個 IO 口輸入高電平或許低電平的。而 51 單片機外部有許多存放器,假如我們想運用的話必需提早停止 sfr 聲明。不外 Keil 軟件曾經把一切這些聲明都事后寫好并保管到一個專門的文件中去了,我們要用的話只需文件掃尾添加一行#include
第二條語句是:sbit LED = P0^0;
這個 sbit,就是對方才所說的 SFR 里邊的 8 個開關個中的一個停止界說。經由上邊第二條語句后,今后只需在程序里寫 LED,就代表了 P0.0 口(“^”這個符號在數字鍵 6 上邊),留意這個 P 必需大寫,也就是說我們給 P0.0 又取了一個更抽象的名字叫做 LED。
理解了這兩個語句后,我們來大約看一下單片機的特別功用存放器。請留意,每一個型號的單片機都邑配有消費廠商所編寫的數據手冊(Datasheet),所以我們來看一下 STC89C52 的數據手冊,從 21 頁到 24 頁,全體是對特別功用存放器的引見以及地址映射列表。我們在運用這個存放器之前,必需對這個存放器的地址停止闡明。是不是花花綠綠的太多了,記不住啊,這個沒緊要的,不需求你記住,理解一下,后邊大局部我會漸漸給人人說明,少局部需求用到的時分,本人過去查手冊就可以了,做技巧不是為了敷衍測驗,你可以隨時翻閱手冊查找你需求的材料。
圖 2-7 IO 口特別功用存放器
我們來看一下這個表,個中 P4 口 STC89C52 對規范 51 的擴大,我們先疏忽它,只看前邊的 P0、P1、P2、P3 這 4 個,每一個 P 口自身又有 8 個掌握端口。人人可以聯合我們的開辟板道理圖或許圖 2-1 來看,那么如許就肯定了我們的單片機一共有 32 個 IO 口(IO,Input 和 Output,辨別是輸出和輸入)。
個中 P0 口地點的地址是 0x80,一共有從 7 到 0 這 8 個 IO 口掌握位,后邊有個 Reset Value(復位值),這個很主要,是我們看存放器必看的一個參數,8 個掌握位復位值全體多是 1。
這就是通知我們,每當單片機上電復位的時分,一切的引腳的值默許是多是 1,即高電平,我們在設計電路的時分也要充沛的思索這個成績。
那么上邊那 2 條語句,我們寫 sfr 的時分,必需要依據手冊里的這個地址(Add)去寫,寫sbit 的時分,就可以直接將一個字節個中某一位掏出來。我們編程的時分,也有現成的寫好存放器地址的頭文件,我們直接包括該頭文件就可以了,不需求一一去寫了。
上一篇:51單片機匯編程序,溫度報警項目
下一篇:C51單片機0~60計數器
推薦閱讀
史海拾趣
Adam Tech深知品質是企業生存和發展的基石。因此,公司始終將品質管理放在首位,通過引進先進的生產設備和技術,以及實施嚴格的質量控制流程,確保每一款產品都符合客戶的要求和行業標準。同時,公司還建立了完善的售后服務體系,及時解決客戶在使用過程中遇到的問題。這種對品質的執著追求和持續改進的精神,使得Adam Tech在客戶中贏得了良好的口碑。
為了進一步擴大市場份額和提升品牌影響力,DiCon積極開展國際合作與全球布局。公司與多家國際知名企業建立了戰略合作關系,共同研發和推廣光纖通信技術。同時,DiCon還在全球范圍內設立了多個研發中心和銷售分支機構,以便更好地服務當地客戶和市場。
Dynastream公司成立于1998年,當時正值科技飛速發展的年代。創始人憑借其敏銳的市場洞察力和對技術的深厚理解,決定專注于個人監視傳感器和運動分析領域的研究與開發。在創業初期,公司面臨資金短缺、人才匱乏等種種困難,但團隊憑借著對技術的熱情和不懈的努力,成功研發出了第一代產品,并在市場上引起了廣泛關注。
1965年,Everett Charles Technologies (ECT) 公司正式成立,標志著其在電子測試系統硬件與軟件領域的起點。ECT的創始人憑借對電子技術的深刻理解和市場需求的敏銳洞察,成功開發出了一系列符合工業標準的產品,包括POGO探針、ValuGrid測試治具等。這些產品的推出,不僅奠定了ECT在電子測試領域的基礎,也為公司的后續發展提供了強大的動力。
1996年,ECT為了進一步壯大在產業中的主導地位,加入了Dover集團。Dover集團是一家在紐約股票交易所上市的全美500強大企業之一,其業務涵蓋工業、工程系統、流體、電子技術等多個領域。加入Dover集團后,ECT得到了更多的資源和支持,實現了跨越式發展。Dover集團的全球布局和豐富資源,為ECT在全球范圍內的業務拓展提供了有力保障。
ECT一直致力于技術創新和研發,不斷推出具有競爭力的新產品。多年來,ECT成功擁有了100多項專利,這些專利不僅涵蓋了電子測試系統的各個方面,也體現了公司在技術上的領先地位。通過不斷的技術創新,ECT贏得了眾多世界知名電子公司及其代工廠的長期合作伙伴關系,進一步鞏固了其在行業中的主導地位。
你好!我是今年將要畢業的一個大學生,學的是電氣工程及其自動化。在學校單片機、DSP都學過一點,可是都是皮毛,用的是匯編。實驗的時候都是老師給程序,讀得懂就可以了,而且只涉及一些簡單的功能?,F在在單位實習,主要是用單片機,而且是用C編程 ...… 查看全部問答∨ |
最近在做S6E63D6為驅動芯片的OLED屏驅動,用SPI控制屏幕,那LCD控制器還有用嗎,因為以前的驅動是控制LCD的,我想在那個基礎上改,是不是LCD控制器的作用完全被SPI控制器取代了?還有怎么啟動RGB模式,感覺思維比較混亂,希望有高手幫忙下 … 查看全部問答∨ |
TI Code Composer Studio (CCS) v5.x中文應用指南-軟件、安裝、注冊、教程、示例全集 CCS開發軟件的歷史 早期的開發軟件叫CC,版本是 4.10,分四個系列(2000、3000、5000、6000), 所以有四套軟件,可以安裝在同一臺計算機上。 現在僅在特定的幾個DSP上使用。 隨后的開發軟件叫CCS,版本是2.21,分三個系列(2000、5000、6000), 所以 ...… 查看全部問答∨ |
|
大家好,我是一名新手,最近正在學習“ALIENTEK戰艦STM32開發板”,下面把總結到的一些東西分享給大家; 希望大家多提寶貴意見; 本人菜鳥一個,希望大蝦多多拍磚! 我今天學習的是“STM32開發指南V1.0 庫函數版本”第六章的內容; 這一章主要 ...… 查看全部問答∨ |
|
柴油發動機的工作過程其實跟汽油發動機一樣的,每個工作循環也經歷進氣、壓縮、作功、排氣四個行程。但由于柴油機用的燃料是柴油,其粘度比汽油大,不易蒸發,而其自燃溫度卻較汽油低,因此可燃混合氣的形成及點火方式都與汽油機不同。 柴油 ...… 查看全部問答∨ |
程序框架: 本設計使用高速晶體振蕩器,程序如下:BCSCTL1 &= ~XT2OFF;//打開XT2高頻晶體振蕩do{ IFG1 &= ~OFIFG;//清除晶振失敗標志 for (i = 0xFF; i > 0; i--);//等待8MHz晶體起振} while ((IFG1 & OFIF ...… 查看全部問答∨ |