《單片機(jī)原理與接口技術(shù)》 課件 2.7 IAP15F2K61S2單片機(jī)的IO口程序設(shè)計實例_第1頁
《單片機(jī)原理與接口技術(shù)》 課件 2.7 IAP15F2K61S2單片機(jī)的IO口程序設(shè)計實例_第2頁
《單片機(jī)原理與接口技術(shù)》 課件 2.7 IAP15F2K61S2單片機(jī)的IO口程序設(shè)計實例_第3頁
《單片機(jī)原理與接口技術(shù)》 課件 2.7 IAP15F2K61S2單片機(jī)的IO口程序設(shè)計實例_第4頁
《單片機(jī)原理與接口技術(shù)》 課件 2.7 IAP15F2K61S2單片機(jī)的IO口程序設(shè)計實例_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章C51

程序設(shè)計基礎(chǔ)2.7

IAP15F2K61S2單片機(jī)的I/O口程序設(shè)計實例單片機(jī)原理與接口技術(shù)任務(wù)1

點(diǎn)亮發(fā)光二極管任務(wù)要求:點(diǎn)亮8個發(fā)光二極管,在上電時關(guān)閉繼電器、轟鳴器。知

識點(diǎn)

:1.發(fā)光二極管限流電阻的選擇。2.74HC573

、74HC138

、ULN2003

的使用。3.繼電器、轟鳴器的工作原理及控制。一、發(fā)光二極管(LED)限流電阻的選擇LED具有許多優(yōu)點(diǎn),它不僅有工作電壓低(1.5~3

V)、體積小、壽命長、可靠性高等優(yōu)點(diǎn),而且響應(yīng)速度快(≤100ns)、亮度比較高。一般LED的工作電流選在5~10mA,

不允許超過最大值(通常為50mA)。VCC10pIN3STEPDGNDIN7GND10ULN2003M74HC573MIRU25BY5Y5CJI3P42/WR74HC02U6

VCCGND

11OE

VCC

LED2

Q1Q2D3

Q3

D4Q4D5

Q5

D6

Q6D7

Q7

D8Q8GND2019

R風(fēng)

R32

1k

v=C2310pP00P01P0223418

RR

L2自

R33

Ik17

民LED

R40

1kP03

5D

P04

616LBKK

R41

Ik15

LeD

RR

15R42

1kP05

714R

LED

R43IkP06

813

只R

17

LBD

R44

IkP07

912

18

LED

R45

Ik10LEDvCC

SP1NBUZZBUZZERGNDU25D74HCO2U24Y2Y3Y4Y6G2B74HC138U25A74HC02U25C74HC02LED

模塊電路圖NRELAYDIODEmlm2vccOUT1OUT2OUT3OUT5OUT6OUT7COMP25P27二VCC

GNDY7WRY6WRY4C.GN191817161514二

13二GND

KIQ1

Q2Q3

Q4Q5

Q6Q7

Q8DID3D5

D6D7

D8P02

P03

P04P05

P06Y4WRM74HC573MIRRELAY-SPDTU10

IN1IN5

IN6N

RELAYGNDY7CccWROE2016二、工作原理分析任務(wù)1要求:點(diǎn)亮開發(fā)板的8個發(fā)光二極管,上電時關(guān)閉繼電器、轟鳴器。1.74HC138

譯碼器電路74HC138譯碼器是一款高速CMOS器件,其引腳兼容低功耗肖特基TTL(LSTTL)系列??山邮?位二進(jìn)制加權(quán)地址輸入

(C

、B

、A,C

是高位),U25B74HCO2U25D1274HC02U24Y0Y2Y3Y4Y5G2B74HC138Y5CJ13P42/WRGNDU25A74HCO2U25C74HCO2Y7WRY6WRY5WRY4WRVCCGNDY7CG1、G2A、G2B三個引腳為使能端,

G1G2A

G2B=100時,74HC138

工作,此時,74HC138

提供8個互斥的低電平有效輸出

(Y~Y?)。開發(fā)板上74HC138

C、B

、A

分別由P2.7

、P2.6

