發(fā)光二極管LED點亮控制_第1頁
發(fā)光二極管LED點亮控制_第2頁
發(fā)光二極管LED點亮控制_第3頁
發(fā)光二極管LED點亮控制_第4頁
發(fā)光二極管LED點亮控制_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目一發(fā)光二極管

LED點亮控制

1教學目的了解單片機的內部結構與主要型號;掌握單片機引腳功能;掌握單片機I/O口的基本功能;掌握用I/O口實現簡單控制的方法;利用單片機的I/O口實現LED閃爍的控制。2工作模塊一點亮一個發(fā)光二極管工作任務使用AT89S52單片機,P1.0引腳接發(fā)光二極管(LED)的陰極,通過C語言程序控制,從P1.0引腳輸出低電平,使發(fā)光二極管點亮。3PROTEUS簡介PROTEUS是英國LabcenterElectronics公司開發(fā)的多功能EDA軟件。PROTEUS不僅是模擬電路、數字電路、模/數混合電路的設計與仿真平臺,也是目前較先進的單片機和嵌入式系統的設計與仿真平臺。它實現了在計算機上完成從原理圖與電路設計、電路分析與仿真、單片機代碼級調試與仿真、系統測試與功能驗證到形成PCB的完整的電子設計、研發(fā)過程。4LED控制電路按照工作任務要求,點亮一個LED電路是由AT89S52單片機和1個LED電路構成。AT89S52單片機是美國ATMEL公司生產的低電壓、高性能8位單片機,具有豐富的內部資源,使用AT89S52單片機無須外部存儲器。5用PROTEUS設計第一個LED控制電路新建設計文件保存設計文件選取元器件放置元器件

編輯元器件放置終端連線屬性設置電氣規(guī)則檢測

6工作過程P1.0引腳接發(fā)光二極管(LED)的陰極,P1.0引腳輸出低電平時,發(fā)光二極管點亮。

問題:為什么P1.0引腳輸出低電平,發(fā)光二極管點亮?通過程序控制,使P1.0引腳輸出低電平,使發(fā)光二極管點亮。問題:程序怎么使P1口的引腳輸出低電平?下面我們來看一下程序,就可以找到答案。7LED點亮程序#include<AT89X52.H>//包含AT89X52.H頭文件sbitLED=P1^0;//定義LED是P1.0引腳對應的變量名voidmain(void){LED=0;//P1.0=0,LED點亮

while(1);}8KEILC51KeilC51是德國Keil軟件公司開發(fā)的基于8051內核的微控制器軟件開發(fā)平臺,是51系列單片機C語言軟件開發(fā)系統,是目前開發(fā)8051內核單片機的主流工具。KeilC51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。μVision2集成開發(fā)環(huán)境可以完成從工程建立和管理、編譯、連接、目標代碼的生成、軟件仿真和硬件仿真等完整的開發(fā)流程。9用KEILC51編寫第一個C語言程序

建立第一個C程序項目建立工程文件建立源文件加載源文件設置工程的配置參數進行編譯和連接進入調試模式全速運行程序10用PROTEUS仿真運行調試

加載“點亮一個LED.hex”目標代碼文件打開Proteus“點亮一個LED”電路。雙擊單片機“AT89S52”,在彈出的“編輯元件”對話框中單擊“ProgramFile”欄的打開按鈕,在彈出的“選擇文件名”對話框找到前面編譯生成的“點亮一個LED.hex”HEX文件,單擊“打開“按鈕,完成“點亮一個LED.hex”HEX文件加載。將“ClockFrequency”欄中的頻率設為12MHz,單擊“確定”,即可完成加載目標代碼文件。仿真運行調試單擊仿真工具欄“運行”按鈕,單片機全速運行程序。11認識單片機單片機實質上是一個芯片

CPU存儲器定時器/計數器

中斷系統P0-P3TxDRxD

TINT并行I/O口串行I/O口12單片機的發(fā)展

第一階段(1974-1976年)為單片機初級階段由于受工藝及集成度的限制,單片機采用雙片形式,且功能比較簡單。第二階段(1976-1978年)為低性能單片機階段單片機采用單芯片形式,是“小而全”。第三階段(1978-1982年)為高性能單片機階段,也是單片機普及階段第四階段(1982年以后)為16位單片機階段13單片機的特點

