《Proteus仿真平臺單片機項目式教程》全套教學課件_第1頁
《Proteus仿真平臺單片機項目式教程》全套教學課件_第2頁
《Proteus仿真平臺單片機項目式教程》全套教學課件_第3頁
《Proteus仿真平臺單片機項目式教程》全套教學課件_第4頁
《Proteus仿真平臺單片機項目式教程》全套教學課件_第5頁
已閱讀5頁,還剩353頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

單片機技術

項目0.單片機基礎概述項目1雙閃燈-1.KeilC軟件的使用及在線聯(lián)調(diào)項目1雙閃燈-2.Proteus仿真軟件的使用及在線聯(lián)調(diào)項目1雙閃燈-3.汽車雙閃燈控制系統(tǒng)的設計項目2流水燈-1.延時子程序的設計方法項目2流水燈-2.流水燈的設計項目2流水燈-3.P1口輸入、輸出控制項目3搶答器-1.靜態(tài)數(shù)碼顯示項目3搶答器-2.0—9隨機抽號器的設計項目3搶答器-3.搶答器的設計項目4交通燈-1外部中斷技術項目4交通燈-2交通燈的設計項目5定時器-1.定時1S項目5定時器-2.“9分59秒”定時器項目6串口通信項目799馬表項目8動態(tài)數(shù)碼顯示屏項目9簡易電子琴項目10數(shù)字電壓表-1.DA轉換項目10數(shù)字電壓表-2.AD轉換項目10數(shù)字電壓表-3.數(shù)字電壓表的設計項目11數(shù)字鐘項目12液晶顯示萬年歷全套可編輯PPT課件課程地位、考核與評分說明課程地位:專業(yè)核心課。成績百分制錄入:平時成績?yōu)椋?0%考試成績?yōu)椋?0%平時成績考核標準:40分。期末考核方式:考試/考查。課程要求:掌握單片機的工作原理及其應用設計基本方法??己藘?nèi)容分值說明出勤10缺勤每次扣2分,遲到或早退每次扣1分。平時作業(yè)20布置作業(yè)6次,認真完成所有作業(yè)得20分,少一次扣4分,作業(yè)馬虎、抄襲、質(zhì)量差每次扣4分,扣完為止。學習態(tài)度5高質(zhì)量完成上機任務加1分,加滿為止。課堂表現(xiàn)5積極回答教師提問每次加1分,加滿即止。課程特點與學習方法課程特點:實踐性強,旨在應用硬件、軟件結合緊密學習方法:課前預習,課后復習軟硬兼顧,上機實踐廣閱書刊,用好網(wǎng)絡前期課程:數(shù)字電路、微機原理幾點建議:實踐性、應用性很強,僅僅聽懂還不夠,關鍵在于動手能力。硬件/軟件同樣重要。預習、聽課、復習、作業(yè)、實驗都很重要?。?!第一講:單片機基礎概述什么是單片機?有什么用?

1單片機發(fā)展概況與典型介紹

2單片機中的數(shù)制3單片機最小系統(tǒng)-點亮LED

41、什么是單片機?有什么用?一、什么是單片機?(1)、微型計算機硬件結構——常見的微機臺式機嵌入式終端筆記本微型計算機硬件結構——微機硬件組成顯示器主機鍵盤鼠標微型計算機硬件結構——內(nèi)部結構硬件系統(tǒng)——構成微機的實體和裝置軟件系統(tǒng)——微機系統(tǒng)所使用的各種程序的總稱軟件系統(tǒng)與硬件系統(tǒng)共同構成實用的微機系統(tǒng),兩者是相輔相成、缺一不可的。軟件系統(tǒng)+微型計算機系統(tǒng)微型計算機系統(tǒng)(2)、單片微型計算機單片微型計算機是指集成在一個芯片上的微型計算機,簡稱單片機——單片機實質(zhì)上就是一個芯片。軟件系統(tǒng)+微型計算機系統(tǒng)輸入接口設備輸出接口設備運算器控制器存儲器單片微型計算機單片機內(nèi)部結構示意圖

CPU存儲器定時器/計數(shù)器中斷系統(tǒng)P0-P3TxDRxD

TINT并行I/O口串行I/O口單片微型計算機內(nèi)部結構:主要由中央處理器(CPU)、存儲器(ROM、RAM)、中斷系統(tǒng)、定時/計數(shù)器、并行I/O接口和串行I/O接口等部分組成。2024/10/2211二、單片機有什么用?在工業(yè)、農(nóng)業(yè)、軍事、保安、金融、儀器儀表、航空航天、醫(yī)療、通訊、辦公設備、娛樂休閑、健身、體育競賽、服務領域……,大量單片機-嵌入式技術已經(jīng)無處不在。正迅速改變著人們傳統(tǒng)的生產(chǎn)和生活方式。請稍微留心一下我們的周圍,看看身邊到底發(fā)生了什么變化?可以嵌入到電子產(chǎn)品中——嵌入式應用系統(tǒng)單片機已經(jīng)應用到生活的各個領域。單片機應用領域2、單片機發(fā)展概況與典型介紹1971年1月,Intel公司首先研制出集成度為2000只晶體管片的4位微處理器Intel4004,它的成功推出拉開了單片機時代的大幕。在過去的30多年里,單片機從最初的4位單片機已經(jīng)發(fā)展成為32位,類型也已經(jīng)發(fā)展成為上百種系列的近千個品種。一、發(fā)展概況單片機的發(fā)展時期大致可以分為以下幾個階段:1971~1976年為單片機的萌芽發(fā)展時期。功能相對簡單的4位單片機主要用作計算器中的控制部件。1976~1979年為8位單片機的初始發(fā)展階段:1976年,Intel推出MCS-48列單片機:8位CPU,1K字節(jié)ROM,64字節(jié)RAM,27根I/O線和1個8位定時/計數(shù)器。此時的單片機相對早期的4位機在性能上有很大提高,另外,也因其體積小、價格低的優(yōu)點得到了廣泛的應用,書寫了單片機發(fā)展史上重要的一頁。1979~1983年為8位單片機的完善發(fā)展階段。1980年Intel公司在MCS-48基礎之上推出了高性能8位單片機MCS-51系列:8位CPU.4K字節(jié)ROM,128字節(jié)RAM.4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。不僅單片機的存儲容量和中斷能力大大增強,并且開始配備串行通信接口。此時單片機發(fā)展到一個全新的階段,應用領域變得更加廣泛,MCS-51系列單片機后來成為8位單片機的典范,一直在經(jīng)典延用。一、發(fā)展概況性能提高階段:1983~1990年為單片機向微控制器(MCU)發(fā)展的階段。