、P2.5。Y5CJ13P42/WRCON3U25B74HCO2U25D1274HC02U24Y0Y1Y3Y4Y5Y774HC138U25A74HCO2U25C74HCO2Y5WRY4WRY7WRY6WRY7CY6CP27VCCGNDM74HC573M1R鎖存器為八路3態(tài)輸出的非反轉(zhuǎn)透明鎖存器,OE引腳為輸出使能端,LE

引腳為鎖存使能端。當(dāng)LE

為高電平時,輸出同步,當(dāng)LE

為低電平時,符合建立時間和保持時間的數(shù)據(jù)將會被鎖存二

、工

作原理分析任務(wù)1要求:點(diǎn)亮開發(fā)板的8個發(fā)光二極管,上電時關(guān)閉繼電器、轟鳴器。2.74HC573

鎖存器電路ysC.10pPO4二

P0510pQ414R40

R41Ktevc1918171615二13STEPANRELAY

NMOTOR10M74HC573MIRVCCQ1

Q2Q3

Q4Q5

Q6Q8OUTIOUT2

OUT3

OUT4

OUT5

OUT6

OUT7COMDI

D2D4

D5D6

D7D8IN6IN7GNDM74HCS573MIRULN2003U6輸入輸出LED0~D7Q0~Q7HXX高阻LLX不變LOEHLLLHHH電路中,M74HC573M1R(U6)鎖存器的鎖存使能端Y4C=Y4+WR

。編程采用IO

模式,即將J13

2

3

,WR=0

。Y?是譯碼器輸入P2.7~P2.5

100時的有效輸出。當(dāng)=0時,Y4C=1,M74HC573M1R(U6)鎖存器工作。

通過P0

口即可控制LED

的亮滅情況。二、工作原理分析任務(wù)1要求:點(diǎn)亮開發(fā)板的8個發(fā)光二極管,上電時關(guān)閉繼電器、轟鳴器。3.ULN2003

達(dá)林頓陣列芯片電路GNDRELAY-SPDTNRELAYDIODESTEPA_RELAYvccU10IN1IN2IN3IN4IN5IN6IN7GNDULN2003GNDPO0P02二P04P05P06P0710U9LED1D2D3D4D5D6D7D8GNDYSCC26

10pGNDOUT1

OUT2OUT3

OUT4OUT5

OUT6OUT7COMVCCQ1

Q2Q3

Q4Q5

Q6Q7

Q820191817二16二151615109M74HC573M1R電路中ULN2003的作用是驅(qū)動繼電器

(K1)和轟鳴器

(

BUZZER)。ULN2003

是一款高耐壓、大電流驅(qū)動反向器件,由7個NPN達(dá)林頓管組成,單個達(dá)林頓管集電極可輸出500mA

電流,每個都有內(nèi)置2.7K

基極電阻,在5V

的工作電壓下,它能與TTL

和CMOS

電路直接相連。常用于單片機(jī)、PLC等控制電路,能直接驅(qū)動繼電器、顯示屏、步進(jìn)電機(jī)等負(fù)載。當(dāng)Y5C=1,M74HC573M1R(U9)鎖存器

工作。蜂鳴器一端接VCC,

只需給另一端

給高電平則不響,即令P06=0。繼電器一

端接VCC,

只需給另一端RELAY

給高電平則

不吸合,即令P04=0。

故PO賦值為0。vcRELAY-SPDTNRELAYDIODEGND1P00P02二P04二10INIIN3IN5IN7GNDULN2003YSC.10pGNDSTEPASTEPCNMOTOROED5D7GNDVCCQ2

Q3Q4

Q5Q7

Q8OUT2OUT4

OUT5OUT6

OUT7COM201918二16二144.程序設(shè)計流程要點(diǎn)◆分時控制兩個鎖存器U6、U9,

避免同時工作沖突。◆保留P2.0~P2.4(低5位)數(shù)據(jù),不影響外圍設(shè)備,通過P2&0x1F實現(xiàn)數(shù)據(jù)保留。◆鎖存器選擇指令:控制U6:P2

=(P2&Ox1F)|0x80(0x80為U6

選通地址,與保留的低5位數(shù)據(jù)組合)控制U9:P2=(P2&Ox1F)|0xAO(0xA0為U9

選通地址,與保留的低5位數(shù)據(jù)組合)程序如下:

#include"STC15F2K60S2.h"http://IAP15F2K61S2單片機(jī)對應(yīng)的頭文件

void

jf_init()//繼電器和轟鳴器初始化函數(shù)P2=(P2&0x1f)|0xa0;//Y5C=1,

打開鎖存器U9P0=0;P2&=0x1f;//Y5C=0,

關(guān)閉鎖存器U9void

main()jf_init();//

關(guān)閉繼電器和轟鳴器P2=(P2&0x1f)|0x80;//Y4C=1,關(guān)閉鎖存器U6while(1)P0=0;//LED

點(diǎn)

亮請同學(xué)們編譯并調(diào)試程序,觀察運(yùn)行效果。)

t任務(wù)2

LED流水燈控制任務(wù)要求:將開發(fā)板上的8個發(fā)光二極管間隔400

ms依次循環(huán)左移、右移點(diǎn)亮,每次只有一個LED亮。上電關(guān)閉繼電器、轟鳴器。知識點(diǎn):1.軟件延時函數(shù)測試。2.循環(huán)移位函數(shù)的使用。RegistermaincBegister

Ydlue7define

u16unsigned

int

調(diào)趣試式8

kdefine

u8unsigned

char9

vo

id

jf_init()//繼電器和轟鳴器初始化函數(shù)

10日(11

P2=(P260x1f)10xa0;//Y5C=1,打開鎖存器U912

P0=0;13

P25=0x1f;//Y5C=0,打開鎖存器U9

14-115

void

delay(u16k)

//0.2ms延時函數(shù)

16日17

u16i,j;18

for(i=k;i>0;i--)19

for(j=182:j>0:j--);20L21

void

main()

22日1D

23

jf_init(;

/

/

關(guān)閉

繼電

器24

P2=(P260x1f)10x80;//Y4C=1,打開鎖存器U625

while(1)26白

(27

PO=0;

/

/

L

E

D電

點(diǎn)

亮28

delay(1);R20rIr2r3r4r6r7回Sysraur1床一辦tstatet8e出

p0a00

運(yùn)行0x000:00Dm000x000:00Da000:000n00a00Dr07Ox07C:0:00030x00D00007760.000064670x00回Pajec三Registers一、軟件延時函數(shù)測試CUseryadminDesktop

(單片機(jī)程序?qū)嵗?LED2DSV1i

vproi-Vhslon Build

Time

Elapsed:00:00:01圖2.12LED閃爍調(diào)試界面Build

Output

".AObjects\1"-0Error(s),0Warning(8)?!?/p>

電.\Objects\1"-0Error(s),0Warning(s),

Bui1dTimeElapsed;00:00:01第

遇可如

中☆

譚律膽振酷

B000

·

□··棚·

四·

菌·Registers

4區(qū)maineReristerValue

12P0=0;P26=0x1f;//Y5C=0,打開鎖存器U9L}voiddelay(u16

k)//0.2ms延時函數(shù)日u16i,j;for(i=k;i>0;1--)for(j=182;j>0;j--);Lvoid

main()日

(jf_init();//關(guān)閉繼電器和轟鳴器P2=(P260x1f)10x80;//Y4C=1,打開鎖存器U6while(1)(

PO=0;//LE

D電點(diǎn)

delay(1);PO=

0xff

;7/LED熄滅delay(1);Regsr0r1r2r3r4r5r6r7Sys卻ArC

sur1dptrstatese0=00Dx00Ox000=00Ox000x000x000x000x000m07Ox09C:0x0017Ox00Ox0000

32170000601314151617181920212223242526日

2728團(tuán)

2930313233回Pojet三RegistersBuldOutputP000tgistersVdlaeeg0=000r00Ox00Ox00Ox00000006742□已花費(fèi)的時間·

□·

·

圈··

困··maine12

P0=0;13

P26=0x

1

f

;

/

/Y

5C

=

0

,

器U

9插入斷點(diǎn)1v

id

delay(u16k)

//0.2ms

延時函數(shù)1

6日17

u16i,j;for

(i=k;i>0;i--)19

for

(j=

182;j>0;j--);21

void

main()22日

jf_init();

//關(guān)閉繼電器和轟鳴器24

P2=(P2&0x1f)10x80;//Y4C=1,打開鎖存器U625

while

(1)26日

P0=0;

//LED電點(diǎn)亮delay(1

);PO=0xff;//LED熄滅delay(1

);3132oLJcUsersladmin\Desktopv單片機(jī)程序?qū)嵗?LEDA爍L1.uvpro]-pVisionil

