版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
電子設(shè)計(jì)大賽系列培訓(xùn)------單片機(jī)和C語(yǔ)言
1第一講單片機(jī)入門(mén)本將主要內(nèi)容:1、學(xué)單片機(jī)需要什么基礎(chǔ)2、什么是單片機(jī)、單片機(jī)能做什么、怎么開(kāi)始學(xué)習(xí)單片機(jī)。3、學(xué)單片機(jī)需要的一些預(yù)備知識(shí)4、51單片機(jī)基礎(chǔ)知識(shí)。5、如何用單片機(jī)學(xué)習(xí)板在短時(shí)間內(nèi)掌握51單片機(jī)和C語(yǔ)言編程。6、KEIL工程建立詳細(xì)介紹及KEIL軟件使用方法7、從點(diǎn)亮實(shí)驗(yàn)板上的一個(gè)發(fā)光二極管開(kāi)始21、與以前所學(xué)的知識(shí)關(guān)聯(lián)很少;2、只需要掌握很基本的數(shù)電模電知識(shí),如二進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,與、或、非邏輯關(guān)系等;3、對(duì)各種器件的概念基本上是從0開(kāi)始;4、如果要用C語(yǔ)言編程,需具備簡(jiǎn)單的C語(yǔ)言基礎(chǔ);一、學(xué)單片機(jī)需要什么基礎(chǔ)?3什么是單片機(jī)?◆單片機(jī)在一片集成電路芯片上集成微處理器、存儲(chǔ)器、I/O接口電路,從而構(gòu)成了單芯片微型計(jì)算機(jī),即單片機(jī)。Intel公司推出了MCS-51系列單片機(jī):集成8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個(gè)8位并口、1個(gè)全雙工串行口、2個(gè)16位定時(shí)/計(jì)數(shù)器。尋址范圍64K,并有控制功能較強(qiáng)的布爾處理器。二、什么是單片機(jī)、單片機(jī)能做什么、怎么開(kāi)始學(xué)習(xí)單片機(jī)。4單片機(jī)能做什么凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來(lái)實(shí)現(xiàn),再根據(jù)具體實(shí)際情況選擇不同性能的單片機(jī),如:atmel,stc,pic,avr,凌陽(yáng),80C51,arm等5工業(yè)自動(dòng)化:數(shù)據(jù)采集、測(cè)控技術(shù)。智能儀器儀表:數(shù)字示波器、數(shù)字信號(hào)源、數(shù)字萬(wàn)用表、感應(yīng)電流表等。消費(fèi)類(lèi)電子產(chǎn)品:洗衣機(jī)、電冰箱、空調(diào)機(jī)、電視機(jī)、微波爐、手機(jī)、IC卡、汽車(chē)電子設(shè)備等。通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)、手機(jī)、小靈通等。武器裝備:飛機(jī)、軍艦、坦克、導(dǎo)彈、航天飛機(jī)、魚(yú)雷制導(dǎo)、智能武器等。等等…..6怎么開(kāi)始學(xué)習(xí)?1、實(shí)踐第一。2、即缺什么補(bǔ)什么(補(bǔ)充必要的理論知識(shí))。3、做實(shí)際小制作積累經(jīng)驗(yàn),比如調(diào)試、編程。(可在網(wǎng)絡(luò)上搜集題目,也可自己有什么想法大膽的去試驗(yàn))7三、預(yù)備知識(shí)1、電平特性2、2進(jìn)制與16進(jìn)制的表示及轉(zhuǎn)換3、二進(jìn)制數(shù)的邏輯運(yùn)算4、8051單片機(jī)介紹5、C51基礎(chǔ)知識(shí)81、關(guān)于電平特性(1)數(shù)字電路中只有兩種電平:高和低(2)(本課程中)定義單片機(jī)為T(mén)TL電平:高+5V低0V(3)RS232電平:計(jì)算機(jī)的串口 高-12V低+12V
所以計(jì)算機(jī)與單片機(jī)之間通訊時(shí)需要加電平轉(zhuǎn)換芯片max232(實(shí)驗(yàn)板上左下角)。92、二進(jìn)制數(shù)字電路中的兩種電平特性00611011 7 111 210 8 1000311 9 10014100 10 10105101 11101110十六進(jìn)制
(1)十進(jìn)制中的0-15分別表示為十六進(jìn)制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
(2)熟練掌握二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換。規(guī)律:一般把四個(gè)二進(jìn)制數(shù)放在一起轉(zhuǎn)換成一個(gè)十六進(jìn)制數(shù),轉(zhuǎn)換時(shí)先把二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),再把十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)。11如:0001B->1->1HB表示為二進(jìn)制,H為十六進(jìn)制
1001B->9->9H1010B->10->AH00101100->44->2CH12
各種進(jìn)位制的對(duì)應(yīng)關(guān)系
十進(jìn)制二進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制十六進(jìn)制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F7111716100001081000813
3、二進(jìn)制數(shù)的邏輯運(yùn)算
(1)“與”運(yùn)算“與”運(yùn)算是實(shí)現(xiàn)“必須都有,否則就沒(méi)有”這種邏輯關(guān)系的一種運(yùn)算。運(yùn)算符為“·”,其運(yùn)算規(guī)則如下:0·0=0,0·1=1·0=0,1·1=1
14(2)“或”運(yùn)算“或”運(yùn)算是實(shí)現(xiàn)“只要其中之一有,就有”這種邏輯關(guān)系的一種運(yùn)算,其運(yùn)算符為“+”?!盎颉边\(yùn)算規(guī)則如下:0+0=0,0+1=1+0=1,1+1=115(3)“非”運(yùn)算“非”運(yùn)算是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,如變量A的“非”運(yùn)算記作。其運(yùn)算規(guī)則如下:
A16(4)“異或”運(yùn)算“異或”運(yùn)算是實(shí)現(xiàn)“必須不同,否則就沒(méi)有”這種邏輯的一種運(yùn)算,運(yùn)算符為“”。其運(yùn)算規(guī)則是:
17四、80C51系列介紹
﹡
Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
﹡ATMEL的:89C51、89C52、89C2051等;
﹡
Philips、華邦、Dallas、STC等公司的許多產(chǎn)品。
80C51是MCS-51系列中的一個(gè)典型品種;其它廠商以8051為基核開(kāi)發(fā)出的CMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱(chēng)為80C51系列。當(dāng)前常用的80C51系列單片機(jī)主要產(chǎn)品有:1880C51的引腳封裝總線(xiàn)型非總線(xiàn)型1920總線(xiàn)(BUS)是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有內(nèi)部總線(xiàn)和外部總線(xiàn)兩類(lèi)。內(nèi)部總線(xiàn)是CPU內(nèi)部之間的連線(xiàn)。外部總線(xiàn)是指CPU與其它部件之間的連線(xiàn)。外部總線(xiàn)有三種:數(shù)據(jù)總線(xiàn)DB(DataBus),地址總線(xiàn)
AB(AddressBus)和控制總線(xiàn)
CB(ControlBus)。21CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);ROM:用以存放程序、一些原始數(shù)據(jù)和表格;I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式;22五個(gè)中斷源的中斷控制系統(tǒng);
一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能。23五、C51知識(shí)
C語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能。目前,使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟件開(kāi)發(fā)的一個(gè)主流。用C語(yǔ)言開(kāi)發(fā)系統(tǒng)可以大大縮短開(kāi)發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。而針對(duì)8051的C語(yǔ)言日趨成熟,成為了專(zhuān)業(yè)化的實(shí)用高級(jí)語(yǔ)言。24
C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,很多硬件開(kāi)發(fā)都用C語(yǔ)言編程,如:各種單片機(jī)、DSP、ARM等.C語(yǔ)言程序本身不依賴(lài)于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過(guò)來(lái)。
C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開(kāi)發(fā)效率高,故可縮短開(kāi)發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。
C-51的特點(diǎn)25C-51與ASM-51(匯編)相比,有如下優(yōu)點(diǎn):1.
對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)8051的存貯器結(jié)構(gòu)有初步了解;2.
寄存器分配、不同存貯器的尋址及數(shù)據(jù)類(lèi)型等細(xì)節(jié)可由編譯器管理;3.
程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;4.
提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;5.
由于具有方便的模塊化編程技術(shù),使已編好程序可容易地移植;26C-51的數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型類(lèi)型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127無(wú)unsignedchar80~25527C語(yǔ)言中的基本數(shù)據(jù)類(lèi)型類(lèi)型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127無(wú)unsignedchar80~25528C-51的數(shù)據(jù)類(lèi)型擴(kuò)充定義sfr:特殊功能寄存器聲明sfr16:sfr的16位數(shù)據(jù)聲明sbit:特殊功能位聲明bit:位變量聲明例:sfrSCON=0X98;sfr16T2=0xCC;
sbitOV=PSW^2;29例:數(shù)據(jù)類(lèi)型變量名charvar1;bitflags;unsignedcharvextor[10];int
wwww;注意:變量名不能用C語(yǔ)言中的關(guān)鍵字表示。C-51數(shù)據(jù)的存儲(chǔ)類(lèi)型30C-51的包含的頭文件通常有:reg51.hreg52.hmath.hctype.h
stdio.h
stdlib.h
absacc.h常用有:reg51.hreg52.h
(定義特殊功能寄存器和位寄存器);
math.h
(定義常用數(shù)學(xué)運(yùn)算);
31與C語(yǔ)言基本相同:+-*/
(加減乘除)>>=<<=
(大于大于等于小于小于等于)==!=
(等于不等于)&&||!
(邏輯與邏輯或邏輯非)>><<
(位右移位左移)&|(按位與按位或)^~(按位異或按位取反)C-51的運(yùn)算符32
C-51的基本語(yǔ)句與標(biāo)準(zhǔn)C語(yǔ)言基本相同:
if選擇語(yǔ)言
while循環(huán)語(yǔ)言
for循環(huán)語(yǔ)言
switch/case多分支選擇語(yǔ)言
do-while循環(huán)語(yǔ)言33中斷服務(wù)程序函數(shù)名()interruptn
usingm{
函數(shù)內(nèi)部實(shí)現(xiàn)….}I/O口定義sbitbeep=P2^3;34單片機(jī)主要掌握以下幾點(diǎn)最小系統(tǒng)能夠運(yùn)行起來(lái)的必要條件。
1.電源2.晶振3.復(fù)位電路對(duì)單片機(jī)任意IO口的隨意操作
1.輸出控制電平高低2.輸出檢測(cè)電平高低。定時(shí)器:重點(diǎn)掌握最常用的方式2中斷:外部中斷、定時(shí)器中斷、串口中斷串口通信:?jiǎn)纹瑱C(jī)之間、單片機(jī)與計(jì)算機(jī)間35六、KEIL的使用1、掌握KEIL工程的建立和軟件的開(kāi)發(fā);2、掌握KEIL中軟件仿真的基本應(yīng)用;3、掌握用KEIL直接硬件仿真s51/52單片機(jī)學(xué)習(xí)板的方法36Main函數(shù)
格式:voidmain()
特點(diǎn):無(wú)返回值,無(wú)參。
任何一個(gè)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開(kāi)始執(zhí)行的入口。
例:voidmain()
{
總程序從這里開(kāi)始執(zhí)行;
其他語(yǔ)句;
}37第二部分381、復(fù)位電路及其原理2、蜂鳴器電路3、晶振電路4、位操作和總線(xiàn)操作5、流水燈6、函數(shù)的調(diào)用7、常用元器件識(shí)別39復(fù)位電路及其原理40蜂鳴器電路41晶振電路42常用電子元器件識(shí)別:1、電阻(排阻)色環(huán)電阻分為4色環(huán)和5色環(huán),4色環(huán)就是用4種顏色來(lái)表示阻值,5色環(huán)就是用5種顏色來(lái)表示阻值4色環(huán):每種顏色代表不同的數(shù)字,如下:棕1紅2橙3黃4綠5藍(lán)6紫7灰8白9黑0,金、銀表示誤差第一條色環(huán):阻值的第一位數(shù)字第二條色環(huán):阻值的第二位數(shù)字第三條色環(huán):10的冪數(shù)第四條色環(huán):誤差表示。例如:電阻色環(huán):棕綠紅金,第一位是1,第二位是5,第三位是10的冪數(shù)2,即為100,第四位是誤差為5%,即阻值為:15*100=1500歐=1.5K歐43精確度更高的5色環(huán):第一條色環(huán):阻值的第一位數(shù)字第二條色環(huán),阻值的第二位數(shù)字第三條色環(huán),阻值的第三位數(shù)字第四條色環(huán),10的冪數(shù)第五條色環(huán),誤差(常見(jiàn)為棕色,誤差為1%)有些五色環(huán)電阻兩頭金屬帽上都有色環(huán),遠(yuǎn)離相對(duì)集中的四道色環(huán)的那道色環(huán)表示誤差,是第五條色環(huán),與之對(duì)應(yīng)的另一頭金屬帽上的是第一道色環(huán),讀數(shù)時(shí)從它讀起,之后的第二道、第三道色環(huán)是次高位、次次高位,第四道環(huán)表示10的多少次方,例如某電阻色環(huán)電阻順序?yàn)椋杭t(2)-黑(0)-黑(0)-黑-棕,則它表示該電阻阻值為:200Ω。再如棕-黑-黑-紅-棕,表示該電阻阻值為:10KΩ。可見(jiàn),四色環(huán)電阻誤差為5-10%,五色環(huán)常為1%,精度提高。442、三極管
最常見(jiàn)的小的,半圓有一平面的那種,平面對(duì)著自己管腳朝下,從左到右依次是EBC,不過(guò)也有特殊的情況,圖上已顯示,不過(guò)大多數(shù)都是采用這種排列方式,比如9011.9012.9013.9014。
根據(jù)三極管的型號(hào),到網(wǎng)上下載該型號(hào)三極管的pdf文檔,對(duì)照文檔中提供的三極管外觀圖片和手頭實(shí)物,直接確定管腳。大功率金屬封裝的三極管經(jīng)常采用這種方法確定管腳453、電容1)電解電容:多數(shù)在1μF以上,直接用數(shù)字表示。如:4.7μF、100μF、220μF等等。這種電容的兩極有正負(fù)之分,長(zhǎng)腳是正極。2)瓷片電容:多數(shù)在1μF以下,直接用數(shù)字表示。如:10、22、0.047、0.1等等,這里要注意的是單位。凡用整數(shù)表示的,單位默認(rèn)pF;凡用小數(shù)表示的,單位默認(rèn)μF。如以上例子中,分別是10P、22P、0.047μF、220μF等。
現(xiàn)在國(guó)際上流行另一種類(lèi)似色環(huán)電阻的表示方法(單位默認(rèn)pF):
如:
“473”即47000pF=0.047μF
,“103”即10000pF=0.01μF等等,“XXX”第一、二個(gè)數(shù)字是有效數(shù)字,第三個(gè)數(shù)字代表后面添加0的個(gè)數(shù)。這種表示法已經(jīng)相當(dāng)普遍。3)相關(guān)知識(shí):
常見(jiàn)貼片電容如何判斷容量現(xiàn)代電路中常見(jiàn)的情況是,整個(gè)電路板布滿(mǎn)貼片電容,大小形狀相同(或兩三種形狀),且都無(wú)字標(biāo)。貼片電容很多由于體積所限,不能標(biāo)注其容量。所以一般都是在貼片生產(chǎn)時(shí)的整盤(pán)上有標(biāo)注。如果是單個(gè)的貼片電容,要用電容測(cè)試儀可以測(cè)出它的容量.46課后練習(xí)對(duì)照51單片機(jī)學(xué)習(xí)板原理圖寫(xiě)程序;用位操作和總線(xiàn)操作兩種方法完成以下題目;1.熟練建立KEIL工程;2.點(diǎn)亮第一個(gè)發(fā)光管;3.點(diǎn)亮最后一個(gè)發(fā)光管;4.點(diǎn)亮1、3、5、7;5.點(diǎn)亮二、四、五、六;6.嘗試讓第一個(gè)發(fā)光管閃爍;7.嘗試設(shè)計(jì)出流水燈程序。47第三部分中斷和定時(shí)48
中斷系統(tǒng)49一、C51的中斷系統(tǒng)
1、中斷的概念
CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);
CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來(lái)事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過(guò)程稱(chēng)為中斷。50引起CPU中斷的根源,稱(chēng)為中斷源。中斷源向CPU提出的中斷請(qǐng)求。CPU暫時(shí)中斷原來(lái)的事務(wù)A,轉(zhuǎn)去處理事件B。對(duì)事件B處理完畢后,再回到原來(lái)被中斷的地方(即斷點(diǎn)),稱(chēng)為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱(chēng)為中斷系統(tǒng)(中斷機(jī)構(gòu))。2、MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)51中斷技術(shù)不僅解決了快速主機(jī)與慢速I(mǎi)/O設(shè)備的數(shù)據(jù)傳送問(wèn)題,而且還具有如下優(yōu)點(diǎn):
分時(shí)操作。CPU可以分時(shí)為多個(gè)I/O設(shè)備服務(wù),提高了計(jì)算機(jī)的利用率;實(shí)時(shí)響應(yīng)。CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。52
80C51的中斷系統(tǒng)有5個(gè)中斷源(8052有6個(gè))
,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套
。53
1、(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當(dāng)CPU檢測(cè)到P3.2引腳上出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志IE0(TCON.1)置1,向CPU申請(qǐng)中斷。54
2、(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當(dāng)CPU檢測(cè)到P3.3引腳上出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志IE1(TCON.3)置1,向CPU申請(qǐng)中斷。5580C51的引腳封裝總線(xiàn)型非總線(xiàn)型56
3、TF0(TCON.5),片內(nèi)定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)/計(jì)數(shù)器T0發(fā)生溢出時(shí),置位TF0,并向CPU申請(qǐng)中斷。57
4、TF1(TCON.7),片內(nèi)定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)/計(jì)數(shù)器T1發(fā)生溢出時(shí),置位TF1,并向CPU申請(qǐng)中斷。58
5、RI(SCON.0)或TI(SCON.1),串行口中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位TI,向CPU申請(qǐng)中斷。
59二、中斷請(qǐng)求標(biāo)志1、TCON的中斷標(biāo)志IT0(TCON.0),外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時(shí),為電平觸發(fā)方式。當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請(qǐng)求標(biāo)志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請(qǐng)求標(biāo)志位。TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。TF1(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位。
602、SCON的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位RI。注意,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清除。
61一、中斷允許控制
CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器IE控制的。3、C51中斷的控制
EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位;EX1(IE.2),外部中斷1允許位;ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。62二、中斷優(yōu)先級(jí)控制
80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的
。PX0(IP.0),外部中斷0優(yōu)先級(jí)設(shè)定位;PT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;PX1(IP.2),外部中斷0優(yōu)先級(jí)設(shè)定位;PT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;PS
(IP.4),串行口優(yōu)先級(jí)設(shè)定位;PT2(IP.5),定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。63PX0(IPH.0),外部中斷0優(yōu)先級(jí)設(shè)定位;PT0(IPH.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;PX1(IPH.2),外部中斷0優(yōu)先級(jí)設(shè)定位;PT1(IPH.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;PS
(IPH.4),串行口優(yōu)先級(jí)設(shè)定位;PT2(IPH.5),定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。而80C52單片機(jī)有四個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)四級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器IP和IPH中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的
。64
同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:6580C51單片機(jī)的中斷優(yōu)先級(jí)有三條原則:CPU同時(shí)接收到幾個(gè)中斷時(shí),首先響應(yīng)優(yōu)先級(jí)別最高的中斷請(qǐng)求。正在進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷。正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù),能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷。為了實(shí)現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩個(gè)用戶(hù)不能尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。其中一個(gè)置1,表示正在響應(yīng)高優(yōu)先級(jí)的中斷,它將阻斷后來(lái)所有的中斷請(qǐng)求;另一個(gè)置1,表示正在響應(yīng)低優(yōu)先級(jí)中斷,它將阻斷后來(lái)所有的低優(yōu)先級(jí)中斷請(qǐng)求。664、80C51單片機(jī)中斷處理過(guò)程
中斷響應(yīng)條件中斷源有中斷請(qǐng)求;此中斷源的中斷允許位為1;
CPU開(kāi)中斷(即EA=1)。以上三條同時(shí)滿(mǎn)足時(shí),CPU才有可能響應(yīng)中斷。中斷響應(yīng)條件和時(shí)間
67定時(shí)與計(jì)數(shù)68單片機(jī)工作的基本時(shí)序機(jī)器周期和指令周期(1)振蕩周期:也稱(chēng)時(shí)鐘周期,是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期,TX實(shí)驗(yàn)板上為11.0592MHZ。(2)狀態(tài)周期:每個(gè)狀態(tài)周期為時(shí)鐘周期的2倍,是振蕩周期經(jīng)二分頻后得到的。(3)機(jī)器周期:一個(gè)機(jī)器周期包含6個(gè)狀態(tài)周期S1~S6,也就是12個(gè)時(shí)鐘周期。在一個(gè)機(jī)器周期內(nèi),CPU可以完成一個(gè)獨(dú)立的操作。(4)指令周期:它是指CPU完成一條操作所需的全部時(shí)間。每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。MCS-51系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。
693.380C51的定時(shí)/計(jì)數(shù)器
實(shí)現(xiàn)定時(shí)功能,比較方便的辦法是利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器。也可以采用下面三種方法:軟件定時(shí):軟件定時(shí)不占用硬件資源,但占用了CPU時(shí)間,降低了CPU的利用率。采用時(shí)基電路定時(shí):例如采用555電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟件進(jìn)行控制和修改,即不可編程。采用可編程芯片定時(shí):這種定時(shí)芯片的定時(shí)值及定時(shí)范圍很容易用軟件來(lái)確定和修改,此種芯片定時(shí)功能強(qiáng),使用靈活。在單片機(jī)的定時(shí)/計(jì)數(shù)器不夠用時(shí),可以考慮進(jìn)行擴(kuò)展。703.3.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理
一、定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。TMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。
71二、定時(shí)/計(jì)數(shù)器的工作原理
加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來(lái);一個(gè)是T0或T1引腳輸入的外部脈沖源。每來(lái)一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿(mǎn)。
可見(jiàn),由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。
72設(shè)置為定時(shí)器模式時(shí),加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t
。設(shè)置為計(jì)數(shù)器模式時(shí),外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從1到0的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)晶振頻率為12MHz時(shí),最高計(jì)數(shù)頻率不超過(guò)1/2MHz,即計(jì)數(shù)脈沖的周期要大于2s。
73
3.3.2定時(shí)/計(jì)數(shù)器的控制
80C51單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動(dòng)和中斷申請(qǐng)。一、工作方式寄存器TMOD
工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:74GATE:門(mén)控位。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)多了一條件。
:定時(shí)/計(jì)數(shù)模式選擇位。=0為定時(shí)模式;=1為計(jì)數(shù)模式。M1M0:工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。75
二、控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:TF1(TCON.7):T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。T1工作時(shí),CPU可隨時(shí)查詢(xún)TF1的狀態(tài)。所以,TF1可用作查詢(xún)測(cè)試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運(yùn)行控制位。TR1置1時(shí),T1開(kāi)始工作;TR1置0時(shí),T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。TF0(TCON.5):T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類(lèi)同。TR0(TCON.4):T0運(yùn)行控制位,其功能與TR1類(lèi)同。76
3.3.3定時(shí)/計(jì)數(shù)器的工作方式
一、方式0
方式0為13位計(jì)數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請(qǐng)求。77
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年學(xué)校教務(wù)方面安全管理制度(2篇)
- 門(mén)店藥品有效期管理制度范文(2篇)
- 爆炸物品運(yùn)輸、裝卸管理制度模版(2篇)
- 報(bào)銷(xiāo)制度管理辦法模版(2篇)
- 學(xué)校電教設(shè)備管理制度例文(2篇)
- 一中校園綠化管理制度范文(2篇)
- 高校食堂承包經(jīng)營(yíng)合同(2篇)
- 內(nèi)控相應(yīng)業(yè)務(wù)歸口管理制度(2篇)
- 小學(xué)網(wǎng)絡(luò)中心管理制度(2篇)
- 車(chē)庫(kù)交易合同
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí) CCAA年度確認(rèn) 試題與答案
- 花卉學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年浙江農(nóng)林大學(xué)暨陽(yáng)學(xué)院
- T∕ACSC 01-2022 輔助生殖醫(yī)學(xué)中心建設(shè)標(biāo)準(zhǔn)(高清最新版)
- 《化學(xué)實(shí)驗(yàn)室安全與環(huán)保手冊(cè)》
- 對(duì)賬函格式范本
- 婚禮流程準(zhǔn)備安排表需要彩排的
- 晉江市土地利用總體規(guī)劃
- 泵站質(zhì)量檢查表
- 新版atstudy系統(tǒng)測(cè)試計(jì)劃
- 企業(yè)用工風(fēng)險(xiǎn)評(píng)估報(bào)告(實(shí)操表格)
評(píng)論
0/150
提交評(píng)論