Intel在1983年推出的MCS-96系列16位單片機,將數(shù)模轉換器(A/D)、程序運行監(jiān)視器(PWM)、脈寬調(diào)制器(WDT)等用于測控系統(tǒng)的部件納入其中,體現(xiàn)了微控制器特性。之后Intel公司逐漸淡出MCU的開發(fā),Philips公司以其在嵌入應用方面的優(yōu)勢,在MCU發(fā)展方面走在前列。與此同時,各大公司的32位單片機也競相問世,并且開始應用到一些高端領域。一、發(fā)展概況多樣化發(fā)展階段:1990年至今,單片機的發(fā)展趨向多元化,各大廠商在推出16位和32位高端單片機的同時,對8位單片機進行功能上的擴展,衍生出很多新型的單片機,以滿足各行業(yè)不同層次的需求。如SiliconLabs公司推出的單片機C8051F120:8位高速CPU(100MIPS);128K字節(jié)FLASH;5個16位定時計數(shù)器;2個UART,另有SMBus和SPI總線接口;20個中斷源;8路12位ADC,2路12位DAC;片內(nèi)看門狗定時器等??刂菩阅軆?yōu)異、種類繁多?!拔⒖刂破鳌钡姆Q謂更能反映單片機的本質(zhì)。一、發(fā)展概況二、典型單片機介紹1.Intel公司 Intel公司是單片機的領跑者,MCS-51系列單片機是該公司系列單片機的總稱,8031、8051、8751、8032、8052和8752等都屬于該系列,8051是其中的典型代表,其他單片機只是在其基礎上進行了一些調(diào)整,所以人們習慣上以8051來稱呼MCS-51系列單片機。另外,在Intel公司將MCS-51核心技術授權給多家公司后,與8051兼容的各具特色的單片機陸續(xù)出現(xiàn)。2.Motorola公司Motorola公司是世界上最大的單片機廠商,在單片機生產(chǎn)上多采用內(nèi)部倍頻技術或鎖相環(huán)技術,從而使得相同時鐘頻率下單片機內(nèi)部總線速度大大提高。M6805、M68HC05、M68HC11、M68HC12是Motorola公司8位單片機的典型代表。倍頻(overtune):倍頻是使獲得頻率為原頻率整數(shù)倍的一種方法。利用非線性器件從原頻率產(chǎn)生多次諧波,通過濾波器選出所需倍數(shù)的那次諧波。倍頻技術能夠使CPU內(nèi)部工作頻率變?yōu)橥獠款l率的倍數(shù),并使外部設備可以工作在一個較低外頻上。鎖相環(huán)技術(Phase-LockedLoop,PLL):PLL是實現(xiàn)相位自動控制的負反饋系統(tǒng),它使振蕩器的相位和頻率與輸入信號的相位和頻率同步。二、典型單片機介紹3.ATMEL公司ATMEL公司的8位單片機有AT89、AT90兩個系列,AT89系列與8051系列單片機相兼容,具有8KB的閃速存儲器(FlashMemory),采用靜態(tài)時鐘模式。AT90系列單片機采用增強精簡指令集(RISC)結構,大多數(shù)指令僅需要1個晶振周期,運行速度快;因為最初兩位研發(fā)人員的名字分別以A和V開頭,所以此類單片機又被稱為AVR單片機。精簡指令集計算機(ReducedInstructionSetComputer,RISC):RISC是和CISC(ComplexInstructionSetComputer,復雜指令集計算機)相對的一種CPU架構,它把較長的指令分拆成若干條長度相同的單一指令,可使CPU的工作變得單純、速度更快,設計和開發(fā)也更簡單。二、典型單片機介紹4.Microchip公司 Microchip公司推出的8位PIC系列單片機采用RISC結構,PIC16C5X屬于其中的低端產(chǎn)品,價位低,適用于家電產(chǎn)品。PIC12C6XX是PIC系列的中級產(chǎn)品,產(chǎn)品性能相對較高,內(nèi)部帶有EEPROM數(shù)據(jù)存儲器(電擦寫數(shù)據(jù)存儲器)、A/D轉換器、PWM輸出等。PIC17CXX屬于這一系列的高端產(chǎn)品,運算速度非??欤梢酝饨訑U展存儲RAM或者EPROM,并且具有豐富的I/O控制功能,適用于偏高檔的設備。5.EMC公司 臺灣義隆電子(EMC公司)制造的大部分單片機產(chǎn)品與Microchip公司的PIC系列單片機兼容。其中,8位EM78系列單片機因采用數(shù)據(jù)總線和指令總線分離的設計結構,故以其優(yōu)良的性能得到廣泛應用。二、典型單片機介紹另外,還有很多企業(yè)在單片機生產(chǎn)和發(fā)展中扮演著重要的角色,如ARM(AdvancedRISCMachines)公司是RISC處理器方面的知名企業(yè),美國德州儀器公司(TI)在生產(chǎn)數(shù)字信號處理器(DSP)方面擁有領先技術。如圖所示顯示了單片機發(fā)展過程中幾種典型的單片機。今天,單片機的世界玲瑯滿目,給用戶提供了很大的選擇空間,我們在工作中可以根據(jù)實際需要進行選擇。(a)Intel公司4004和8008(b)ATMEL公司AT系列(c)Microchip公司的PIC系列二、典型單片機介紹單片機產(chǎn)品近況80C51兼容產(chǎn)品:80C51主流地位已形成,與其兼容的典型產(chǎn)品有:ATMEL的AT89S5X系列(ISP,在系統(tǒng)編程).宏晶的STC89、STC90系列(RS232口編程,方便實用,國產(chǎn)).SiliconLabs的C8051F系列(SOC,片內(nèi)功能模塊豐富)非80C51結構產(chǎn)品:給用戶提供了更為廣泛選擇空間,典型產(chǎn)品有:Microchip公司的PIC系列(品種多便于選型,汽車產(chǎn)品)TI公司的MSP430系列(16位,低功耗,電池供電產(chǎn)品)ATMEL公司的AVR和Mega系列(不易解密,軍工產(chǎn)品)ST公司M3\M4系列(32位,高性能,智能化產(chǎn)品)從單片機結構上看,整體的發(fā)展趨勢是朝著小容量、低價格和大容量、高性能兩個方向發(fā)展。另外,將需要的外圍電路納入芯片之中,形成系統(tǒng)級芯片(SystemonaChip,SoC)是單片機發(fā)展的一個熱點。與計算機的CPU芯片的飛速發(fā)展不同,單片機的發(fā)展并不是完全推陳出新,低、中、高不同檔次的單片機都有自己的應用市場。4位單片機在未來一段時間內(nèi)不會退出歷史舞臺,對于簡單的電子小商品來說,4位單片機完全滿足需求并且價格低廉;8位單片機仍將是單片機市場的主流產(chǎn)品;16位和32位單片機隨著技術發(fā)展和開發(fā)成本的下降,會在更多科技產(chǎn)品中大顯身手。發(fā)展趨勢3、單片機中的數(shù)制一、進位計數(shù)制按進位原則進行計數(shù)的方法,稱為進位計數(shù)制。十進制數(shù)有兩個主要特點:

