




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理與應(yīng)用講稿提綱:計(jì)算機(jī)基礎(chǔ)知識(shí)(基本組成、數(shù)的制式、編碼、CPU、MEM、I/O)MCS-51單片機(jī)的硬件(內(nèi)部結(jié)構(gòu)、外部引腳、CPU:時(shí)鐘周期、機(jī)器周期、狀態(tài)字。MEM:內(nèi)部(RAM 007FH:用戶區(qū);80HFFH:SFR;程序存儲(chǔ):ROM、EPROM、EEPROM 4K32KB。)I/O:內(nèi)部(P0、P1、P2、P3)定時(shí)/計(jì)數(shù)器(時(shí)鐘、計(jì)數(shù)、方式、溢出)串口(串行通信、,方式)中斷(中斷、源、向量、)特殊工作方式(復(fù)位與節(jié)電)其它附加的功能器件MCS-51匯編語言程序設(shè)計(jì)(匯編語言、尋址方式、指令集;程序設(shè)計(jì)舉例:上機(jī)步驟、源程序格式、偽指令;循環(huán)結(jié)構(gòu);分支結(jié)構(gòu)、I/O口、子
2、程序、中斷服務(wù)程序、定時(shí)、串行口)。單片機(jī)資源的擴(kuò)展(MEM、I/O;并行總線、串行總線;可編程芯片、簡單芯片)人機(jī)接口與應(yīng)用(輸入/輸出、A/D、D/A)計(jì)算機(jī)的基本知識(shí)11計(jì)算機(jī)基本組成計(jì)算機(jī)結(jié)構(gòu)(硬件+軟件)圖1-1 微處理器、微計(jì)算機(jī)和微計(jì)算機(jī)系統(tǒng)的關(guān)系CPUMEMI/O口I/O口I/O口鍵盤顯示器外存儲(chǔ)器三總線圖1-1 微型計(jì)算機(jī)硬件的基本組成基本硬件=CPU+MEM+I/O 數(shù)字電路組成I/O(外圍設(shè)備=輸入:開關(guān)、鍵盤、鼠標(biāo)。+輸出:LED、顯示、喇叭、打印。)軟件=系統(tǒng)(操作系統(tǒng)或監(jiān)控)+應(yīng)用+用戶 由0、1構(gòu)成的指令系列高級與低級語言計(jì)算機(jī)中常用的數(shù)的制式數(shù)制二進(jìn)制數(shù)八進(jìn)制數(shù)
3、十六進(jìn)制數(shù)十進(jìn)制數(shù)制式之間的轉(zhuǎn)換1 數(shù)的制式日常生活中廣泛使用的數(shù)為十進(jìn)制數(shù),這是一種逢十進(jìn)一的計(jì)數(shù)方法。用的數(shù)制還有12進(jìn)制、7進(jìn)制、24進(jìn)制等等。在計(jì)算機(jī)中用二進(jìn)制、八進(jìn)制和十六進(jìn)制等。基數(shù)小于10的計(jì)數(shù)制,可用十進(jìn)制相應(yīng)的數(shù)碼作為它的數(shù)字符號(hào),一個(gè)數(shù)一般由多個(gè)數(shù)碼組成。數(shù)碼在數(shù)中的位置不同,其值也不同。2 二進(jìn)制數(shù)(用B表示)以2為基數(shù)的數(shù)制稱為二進(jìn)位計(jì)數(shù)制,它只包括0和1兩個(gè)數(shù)碼,很容易用電子元件的兩種不同的狀態(tài)來表示,例如,用高電平表示1,用低電平表示0。所以,計(jì)算機(jī)中通常采用二進(jìn)制數(shù)。二進(jìn)制數(shù)的計(jì)數(shù)特征:逢二進(jìn)一,運(yùn)算簡單。 在加、減、乘、除四則運(yùn)算中,乘法實(shí)質(zhì)上是做移位加法,除法
4、則是移位減法。3八進(jìn)制(用O表示)4十六進(jìn)制數(shù)(用H表示)為了書寫和閱讀方便,經(jīng)常采用十六進(jìn)制數(shù)作為二進(jìn)制的縮寫形式。在計(jì)數(shù)時(shí),逢十六進(jìn)一,這樣書寫長度短,且可方便將十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)或?qū)⒍M(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)。5不同數(shù)制之間的轉(zhuǎn)換1)二進(jìn)制轉(zhuǎn)換為十進(jìn)制基本方法:將二進(jìn)制數(shù)按權(quán)展開式,利用十進(jìn)制數(shù)的運(yùn)算法則求和,即可得到等值的十進(jìn)制數(shù)。2)十進(jìn)制到二進(jìn)制的轉(zhuǎn)換 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù):除2取余、。 十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù):乘2取整、。 帶小數(shù)的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):整數(shù)與小數(shù)部分按上述方式分別轉(zhuǎn)換。3)二進(jìn)制、十六進(jìn)制之間的相互轉(zhuǎn)換將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù),從低位開始,每四
5、位一組,然后將其轉(zhuǎn)換為對應(yīng)的十六進(jìn)制數(shù)。如最后一組不足四位,需在左邊補(bǔ)0。用同樣方法可將二進(jìn)制小數(shù)轉(zhuǎn)換十六進(jìn)制小數(shù)。只是分組應(yīng)從小數(shù)點(diǎn)右邊開始分成四位一組。十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),將每位十六進(jìn)制數(shù)直接轉(zhuǎn)換成相應(yīng)的二進(jìn)制數(shù)。十六進(jìn)制小數(shù)。只是分組應(yīng)從小數(shù)點(diǎn)右邊開始分成四位一組。十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),將每位十六進(jìn)制數(shù)直接轉(zhuǎn)換成相應(yīng)的二進(jìn)制數(shù)。4)二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換6數(shù)制書寫約定在書寫計(jì)算機(jī)程序時(shí),一般不用基數(shù)作為下標(biāo)來區(qū)分各種進(jìn)制,而是用相應(yīng)的英文字母作后綴來表示各種進(jìn)制的數(shù)。 例如:B(Binary)表示二進(jìn)制數(shù)。 D(Decimal)表示十進(jìn)制數(shù),一般D可省略,即無后綴的數(shù)字為十進(jìn)
6、制數(shù)。 H(Hexadecimal)表示十六進(jìn)制數(shù)。O(Octal)表示八進(jìn)制數(shù)計(jì)算機(jī)的基本信息編碼字符的表示微機(jī)普遍采用的是ASCII碼(American Standard Code Information Interchange)。ASCII碼是一種八位(bit)編碼,最高位一般用于奇偶校驗(yàn),其余七位二進(jìn)制碼對128個(gè)字符進(jìn)行編碼(如下表1-1)。數(shù)的表示:(一定字長的存儲(chǔ)單元所能表示的數(shù)值范圍)無符號(hào)數(shù)帶符號(hào)數(shù)原碼、反碼、補(bǔ)碼原碼:在符號(hào)位中用0表示正、用1表示負(fù)的二進(jìn)制數(shù),稱為原碼。例如, x1=1110111B, x1原=01110111B x2=1110111B, x2原=1111
7、0111B數(shù)0可是0或0。因此,0在原碼中形式: 0原=0000 0000B, 0原=1000 0000B反碼:正數(shù)的反碼=原碼;負(fù)數(shù)的反碼=原碼的符號(hào)位不變而數(shù)值按位取反。所謂按位取反,即將各位的1變成0,0變成1。例如,x1=13, x1反=13原=0 0001101B 又如,x2=13, x2原=13原=1 0001101B, x2反=13反=1 1110010B。補(bǔ)碼:正數(shù)的補(bǔ)碼=原碼;負(fù)數(shù)的補(bǔ)碼=反碼1例如,x1=1101101B, x1補(bǔ)=109原=0 1101101B 。又如, x2=1101101B, x2反=10010010B, x2補(bǔ)=10010011B。在補(bǔ)碼表示中,“0
8、”是唯一的。即0補(bǔ)=00000000B BCD用二進(jìn)制表示十進(jìn)制數(shù),分壓縮型BCD和非壓縮型BCD碼。壓縮型BCD:用一個(gè)字節(jié)的高4位與低4位分別表示兩位十進(jìn)制數(shù)。非壓縮BCD:一個(gè)字節(jié)表示1位十進(jìn)制數(shù)(高4位無意義),又稱ASCII型BCD。小數(shù)的表示定點(diǎn)表示法:表示小數(shù)點(diǎn)的位置是固定不變的。分為純整數(shù)和純小數(shù)兩類。尾數(shù).數(shù)符純整數(shù)表示方法 .尾數(shù)數(shù)符純小數(shù)表示方法浮點(diǎn)表示法浮點(diǎn)表示法中小數(shù)點(diǎn)的位置是不固定的。任意二進(jìn)制數(shù)N一般可表示為:N=2PS一個(gè)浮點(diǎn)數(shù)分為階碼和尾數(shù)兩部分,二者各有表示正負(fù)的階符和數(shù)符,常用存儲(chǔ)格式:階符階碼數(shù)符尾數(shù)在微計(jì)算機(jī)中常用的浮點(diǎn)數(shù)表示有:(1)四字節(jié)浮點(diǎn)數(shù)格式
9、(如下圖所示),它由一個(gè)字節(jié)指數(shù)(EXP)、三個(gè)字節(jié)尾數(shù)構(gòu)成,共用四個(gè)存儲(chǔ)單元。 第一個(gè)字節(jié)階符Pf階碼第二個(gè)字節(jié)數(shù)符Sf尾數(shù)高字節(jié)第三個(gè)字節(jié)尾數(shù)中字節(jié)第四個(gè)字節(jié)尾數(shù)低字節(jié)(2)三字節(jié)浮點(diǎn)數(shù)格式(如下圖所示)。第一個(gè)字節(jié)數(shù)符Sf D7階符Pf D6階碼 D5.D0第二個(gè)字節(jié)尾數(shù)高字節(jié)第三個(gè)字節(jié)尾數(shù)低字節(jié)圖1-2 小數(shù)的表示方式12計(jì)算機(jī)的發(fā)展、類型與應(yīng)用發(fā)展類型單片微型機(jī)的特征、類型與應(yīng)用單片機(jī)體積小、功能強(qiáng)、功耗低、可靠性高和性價(jià)比高的特點(diǎn),應(yīng)用廣泛,既可用于工業(yè)自動(dòng)控制等場合,如過程控制、機(jī)電一體化產(chǎn)品、智能儀器、又可用于測量儀器、醫(yī)療儀器及家用電器、計(jì)算機(jī)網(wǎng)絡(luò)及通訊等領(lǐng)域(嵌入式系統(tǒng))。
10、單片機(jī)經(jīng)歷了一位、4位、8位、16位及32位的發(fā)展階段,世界上一些著名的半導(dǎo)體器件廠家都開發(fā)了單片機(jī)如Intel、Motorola、Zilog、Philips等。單片機(jī)的品種日益增加,在眾多的通用型單片機(jī)里,以Intel公司的MCS系列單片機(jī)最為著名。 數(shù)據(jù)大都在單片機(jī)內(nèi)部傳送,運(yùn)行速度快,抗干擾能力強(qiáng),可靠性高。結(jié)構(gòu)靈活,易于組成各種微機(jī)應(yīng)用系統(tǒng)。為什么選用MS-51作為教學(xué)的對象?習(xí)題一:什么是計(jì)算機(jī)的硬件和軟件?它們各起什么作用?一個(gè)計(jì)算機(jī)最基本應(yīng)有哪些部件?把下列十進(jìn)制轉(zhuǎn)換為十六進(jìn)制1)1020 2)1393)41004)655004把下列十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制1)120H2)1111
11、H3)2AAH4)0ABCDH出你所知道的下列十六進(jìn)制數(shù)在計(jì)算機(jī)中表示的信息:1)36H 2)46H 3)20H寫出下列十六進(jìn)制數(shù)的補(bǔ)碼(一個(gè)字節(jié)和兩個(gè)字節(jié)長)1)56H2)-0ABH3)-2AH 4)-12A4H7單片機(jī)有什么特點(diǎn)?第二章MCS-51單片機(jī)的硬件組成通道0驅(qū)動(dòng)器通道2驅(qū)動(dòng)器RAM地址鎖存器RAM通道0鎖存器通道2鎖存器ROM/EPROMB寄存器程序地址寄存器緩沖器PC遞增器程序計(jì)數(shù)器PC驅(qū)動(dòng)器DPTR指針VCCGNDP1.0P1.7堆棧指針SPACCTMP2PSW通道3鎖存器通道1鎖存器通道1驅(qū)動(dòng)器通道3驅(qū)動(dòng)器TMP1SCONTMODPCONTCONTL0TH1TH0TL1I
12、ESBUF(TX/RX)IP中斷、串行口和定時(shí)器邏輯振蕩器P3.0P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定時(shí)和控制邏輯指令譯碼器圖2-1 MCS-51片內(nèi)總體結(jié)構(gòu)框圖21 內(nèi)部結(jié)構(gòu)框圖時(shí)鐘電路SFR和RAMROM/EPROMCPU定時(shí)/計(jì)數(shù)器并行端口中斷系統(tǒng)串行端口系 統(tǒng) 總 線時(shí)鐘源T0 T1P0 P1 P2 P3TXD RXD INT0 INT1 圖2-2 MCS-51片內(nèi)總體結(jié)構(gòu)簡圖22 芯片引腳定義圖2-3 MSC-51/2系列芯片封裝與引腳23 CPU運(yùn)算器主要包括算術(shù)邏輯運(yùn)算部件(ALU):ACC、B、暫存器、程序狀態(tài)字寄存器PSW、十進(jìn)制調(diào)
13、整電路以及布爾處理器;其功能包括:算術(shù)運(yùn)算:加、減、乘、除。增量(加1)、減量運(yùn)算(減1)。十進(jìn)制數(shù)調(diào)整。位(bit)置1、0,取反。與、或、異或等邏輯運(yùn)算。數(shù)據(jù)傳輸操作??刂破鱔TAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部時(shí)鐘源1時(shí)鐘電路圖2-4 時(shí)鐘電路:內(nèi)部振蕩方式與外部振蕩方式2CPU定時(shí)時(shí)鐘與時(shí)序機(jī)器周期(振蕩周期、時(shí)鐘周期、機(jī)器周期和指令周期)1)振蕩周期:為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源的周期。 2)時(shí)鐘周期:是振蕩源信號(hào)經(jīng)二分頻后形成的時(shí)鐘脈沖信號(hào)。 3)機(jī)器周期:通常將完成一個(gè)基本操作所需的時(shí)間稱為機(jī)器周期。 4)指令周期:是
14、指CPU執(zhí)行一條指令所需要的時(shí)間。一個(gè)指令周期通常含有14個(gè)機(jī)器周期。 P1P2S1振蕩周期時(shí)鐘周期機(jī)器周期機(jī)器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2圖2-5 MCS-51單片機(jī)各種周期的相互關(guān)系再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a) 單字節(jié),單周期指令 例:MOV A R1(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2
15、S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b) 雙字節(jié),單周期指令 例:ADD A dir(c)單字節(jié),雙周期指令 例:INC DPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無取指無ALE無取指地址數(shù)據(jù)(DATA)訪問外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S
16、6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1圖2-6 MCS-51單片機(jī)典型指令的取指與執(zhí)行時(shí)序程序狀態(tài)寄存器-PSWPSW:D7D6D5D4D3D2D1D0CYACF0RS1RS0OVXP各位的描述:CY:進(jìn)位標(biāo)志;加法時(shí)第一加數(shù)的最高位進(jìn)位,或減法時(shí)被減數(shù)借位,CY=1AC:輔助進(jìn)位標(biāo)志;加法時(shí)第一加數(shù)的低4位向高4位進(jìn)位,或減法時(shí)低4位向高4位借位,AC=1。F0:通用(用戶)標(biāo)志RS1。RS0:工作寄存器R0R7的定位標(biāo)志(在片內(nèi)RA
17、M 001FH的4個(gè)區(qū)中選)X:目前無定義P:奇偶校驗(yàn)位;奇校驗(yàn):若累加器A中1的個(gè)數(shù)為奇數(shù),則P=0,否則P=1。偶校驗(yàn):若累加器A中1的個(gè)數(shù)為奇數(shù),則P=1,否則P=0。8051為偶校驗(yàn)OV:溢出標(biāo)志位:表示有符號(hào)數(shù)運(yùn)算的結(jié)果是否超出累加器的(補(bǔ)碼)表達(dá)范圍。異號(hào)數(shù)相加,不會(huì)溢出 OV=0同號(hào)數(shù)相減,不會(huì)溢出 OV=0同號(hào)數(shù)相加,若結(jié)果的符號(hào)與加數(shù)相反,則OV=1異號(hào)數(shù)相減,若結(jié)果的符號(hào)與被減數(shù)相反,則 OV=1總線內(nèi)部總線、外部總線;(地址、數(shù)據(jù)、控制)24 存儲(chǔ)器(內(nèi)/外)程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器用戶數(shù)據(jù)與工作寄存器區(qū)特殊功能寄存器區(qū)位尋址區(qū)特殊功能寄存器通用RAM區(qū)位尋址區(qū)00H1FH2
18、0H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲(chǔ)器(a)外部數(shù)據(jù)存儲(chǔ)器(b)程序存儲(chǔ)器(c)工作寄存器區(qū)圖2-7 MCS-51 存儲(chǔ)器地址位尋址存儲(chǔ)器空間表:特殊功能寄存器(SFR)表:25 I/O口(片內(nèi))一P1 VCCP1.X鎖存器讀鎖存器D讀引腳寫鎖存器內(nèi)部總線QQTP1.X內(nèi)部上拉電阻CL圖2-8 P1口的一位結(jié)構(gòu)圖(90H)VCCP3.X鎖
19、存器讀鎖存器第二輸出功能D讀引腳 寫鎖存器內(nèi)部總線QQTP3.X內(nèi)部上拉電阻第二輸入功能CLP3(B0H)圖2-9圖2-6 P3口的一位結(jié)構(gòu)圖圖2-5 P2口的一位結(jié)構(gòu)圖VCCP2.X鎖存器讀鎖存器地址控制D讀引腳 寫鎖存器內(nèi)部總線QQMUXTP2.X內(nèi)部上拉電阻 CL圖2-10P2(A0H)P0(80H)VCCP0.X鎖存器讀鎖存器地址/數(shù)據(jù)控制D讀引腳寫鎖存器內(nèi)部總線QQMUXT2P0.XT1CL圖2-11 P0口的一位結(jié)構(gòu)圖26 定時(shí)/計(jì)數(shù)器計(jì)算機(jī)的時(shí)鐘(內(nèi)部-CPU的時(shí)鐘電路與外部)外部時(shí)鐘定時(shí)/計(jì)數(shù)器T0、T1的特征結(jié)構(gòu)與功能寄存器1)定時(shí)/計(jì)數(shù)器方式寄存器TMOD2)定時(shí)/計(jì)數(shù)器控
20、制寄存器TCON3)定時(shí)/計(jì)數(shù)器計(jì)數(shù)工作寄存器TL0(8AH)、TL1(8BH)、TH0(8CH)、TH1(8DH);工作方式(1)方式013位定時(shí)/計(jì)數(shù)圖2-12 定時(shí)/計(jì)數(shù)器工作方式0(2)方式116位定時(shí)/計(jì)數(shù)圖2-13 定時(shí)/計(jì)數(shù)器工作方式1(3)方式28位自動(dòng)裝載定時(shí)/計(jì)數(shù)圖2-14 定時(shí)/計(jì)數(shù)器工作方式2(4)方式3T0的兩個(gè)8位定時(shí)/計(jì)數(shù)器圖2-15 定時(shí)/計(jì)數(shù)器工作方式3In the Counter function, the register is incremented in response to a 1-to-0 transition at its correspond
21、ing external input pin, T0 or T1. In this function, the external input is sampled once during every machine cycle. When the samples of the pin state show a high in one cycle and a low in the next cycle, the count is incremented. The new count value appears in the register during the cycle following
22、the one in which the transition was detected. Since it takes 2 machine cycles (24 oscillator cycles ) to recognize a 1-to-0 transition, the maximum count rate is 1/24 of the oscillator frequency. There are no restrictions on the duty cycle of the external input signal, but to ensure that a given lev
23、el is sampled at least once before it changes, it should be held for at least one full machine cycle.(refer to book page 55)27 串行口串行通信概念、結(jié)構(gòu)與協(xié)議串行與并行串行:異步與同步單工、雙工(半雙工與全雙工)速率(波特率、比特率)協(xié)議MCS-51串口特點(diǎn)結(jié)構(gòu)與功能寄存器工作方式方式0Mode 0 Baude Rate=CPU clock frequency /12Serial data enters and exits through RxD. TxD output
24、s the shift clock. 8 bits are transmitted/received: 8 data bits (LSB first). Thebaud rate is fixed at 1/12 the CPU clock frequency. Figure 27 shows a simplified functional diagram of the serial port in Mode 0,and associated timing.Transmission is initiated by any instruction that uses SBUF as a dest
25、ination register. The write to SBUF signal at S6P2 also loads a 1 into the 9th position of the transmit shift register and tells the TX Control block to commence a transmission. The internal timing is such that one full machine cycle will elapse between write to SBUF and activation of SEND. SEND ena
26、bles the output of the shift register to the alternate output function line of P3.0 and also enable SHIFT CLOCK to the alternate output function line of P3.1. SHIFT CLOCK is low during S3, S4, and S5 of every machine cycle, and high during S6, S1, and S2. At S6P2 of every machine cycle in which SEND
27、 is active, the contents of the transmit shift are shifted to the right one position.As data bits shift out to the right, zeros come in from the left. When the MSB of the data byte is at the output position of the shift register, then the 1 that was initially loaded into the 9th position, is just to
28、 the left of the MSB, and all positions to the left of that contain zeros. This condition flags the TX Control block to do one last shift and then deactivate SEND and set T1. Both of these actions occur at S1P1 of the 10th machine cycle after write to SBUF. Reception is initiated by the condition RE
29、N = 1 and R1 =0. At S6P2 of the next machine cycle, the RX Control unit writes the bits 11111110 t o the receive shift register, and in the next clock phase activates RECEIVE.RECEIVE enable SHIFT CLOCK to the alternate output function line of P3.1. SHIFT CLOCK makes transitions at S3P1 and S6P1 of e
30、very machine cycle. At S6P2 of every machine cycle in which RECEIVE is active, the contents of the receive shift register are shifted to the left one position. The value that comes in from the right is the value that was sampled at the P3.0 pin at S5P2 of the same machine cycle.As data bits come in
31、from the right, 1s shift out to the left. When the 0 that was initially loaded into the rightmost position arrives at the leftmost position in the shift register, it flags the RX Control block to do one last shift and load SBUF. At S1P1 of the 10th machine cycle after the write to SCON that cleared
32、RI, RECEIVE is cleared as RI is set.圖2-16 串行口方式0的結(jié)構(gòu)與時(shí)序(2)方式12SMOD/(32*12)圖2-17 串行口方式1的結(jié)構(gòu)與時(shí)序(3)方式264圖2-18 串行口方式2的結(jié)構(gòu)與時(shí)序(4)方式3圖2-19 串行口方式3的結(jié)構(gòu)與時(shí)序28 中斷中斷概念(。優(yōu)先級)中斷:CPU由于某特殊事件要求而停止當(dāng)前工作轉(zhuǎn)去處理該事件,完后再回來繼續(xù)原來的工作,這個(gè)過程為中斷。中斷源產(chǎn)生中斷請求的對象為中斷源。中斷優(yōu)先級在同時(shí)有多個(gè)中斷請求產(chǎn)生時(shí),CPU先響應(yīng)級別高的中斷。級別高的中斷請求可以打斷級別低的中斷響應(yīng)過程。中斷服務(wù)程序處理中斷事件的程序代碼。中斷向
33、量中斷請求被響應(yīng)后,CPU程序指針?biāo)虻牡刂罚ㄖ袛喾?wù)程序入口地址)。六中斷響應(yīng)過程CPU在檢測到中斷請求后,對優(yōu)先級進(jìn)行判斷,在完成當(dāng)前指令后,轉(zhuǎn)向優(yōu)先級高的中斷向量,同時(shí)自動(dòng)保存斷點(diǎn)的地址到堆棧。清除相應(yīng)的中斷標(biāo)志。執(zhí)行服務(wù)程序執(zhí)行返回指令,自動(dòng)把堆棧最上面的兩個(gè)字節(jié)作為返回地址。高優(yōu)先級的中斷服務(wù)程序圖2-20 中斷響應(yīng)過程與嵌套七M(jìn)CS-51中斷中斷源與向量圖2-21 中斷控制與優(yōu)先級2與中斷相關(guān)的功能寄存器1)中斷標(biāo)志:TCON(含T0、T1的溢出標(biāo)志和INT0、INT1的中斷標(biāo)志和觸發(fā)方式選擇TF1TR1TF0TR0IE1IT1IE0IT0(2)SCON(含串行口接收與發(fā)送中斷標(biāo)志
34、RI、TI)SM0SM1SM2RENTB8RB8TIRI2)中斷使能-IE圖2-22 中斷使能寄存器IE3)中斷優(yōu)先級-IP圖2-23 中斷優(yōu)先級寄存器IP3MCS-51中斷響應(yīng)過程單片機(jī)在每個(gè)機(jī)器周期的S5P2期間,順序采樣每個(gè)中斷源,CPU在下一個(gè)機(jī)器周期S6期間按優(yōu)先級順序查詢中斷標(biāo)志,如查詢到某個(gè)中斷標(biāo)志為1,將在再下一個(gè)機(jī)器周期S1期間按優(yōu)先級進(jìn)行中斷處理。中斷得到響應(yīng)后自動(dòng)清除中斷標(biāo)志,由硬件將程序計(jì)數(shù)器PC內(nèi)容壓入堆棧保護(hù),然后將對應(yīng)的中斷矢量裝入程序計(jì)數(shù)器PC,使程序轉(zhuǎn)向中斷矢量地址單元中去執(zhí)行相應(yīng)的中斷服務(wù)程序。 下列任何一種情況存在中斷申請將被封鎖:(1)CPU正在執(zhí)行一個(gè)
35、同級或高一級的中斷服務(wù)程序。(2)當(dāng)前正在執(zhí)行的那條指令還未執(zhí)行完。(3)當(dāng)前正在執(zhí)行的指令是RETI或?qū)E,IP寄存器進(jìn)行讀/寫指令,執(zhí)行這些指令后至少再執(zhí)行一條指令才會(huì)響應(yīng)中斷。29 MCS-51特殊工作方式復(fù)位1復(fù)位電路單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分。外部復(fù)位電路就是為內(nèi)部復(fù)位電路提供兩個(gè)機(jī)器周期以上的高電平而設(shè)計(jì)的。MCS-51單片機(jī)通常采用上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。如圖2-14所示。 2單片機(jī)復(fù)位后的狀態(tài)單片機(jī)運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位鍵重新運(yùn)行。21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值, 22F C1RST R11K+5V22F C1RST+5VR2200RS
36、TR1+5VC222F 803180518751803180518751803180518751(a)上電復(fù)位電路(c)按鍵脈沖復(fù)位電路(b)按鍵電平復(fù)位電路 R11K圖2-24 復(fù)位電路節(jié)電工作方式振蕩器&時(shí)鐘發(fā)生器&/IDL/PDCPU中斷系統(tǒng) 串行口定時(shí)/計(jì)數(shù)器XTAL2XTAL1圖2-25 節(jié)電工作方式寄存器與控制電路Idle ModeThe Idle mode leaves peripherals running in order to allow them to activate the processor when an interrupt is generated. Any e
37、nabled interrupt source or Reset may terminate Idle mode. Idle mode is entered by setting the IDL bit in the PCON register (see Figure ).Power Down ModeThe Power Down mode stops the oscillator in order to absolutely minimize power consumption. Power Down mode is entered by setting the PD bit in the
38、PCON register (see Figure ). The processor can be made to exit Power Down mode via Reset only . 習(xí)題二:1MCS-51單片機(jī)地址總線和數(shù)據(jù)總線各多少位?2/EA、ALE、/PSEN、RST、/WR、/RD的信號(hào)功能各自是什么?3MCS-51 引腳有多少I/O線?它們中的第二功能是什么?4什么是振蕩周期、時(shí)鐘周期、機(jī)器周期和指令周期?它們之間的關(guān)系是什么?當(dāng)晶振頻率=8MHz時(shí),機(jī)器周期是多少微秒?5MCS-51存儲(chǔ)器如何分類?它們的地址空間如何分配?6有那些存儲(chǔ)空間可以位尋址?如何尋址?7什么是堆棧
39、?SP是什么?MCS-51中堆棧操作有什么特點(diǎn)?8什么是PSW?它的各位含義?9計(jì)算下列運(yùn)算結(jié)果,并寫出運(yùn)算后的各標(biāo)志位的值。 1)2DH+67H2)6EH+A9H3)FDH-89H4)99H-23H10定時(shí)/計(jì)數(shù)器的功能?共同點(diǎn)與不同點(diǎn)?11什么是中斷?中斷向量?中斷優(yōu)先級?12敘述中斷的響應(yīng)過程。13什么是串行通信?串行通信的類型?波特率?14MCS-51串行通信的4種方式的功能、特點(diǎn)?15節(jié)電工作方式有幾種?各自特點(diǎn)?第三章MCS-51匯編語言程序設(shè)計(jì)31匯編語言概述匯編語言的組成與特點(diǎn)匯編語言在計(jì)算機(jī)軟件設(shè)計(jì)中的地位匯編語言指令結(jié)構(gòu)標(biāo)號(hào):助記符 操作數(shù) ;注解 32尋址方式何為尋址?寄
40、存器尋址立即數(shù)尋址存儲(chǔ)器尋址直接尋址間接尋址基址+變址程序轉(zhuǎn)移時(shí)的尋址相對跳轉(zhuǎn)絕對跳轉(zhuǎn)基址+變址跳轉(zhuǎn)33 指令集數(shù)據(jù)傳送MOV Rn;(n=07); Rn,A;A,#data; A,Ri;(i=0,1); Ri, A; A, direct ; direct, A;drect1, direct2 ; Ri, direct; direct, Ri; direct, #data; Ri,#data; Rn,#data; Rn,direct; direct,RnDPTR,#data16AMEM:R0,R1DirectDATAR0R7PUSH directPOP directXCH A, Rn; A,d
41、irect; A,RiXCHD A, RiCLRAMOVC A,A+DPTR; MOVC A,A+PCMOVX A, DPTR; MOVX A,Ri ;(i=0,1); MOVX DPTR, A; MOVX Ri, A算術(shù)運(yùn)算ADDADDCSUBBMULDIVDAAINC (A,Rn,direct,Ri ,DPTR)DEC (A,Rn,direct,Ri)ADirectRiRnDATA邏輯運(yùn)算ANL ORLXRLCPL程序轉(zhuǎn)移LJMP address16AJMP address11SJMPrelLCALL address16ACALL address11RETRETIDJNZOPR,REL ;
42、 OPR: Rn, directCJNEOPR1,OPR2,RELOPR!: A, Rn, Ri OPR2: DATA; direct ( Only with A) JZREL;JNZRELJC REL;JNCRELJBREL;JNBRELJBC REL ; if C=1 then jmp & clear C=0位操作JC、JNC、JB、JNB、JBCMOVC,bit;/bitMOVbit,C;ANLC,bit;/bitORLC,bit;/bitCPLbitSETBbitCLRbitNOP34程序設(shè)計(jì)匯編語言程序的結(jié)構(gòu)一個(gè)完整源程序格式:ORGaddress ;偽指令定位語句,確定以下指令在程
43、序存儲(chǔ)器存放的起始地址標(biāo)號(hào): ; CODE ;匯編語言指令組成的程序.END;偽指令,匯編到此結(jié)束一條指令格式(只能一行):標(biāo)號(hào):指令 ;注解 ;其中標(biāo)號(hào)用作程序轉(zhuǎn)移時(shí)的目標(biāo),注解不是必須的。偽指令指令是有對應(yīng)的機(jī)器碼,由CPU執(zhí)行;偽指令無機(jī)器碼,由匯編程序執(zhí)行。定位 ORG等效 EQU位變量 bit字節(jié)型數(shù)據(jù) DB 字型數(shù)據(jù) DW立即數(shù) DATA匯編結(jié)束 END程序設(shè)計(jì)與上機(jī)步驟用PC純文本編輯器編寫源程序(ASCII碼文件),以ASM擴(kuò)展名存盤。用匯編程序ASM51.EXE對源程序進(jìn)行匯編,即把它翻譯成機(jī)器碼,形成目標(biāo)文件,后綴為OBJ。若有語法錯(cuò)誤,會(huì)在屏幕上顯示出來,須返回文本編輯狀
44、態(tài)修改。一般情況下,在單片機(jī)中OBJ文件可以執(zhí)行。一般在仿真器上調(diào)試上述文件,若發(fā)現(xiàn)問題,可直接修改代碼或返回文本編輯狀態(tài)。在應(yīng)用開發(fā)過程中,把調(diào)試好的機(jī)器碼文件用編程器寫入用戶芯片。現(xiàn)在的仿真器幾乎都是在WINDOWS環(huán)境下的集文本編輯、匯編、調(diào)試、運(yùn)行為一體的IDE界面。Manley的MedWin軟件介紹。C51簡介四簡單程序設(shè)計(jì)舉例五循環(huán)結(jié)構(gòu)軟件延時(shí)1、 已知延時(shí)數(shù)值為N*MMOVR2,#NLOAD:MOVR3,#MDJNZR3,$DJNZR2,LOADRET2、 已知延時(shí)數(shù)值為NM兩字節(jié)MOVR2,#NMOVR3,#MMOVA,R3JZSKIPINCR2SKIP:DJNZR3,SKIP
45、DJNZR2,SKIPRET數(shù)據(jù)傳送多位數(shù)算術(shù)運(yùn)算用移位和迭加的方式,步驟如下:1) 清部分積(高16位)R4R5=0。循環(huán)數(shù)16。2) 把R4R5R6R7右移一位,從最低位開始檢查乘數(shù)R6R7的各個(gè)位。3) 如乘數(shù)位為1,則被乘數(shù)R2R3加到部分積R4R5中,否則不加。4) 循環(huán)數(shù)減1,不到16次再返回1)。NMUL:MOVR4,#0MOVR5,#0;積的高16位=0MOVR0,#16;乘數(shù)16位二進(jìn)制CLRCNMLP:MOVA,R4RRCAMOVR4,AMOVA,R5RRCAMOVR5,AMOVA,R6RRCAMOVR6,AMOVA,R7RRCAMOVR7,A;(R4R5R6R7)右移一位
46、JNCNMLNMOVA,R5;若移出位=1,則(R4R5)=(R4R5)+(R2R3)ADDA,R3MOVR5,AMOVA,R4ADDCA,R2MOVR4,ANMLN:DJNZR0,NMLPMOVA,R4;最后再移位一次RRCAMOVR4,AMOVA,R5RRCAMOVR5,AMOVA,R6RRCAMOVR6,AMOVA,R7RRCAMOVR7,A;(R4R5R6R7)右移一位RET4、 多字節(jié)無符號(hào)二進(jìn)制數(shù)除法例1、 將(R2R3R4R5)除于(R6R7),商送(R4R5),余數(shù)送(R2R3)。模擬手算方法:1)從被除數(shù)高位開始對齊除數(shù),比較。2)若前者大于或等于后者,商位為1,并把被除數(shù)減
47、除數(shù),形成部分余數(shù)。若前者小于后者,商位為0。3)部分余數(shù)左移一位,商也左移一位。4)整個(gè)余數(shù)若小于除數(shù),則退出。5) 部分余數(shù)從高位開始與除數(shù)比較6) 到第2)步。若被除數(shù)高16位大于或等于除數(shù),則溢出。NDIV:MOVA,R3CLRCSUBBA,R7;先比較是否發(fā)生溢出MOVA,R2SUBBA,R6JNCNDVE1;溢出MOVB,#16;無溢出,16位NDVL1:CLRCMOVA,R5RLCAMOVR5,AMOVA,R4RLCAMOVR4,A;被除數(shù)左移一位,同時(shí)也是商位左移一位MOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVF0,C;保存移出的最高位CLRC
48、MOVA,R3SUBBA,R7;比較部分余數(shù)與除數(shù)MOVR1,AMOVA,R2SUBBA,R6JBF0,NDVM1;上次最高位=1,則商位=1JCNDVD1;部分余數(shù)小于除數(shù),則商位=0NDVM1:MOVR2,AMOVA,R1MOVR3,A;回送減法結(jié)果INCR5;商位=1NDVD1:DJNZB,NDVL1;循環(huán)16次CLRF0RETNDVE1:SETBF0;溢出標(biāo)志RET多字節(jié)移位多字節(jié)求補(bǔ)排序例1:改進(jìn)的冒泡排序(單字節(jié))NEQU10FIREQU40HLJMPGOTABL:DB12,3,45H,22,6,9,33DB23H,43,11;數(shù)組元素表GO:MOVDPTR,#TABLMOVR0,
49、#FIRMOVR7,#NEVALU:MOVA,0;給工作單元賦值MOVCA,A+DPTRMOVR0,AINCR0INCDPTRDJNZR7,VALUSORT:;排序MOVR7,#N-1;外循環(huán)數(shù)CLRF0;清交換標(biāo)志為0NEXT0:MOVA,R7JZEXIT;只一個(gè)元素,退出MOVR6,A;內(nèi)循環(huán)數(shù)MOVR0,#FIR;R0指向第一個(gè)元素NEXT1:MOVA,R0;取一個(gè)字節(jié)INCR0MOVB,R0CJNEA,B,L1;兩個(gè)相鄰字節(jié)比較SJMPL2;相等,不必交換L1:JCL2;前一個(gè)小于后一個(gè),符合增序XCHA,R0;前一個(gè)大于后一個(gè),交換DECR0MOVR0,AINCR0SETBF0;設(shè)置
50、交換標(biāo)志為1L2:DJNZR6,NEXT1;內(nèi)循環(huán)是否結(jié)束?JNBF0,EXIT;無交換,提前結(jié)束DJNZR7,NEXT0;外循環(huán)是否結(jié)束?EXIT:RET例2:選擇法排序(降序)NEQU10FIREQU40HSORT:MOVA,#N;DECAMOVR7,A;外循環(huán)數(shù)MOVA,#FIRMOVR0,A;數(shù)組首址NEXT0:PUSHACC;保存本輪第一個(gè)字節(jié)地址MOVA,R7MOVR6,A;內(nèi)循環(huán)數(shù)MOVA,R0;取第一個(gè)字節(jié)NEXT1:INCR0MOVB,R0CJNEA,B,L1;第一個(gè)字節(jié)與另一字節(jié)比較SJMPL2L1:JCL2;大于或等于,不交換XCHA,R0;小于,交換DJNZR6,NEX
51、T1;較小的字節(jié)在A中,取下一字節(jié)與它比較。POPB;一輪比較結(jié)束MOVR0,B;恢復(fù)該輪第一個(gè)字節(jié)的地址MOVR0,A;把該輪最小的數(shù)存放到第一個(gè)字節(jié)INCR0;下一輪的字節(jié)地址MOVA,R0DJNZR7,NEXT0;下一輪RET 數(shù)的制式轉(zhuǎn)換1) 二進(jìn)制轉(zhuǎn)換成十進(jìn)制例1、 用減法例2、 用除法例3、 左移位2的降冪累加十進(jìn)制調(diào)整: M=An*2N+A(n-1)*2(N-1)+A1*21+A0=(An*2+An-1)*2+A1)*2+A0將(R2R3)中16位二進(jìn)制數(shù)轉(zhuǎn)換為壓縮BCD碼十進(jìn)制數(shù)送R4、R5、R6。IBTD2:CLRAMOVR4,A;結(jié)果單元清0MOVR5,AMOVR6,AMO
52、VR7,#16;16位二進(jìn)制LOOP:CLRCMOVA,R3;(R2R3)左移RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R6;(R4R5R6)=(R4R5R6)*2+CADDCA,R6DAA;加法十進(jìn)制調(diào)整MOVR6,AMOVA,R5ADDCA,R5DAAMOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,ADJNZR7,LOOP;循環(huán)16次RET2)十進(jìn)制轉(zhuǎn)換成二進(jìn)制M=An*10n+An-1*10n-1+.+A1*10+A0=((An*10+An-1)*10+A1)*10+A0設(shè)單字節(jié)BCD碼A3,A2,A1,A0依次存放在片內(nèi)RAM的50H53H單元,
53、轉(zhuǎn)換成的二進(jìn)制數(shù)存放在R3R4。IDTB:MOVR0,#50H;MOVR2,#3;循環(huán)次數(shù)(最高位不包括在內(nèi))MOVR3,#0;結(jié)果單元高字節(jié)清0MOVA,R0;取十進(jìn)制數(shù)最高位MOVR4,ALOOP:MOVA,R4MOVB,#10MULAB;一位十進(jìn)制數(shù)(結(jié)果的低字節(jié))乘10MOVR4,A;積的低8位存放于R4MOVA,BXCHA,R3;積的高8位存放于R3MOVB,#10MULAB;結(jié)果的高字節(jié)乘10ADDA,R3;(R3)=(R3)*10的低字節(jié)+(R4)*10的高字節(jié)MOVR3,AINCR0;指向十進(jìn)制的下一位MOVA,R4ADDA,R0;(R4)=(R4)*10的低字節(jié)+十進(jìn)制的下一
54、位MOVR4,AMOVA,R3ADDCA,#0MOVR3,A;(R3)=(R3)+CDJNZR2,LOOPRET六分支結(jié)構(gòu)兩分支多分支例1、 用3個(gè)單開關(guān)的組合控制8個(gè)LED。(此處用P3口的低3位接開關(guān),P1口接8個(gè)LED)。MOVDPTR,#TABLKEY:ORLP3,#07HMOVA,P3ANLA,#07HCLRCRLCAJMPA+DPTRTABL:AJMPL0AJMPL1AJMPL2AJMPL3AJMPL4AJMPL5AJMPL6AJMPL7L0:MOVP1,#1LJMPKEYL1:MOVP1,#2LJMPKEYL2:MOVP1,#4LJMPKEYL3:MOVP1,#8LJMPKEYL
55、4:MOVP1,#10HLJMPKEYL1:MOVP1,#20HLJMPKEYL2:MOVP1,#40HLJMPKEYL3:MOVP1,#80HLJMPKEYRET查表子程序中斷服務(wù)程序35 定時(shí)/計(jì)數(shù)器的應(yīng)用編程例1、 在89C51單片機(jī)的P1.0端口上接有一個(gè)發(fā)光二極管,P1.0輸出低電平時(shí)發(fā)光二極管點(diǎn)亮,輸出高電平時(shí)熄滅。P1.7接有一個(gè)開關(guān),開關(guān)閉合時(shí),P1.7為低電平,斷開時(shí)為高電平。請?jiān)O(shè)計(jì)一個(gè)控制程序,當(dāng)開關(guān)閉合時(shí),發(fā)光二極管每秒鐘閃爍一次,當(dāng)開關(guān)斷開時(shí),發(fā)光二極管每秒鐘閃爍兩次。已知系統(tǒng)使用12MHz的晶體。LEDBITP1.0;發(fā)光二極管控制信號(hào)輸出端口KEYBITP1.7;開
56、關(guān)狀態(tài)檢測端口CLOKEQU20H;時(shí)鐘單元(單位:1/16秒)SECBITCLOK.3;秒閃爍控制位DSECBITCLOK.2;半秒閃爍控制位ORG0000HLJMPMAIN;至主程序ORG000BHLJMPTTT;至定時(shí)中斷子程序ORG0030HMAIN:MOVP1,#0FFH;初始化端口MOVTMOD,#11H;設(shè)置定時(shí)器0為十六位定時(shí)器MOVCLOK,#0;時(shí)鐘單元初始化MOVTH0,#0BH;時(shí)常數(shù)(定時(shí)1/16秒)MOVTL0,#0DCHSETBET0;允許定時(shí)器0中斷SETBEA;開中斷SETBTR0;啟動(dòng)定時(shí)器0LOOP:ORLPCON,#1;主程序進(jìn)入睡眠狀態(tài)LJMPLOOP
57、TTT:MOVTL0,#0DCH;定時(shí)子程序,重裝時(shí)常數(shù)MOVTH0,#0BHINCCLOK;調(diào)整時(shí)鐘JBKEY,TTT1;檢測開關(guān)狀態(tài)MOVC,SEC;開關(guān)閉合,取秒閃爍信號(hào)SJMPTTT2TTT1:MOVC,DSEC;開關(guān)斷開,取半秒閃爍信號(hào)TTT2:MOVLED,C;控制發(fā)光二極管RETI;中斷返回例2、 用定時(shí)器0控制,在P1口輸出不同頻率的方波。已知fosc=12MHz,8路頻率(P1.7P1.0)分別為1、2、4、5、10、20、25、50、100Hz。用T0產(chǎn)生5ms的定時(shí),計(jì)數(shù)初值=65536-5000=60536=EC78HORG0LJMPMAINORG000BHLJMPTI
58、MER0ORG0030HMAIN:MOVSP,#70HMOV41H,#2MOV42H,#4MOV43H,#5MOV44H,#10MOV45H,#20MOV46H,#50MOV47H,#100MOVTMOD#01HMOVTH0,#0ECHMOVTL0,#78HSETBET0SETBEASETBTR0SJMP$TIMER0:MOVTH0,#0ECHMOVTL1,#78HCPLP1.0;100HzDJNZ41H,PF1MOV41H,#2CPLP1.1;50HzPF1:DJNZ42H,PF2MOV42H,#4CPLP1.2;25HzPF2:DJNZ43H,PF3MOV43H,#5CPLP1.3;20H
59、zPF3:DJNZ44H,PF4MOV44H,#10CPLP1.4;10HzPF4:DJNZ45H,PF5MOV45H,#20CPLP1.5;5HzPF5:DJNZ46H,PF6MOV46H,#50CPLP1.6;2HzPF6:DJNZ47H,PF7MOV47H,#100CPLP1.7;1HzPF7:RETIEND36 外部中斷應(yīng)用編程37 串行口應(yīng)用編程38 P1、P3 I/O口的應(yīng)用第四章單片機(jī)系統(tǒng)的擴(kuò)展41 最小系統(tǒng)與系統(tǒng)總線42 存儲(chǔ)器的擴(kuò)展(并行總線)地址譯碼技術(shù)程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器43 I/O口的擴(kuò)展簡單I/O芯片的擴(kuò)展三態(tài)門(74LS244,245)帶鎖存器(74LS273,37
60、7)可編程的芯片8255A82793NS825044 其他功能部件的擴(kuò)展定時(shí)/計(jì)數(shù)器A/DD/AA/D與D/A轉(zhuǎn)換A/D1A/D轉(zhuǎn)換器大致有三大類:1。雙積分A/D,精度高、抗干擾好、價(jià)格低、速度慢2逐次逼近法A/D,精度、價(jià)格、速度適中3并行A/D,速度快、價(jià)格高2A/D轉(zhuǎn)換器的主要參數(shù):1)分辨率2)轉(zhuǎn)換速度3A/D轉(zhuǎn)換芯片與單片機(jī)的接口以ADC0809為例(逐次逼近法類型)+5V接口(如圖)IN0IN1IN7CLK(500K)ALEOESTARTALED07A0A1A2+5VEOCGNDD07ABCVCC,VREF+GND VREF-/RD/CS/WR其中引腳,A、B、C是模擬量輸入通道
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3人合作協(xié)議合同范本
- 三年級數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)及答案
- 業(yè)主裝修合同范例
- 合進(jìn)油合同范本
- 廠房維修合同范例正規(guī)合同
- 出租草場協(xié)議合同范例
- 加入滴滴合同范例
- 專業(yè)人維修電梯合同范本
- 12 干點(diǎn)家務(wù)活 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治一年級下冊(統(tǒng)編版)
- 個(gè)人房頂翻修合同范例
- 初中物理作圖題集萃附答案
- 釣魚郵件專項(xiàng)安全意識(shí)隨堂測試
- 2023年池州職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案解析
- GB/T 6031-1998硫化橡膠或熱塑性橡膠硬度的測定(10~100IRHD)
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
- GB/T 2851.5-1990沖模滑動(dòng)導(dǎo)向模架中間導(dǎo)柱模架
- GB/T 28267.4-2015鋼絲繩芯輸送帶第4部分:帶的硫化接頭
- GB/T 20833.4-2021旋轉(zhuǎn)電機(jī)繞組絕緣第4部分:絕緣電阻和極化指數(shù)測量
- GB/T 17187-2009農(nóng)業(yè)灌溉設(shè)備滴頭和滴灌管技術(shù)規(guī)范和試驗(yàn)方法
- GB/T 12459-1990鋼制對焊無縫管件
- GB 20517-2006獨(dú)立式感煙火災(zāi)探測報(bào)警器
評論
0/150
提交評論