




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機技術《Proteus平臺單片機項目式教程》三、延時子程序的設計方法課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。單片機的最小應用系統(tǒng)單片機是在時序的指揮下工作的,機器周期是單片機指令執(zhí)行的基本時間單位。機器周期的計算方法:當系統(tǒng)采用12M的晶振,則晶體振蕩頻率fosc=12MHz機器周期TM=12x(1/12M)=1us。一、課程引入第二步:啟發(fā)式引入新的問題:就單片機執(zhí)行指令的速度,靠一條單周期的MOV指令就可以完成了一個點亮發(fā)光二極管的操作,然而,MOV指令執(zhí)行時間只需要1us。問題是:這個時間太短,發(fā)光二極管來不及發(fā)光、人眼更看不到發(fā)光。怎么辦?大家想一下辦法?第三步:提出這節(jié)課中心問題:那么,該怎樣設計一個10ms的延時子程序?應用提示:讓單片機做些無用功,延時一段時間。我們經常用一個10ms的延時子程序來點亮數(shù)碼管、LED或延時去按鍵的抖動,或降低CPU執(zhí)行效率,單片機的應用幾乎少不了10ms的延時子程序。答案是:通過延時程序降低CPU執(zhí)行效率。二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)提問:改變延時時間,現(xiàn)象會怎么樣?1uS、1mS、1S、1min?三、基本原理(重點)1、設計方法二是:用指令循環(huán)來實現(xiàn)。一是:通過定時器中斷實現(xiàn)。延時程序設計方法三、基本原理(重點)2、本系統(tǒng)晶振fosc=12MHz,則機器周期TM=12x(1/12M)=1us。現(xiàn)在寫一個10ms的延時子程序,可大致寫出如下:指令含義機器周期數(shù)(時間/次)執(zhí)行的次數(shù)時間DELAY:MOVR6,#20①;R6=20D1:MOVR7,#X②;R7=Xok:DJNZR7,ok③;R7-1?=0DJNZR6,D1④;R6-1?=0RET⑤;返回令總時間等于10ms:即為1+20+
40X+
40+
2=10000us12020X20112040X40211222解方程得:X=248.425
,四舍五入取整得:X=248意味著:上述五條指令嚴格的延時時間不是10ms,而是9983us。以C語言程序類比,加深對匯編語言程序的理解度,并為后期C語言編程的過渡埋下伏筆。voiddelay10ms(void){unsignedchari,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);}三、基本原理(重點)
假設:當X=248時,上述5條指令近似為10ms。即:R6=20、R7=248時,延時10ms。那么:同樣的原理,問延時5ms的子程序該怎么寫?由大循環(huán)次數(shù)可知:當R6=10、R7=248時,延時5ms。提問:同理,0.1秒該怎么寫?以此為基本的計時單位。如要求0.1秒=100ms,10ms×R5=100ms,則R5=10,延時子程序如下:DELAY_0.1s:MOVR5,#10DELAY:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1DJNZR5,DELAYRET
提問:請大家討論一下,延時一秒該怎么改?四、實物效果展示四、實物效果展示實驗程序(自學):#include<reg51.h>//注釋為:包含51的頭文件。voiddelay10ms(void){
unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}voidmain() //主程序main函數(shù)。{
while(1) //死循環(huán)。{
intj; //定義一個變量j。
P1=0x00; //
for(j=0;j<20;j++) //for循環(huán),{delay10ms(); //調用延時子函數(shù)。
}
P1=0x0ff; //
for(j=0;j<20;j++) //for循環(huán),。{
delay10ms(); //調用延時子函數(shù)。
}}}
ORG 0000HLOOP:
MOVP1,#00H
LCALL Delay
MOV P1,#0ffH
LCALL Delay
SJMP LOOPDelay:
MOVR6,#0
MOVR7,#0DelayLoop:DJNZR6,DelayLoop
DJNZR7,DelayLoop
RETDelay100ms:
MOV R2,#10LOOP2: MOV R0,#20LOOP1: MOV R1,#248
DJNZ R1,$
DJNZ R0,LOOP1
DJNZ R2,LOOP2
RETEND五、思考題與課外拓展1、思考題:對于本實驗延時子程序Delay:
MOVR6,#0
MOVR7,#0DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoop
RET如使用12MHz晶振,粗略計算此程序的執(zhí)行時間為多少?2、課外拓展:
請基于以上原理設計延時程序,使P1口的發(fā)光二極管亮滅1S間隔閃爍。(要求在Proteus軟件仿真平臺自主完成設計)ThankYou!單片機技術主講:XXX《Proteus平臺單片機項目式教程》西安電子科技大學出版社江西農業(yè)大學南昌商學院四、流水燈的設計課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。單片機應用系統(tǒng)中少不了延時程序。上節(jié)課,我們講了單片機的延時子程序的設計方法:通過多重循環(huán)嵌套的方式實現(xiàn)延時控制的。voiddelay10ms(void){unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}這節(jié)課我們就來做一個具體的應用設計,并通過這個流水燈的實例來展示單片機P1口的輸出控制功能。啟示:(思政:生活中快慢的藝術)(1)當我快速將粉筆拋出時,你眼睛看到的粉筆是什么樣子?是不是一條白色的線?慢慢移動是什么樣子,是不是一個點?(2)你不知道是:也許在小貓小狗、蒼鷹的眼里,教學樓門口的點陣顯示屏是一條條跑起來的幾個亂點,根本不是動態(tài)的字。一、課程引入第二步:啟發(fā)式引入新的問題:根據(jù)上節(jié)課的啟示:以單片機執(zhí)行指令的速度,1us就可以完成了一個點亮發(fā)光二極管的操作,通過延時,可以讓發(fā)光二極管發(fā)光,甚至讓人看到發(fā)光。但是存在的問題是:我們該采用多大的延時來實現(xiàn)流水燈的效果?當流水燈延時時間分別為0.1ms、10ms、1s時,會有什么樣的不同效果?第三步:提出這節(jié)課中心問題:那么,該怎樣設計一個“看得見”的流水燈?二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)提問:改變延時時間,現(xiàn)象會怎么樣?
1uS、1mS、1S、1min?三、基本原理(重點)
1、基本功能需求讓發(fā)光二極管循環(huán)點亮。2、硬件電路的設計:
P1口的八個發(fā)光二極管正極通過100歐姆的限流電阻接電源+5V,直接為高電平,負極通過單片機P1口輸出的低電平來點亮。低電平點亮,高電平不亮。三、基本原理(重點)3、程序設計:畫出流程圖!開始設置初始值設移位次數(shù)數(shù)據(jù)輸出左一位延時移位次數(shù)完成?是否三、基本原理(重點)源程序講解
ORG0000H
LJMPSTART
ORG0030HSTART:MOVA,#0FEH
MOVR2,#8OUTPUT:MOVP1,A
RLA
ACALLDELAY
DJNZR2,OUTPUT
LJMPSTARTDELAY:MOVR6,#0;延時
MOVR7,#0DELAYLOOP:
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RETEND(問:看得見不?這是上節(jié)課的思考題,延時時間為多少?)答案是:0.13S提問:1、將延時分別改為0.1ms、10ms、1s時,會有什么樣的不同現(xiàn)象?2、怎么改變方向呢?四、實物效果展示運行以后觀察到實驗箱的現(xiàn)象:發(fā)光二極管從右到左輪流循環(huán)點亮。
五、思考題與課外拓展1、思考題:
對于本實驗中將延時分別改為0.1ms、10ms、1s時,會有什么樣的不同現(xiàn)象?為什么?程序具體怎么改?2、課外拓展:
請基于本節(jié)課講的基本原理修改程序,設計一個可以來回跑的雙向流水燈。(要求在Proteus軟件仿真平臺自主完成設計)ThankYou!單片機技術主講:XXX《Proteus平臺單片機項目式教程》西安電子科技大學出版社江西農業(yè)大學南昌商學院五、P1口輸入、輸出控制課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課,我們基于單片機的最小應用系統(tǒng)完成了流水燈的設計,講解了流水燈的編程應用方法,它是P1口作為output輸出功能使用的典型實例。但是,P1口是不是僅僅具有輸出控制功能呢?單片機P0、P1、P2、P3口最典型的功能是I/O口的輸入輸出控制功能。
一、課程引入第二步:啟發(fā)式引入新的問題:那么,單片機的P1口作為Input輸入功能使用時,與output輸出功能有什么不同?需要注意什么問題?第三步:提出這節(jié)課中心問題:“怎樣通過按鍵輸入信號給單片機,控制LED燈執(zhí)行亮滅操作?”應用提示:單片機可以通過檢測到按鍵或傳感器給出的高低電平的Input,實現(xiàn)對LED燈或聲控裝置、繼電器裝置等報警器的設計,實現(xiàn)輸入輸出控制功能的基本應用。答案是:作為輸入功能時先要向端口鎖存器寫“1”操作,實現(xiàn)解鎖。(思政:輸入與產出)記住口訣:欲讀先置一二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)
提問:怎樣實現(xiàn)按鍵拓展,10個,100個?三、基本原理(重點)
1、P1口結構原理由圖可見,要正確地從引腳上讀入外部信息,必須先使場效應管關斷,以便由外部輸入的信息確定引腳的狀態(tài)。具有這種操作特點的輸入/輸出端口,稱為準雙向I/O口。8051單片機的P1、P2、P3都是準雙向口??偨Y:P1口是準雙向口,它作為輸出口時與一般的雙向口使用方法相同。當P1口用作輸入口時,必須先對口的鎖存器寫“1”,若不先對它寫“1”,讀入的數(shù)據(jù)是不正確的。請記住口訣:欲讀先置一三、基本原理(重點)
2、設計任務的功能需求左右兩按鍵分別控制左右兩LED燈。3、流水燈硬件電路的設計4、程序設計:程序流程圖開始P1.0,P1.1置一讀入P1.0口值將讀入的值輸出到P1.2讀入P1.1口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CSPSTC 1-2017企業(yè)創(chuàng)新影響力評價體系
- T/CSIQ 8013.4-2018一體化光伏箱變系列設備技術規(guī)范第4部分:2.5 MVA
- T/CSIQ 3103-2015陶瓷藝術品內部微觀結構測試方法X射線計算機斷層掃描法
- T/CSBME 064-2022骨齡輔助診斷人工智能醫(yī)療器械質量要求與評價第1部分:數(shù)據(jù)集
- T/CQAP 3004-2023大興安嶺地產中藥材防風質量規(guī)范
- T/CMMA 10-2023磷酸鎂復合材料
- T/CI 333-2024交通基礎設施施工隱患辨識與風險管控技術指南
- T/CHINABICYCLE 1-2021外賣專用車第1部分:外賣電動自行車
- T/CHC 1005-2023破壁靈芝孢子粉
- T/CFPA 021-2023滅火器狀態(tài)監(jiān)測傳感器
- 村史范本、模板
- 自貿試驗區(qū)片區(qū)重點發(fā)展產業(yè)列表
- 消防設備設施應急操作培訓課件(PPT)
- 眼球的結構與功能
- 《社會主義制度在中國的確立》示范課教學設計【高中思想政治人教版必修1中國特色社會主義】
- 立方米臥式濃硫酸儲罐設計
- 三乙胺安全標簽
- GB/T 4490-2021織物芯輸送帶寬度和長度
- GB/T 17793-1999一般用途的加工銅及銅合金板帶材外形尺寸及允許偏差
- ICU常見檢查項目及課件
- 《月光下的中國》朗誦稿
評論
0/150
提交評論