(1)有10個不同的數(shù)字符號:0、1、2、…、9;

(2)低位向高位進位的規(guī)律是“逢十進一”。因此,同一個數(shù)字符號在不同的數(shù)位所代表的數(shù)值是不同的。如555.5中4個5分別代表500、50、5和0.5,這個數(shù)可以寫成555.5=5×102+5×101+5×100+5×10-1

式中的10稱為十進制的基數(shù),102、101、100、10-1稱為各數(shù)位的權。一般而言,對于用R進制表示的數(shù)N,可以按權展開為:

式中,ai

是0、1、…、(R-1)中的任一個,m、n是正整數(shù),R是基數(shù)。在R進制中,每個數(shù)字所表示的值是該數(shù)字與它相應的權Ri的乘積,計數(shù)原則是“逢R進一”。進制通式

當R=2時,稱為二進位計數(shù)制,簡稱二進制。在二進制數(shù)中,只有兩個不同數(shù)碼:0和1,進位規(guī)律為“逢二進一”。任何一個數(shù)N,可用二進制表示為:

例如,二進制數(shù)1011.01可表示為:(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2

1.二進制數(shù)當R=16時,稱為十六進制。在十六進制中,有0、1、2、…、9、A、B、C、D、E、F共16個不同的數(shù)碼,進位方法是“逢十六進一”。例如,(3A8.0D)16可表示為:(3A8.0D)16=3×162+10×161+8×160+0×16-1+13×16-2

2.十六進制二、不同進制間的相互轉換1.二、八、十六進制轉換成十進制例1:

將數(shù)(10.101)2,(46.12)8,(2D.A4)16轉換為十進制。(10.101)2=1×21+0×20+1×2-1+0×2-2+1×2-3=2.625(46.12)8=4×81+6×80+1×8-1+2×8-2=38.15625(2D.A4)16=2×161+13×160+10×16-1+4×16-2=45.64062

(1)整數(shù)部分:除基取余法。例2:

將(168.645)10轉換成二、八、十六進制數(shù)。2.十進制數(shù)轉換成二、八、十六進制數(shù)

(2)小數(shù)部分:乘基取整法。例2:

將(168.645)10轉換成二、八、十六進制數(shù)。2.十進制數(shù)轉換成二、八、十六進制數(shù)故:(0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16

2024/10/2232因此:

將(168.645)10

轉換成二、八、十六進制數(shù)。168.645)10=(10101000.10100)2=(250.51217)8=(A8.A51EB)163.將二進制換成十六進制例6將(110101.011)2轉換為十六進制數(shù)。00110101.011035

.6即:(110101.011)2=(35.6)16

33三、帶符號數(shù)的表示1.機器數(shù)及真值

計算機正負符號如何表示呢?規(guī)定最高位為符號位:“0”表示正,“1”表示負。

例如,X=-1101010B,Y=+1101010B,則X表示為:11101010B,Y表示為01101010B。

2.原碼

當符號位不變,數(shù)值部分用真值的絕對值來表示的二進制機器數(shù)稱為原碼。例如+115和-115的8位原碼可分別表示為:[+115]原=01110011B;[-115]原=11110011B342.反碼

正數(shù)的反碼等于原碼;負數(shù)的反碼,由它的正數(shù)的原碼按位取反形成。例如:X=+103,則[X]反=[X]原=01100111B;

X=-103,[X]原=11100111B,則[X]反=10011000B。3.補碼對于n位計算機來說,數(shù)X的補碼定義為:即正數(shù)的補碼就是它本身,負數(shù)補碼是真值與模數(shù)相加而得。

35例如,n=8時:

[+75]補=01001001B

[-73]補=100000000B-01001001B=10110111B

[0]補=[+0]補=[-0]補=00000000B

可見,數(shù)0的補碼表示是唯一的。在用補碼定義求負數(shù)補碼的過程中,由于做減法不方便,一般該法不用。負數(shù)補碼的求法:用原碼求反碼,再在數(shù)值末位加1,即:[X]補=[X]反+1。例如:[-30]補=[-30]反+1=[+30]原+1=11100001+1=11100010B。8位二進制補碼能表示的范圍為:-128~+127,若超過此范圍,則為溢出。3、單片機最小系統(tǒng)-點亮LED(1)單片機應用系統(tǒng)開發(fā)流程36明確系統(tǒng)任務,確認功能邊界。硬件電路設計。包括前期方案論證,關鍵器件選型和總體方案設計,也包括各模塊電路設計與實現(xiàn)。軟件程序設計。仿真與調(diào)試。實物打樣、系統(tǒng)調(diào)試與測試。用戶試用、修改和交付。3、單片機最小系統(tǒng)-點亮LED(2)單片機最小系統(tǒng)37

單片機能夠正常工作的最小系統(tǒng),主要包括電源、單片機、時鐘電路和復位電路。時鐘電路:提供工作時鐘。復位電路:實現(xiàn)系統(tǒng)復位。電源電路:供電。3、單片機最小系統(tǒng)-點亮LED時鐘電路38

時鐘是微機的“心臟”,單片機就是在時鐘節(jié)拍的指揮下有序地工作。內(nèi)部高增益反相放大器和晶體振蕩器、微調(diào)電容一起構成了穩(wěn)定的自激振蕩器,產(chǎn)生系統(tǒng)時鐘。89C51單片機基本的時序定時單位共有4個:振蕩周期(節(jié)拍)、時鐘(狀態(tài))周期、機器周期和指令周期。它們之間的關系見教材圖2-7(自學)。3、單片機最小系統(tǒng)-點亮LED復位電路39

復位電路的作用是讓單片機執(zhí)行復位操作,即單片機的初始化。復位后,CPU從0000H開始取指執(zhí)行,使得CPU和系統(tǒng)中的各功能部件都處在一個確定的初始狀態(tài)開始工作。

復位條件:必須在單片機的復位引腳RST(9號腳)上出現(xiàn)持續(xù)兩個機器周期以上的高電平。復位電路有上電復位和按鍵復位兩種。3、單片機最小系統(tǒng)-點亮LED(3)點亮LED40我們選擇P3.0口輸出低電平來點亮LED。則:P3=1111110B=FEH。軟件程序代碼:

ORG0000H ;偽指令。LJMP START ;跳轉START:MOV P3,#0FEH;點亮LED。LJMP START;無限循環(huán)。 ENDThankYou!

單片機技術

第一講:KeilC軟件的使用及在線聯(lián)調(diào)課程引入

1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課我們講了單片機最小系統(tǒng)的硬件結構,了解到一個單片機最小系統(tǒng)必須包含的三大部分。請同學們搶答一下:這三大部分分別是哪三個,有什么作用?(學習通提問搶答的方式)1、晶振電路:提供時鐘。2、復位電路:實現(xiàn)系統(tǒng)復位(條件)。3、電源電路:供電。一、課程引入第二步:啟發(fā)式引入新的問題:大家知道計算機在今天應用很廣,一個完整的簡單的計算機系統(tǒng)除了上面復習的硬件系統(tǒng)還包括哪些方面?為什么要這樣?(互動提問)互動發(fā)言總結:第三步:提出這節(jié)課中心問題:

怎樣利用KeilC軟件實現(xiàn)與硬件仿真器的在線聯(lián)調(diào)?它們有什么作用?(1)操作系統(tǒng)(2)軟件、應用程序思考:(1)單片機系統(tǒng)常用開發(fā)軟件?KeilC(2)軟硬件的特點?配合、相輔相成(課程思政:團隊協(xié)作精神、軟硬結合、剛柔并濟。)二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)