由于單片機是在一塊芯片上集成了一臺微型計算機所需的CPU、存儲器、輸入/輸出部件和時鐘電路等。因此它具有體積小,使用靈活、成本低、易于產品化、抗干擾能力強,可在各種惡劣環(huán)境下可靠地工作等特點。體積小、重量輕,價格低、功能強,電源單一、功耗低,可靠性高、抗干擾能力強;使用方便靈活、通用性強;目前大多數單片機采用哈佛(Harvard)結構體系;突出控制功能的指令系統;較低的處理速度和較小的存儲容量。14單片機的應用

單片機主要應用在以下幾個方面:家用電器智能卡智能儀器儀表網絡與通信工業(yè)控制15單片機的分類單片機可分為通用型單片機和專用型單片機兩大類。通用型單片機是把可開發(fā)資源全部提供給使用者的微控制器。我們通常所說的單片機即指通用型單片機。專用型單片機則是為過程控制、參數檢測、信號處理等方面的特殊需要而設計的單片機。16按片內不同程序存儲器的配置來分片內帶ROM、片內帶EPROM型、片內無ROM按片內不同容量的存儲器配置來分51子系列型(是基本型)、52子系列型(是增強型)按芯片的半導體制造工藝上的不同來分HMOS工藝型、CHMOS工藝型(用“C”表示)按所能適應的環(huán)境溫度范圍,可劃分為三個等級:0℃~70℃民用級、-40℃~+85℃工業(yè)級、-65℃~+125℃軍用級。17MCS-51單片機MCS-51是美國Intel公司的8位高檔單片機系列,也是我國目前應用最為廣泛的一種單片機系列。8051/80C51是整個MCS-51系列單片機的核心。51系列單片機源于Intel公司的MCS-51系列,在Intel公司將MCS-51系列單片機實行技術開放政策之后,許多公司都以MCS-51中的基礎結構8051為基核推出了許多各具特色、具有優(yōu)異性能的單片機,如Philips、Atmel等。這樣,把這些廠家以8051為基核推出的各種型號的兼容型單片機統稱為51系列單片機。18Atmel公司的AT89系列單片機AT89系列單片機不但具有一般MCS-51單片機的所有特性,而且其Flash程序存儲器可以用電擦除方式瞬間擦除、改寫,寫入單片機內的程序還可以進行加密。

型號快閃ROM片內RAM尋址范圍并行口線串行口中斷源定時器AT89C514K1282×64K32152×16AT89C528K2562×64K32163×16AT89C20512K1282×4K15152×16AT89C40514K1282×4K15152×16AT89S514K1282×64K32152×16AT89S528K2562×64K32163×1619單片機硬件結構時鐘電路CPUROMRAMT0T1中斷系統串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數器中央處理器CPU:8位,運算和控制功能內部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數據,后128個單元被專用寄存器占用。內部ROM:4KB掩膜ROM,用于存放程序、原始數據和表格。定時/計數器:兩個16位的定時/計數器,實現定時或計數功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統:5個中斷源(外中斷2個,定時/計數中斷2個,串行中斷1個)時鐘電路:可產生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ復位電路20中央處理器(CPU)中央處理器是單片機的核心,完成運算和控制功能。MCS-51的CPU能處理8位二進制數或代碼。21內部數據存儲器(內部RAM)芯片中共有256個RAM單元前128單元,作為供用戶使用的寄存器和用于存放可讀寫的數據;后128單元被專用寄存器占用。通常所說的內部數據存儲器就是指前128單元,簡稱內部RAM。22內部程序存儲器(內部ROM)芯片中共有4KB個ROM單元。用于存放程序、原始數據或表格,因此,稱之為程序存儲器,簡稱內部ROM。23定時/計數器兩個16位的定時/計數器。實現定時或計數功能,并以其定時或計數結果對計算機進行控制。24并行I/O口4個8位的I/O口(P0、P1、P2、P3)實現數據的并行輸入/輸出25串行口一個全雙工的串行口,以實現單片機和其它設備之間的串行數據傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。26中斷控制系統5個中斷源,即外中斷兩個,定時/計數中斷兩個,串行中斷一個。全部中斷分為高級和低級共兩個優(yōu)先級別。27AT89S52單片機結構

