




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目二鍵盤系統(tǒng)與顯示系統(tǒng)設計任務2.1流水燈系統(tǒng)設計“十四五”職業(yè)教育國家規(guī)劃教材單片機應用技術項目教程/learn/NTVU-1206695819?tid=1474236512#/learn/content目前家用電器已不斷向智能化、多功能化方向發(fā)展,例如微波爐,通過按鍵和顯示器就可很簡單地進行操作,實現(xiàn)各種功能。那么你了解的顯示技術有哪些?這些顯示技術分別在哪些領域應用?單片機又是如何和按鍵、顯示器進行連接并實現(xiàn)人機對話的?項目導讀[自主創(chuàng)新科技報國]在國家的支持下,我國企業(yè)通過幾十年持之以恒的努力,憑借堅韌不拔的意志以及對自主創(chuàng)新持續(xù)不斷的追求與實踐,成功實現(xiàn)了LCD產業(yè)從高度依賴進口到自主生產的蛻變,并最終在總產能上躍居全球首位連接并實現(xiàn)人機對話的?學海領航任務內容組裝一個簡易流水燈系統(tǒng),由單片機外接8個發(fā)光二極管,要求系統(tǒng)上電后,8個發(fā)光二極管依次被循環(huán)點亮。/previewIndex/1060470學習目標素養(yǎng)目標:通過介紹我國顯示技術方面取得的發(fā)展和進步,了解最新的顯示技術,激發(fā)核心技術自主創(chuàng)新意識和學習熱情,培養(yǎng)科技報國的家國情懷。知識目標:
1.掌握C51程序循環(huán)結構及循環(huán)語句的使用;2.了解單片機存儲結構3.學會單片機控制LED顯示器的電路設計及控制方法。技能目標:能夠在Keil軟件中查看變量,掌握程序調試的基本方法。知識點知識1
單片機存儲結構知識2C51語言中的循環(huán)結構與循環(huán)語句知識3
C51語言中的輔助控制語句知識4
C51語言中的函數(shù)知識1單片機存儲結構1.STC89C52單片機的存儲結構
/previewIndex/1060472知識1單片機存儲結構1.STC89C52單片機的存儲結構STC89C52單片機共有4個存儲空間:片內程序存儲器、片外程序存儲器、片內數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器,如圖。(a)程序存儲器地址分配(b)數(shù)據(jù)存儲器地址分配圖2.2STC89C52存儲器結構圖
程序存儲器用于存儲程序或表格,片內、片外統(tǒng)一編址,如圖2.2(a)所示。其中,當引腳時,使用8KB片內ROM(0000H~0FFFH);當引腳時,使用64KB片外ROM(0000H~FFFFH)。知識1單片機存儲結構數(shù)據(jù)存儲器用于暫存數(shù)據(jù)和運算結果,也有片內和片外之分,如圖2.2(b)所示。
片內RAM由內部RAM與專用寄存器(SFR)構成,共256B(8位地址尋址)。其中,內部RAM低128B又分為工作寄存器組(00H~1FH)、位尋址區(qū)(20H~2FH)、通用RAM區(qū)(30H~7FH)三部分,內部RAM的高128字節(jié)只能間接尋址。片外64KB數(shù)據(jù)存儲器,16位地址尋址,地址范圍是0000H~FFFFH。知識1單片機存儲結構
2.C51變量的存儲類型(1)存儲區(qū)域的概念
KEILC51編譯器把單片機數(shù)據(jù)的存儲區(qū)域分為6種:data、bdata、idata、xdata、pdata、code,如表2.1所示。表2.1C51語言中變量的存儲區(qū)域存儲區(qū)域說
明data片內RAM的低128B,可直接尋址,訪問速度最快bdata片內RAM的低128B中的位尋址區(qū)(20H~2FH),即可字節(jié)尋址,也可以位尋址idata片內RAM(256B,其中低128B與data相同),只能間接尋址xdata片外RAM(最多64kB)pdata片外RAM中的1頁或256B,分頁尋址code程序存儲區(qū)(最多64kB)知識1單片機存儲結構(2)存儲模式
有了存儲區(qū)域的概念后,變量的定義格式變?yōu)椋簲?shù)據(jù)類型[存儲區(qū)域]變量名稱其中,存儲區(qū)域用于用戶指定變量的存儲區(qū)域,[]表示該項內容可缺省。當該項缺省時,變量存儲區(qū)域由KEILC51編譯器的存儲模式?jīng)Q定。
存儲模式用于決定沒有明確指定存儲類型的變量、函數(shù)參數(shù)等的缺省存儲區(qū)域。KEILC51編譯器提供的存儲模式共有3種:Small,Compact,large。知識1單片機存儲結構
(1)Small模式?jīng)]有指定存儲區(qū)域的變量、參數(shù)都缺省放在data區(qū)域內。優(yōu)點是訪問速度快,缺點是空間有限,只適用于小程序。(2)Compact模式?jīng)]有指定存儲區(qū)域的變量、參數(shù)都缺省存放在pdata區(qū)域內。具體存放在哪一頁可由P2口指定,在STARTUP.A51文件中說明,也可用pdata指定。優(yōu)點是空間比Small模式寬裕,速度比Small模式慢,比large模式要快,是一種中間狀態(tài)。(3)large模式?jīng)]有指定存儲區(qū)域的變量、參數(shù)都缺省存放在xdata區(qū)域內。優(yōu)點是空間大,可存變量多,缺點是速度較慢。知識1單片機存儲結構KEILC51編譯器數(shù)據(jù)存儲區(qū)域設置方法知識1單片機存儲結構知識2C51語言中循環(huán)結構與循環(huán)語句
在程序設計中經(jīng)常會遇到需要重復執(zhí)行的操作,如延時、累加、累乘、數(shù)據(jù)傳遞等,利用循環(huán)結構來處理各類重復操作既簡單又方便。
C51語言中提供了3種語句來實現(xiàn)循環(huán)結構,分別是while語句、do-while語句和for語句。/previewIndex/10604711.while語句while語句的一般形式:while(表達式)循環(huán)體其中,“表達式”可以是C51語言中任意合法的表達式,其作用是控制循環(huán)體是否執(zhí)行;“循環(huán)體”是循環(huán)語句中需要重復執(zhí)行的部分,可以是一條簡單的可執(zhí)行語句,也可以是用大括號括起來的復合語句。知識2C51語言中循環(huán)結構與循環(huán)語句while語句的執(zhí)行過程如圖2.4所示。while語句的特點是:先判斷,后執(zhí)行。圖2.4while語句的執(zhí)行過程知識2C51語言中循環(huán)結構與循環(huán)語句(1)要定義循環(huán)控制變量。(2)要確定循環(huán)變量的初值、終值、增量(步長)。(3)要保證每執(zhí)行一次循環(huán)體,循環(huán)控制變量的值按增量向終值靠近一些,即要避免死循環(huán)。
while語句的使用注意事項知識2C51語言中循環(huán)結構與循環(huán)語句2.do-while語句do-while語句的一般格式:do循環(huán)體while(表達式);其中,“表達式”可以是C51語言中任意合法的表達式,其作用是控制循環(huán)體是否執(zhí)行;“循環(huán)體”可以是C51語言中任意合法的可執(zhí)行語句;最后的“;”不可丟,表示do-while語句結束。知識2C51語言中循環(huán)結構與循環(huán)語句do-while語句的執(zhí)行過程如圖2.5所示。do-while語句的特點是:先執(zhí)行,后判斷。圖2.5do-while語句的執(zhí)行過程知識2C51語言中循環(huán)結構與循環(huán)語句3.for語句for語句的典型應用形式:for(循環(huán)變量初值;循環(huán)條件;循環(huán)變量增值)循環(huán)體for語句的一般形式:for(表達式1;表達式2;表達式3)循環(huán)體其中,“表達式1”、“表達式2”、“表達式3”可以是C51語言中任意合法的表達式,3個表達式之間用“;”隔開,其作用是控制循環(huán)體是否執(zhí)行;循環(huán)體可以是C51語言中任意合法的可執(zhí)行語句。知識2C51語言中循環(huán)結構與循環(huán)語句
for語句的執(zhí)行過程如圖2.6所示。圖2.6for語句的執(zhí)行過程知識2C51語言中循環(huán)結構與循環(huán)語句①計算循環(huán)變量初值表達式的值。②計算循環(huán)條件表達式的值(設為X)。若X非0,轉步驟③;若X為0,轉步驟⑤。③執(zhí)行一次循環(huán)體。④計算循環(huán)變量增值表達式的值,轉步驟②。⑤結束循環(huán),執(zhí)行for語句之后的語句。(1)for語句中的表達式可以部分或全部省略,但兩個“;”不可省略。例如:for(;;)D0=!D0;3個表達式均被省略,因缺少條件判斷,循環(huán)將會無限制地執(zhí)行,形成無限循環(huán)(通常稱為死循環(huán))。在使用for語句時應注意以下兩點:知識2C51語言中循環(huán)結構與循環(huán)語句表達方式1(正常情況,建議采用):
sum=0;
for(i=1;i<=100;i++)sum+=i;表達方式2(省略表達式1):
sum=0;i=1;
for(;i<=100;i++)sum+=i;表達方式3(省略表達式3):
sum=0;
for(i=1;i<=100;){sum+=i;i++;}表達方式4(省略表達式1和表達式3):
sum=0;i=1;
for(;i<=100;){sum+=i;i++;}知識2C51語言中循環(huán)結構與循環(huán)語句(2)所謂省略,只是在for語句中的省略。實際上是把所需表達式放在for的循環(huán)體中或for的語句前面。下面幾種語句是等價的。4.幾種循環(huán)的比較(1)3種循環(huán)可相互替代處理同一問題。(2)do-while循環(huán)至少執(zhí)行一次循環(huán)體,而while及for循環(huán)則不然。(3)while及do-while循環(huán)多用于循環(huán)次數(shù)不可預知的情況,而for循環(huán)多用于循環(huán)次數(shù)可以預知的情況。知識2C51語言中循環(huán)結構與循環(huán)語句5.循環(huán)的嵌套
在一個循環(huán)體內又完整地包含了另一個循環(huán)稱為循環(huán)嵌套。循環(huán)的嵌套可以有多層,但每一層循環(huán)在邏輯上必須是完整的。知識2C51語言中循環(huán)結構與循環(huán)語句5.循環(huán)的嵌套
在編寫程序時,嵌套循環(huán)的書寫要采用縮進形式,使程序層次分明,如下,注意{}的位置:
for(i=1;i<=10;i++){ //外層循環(huán)
… for(j=1;j<=10;j++){ //中層循環(huán)
… for(k=1;k<=10;k++){ //內層循環(huán) 循環(huán)語句
} … } …
}知識2C51語言中循環(huán)結構與循環(huán)語句(1)內外循環(huán)的循環(huán)變量不應相同。(2)內外循環(huán)不應交叉。(3)只能從循環(huán)體內轉移到循環(huán)體外,反之不行。循環(huán)嵌套的使用注意事項知識2C51語言中循環(huán)結構與循環(huán)語句知識3C51語言中的輔助控制語句/previewIndex/1060473知識3C51語言中的輔助控制語句1.break語句break語句的一般形式:break;break語句的功能:
①終止它所在的switch語句;
②跳出本層循環(huán)體,從而提前結束本層循環(huán)。例:求其平方數(shù)小于100的所有整數(shù),核心代碼如下,預先設定循環(huán)次數(shù)為40次,從1開始,出現(xiàn)平方大于100時,則通過break語句提前結束循環(huán)。
for(i=1;i<=40;i++) { j=i*i; if(j>=100)break; printf(“%d”,i); }2.continue語句continue語句的一般形式:continue;continue語句的功能:用于循環(huán)體內結束本次循環(huán),接著進行下一次循環(huán)的判定。例:求1~100之間不能被3整除的數(shù)。核心代碼如下:
for(i=1;i<=100;i++){if(i%3==0)continue; //若能被3整除,跳到下一循環(huán)i++那。
printf(“%d”,i);//否則執(zhí)行這輸出語句}知識3C51語言中的輔助控制語句知識4C51語言中的函數(shù)
C51語言程序是由一個個函數(shù)構成的。
所謂函數(shù),是指可以被其他程序調用的具有特定功能的一段相對獨立的程序。
引入函數(shù)的主要目的有兩個:一是為了解決代碼的重復;二是結構化模塊化編程的需要。從用戶使用的角度看,函數(shù)可以分成兩大類:標準庫函數(shù)和用戶自定義函數(shù)。常用的標準庫函數(shù)參考教材的附錄。[return_type]funcname([args])[{small|compact|large}][reentrant][interruptn][usingn]{
局部變量定義 可執(zhí)行語句}C51函數(shù)定義的一般格式函數(shù)頭函數(shù)體知識4C51語言中的函數(shù)函數(shù)頭中各部分的含義如下:①return_type:函數(shù)返回值的類型即函數(shù)類型(缺省為int)。②funcname:函數(shù)名。在同一程序中,函數(shù)名必須唯一。③args:函數(shù)的參數(shù)列表。參數(shù)可有可無。若有,則稱之為有參函數(shù),各參數(shù)之間要用“,”分隔;若無,則稱之為無參函數(shù)。④small、compact或large:指定函數(shù)的存儲模式。⑤reentrant:指定函數(shù)是遞歸的或可重入的。⑥interruptn:指定函數(shù)是一個中斷函數(shù)。n為中斷源的編號。⑦usingn:指定函數(shù)所用的工作寄存器組。n為工作寄存器組的編號(0~3)。知識4C51語言中的函數(shù)
用C51語言設計程序,就是編寫函數(shù)。在構成C51語言設計程序的若干個函數(shù)中,有且僅有一個是主函數(shù)main(),C51程序的執(zhí)行都是從main()函數(shù)開始的。同變量一樣,函數(shù)必須先定義后使用。函數(shù)調用的一般規(guī)則是:主函數(shù)可以調用其它普通函數(shù);普通函數(shù)之間可以相互調用;普通函數(shù)不能調用主函數(shù)。知識4C51語言中的函數(shù)任務實施/previewIndex/1060474任務實施#include<reg52.h> //頭文件#defineucharunsignedcharvoidDelay1s(); //對用到的函數(shù)進行聲明,務必注意voidmain(void) //主程序
{ uchari,signal;//定義循環(huán)變量和信號變量 while(1) { signal=0x01; //給信號變量賦初始值 for(i=0;i<8;i++) { P2=~signal;//取反輸出 signal<<=1;//移位運算 Delay1s(); } }}任務實施/***********************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 低溫倉儲在提高水產品附加值中的應用探討考核試卷
- 眼科主治醫(yī)師專業(yè)知識考試題庫與答案
- 家用紡織品品牌與消費者購買決策的情境研究考核試卷
- 培訓效果與組織戰(zhàn)略目標的對接分析考核試卷
- 印刷業(yè)自律與行業(yè)技術進步關系考核試卷
- 智慧水利信息化解決方案2025年
- 安理工選礦學課件第6章 搖床選煤
- 翻譯行業(yè)中長期發(fā)展規(guī)劃建議
- 2024-2025學年廣東省廣州市天河區(qū)七年級(下)期末語文試卷
- AI+數(shù)智應用科技創(chuàng)新資源服務平臺如何保障自身的可持續(xù)發(fā)展
- GB/T 18991-2003冷熱水系統(tǒng)用熱塑性塑料管材和管件
- 互聯(lián)網(wǎng)醫(yī)院建設方案
- SQL注入技術原理及實戰(zhàn)
- 建筑勞務大清包綜合單價報價單
- 東方通——數(shù)據(jù)中心項目數(shù)據(jù)交換平臺技術方案
- 設備和工裝管理程序
- 初中數(shù)學奧林匹克中的幾何問題西姆松定理及應用附答案
- 2、應急管理對存在缺陷與問題:持續(xù)改進措施附案例
- 北京市勞動和社會保障局、北京市財政局關于調整下崗職工基本生活
- 泌尿系統(tǒng)梗阻課件
- 低壓線路維護PPT課件
評論
0/150
提交評論