思考:數(shù)碼管能顯示“HELLO”嗎?三、基本原理(重點)

1、實驗教學儀的結構三、基本原理(重點)

2、KeiluVision2軟件的使用方法(以串行靜態(tài)數(shù)碼顯示為例,邊操作邊講,以下是要點筆記)(1)創(chuàng)建項目:選擇【Project】→【NewProject】(2)新建一個源程序:【File】→【New】→【.asm】(3)向項目組添加源文件:【右鍵SourceGroup】→【AddFile】→【.asm】(4)屬性設置:【右鍵Target1】→【Optionsfor】→【Debug】→Use:KeilMonitor-51Driver→Settings→comx、38400(5)編譯程序:【Rebuildalltargetfiles】(6)進入調(diào)試模式:Debug(7)運行:Run三、基本原理(重點)

3、KeilC在線調(diào)試實例:串行靜態(tài)顯示89C51硬件連線:串行數(shù)據(jù)線DIN和移位信號CLK。

DINCLK四、實物效果操作演示五、思考題與課外拓展1、思考題:KEIL軟件聯(lián)調(diào)模式,程序是否已經(jīng)下載到單片機仿真器中?與Proteus構建的軟件環(huán)境是否可以同理聯(lián)調(diào)?2、課外拓展:

請基于以上原理設計,嘗試在Proteus軟件仿真平臺自主實現(xiàn)以下功能。

思考:怎樣讓串行靜態(tài)顯示模塊的5LED顯示“12345”、“HELLO”?課外(自學):顯示“12345”課外(自學):顯示“HELLO”ThankYou!單片機技術

二、Proteus仿真軟件的使用及在線聯(lián)調(diào)課程引入

1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課我們講了Keil軟件的基本用法,使用它實現(xiàn)了“89C51”的靜態(tài)顯示效果,大家可以跟我一起操作一遍,進行一次復習回顧。請同學們搶答:單片機系統(tǒng)構成?

(學習通)軟件:keilC硬件:單片機實驗箱一、課程引入第二步:啟發(fā)式引入新的問題:計算機應用系統(tǒng)比較復雜,涉及到軟件系統(tǒng)和硬件系統(tǒng),特別是硬件系統(tǒng),實際中構建起來較為困難,靈活性差,成本也高,實驗箱配套實驗項目有限,缺乏拓展性、課外時間上延展性。第三步:提出這節(jié)課中心問題:怎樣利用Proteus軟件實現(xiàn)與Keil軟件的聯(lián)調(diào)?2015年教育部專門設立國家級虛擬仿真實驗教學中心。那么,我們學校在這方面做了努力?(自問自答,課程思政:愛校、愛國、科技戰(zhàn)略)(1)為什么要用Proteus仿真?(2)它有什么作用?、怎么用?二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)

思考:你能讓LED間隔點亮嗎?或者跑起來?。?!三、基本原理(重點)