一個8位CPU;一個片內振蕩器及時鐘電路;8K字節(jié)可重復擦寫的Flash閃速存儲器三級加密程序存儲器;256×8字節(jié)內部RAM;3個16位定時器/計數器;32條可編程的I/O線(四個8位并行I/O端口);一個可編程全雙工串行口;具有8個中斷源、兩個優(yōu)先級嵌套中斷結構。

28AT89S52引腳功能電源線:VCC(+5V)、VSS(地)振蕩電路:XTAL1、XTAL2復位引腳:RST并行口:P0、P1、P2、P3EA:訪問程序存儲控制信號PSEN:外部ROM讀選通信號ALE:地址鎖存控制信號P3口線的第二功能29AT89S52引腳功能電源引腳(2根)VCC(40腳):電源端,接+5V電源。VSS(20腳):接地端。時鐘引腳(2根)XTAL1(19腳):接外部晶振和微調電容的一端。XTAL2(18腳):接外部晶振和微調電容的另一端。30AT89S52引腳功能控制引腳(4根)

RST/VPD(9腳):復位信號。當輸入的復位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復位初始化操作。ALE/PROG(30腳):地址鎖存控制信號。在系統擴展時,ALE用于控制把P0口輸出的低8位地址鎖存起來,以實現低位地址和數據的隔離。EA/VPP(31腳):訪問程序存儲控制信號。當信號為低電平時,對ROM的讀操作限定在外部程序存儲器;當信號為高電平時,對ROM的讀操作是從內部程序存儲器開始,并可延至外部程序存儲器。PSEN(29腳):片外ROM讀選通信號端。

在讀片外ROM時,PSEN有效,為低電平,以實現對片外ROM的讀操作。31AT89S52引腳功能P0口(引腳32-39)普通I/O口P1口(引腳1-8)普通I/O口P2口(引腳21-28)普通I/O口P3口(引腳10-17)普通I/O口,或作為其他第二功能口32P3口各引腳與第二功能表引腳第二功能功能說明P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2INT0外部中斷0輸入P3.3INT1外部中斷1輸入P3.4T0定時器/計數器0計數輸入P3.5T1定時器/計數器1計數輸入P3.6WR片外RAM寫選通信號(輸出)P3.7RD片外RAM讀選通信號(輸入)33單片機最小系統單片機5V電源,接地時鐘(晶振)電路復位電路34時鐘電路時鐘電路為單片機產生時鐘脈沖序列。系統的晶振頻率一般為1.2MHz~12MHz,電容C1和C2取30pF左右。晶體振蕩頻率高,則系統的時鐘頻率也高,單片機運行速度也就快。35時序的概念

單片機內的各種操作都是在一系列脈沖控制下進行的,而各脈沖在時間上是有先后順序的,這種順序就稱為時序。

單片機的時序定時單位從小到大依次為:振蕩周期、狀態(tài)周期、機器周期和指令周期。振蕩周期是指晶體振蕩器直接產生的振蕩信號的周期,是振蕩頻率fosc的倒數,用P表示。

狀態(tài)周期(或時鐘周期S)是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍。1個機器周期是由6個狀態(tài)周期構成。執(zhí)行一條指令所需的時間稱為指令周期。36各種周期的相互關系

37復位電路單片機的復位引腳RST出現2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。常見的復位操作有上電自動復位和按鍵手動復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現的。按鍵手動復位是通過復位端經電阻與電源VCC接通而實現的,它兼?zhèn)渖想姀臀还δ堋?8復位功能復位是單片機的初始化操作。是把PC初始化為0000H,使CPU從0000H單元開始執(zhí)行程序;同時還對其他一些寄存器有影響,但內部RAM的數據是不變的。除了進入系統的正常初始化之外,當由于程序運行出錯或操作錯誤使系統處于死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵重新啟動。39技能訓練1-1

單片機最小系統只是單片機能滿足工作的最低要求,它不能對外完成控制任務,實現人機對話。

單片機最小系統應用—開關控制LED點亮電路設計程序設計

40工作模塊2