Edt

iew

Projec

Flash

Debug

Peripherals

Tools

SVCs

Window

Helpd山可

吟2良

律課勝

團(tuán)

區(qū)

@o

回·4ilda

Output.\Obyects\1”-0

Error(5),0Warning(s),a1ldTimeElapsed:00:00:01圖2.13

(a)delay(1)語句執(zhí)行前C:Usersladmin\Desktop\單片機(jī)程序?qū)嵗?

LED內(nèi)煙1.Avproj-μVisionFleEdtViewProjecFlashDebugPeripheralsTools

svcsWindowHelp圖2.13(b)delay(1)語句執(zhí)行后

風(fēng)legisterr0

r1中日.二、循環(huán)移位函數(shù)的使用Keil編譯系統(tǒng)提供的C51內(nèi)部函數(shù)庫有循環(huán)移位和延時等操作函數(shù)。內(nèi)部函數(shù)的原型聲明包含在頭文件intrins.h中。本例實現(xiàn)循環(huán)左移和循環(huán)右移將用到C51庫函數(shù)的“_crol_(c,b)”和“_cror_

(c,b)”兩個函數(shù)??梢訩eil界面中點(diǎn)擊“Help”菜單,選擇“uvisionhelp”,調(diào)出幫

助對話框,在搜索框輸入關(guān)鍵字

“crol”,點(diǎn)回車,即得到搜索結(jié)果,選中需要查看的內(nèi)容。⑧C51DevelopmentToos

×隱章

查找

上一步

前進(jìn)

打印

選項O日錄(Q

引搜家⑤

收健入關(guān)鍵字進(jìn)行查找0McrolceldTLbrary

Routineerer_1LibraryRoutinecSEGA51AsemblerStatemertctypehcWORDDdadatDATAA51

Asembler

StatementDATABL51LinkerDirectiveDATEA51AssemblerDirectiveDBA51AssemblerStatementDBITA51AssemblerStatemert

DBYTEDD

A51Asembler

StatementDEBUGA51AssemblerDirectiveDEBUGe51Compiler

Directive

decDEFNEDEFINEA51AssemblerDirective

DEFNEc51CompilerDirectiveDefineddialogDIRDISABLEe51

Compler

Directve_crol_循環(huán)左移函數(shù)Summary*ineludeunsigneduanignedu58LgmedcLnrina.h>char_erol_

(

char

e,charb);1"charatertorotate

lefeDescription

The_crol_routinerotatesthebitpattermforthecharacterc

leftbits.Thisroutine

is

implemented

as

an

intrinsic

function.

Return

Value

The_crol_routne

retums

the

rotated

value

of

a.See

Also

cror,irolL,iror,IroL,Irorinelude

(Intrins,hvoidtest_erol

(vo1dchar

a:char

b:0xA5;b-_erel_

(a,3):1CopyrightOKail,An

ARM

Cempany.Al

rghts

reserved.)("Bnew

1a

Gx2D//bit

posit1cna

to

zotate

/Example{for(i=0;i<8;i++){P0=_crol_(0xfe,i);//

初始值為0xfe,點(diǎn)亮L1delay(2000);//400ms}P0=0xff;delay(2000);//400msfor(i=0;i<8;i++)PO=_cror_(0x7f,i);//0xfe;delay(2000);P0=0xff;delay(2000);請同學(xué)們編譯并調(diào)試程序,觀察運(yùn)行效果。u8

i;jf_init();P2=(P2&0x1f)|0x80;//Y4C=0;

while(1)三、main函數(shù)voidmain()任務(wù)3

存儲器映射編程方法任務(wù)要求:采用MM模式(存儲器映射擴(kuò)展方式),修改【例2.2】。知識點(diǎn):1.存儲器映射編程方法原理。2.接口電路的地址計算。一、工作原理分析MM模式實際上是存儲器映射編程,是一種可以像操

溫馨提示

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

最新文檔

評論

0/150

提交評論