1、Proteus軟件硬件電路設計ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。以簡單的LED燈為例講述Proteus仿真軟件的操作使用方法。(老師邊操作演示邊講解)三、基本原理(重點)

2、Proteus軟件的使用方法(邊操作邊講,要點筆記整理)(1)進入ProteusISIS(2)文件的新建和保存(3)設置工作環(huán)境(4)選取元器件:【Library】→【PickDevice】(5)放置元器件(6)編輯元器件屬性(7)繪制原理圖(8)程序的編譯(9)模擬調(diào)試三、基本原理(重點)

3、電路設計與KeilC在線聯(lián)調(diào)(1)硬件電路設計LED發(fā)光二極管是通過單片機P1口直接驅(qū)動,如圖采用的是低電平點亮的方式,提高LED顯示亮度。注意:仿真中,限流電阻不要過大,一般用100Ω左右。

三、基本原理(重點)

(2)軟件程序設計 ORG000H LJMPSTART ORG0030H START:

MOVP1,#10101010B;間隔點亮 acallDelay MOVP1,#01010101B acallDelay

LJMPSTARTDelay:

MOV R2,#100LOOP2: MOV R0,#20LOOP1: MOV R1,#248 DJNZ R1,$ DJNZ R0,LOOP1 DJNZ R2,LOOP2

RET END提問:請大家想想,要怎么修改程序改變發(fā)光二極管的顯示效果?跑起來!

ORG000H

LJMPSTART

ORG0030H START:

MOVP1,#11011111B

LJMPSTART

END 四、實物效果操作演示五、思考題與課外拓展1、思考題:要怎么修改程序改變發(fā)光二極管的顯示效果?2、課外拓展:

請基于以上原理設計,嘗試在Proteus軟件仿真平臺自主實現(xiàn)以下功能。

思考:(1)課后利用Proteus仿真顯示間隔點亮的效果?

(1)間隔點亮動起來?或者跑起來。課外(自學):間隔點亮的效果ThankYou!

單片機技術

六、汽車雙閃燈控制系統(tǒng)的設計課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課,我們基于單片機的最小應用系統(tǒng)完成了P1口輸入、輸出控制功能的設計,講解了P1口輸入、輸出控制應用方法。P1口是準雙向口。但是在實際生活中針對具體的任務,我們是怎樣應用它實現(xiàn)一個具體的實用性功能,這是怎樣的一個設計過程,請大家一起來體驗。記住口訣:欲讀先置一一、課程引入(1)轉向提醒、起步提醒、靠邊提醒(方式是閃爍)(2)剎車、減速提醒(尾紅燈亮)。(3)雙閃燈(危險報警閃光燈),濃霧天氣、緊急情況提示注意,防止追尾。第二步:啟發(fā)式引入新的問題:在生活中,隨著汽車的家用普及,汽車走進的平民百姓的生活,很多同學家里都有車,有的同學也在考駕照。但是,您了解汽車的尾燈功能嗎?請大家列舉汽車尾燈的幾種功能:(提問)應用:我們通過單片機控制兩個LED燈來模擬汽車雙閃燈的工作過程。1.臨時停車時。2.牽引故障機動車時。3.組成交警部門允許的車隊時。4.在高速公路行駛,但能見度低于100米,時速低于40km/h時。除以上4種需要開啟雙閃燈的情況外,任何使用雙閃燈行為,將可能對機動車駕駛員處以記3分的處罰。一、課程引入汽車雙閃燈:第三步:提出這節(jié)課中心問題:“怎樣通過單片機控制兩個LED燈實現(xiàn)汽車雙閃燈功能,并保證系統(tǒng)的可靠性?”二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)三、基本原理(重點)

1、單片機系統(tǒng)開發(fā)方法單片機應用系統(tǒng)由硬件和軟件兩部分組成,總體設計包括以下內(nèi)容,(1)明確系統(tǒng)功能(2)硬件電路設計與搭建(3)軟件(程序)設計與編譯(4)程序語言及程序結構選擇(5)軟件可靠性設計(6)下載程序到單片機中并調(diào)試2、汽車雙閃燈控制基本任務:我們用89C51單片機作為本系統(tǒng)的控制核心,利用單片機P0口的兩個位端口控制兩個發(fā)光二極管,來模擬汽車的兩個雙閃燈實現(xiàn)“雙閃”功能,0.5秒閃爍一次。

三、基本原理(重點)

3、雙閃燈硬件電路的設計4、源程序: ORG 0000HLOOP:MOV A,#7EH

MOV P0,A

LCALL DEL500ms

MOV A,#0FFH

MOV P0,A

LCALL DEL500ms

SJMP LOOPDEL500ms:

MOV R2,#5LOOP2: MOV R3,#200LOOP1: MOV R4,#250

DJNZ R4,$

DJNZ R3,LOOP1

DJNZ R2,LOOP2 RET

END三、基本原理(重點)5、編譯與調(diào)試(1)把源程序編譯成可執(zhí)行文件。(2)把上面的參考源程序編譯成十六進制的可執(zhí)行文件,進行程序Proteus仿真,驗證可行性。(3)把程序下載到單片機。(4)實物測試與調(diào)試:把單片機放到電路中,進行調(diào)試驗證。調(diào)試成功后,把R2的參數(shù)改成20,再觀察一下電路的現(xiàn)象,思考一下發(fā)生變化的原因?四、實物效果展示五、思考題與課外拓展1、思考題:

(1)、單片機開發(fā)系統(tǒng)由哪些部分組成?各部分的具體任務是什么?(2)、單片機的硬件調(diào)試主要內(nèi)容有哪些?2、課外拓展:

請基于以上原理設計延時程序,設計實現(xiàn)汽車的尾燈的所有功能。(要求在Proteus軟件仿真平臺自主完成設計)ThankYou!

單片機技術

三、延時子程序的設計方法課程引入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的延時子程序?應用提示:讓單片機做些無用功,延時一段時間。我們經(jīng)常用一個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?,F(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(); //調(diào)用延時子函數(shù)。

}

P1=0x0ff; //

for(j=0;j<20;j++) //for循環(huán),。{

delay10ms(); //調(diào)用延時子函數(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!