-LED閃爍分析軟件實現思路:點亮發(fā)光二極管延時(延時子程序)關閉發(fā)光二極管延時重復上述動作(循環(huán))電路設計和前面一樣41C語言程序#include<AT89X52.h>sbitLED=P1^0;voidDelay(){unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(){while(1){LED=0;Delay();LED=1;Delay();}}42思考把Delay()延時函數放在后面如何處理?提示:在程序開頭加入說明行(即子程序頭加分號),既定義在前,使用在后。43C語言程序的構成C語言的程序是由一個或多個函數構成的,最簡單的程序只有一個main函數。一個函數由兩部分組成函數的首部、即函數的第一行;包括函數名、函數類型、函數屬性、函數參數(形參)名、參數類型。

函數體,即函數首部下面的大括號“{}”內的部分。函數體一般包括:

聲明部份:定義所用到的變量,如voidDelay()中的unsignedchari,j;。執(zhí)行部份:由若干個語句組成。

44標識符

C語言規(guī)定標識符只能由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。變量名、常數名、數組名、函數名、文件名與類型名等統稱為標識符。標識符分為預定義標識符和用戶標識符。說明:C語言中大寫字母與小寫字母被認為是兩個不同的字符。標識符在命名時應當簡單,含義清晰,這樣有助于閱讀理解程序。45關鍵字

關鍵字則是編程語言保留的特殊標識符,它們具有固定名稱和含義,在程序編寫中不允許標識符與關鍵字相同。在KeilC中的關鍵字除了有ANSIC標準的32個關鍵字外,還根據51單片機的特點擴展了相關的關鍵字。在KeilC的文本編輯器中編寫C程序,系統把保留字以不同顏色顯示,缺省顏色為天藍色。46C語言基本語句C語言的程序是由一個或多個函數組成的,而函數又是由若干個語句組成的。語句是由一些基本字符和定義符按照C語言的語法規(guī)定組成的,每個語句以分號結束,分號是C語句的必要組成部分。C語言的語句可分為以下5種類型:表達式語句函數調用語句控制語句復合語句空語句47表達式語句表達式語句是由一個表達式加一個分號構成一個語句,其作用是計算表達式的值或改變變量的值。它的一般形式是:表達式;即在表達式末尾加上分號,就變成了表達式語句。最典型的表達式語句是:在賦值表達式后加一個分號構成賦值語句。例如:a=3是一個賦值表達式a=3;是一個賦值語句48函數調用語句由一個函數調用加一個分號構成函數調用語句,其作用是完成特定的功能。它的一般形式是:函數名(參數列表);例如mDelay(100);//調用延時函數,參數是100

49控制語句控制語句用于完成一定的控制功能,以實現程序的各種結構方式。C語言有9種控制語句,可分為以下三類。條件判斷語句:if語句、switch語句。循環(huán)語句:for語句、while語句、do-while語句。轉向語句:break語句、continue語句、goto語句、return語句。50復合語句復合語句是用一對大括號將若干條語句括起來的,也稱為分程序,在語法上相當于一條語句。例如main(){……{t=x;x=y;y=t;}//復合語句}51空語句只有一個分號的語句稱為空語句。它的一般形式是:;空語句是什么操作也不執(zhí)行,常用于作為循環(huán)語句中的循環(huán)體,表示循環(huán)體什么也不做。

52注釋

注釋內容可以單獨寫在一行上,也可以寫在一個語句之后;可以用/*…..*/的形式為C程序的任何一部份作注釋;KeilC也支持C++風格的注釋,就是用“//”引導的后面的語句是注釋,例:

P1_0=!P1_0;//取反P1.0這種風格的注釋,只對本行有效,書寫比較方便,所以在只需要一行注釋的時候,我們往往采用這種格式。53技能拓展-音頻控制應用

音頻控制電路由單片機最小系統、放大濾波電路和揚聲器構成。放大濾波電路由NPN三極管Q1、電阻R3、電容C4構成,Q1的基極經電阻R2接到P0.0引腳。

54音頻控制流程圖

利用AT89S52端口輸出脈沖方波,方波經放大濾波后,驅動揚聲器發(fā)聲,聲音的頻率高低由延時長短控制。55音頻控制程序音頻控制程序和模塊二LED閃爍程序基本一樣,下面寫出程序不同之處。#include<AT89X52.H>//包含AT89X52.H頭文件sbitSPK=P0^0;

溫馨提示

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

評論

0/150

提交評論