單片機技術

四、流水燈的設計課程引入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!

單片機技術

五、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)解鎖。(思政:輸入與產(chǎ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口值將讀入的值輸出到P1.3三、基本原理(重點)

源程序:

KEYLEFT

BITP1.0;定義

KEYRIGHTBITP1.1

LEDLEFT

BITP1.2

LEDRIGHTBITP1.3

ORG

0000H

LJMP

START

ORG

0030HSTART:SETBKEYLEFT;欲讀先置一

SETBKEYRIGHTLOOP:MOVC,KEYLEFT

MOVLEDLEFT,C

MOVC,KEYRIGHT

MOVLEDRIGHT,C

LJMPLOOP

END提問:請大家討論一下,怎樣編寫程序?qū)?個發(fā)光二極管、2個撥斷開關拓展到8個,程序有幾種寫法,各抒已見?四、實物效果展示五、思考題與課外拓展1、思考題:用更簡單的編程方法實現(xiàn)該實驗的內(nèi)容,請寫出程序?2、課外拓展:

請基于以上原理現(xiàn)場設計程序,使單片機控制8個LED指示8個撥斷開關的狀態(tài)。要求在Proteus平臺自主完成設計)ThankYou!

單片機技術

七、靜態(tài)數(shù)碼顯示課程引入

1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課,我們基于單片機的最小應用系統(tǒng)完成了汽車雙閃燈控制系統(tǒng)的設計,它是單片機控制發(fā)光二極管的應用設計實例。但是生活中,我們經(jīng)常用發(fā)光二極管來構成數(shù)碼管的方式來顯示基本信息。這節(jié)課,我們將講述:怎么樣利用單片機驅(qū)動控制一位數(shù)碼管顯示字符或數(shù)據(jù)?請大家一起來體驗它的應用設計過程。一、課程引入第二步:啟發(fā)式引入新的問題:在生活中,數(shù)碼管的顯示方式分為:靜態(tài)顯示和動態(tài)顯示。(一動一靜之間,彰顯科技之美!)你知道什么叫靜態(tài)顯示、動態(tài)顯示嗎?(互動提問)第三步:提出這節(jié)課中心問題:

怎樣通過單片機驅(qū)動一位數(shù)碼管靜態(tài)顯示數(shù)字“0-9”或字符“a-f”中任意一個?

應用提示:生活中各個門店的的廣告牌、顯示屏的原理基本上都是采用靜態(tài)或動態(tài)的驅(qū)動顯示方式。答案是:靜態(tài)顯示和動態(tài)顯示區(qū)別在于它的數(shù)據(jù)驅(qū)動方式,說白了就是單片機給數(shù)據(jù)的方式,而不是顯示字符靜止或流動。動態(tài)顯示后面專題再講,大家先網(wǎng)上自學一下。二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發(fā)學生學習興趣)

提問:數(shù)碼管能顯示字符嗎,想想用它能顯示哪些字符?三、基本原理(重點)

1、數(shù)碼管簡介數(shù)碼管一種是半導體發(fā)光器件,分共陰、共陽兩種。共陰極數(shù)碼管:8個發(fā)光二極管的陰極(二極管負端)連接在一起。當某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導通電流。三、基本原理(重點)

2、靜態(tài)數(shù)碼顯示的工作原理數(shù)碼管的工作原理:是通過單片機的I/O端口進行驅(qū)動數(shù)碼管的各個段碼,點亮不同的段碼從而形成字符顯示出我們要的數(shù)字或字符。靜態(tài)顯示原理:當數(shù)碼管顯示某一字符時,相應的發(fā)光二極管恒定導通或恒定截止。每個數(shù)碼管的8個字段分別與一個8位I/O口地址相連,I/O口只要有段碼輸出,相應字符即顯示出來,并保持不變,直到I/O口輸出新的段碼。采用靜態(tài)顯示方式的特點:較小的電流即可獲得較高的亮度,且占用CPU時間少,編程簡單,顯示便于監(jiān)測和控制,但其占用的口線多,硬件電路復雜,成本高,只適合于顯示位數(shù)較少的場合。

三、基本原理(重點)

3、數(shù)碼管顯示的編碼原理要使數(shù)碼管顯示出相應的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應的字形編碼。

P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0顯示字符編碼數(shù)據(jù)D7D6D5D4D3D2D1D0dpgfedcba00111111“0”3FH00000110“1”06H01011011“2”5BH01001111“3”4FH01100110“4”66H01101101“5”6DH01111101“6”7DH00000111“7”07H01111111“8”7FH01101111“9”6FH01110111A77H01111100B7CH111111“0”00111111“0”3FH三、基本原理(重點)

4、任務分析和硬件電路設計采用AT89c51單片機作為本系統(tǒng)的控制核心,利用單片機P0口直接驅(qū)動一個共陰的數(shù)碼管,驅(qū)動顯示數(shù)據(jù)“5”。(1)硬件電路設計共陰數(shù)碼管的公共端通過限流電阻接地,筆段端通過單片機P0口直接驅(qū)動,單片機是無法提供足夠的驅(qū)動電流的。

為了節(jié)省硬件,直接采用上拉電阻進行簡單的驅(qū)動配置,達到提供驅(qū)動電流的目的,提高數(shù)碼管的顯示亮度。

三、基本原理(重點)

5、軟件程序

BUF1

EQU30H ORG

0000H LJMP

START ORG

0030HSTART: MOV

BUF1,#05HNEXT:MOV

A,BUF1 MOV

DPTR,#TABLE MOVC

A,@A+DPTR MOV

P0,A LCALL

DELY10MS LJMP

STARTDELY10MS:MOV

R6,#20D1: MOV

R7,#248 DJNZ

R7,$ DJNZ

R6,D1 RETTABLE: DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5 DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B DB58H,5EH,79H,71H,40H,00H;C,D,E,F(xiàn),- END提問:請大家討論一下,怎樣編寫程序?qū)崿F(xiàn)一位數(shù)碼管交替顯示“6”、“A”?四、實物效果展示五、思考題與課外拓展1、思考題:編寫程序?qū)崿F(xiàn)一位數(shù)碼管交替顯示“6”“A”。2、課外拓展:

請基于以上原理設計程序,在Proteus軟件仿真平臺分別實現(xiàn)以下功能。

(1)請利用單片機四組I/O口分別驅(qū)動4位數(shù)碼管顯示“good”、“1000”。

(2)請利用驅(qū)動芯片組成并口靜態(tài)數(shù)碼顯示電路,顯示“012345”等,提示可采用74LS373等數(shù)據(jù)鎖存器。

(3)請利用驅(qū)動芯片組成串口靜態(tài)數(shù)碼顯示電路,顯示“HELLO”等字符,提示可采用74LS164等串行移位寄存器。

課外(自學):交替顯示“6”“A”課外(自學):顯示“HELLO”ThankYou!

單片機技術

八、0—9隨機抽號器的設計

課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課,我們基于單片機的最小應用系統(tǒng)完成了數(shù)碼管的字符顯示功能,它是單片機控制數(shù)碼顯示的靜態(tài)顯示實例,后面我們也會接著講動態(tài)數(shù)碼顯示的編程方式。這節(jié)課將在上節(jié)課靜態(tài)顯示的基礎上鞏固加深,做一個數(shù)碼跑動的鍵控效果,讓數(shù)碼管“動”起來。一、課程引入第二步:啟發(fā)式引入新的問題:生活中,我們經(jīng)常用到隨機抽號器,例如考試的隨機抽題、各種隨機形式的抽簽等等。以最簡單的0-9隨機抽號器的設計為例。那么請大家一起討論一下,我們需要從那幾個方面考慮?請積極發(fā)言:第三步:提出這節(jié)課中心問題:針對上述四個關鍵問題請給出最佳的設計、處理思路?

(1)數(shù)碼管的顯示,需要能夠從0到9快速跑起來。(2)按鍵控制停止,按下鍵就停在某一隨機數(shù)字上。(3)如何保證0-9的數(shù)據(jù)具有隨機性?(4)怎樣恢復到下一次的抽號?二、應用效果仿真展示仿真平臺應用效果展示(激發(fā)學生學習興趣)1、設計方法(4)怎樣恢復到下一次的抽號?對策思路:最佳的人性化方案是,再按一下同一個鍵,即可立刻自動復位到隨機抽號功能??梢酝ㄟ^開關按鍵的電平檢測細分狀態(tài)編程實現(xiàn)。(1)數(shù)碼管的顯示,需要能夠從0到9快速跑起來。對策思路:要用一個計數(shù)變量,編程做加法運算實現(xiàn)0到9的循環(huán)數(shù),之后譯碼顯示。任務分析(2)按鍵控制它的停止,按下鍵就停在某一隨機數(shù)字上。對策思路:要做一個按鍵檢測,檢測到就鎖存正顯示的數(shù)據(jù)不動,并且要始終嵌套在主程序中一直執(zhí)行按鍵掃描。(3)如何保證0-9的數(shù)據(jù)具有隨機性?對策思路:要保證公平性和隨機性,加法循環(huán)計數(shù)速度要遠遠超過按鍵的操作速度,可以采用1秒鐘,循環(huán)計數(shù)1000-10000次。三、設計原理(重點)三、設計原理(重點)2、系統(tǒng)設計(1)硬件電路設計采用AT89c51單片機作為本系統(tǒng)的控制核心,利用單片機P0口直接驅(qū)動一個共陰的數(shù)碼管,按鍵狀態(tài)通過P3.7口輸入,不按為高電平,按下為低電平。三、設計原理(重點)

(2).軟件程序編寫

Count EQU30H SP1 BITP3.7 ORG 0000H LJMP START ORG 0030HSTART: MOV

Count,#00H MOV

DPTR,#TABLELOOP: MOV A,Count ADD A,#1 DA A ANL

A,#0FH MOV

Count,A MOVC

A,@A+DPTR MOV

P0,Asweep:JB

SP1,LOOP;等于1跳轉。LCALL

DELY10MS JB

SP1,LOOPwt:

JNBSP1,wt;檢測按鍵釋放1;JNB等于0就跳轉。

;LJMP$wIt:

JBSP1,wIt

;檢測是否再次按鍵復位0,沒有就等待wt2:

JNBSP1,wt2

;按鍵了準備復位,等待釋放后復位。

LJMPSTARTDELY10MS:

MOVR6,#20D1: MOVR7,#248 DJNZR7,$ DJNZR6,D1 RETTABLE:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END

思考:請大家討論一下,怎樣編寫程序?qū)崿F(xiàn)兩位數(shù)碼顯示的隨機抽號功能?四、實驗箱演示實物運行效果:五、思考題與課外拓展1、思考題:怎樣編寫程序?qū)崿F(xiàn)兩位數(shù)碼顯示的隨機抽號功能?2、課外拓展:請基于以上原理設計程序,在Proteus軟件仿真平臺分別實現(xiàn)以下功能。(1)請編程實現(xiàn)一位數(shù)碼管的0-9隨機抽簽排序功能,隨機抽出0-9的數(shù)字各一,保證穩(wěn)定性,防止誤操作。(難點提示:可以通過“兩鍵互鎖,一鍵恢復”的方式防止誤操作。)(2)請編程實現(xiàn)1-4位數(shù)碼管隨機抽號功能,添加一個按鍵,用于選擇數(shù)碼管的位數(shù)的模式切換。(3)請編程實現(xiàn)1-4位數(shù)碼管隨機抽簽排序功能,添加一個按鍵選擇數(shù)碼管的位數(shù)模式切換。ThankYou!

單片機技術

項目3搶答器的設計

課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課,我們基于單片機的最小應用系統(tǒng)完成了0-9隨機抽號器的設計。一、課程引入今天我們將在此基礎之上,設計一個搶答器。這是對數(shù)碼顯示技術及按鍵檢測處理方法的一次綜合型設計,目的是訓練大家的應用編程能力,幫助理解前面的知識點,形成實際的編程應用能力。下一節(jié)課我們將轉入下一個項目:交通燈的設計一、課程引入第二步:啟發(fā)式引入新的問題:常見的搶答器有哪些功能?請大家回想數(shù)字電路課程設計中搶答器,它主要由哪幾部分構成?以8路搶答器的設計為例。請大家一起討論一下,我們需要從那幾個方面考慮?第三步:提出這節(jié)課中心問題:針對上述四個關鍵問題請給出最佳的設計、處理思路?

(1)數(shù)碼管的顯示、驅(qū)動方式。(2)按鍵檢測與處理。(3)如何保證搶答器的公平性?(4)怎樣恢復到下一次的搶答?二、應用效果仿真展示仿真平臺應用效果展示(激發(fā)學生學習興趣)1、設計方法(4)怎樣恢復到下一次的搶答?對策思路:設置主持人鍵,主持人按復位鍵手動恢復下一次搶答。分正常搶答完成、提前搶答和搶答超時三種情況下的復位。(1)數(shù)碼管的顯示、驅(qū)動方式。對策思路:數(shù)碼管顯示位數(shù)不多,可以采用靜態(tài)顯示,共陰數(shù)碼管采用上拉電阻驅(qū)動即可。任務分析(2)按鍵檢測與處理。對策思路:采用獨立式按鍵,檢測按鍵輸入的電平變化,對按鍵掃描需要考慮到按鍵抖動的干擾,需要消抖處理。(3)如何保證搶答器的公平性?對策思路:利用開機自檢、測試保證設備公平性;掃描的按鍵速度us級保證按鍵動作捕獲公平;設置搶答鎖定,設置主持鍵允許搶答、提前搶答違規(guī)處理保證過程公平。三、設計原理(重點)三、設計原理(重點)2、相關知識(1)按鍵去抖動

接觸式按鍵,是有機械觸點的彈性開關。按鍵按下,開關閉合;按鍵釋放,開關斷開。實現(xiàn)電氣上邏輯關系的輸出,提供標準的TTL邏輯電平。理想波形按鍵機械抖動波形一般有硬件消抖和軟件消抖兩種方法。三、設計原理(重點)硬件消抖:RC濾波去抖動脈沖計數(shù)就是合理設置一個計數(shù)值,通過計數(shù)來確認按鍵動作,避免重復響應。延時消抖是根據(jù)按鍵抖動出現(xiàn)的特性,利用10ms左右的延時,規(guī)避抖動信號出現(xiàn)的時間段,達到軟件消抖的目的。軟件消抖:脈沖計算、延時響應消抖。三、設計原理(重點)(2)數(shù)碼管顯示字符編碼數(shù)據(jù):單片機對筆段端I/O口輸出的編碼數(shù)據(jù)。共陰數(shù)碼管顯示字符“0”,對應的數(shù)據(jù)D7~D0為:3FH。數(shù)碼顯示方式:靜態(tài)顯示和動態(tài)顯示。

這里采用靜態(tài)顯示:通過驅(qū)動器或鎖存器直接控制數(shù)碼管的顯示,單片機端口直接驅(qū)動一位數(shù)碼管。靜態(tài)顯示,耗占用CPU時間少。一般只適合于數(shù)碼管顯示位數(shù)較少的場合。數(shù)碼管編碼數(shù)據(jù)三、設計原理(重點)(3)驅(qū)動接口電路設計數(shù)碼管、LED、點陣等發(fā)光部件常需要用數(shù)據(jù)鎖存器74273、緩沖器74245、反相器7406、達林頓管UL2003等來做驅(qū)動。搶答器中的蜂鳴器、揚聲器常需要三極管作驅(qū)動接口設計。常見的三極管接口電路三、設計原理(重點)3、系統(tǒng)設計(1)需求功能邊界的確認開機自檢:數(shù)碼管倒計數(shù),LED流水燈,顯示是否正常。待機準備:禁止搶答,顯示“0”,LED全亮,搶答鍵無效。主持人搶答鍵按下:蜂鳴器提示,數(shù)碼管初始顯示“-”,指示燈滅。數(shù)碼管閃爍顯示“g”、“o”,表示搶答鍵開始有效。提前搶答:數(shù)碼管顯示“E”,表示error,LED指示哪路提前搶答。搶答成功:蜂鳴器發(fā)聲提示,數(shù)碼管顯示搶答結果,進入鎖定狀態(tài)。若搶答超時,蜂鳴器長響,主持人按鍵后恢復待機準備狀態(tài)。三、設計原理(重點)(2)硬件電路設計

采用89c51單片機作為主控,利用單片機P1口掃描8路搶答按鍵,P2口接LED指示燈,并通過P0口上拉驅(qū)動的數(shù)碼管顯示。P3.0口為主持人鍵,P3.7口驅(qū)動蜂鳴器。三、設計原理(重點)

(3)

程序設計方法:先畫出流程圖,再寫代碼。代碼分析見教材,或項目配套工程文件中講解。思考:

請大家討論,怎樣編寫程序?qū)崿F(xiàn)10路搶答功能?四、實驗箱演示實物運行效果:五、思考題與課外拓展1、思考題:基于Proteus平臺,自己編程,獨立完成簡化版的八路搶答器設計:能夠8路搶答、鎖存、顯示即可,做出仿真效果圖。2、課外拓展:

拓展一:要求自己動手查找資料,基于Proteus平臺,用C語言編寫程序?qū)崿F(xiàn)十路搶答器。拓展二:基于Proteus平臺,實現(xiàn)具有數(shù)碼0~9隨機抽號功能。拓展三:基于Proteus平臺,實現(xiàn)99計數(shù)器,按下鍵,數(shù)碼管計數(shù)值加1。ThankYou!

單片機技術

項目4交通燈-外部中斷技術課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節(jié)課我們講了8路搶答器的設計,單片機通過檢測8路按鍵的狀態(tài)判斷搶答對象,并數(shù)碼顯示。主要涉及到數(shù)碼顯示技術及按鍵檢測處理方法。前面講的這些都是屬于單片機基本的端口控制功能應用方法與技巧,今天我們開始涉及到單片機智能型體現(xiàn)的關鍵技術——中斷系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論