基于STC單片機(jī)資料【實(shí)用文檔】doc_第1頁(yè)
基于STC單片機(jī)資料【實(shí)用文檔】doc_第2頁(yè)
基于STC單片機(jī)資料【實(shí)用文檔】doc_第3頁(yè)
基于STC單片機(jī)資料【實(shí)用文檔】doc_第4頁(yè)
基于STC單片機(jī)資料【實(shí)用文檔】doc_第5頁(yè)
已閱讀5頁(yè),還剩114頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于STC單片機(jī)資料【實(shí)用文檔】doc文檔可直接使用可編輯,歡迎下載

單片機(jī)原理復(fù)習(xí)要點(diǎn)基于STC單片機(jī)資料【實(shí)用文檔】doc文檔可直接使用可編輯,歡迎下載考試題型:填空題、選擇題、判斷題(共計(jì)45分左右)程序分析題、簡(jiǎn)答題(主第二章)、編程題(共計(jì)55分左右)前言:經(jīng)過(guò)大家的奮戰(zhàn),單片機(jī)的復(fù)習(xí)資料出爐了!!!感謝所有為本資料無(wú)私奉獻(xiàn)的小伙伴們!!!如果資料有錯(cuò)誤,請(qǐng)自行修改.第一章1>.微型計(jì)算機(jī):微處理器,存儲(chǔ)器(ROMRAM)與輸入輸出接口(I/O接口)及連接他們的總線(xiàn)組成.2>。存儲(chǔ)器的兩個(gè)重要的指標(biāo)是容量與速度。3〉.已知一個(gè)存儲(chǔ)器有12根數(shù)據(jù)總線(xiàn),則該存儲(chǔ)器的容量為4KB。(算法:212=22*210=4K)4>.已知某單片機(jī)有16根地址總線(xiàn),則該單片機(jī)的尋址范圍為:0-64KB。5>。微機(jī)的總線(xiàn)結(jié)構(gòu)是:三總線(xiàn)結(jié)構(gòu),而單片機(jī)的總線(xiàn)結(jié)構(gòu)是:?jiǎn)慰偩€(xiàn)結(jié)構(gòu).6>??偩€(xiàn)分為地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)、其中地址總線(xiàn)的I/O口是P0口和P2口,數(shù)據(jù)總線(xiàn)的I/O口是P0口。第二章(看完要有印象)1>。關(guān)于STC15F2K60S2系列單片機(jī)的功能敘述:①。有8通道10位ADC轉(zhuǎn)換。②。兩個(gè)全雙工異步串行口.③。三個(gè)定時(shí)器T0T1T2。(其中T0有4種工作方式,T1有3種工作方式,T2有1種工作方式。但是T1和T2可以作為波特率發(fā)生器)④.增強(qiáng)型8051CPU,每個(gè)機(jī)器周期只有一個(gè)系統(tǒng)時(shí)鐘,時(shí)鐘頻率分為12分頻或不分頻。2>.關(guān)于STC15F2K60S2的引腳(有印象就行)數(shù)據(jù)總線(xiàn):P0口訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí)地址總線(xiàn):P0口(低8位);P2口(高8位)外部中斷入口:P3.2(外部中斷0);P3.3(外部中斷1)P3。6(外部中斷2);P3。7(外部中斷3);P3.0(外部中斷4)定時(shí)器脈沖輸入:P3.4(T0脈沖輸入);P3.5(T1脈沖輸入);P3.1(T2脈沖輸入)控制引腳:地址鎖存信號(hào)線(xiàn)(ALE):P4。5外部存儲(chǔ)器讀操作(EQ\*jc0\*"Font:楷體"\*hps14\o\ad(\s\up13(__(dá)),R)EQ\*jc0\*"Font:楷體”\*hps14\o\ad(\s\up13(__),D)):P4.4外部存儲(chǔ)器寫(xiě)操作(EQ\*jc0\*”Font:楷體”\*hps14\o\ad(\s\up13(__),W)EQ\*jc0\*”Font:楷體"\*hps14\o\ad(\s\up13(__),R)):P4.23>.單片機(jī)的中央處理器是由運(yùn)算器和控制器組成。4〉。STC15單片機(jī)的儲(chǔ)存結(jié)構(gòu)。(要有印象)0000H-EFFFH:程序Flash0000H—3FFFH:數(shù)據(jù)Flash00H—7FH:低128字節(jié)基本RAM80H—FFH:高128字節(jié)基本RAM片內(nèi)基本RAM分為低128字節(jié)RAM、高128字節(jié)的RAM的特殊功能寄存器(SFR)其中低128字節(jié)又分為工作寄存器區(qū),位尋址區(qū)。與通用RAM區(qū).工作寄存器區(qū)的功能由RS0與RS1決定。位尋址區(qū):片內(nèi)的基本RAM的20H—--—2FH共16個(gè)字節(jié)是位尋址區(qū),每個(gè)字節(jié)8個(gè)位,共128位,其對(duì)應(yīng)的地址分別為00H--—-—7EH。位地址還可以用字節(jié)地址加位號(hào)表示,如20H的單位的B5位,其地址可用05H表示,也可用20.5H表示。通用RAM區(qū);30H——---7FH共80個(gè)字節(jié)。其中高128字節(jié)的RAM的地址為80H——-—FFH.高128字節(jié)的RAM只能采用寄存器間接尋址方式訪(fǎng)問(wèn);特殊功能寄存器只能采用直接尋址方式。第四章1>.指令尋址方式:(要了解)直接尋址:直接累加器或寄存器訪(fǎng)問(wèn)目標(biāo)。比如:MOVA,20H寄存器間接尋址:將地址賦給一個(gè)寄存器,然后利用該寄存器的內(nèi)容作為地址,讓累加器或寄存器訪(fǎng)問(wèn)。比如:MOVR0,#30HMOVA,@RO立即尋址:將立即數(shù)賦給累加器或寄存器。寄存器尋址:寄存器間的數(shù)據(jù)傳送,或者自加自減.變址尋址:一個(gè)地址加另一個(gè)地址中的數(shù)據(jù)送到累加器或者寄存器。比如:MOVA,@A+DPTR2〉。指令表(必須記住,提供英文全稱(chēng)輔助記憶)MOVA,B賦值(傳送)(Move)MOVXA,B(片外)賦值MOVCA,B(存儲(chǔ)器)賦值(MoveCode)XCHA,B(寄存器間)交換(Exchange)XCHDA,B(寄存器間低4位)交換SWAPA(自己的低4位與高4位)交換PUSHA入棧操作POPA出棧操作ADD/ADDCA,B加法/帶進(jìn)位的加法(Addition)SUBBA,B減法(Subtraction)MULAB乘法(Multiplicat(yī)ion)DIVAB除法(Division)INCA自加(Increment)DECA自減(Decrement)ANLA,B邏輯與(AndLogic)ORLA,B邏輯或(OrLogic)XRLA,B邏輯異或(ExclusiveOrLogic)CLRA清零(Clear)CPLA取反(ConversePositionLogical)RLA循環(huán)左移(RotateLeft)RLCA循環(huán)左移加CY(RotateLeftwithCY)RRA循環(huán)右移(Rotat(yī)eRight)RRCA循環(huán)右移加CY(RotateRightwithCY)AJMPaddr短轉(zhuǎn)移(絕對(duì)轉(zhuǎn)移)(AbsoluteJump)LJMPaddr長(zhǎng)轉(zhuǎn)移(LongJump)SJMPaddr相對(duì)轉(zhuǎn)移(ShortJump)NOP空操作(NotOperation)JZaddr?yàn)椋稗D(zhuǎn)移(JumpifZero)JNZaddr非0轉(zhuǎn)移(JumpifNotZero)CJNEA,B,addr比較不等轉(zhuǎn)移(CompareJumpifNotEqual)DJNZA,addr減1非0轉(zhuǎn)移(DecrementJumpifNotZero)LCALLaddr子程序長(zhǎng)調(diào)用(LongCall)ACALLaddr子程序絕對(duì)調(diào)用(AbsoluteCall)RET子程序返回(Return)RETI中斷返回(ReturnfromInterruption)還有其他剩余指令,自己稍微了解一下就行。(備注:A,B為源操作數(shù)和目的操作數(shù),addr為地址或程序標(biāo)志).第五章(要學(xué)會(huì)應(yīng)用)偽指令:ORG作用:設(shè)定程序起始地址指令第六章(整合到大題中考)第七章(建議記住)1〉。引起中斷的根源或者原因稱(chēng)為中斷源,STC15中,中斷源共有14個(gè)。2>。CPU在處理較低優(yōu)先級(jí)的中斷服務(wù)子程序時(shí),有更高優(yōu)先級(jí)程序申請(qǐng)中斷,使CPU轉(zhuǎn)而執(zhí)行更高優(yōu)先級(jí)的中斷服務(wù)子程序稱(chēng)為中斷嵌套。3>.中斷標(biāo)志清零的方式有軟件清零和硬件清零.4>。響應(yīng)中斷的條件:中斷總開(kāi)關(guān)EA以及相應(yīng)中斷的控制位都開(kāi)放中斷,并且中斷源的信號(hào)滿(mǎn)足中斷要求。5>.中斷方式跳轉(zhuǎn)與調(diào)用方式跳轉(zhuǎn)的區(qū)別?答:中斷方式跳轉(zhuǎn)需要事先設(shè)置中斷服務(wù)程序的入口地址,并且需要設(shè)置相應(yīng)的中斷控制位,開(kāi)放相應(yīng)的中斷。在設(shè)置好相關(guān)的程序后還需要需要等待中斷。中斷產(chǎn)生后,需要在中斷服務(wù)子程序中設(shè)置入棧操作,用來(lái)保護(hù)斷點(diǎn)。中斷服務(wù)執(zhí)行后,程序會(huì)自動(dòng)返回?cái)帱c(diǎn)處。調(diào)用方式跳轉(zhuǎn)則不需要設(shè)置中斷服務(wù)入口地址,只需要查詢(xún)相關(guān)中斷申請(qǐng)標(biāo)志位,若有申請(qǐng)就發(fā)生跳轉(zhuǎn)。在執(zhí)行調(diào)用子程序中,系統(tǒng)會(huì)自動(dòng)對(duì)斷點(diǎn)進(jìn)行保護(hù),不需要設(shè)置入棧操作。返回時(shí),需要在調(diào)用子程序中設(shè)置跳轉(zhuǎn)指令,跳轉(zhuǎn)回?cái)帱c(diǎn).(本題較長(zhǎng),建議結(jié)合自己的觀點(diǎn)精簡(jiǎn)答案。)6>。中斷服務(wù)程序入口地址:(如果擅長(zhǎng)用中斷方式編程的童鞋必須記住,擅長(zhǎng)調(diào)用方式編程就不重要了。)外部中斷00003H定時(shí)器/計(jì)數(shù)器T0中斷000BH外部中斷10013H定時(shí)器/計(jì)數(shù)器T1中斷001BH串行口中斷0023HA/D轉(zhuǎn)換中斷002BHLVD中斷0033HPCA中斷003BH串行口2中斷0043HSPI中斷004BH外部中斷20053H外部中斷3005BH定時(shí)器T2中斷0063H預(yù)留中斷006BH、0073H、007BH外部中斷40083H第八章定時(shí)器初始化工作:(要了解如何操作)對(duì)TMOD賦值,以確定T0和T1的工作方式。對(duì)AUXR賦值,確定定時(shí)脈沖的分頻系數(shù),默認(rèn)為12分頻,與傳統(tǒng)8051單片機(jī)兼容。計(jì)算初值,并將其寫(xiě)入TH0、TL0或TH1、TL1。為中斷方式時(shí),則對(duì)IE賦值,開(kāi)放中斷,必要時(shí),還需要對(duì)IP操作,確定各個(gè)中斷源的優(yōu)先級(jí)。置位TR0或TR1,啟動(dòng)T0和T1開(kāi)始計(jì)時(shí)或者計(jì)數(shù)。T0、T1工作方式:(建議記?。㎝1M0工作方式功能00方式016位自動(dòng)重裝初值01方式116位不自動(dòng)重載初值10方式28位自動(dòng)重載初值11方式3兩個(gè)8位(僅限T0)第九章1〉。并行通信和串行通信的區(qū)別是什么?有哪些優(yōu)缺點(diǎn)?答:并行通信是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)同時(shí)進(jìn)行傳送.優(yōu)點(diǎn)是控制簡(jiǎn)單,傳送速度快.缺點(diǎn)是由于傳輸線(xiàn)較多,長(zhǎng)距離傳送成本較高,因此僅適用于短距離傳送。串行通信是將數(shù)據(jù)字節(jié)分為一位一位的形式在一條傳輸線(xiàn)上逐個(gè)地傳送。優(yōu)點(diǎn)是傳輸線(xiàn)少,長(zhǎng)距離傳送成本很低.缺點(diǎn)是傳輸速度慢,因此適用于長(zhǎng)距離傳輸。2〉.同步通信和異步通信的區(qū)別是什么?有哪些優(yōu)缺點(diǎn)?答:異步通信的數(shù)據(jù)通常是以字符(或字節(jié))為單位組成字符幀傳送的。優(yōu)點(diǎn)是不需要傳送同步時(shí)鐘,字符幀長(zhǎng)度不受限制,故而設(shè)備簡(jiǎn)單。缺點(diǎn)是字符幀中因?yàn)榘鹗嘉缓屯V刮欢档土擞行?shù)據(jù)的傳輸速率。同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信傳輸一組數(shù)據(jù)(包含若干個(gè)字符數(shù)據(jù)).優(yōu)點(diǎn)是數(shù)據(jù)傳輸速率較高,通??蛇_(dá)56000bit/s或更高。缺點(diǎn)是要求發(fā)送時(shí)鐘和接收時(shí)鐘必須保持嚴(yán)格同步,硬件電路也很復(fù)雜。3〉.多機(jī)通信選擇第十章(要記住會(huì)運(yùn)用?。。?〉.選擇A/D模塊的重要的指標(biāo)是:轉(zhuǎn)換精度和轉(zhuǎn)換速度。2〉。A/D模塊編程過(guò)程:打開(kāi)ADC電源(設(shè)置ADC_CONTR中的ADC_POWER)。適當(dāng)延時(shí),等ADC內(nèi)部模擬電源穩(wěn)定。一般延時(shí)1ms即可。設(shè)置P1口中的相應(yīng)口線(xiàn)作為AD轉(zhuǎn)換模擬量輸入通道(設(shè)置P1ASF寄存器)。選擇ADC通道(設(shè)置ADC_CONTR中的CHS2-CHS0).根據(jù)需要設(shè)置轉(zhuǎn)換結(jié)果存儲(chǔ)格式(設(shè)置CLK_DIV中的ADRJ)。查詢(xún)A/D轉(zhuǎn)換結(jié)果標(biāo)志ADC_FLAG,判斷A/D轉(zhuǎn)換是否完成,若完成,則讀出A/D轉(zhuǎn)換結(jié)果(保存在ADC_RES和ADC_RESL寄存器中),并進(jìn)行數(shù)據(jù)處理.如果是多通道模擬量進(jìn)行轉(zhuǎn)換,則更換A/D轉(zhuǎn)換通道后要適當(dāng)延時(shí),使輸入電壓穩(wěn)定,延時(shí)量取20—200μs即可(與輸入電壓源的內(nèi)阻有關(guān)),如果輸入電壓源的內(nèi)阻在10KΩ以下,可不加延時(shí).若采用中斷方式,還需要進(jìn)行中斷設(shè)置(中斷允許和中斷優(yōu)先級(jí))。在中斷服務(wù)程序中讀取A/D轉(zhuǎn)換結(jié)果,并將ADC中斷請(qǐng)求標(biāo)志ADC_FLAG清零。3>.A/D轉(zhuǎn)換速度:SPEED1SPEED0A/D轉(zhuǎn)換所需時(shí)間1190個(gè)時(shí)鐘周期轉(zhuǎn)換一次

,CPU工作頻率21MHz時(shí),

A/D轉(zhuǎn)換速度約300KHz,9位精度10180個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度01360個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度00540個(gè)時(shí)鐘周期轉(zhuǎn)換一次,可達(dá)到10位精度4>.A/D模擬通道選擇:CHS2CHS1CHS0模擬輸入通道選擇000選擇P1.0作為A/D輸入信號(hào)001選擇P1。1作為A/D輸入信號(hào)010選擇P1.2作為A/D輸入信號(hào)011選擇P1.3作為A/D輸入信號(hào)100選擇P1。4作為A/D輸入信號(hào)101選擇P1.5作為A/D輸入信號(hào)110選擇P1。6作為A/D輸入信號(hào)111選擇P1。7作為A/D輸入信號(hào)附加重點(diǎn):特殊功能寄存器(從上到下依次對(duì)應(yīng)寄存器的高位到低位)程序狀態(tài)標(biāo)志寄存器PSWCY:進(jìn)位標(biāo)志。執(zhí)行加減指令時(shí),如果操作結(jié)果的最高位D7進(jìn)/借位,則CY位置1。否則置0,執(zhí)行乘法指令時(shí),CY清0。AC:輔助進(jìn)位標(biāo)志.當(dāng)執(zhí)行加減指令時(shí),如果低四位數(shù)向高四位數(shù)產(chǎn)生進(jìn)/借位.則AC置1,否則置0。F0:用戶(hù)自定義。RS1RS0:工作寄存器組選擇控制位。OV:溢出標(biāo)志位,指示運(yùn)算過(guò)程中是否發(fā)生了溢出,有溢出時(shí),OV為1。否則為0。F1:用戶(hù)標(biāo)志位1P:奇偶標(biāo)志位,如果累加器ACC中的1的個(gè)數(shù)為偶數(shù),P=0,否則P=1。輔助寄存器AUXRT0x12:決定定時(shí)器T0是否12分頻.0:12分頻,定時(shí)周期為1μs。1:不分頻,定時(shí)周期為1T。T1x12:決定定時(shí)器T1是否12分頻。0:12分頻,定時(shí)周期為1μs。1:不分頻,定時(shí)周期為1T。UART_M0x6:串行口模式0狀態(tài)下的速度設(shè)置。TR2:定時(shí)/計(jì)數(shù)器T2運(yùn)行控制位。T2_C/EQ\*jc0\*"Font:宋體”\*hps14\o\ad(\s\up13(__),T):定時(shí)/計(jì)數(shù)器T2功能選擇位。T2x12:T2是否12分頻.EXTRAM:內(nèi)部擴(kuò)展RAM訪(fǎng)問(wèn)控制位.S1ST2:串行口1波特率發(fā)生器選擇位。0:選擇T1為波特率發(fā)生器。1:選擇T2為波特率發(fā)生器。中斷允許控制器IE(0:關(guān)閉中斷;1:開(kāi)放中斷)EA:中斷總開(kāi)關(guān)。ELVD:低電壓中斷允許控制位。EADC:A/D轉(zhuǎn)換中斷允許位.ES:串行口中斷允許標(biāo)志。ET1:定時(shí)器T1中斷允許控制位。EX1:外部中斷1允許控制位.ET0:定時(shí)器T0中斷允許控制位。EX0:外部中斷0允許控制位。中斷優(yōu)先級(jí)控制寄存器IP(0:低優(yōu)先級(jí);1:高優(yōu)先級(jí))PPCA:PCA中斷優(yōu)先級(jí)。PLVD:低電壓中斷優(yōu)先級(jí)。PADC:A/D轉(zhuǎn)換中斷優(yōu)先級(jí)。PS:串行口中斷優(yōu)先級(jí).PT1:定時(shí)/計(jì)數(shù)器T1中斷優(yōu)先級(jí)。PX1:外部中斷1優(yōu)先級(jí)。PT0:定時(shí)/計(jì)數(shù)器T0中斷優(yōu)先級(jí)。PX0:外部中斷0優(yōu)先級(jí)。定時(shí)/計(jì)數(shù)器控制寄存器TCONTF1:T1溢出中斷請(qǐng)求標(biāo)志.TR1:T1的運(yùn)行控制位。0:T1停止運(yùn)行。1:T1啟動(dòng)運(yùn)行。TF0:T0溢出中斷請(qǐng)求標(biāo)志。TR0:T0的運(yùn)行控制位。0:T0停止運(yùn)行。1:T0啟動(dòng)運(yùn)行.IE1:外部中斷1的中斷請(qǐng)求標(biāo)志。IT1:外部中斷1的中斷觸發(fā)方式控制位。IE0:外部中斷0的中斷請(qǐng)求標(biāo)志。IT0:外部中斷0的中斷觸發(fā)控制位。工作方式寄存器TMODGATE:門(mén)控位。C/EQ\*jc0\*"Font:宋體"\*hps14\o\ad(\s\up13(__),T):功能選擇位。0:設(shè)定為定時(shí)器工作模式。1:設(shè)定為計(jì)數(shù)器工作模式。M1MO:選擇定時(shí)器/計(jì)數(shù)器工作模式。串口1控制寄存器SCONSM0/FE:為1時(shí),該位用于幀錯(cuò)誤檢測(cè),它必須由軟件清零。為0時(shí),SM0/FE位和SM1一起指定串行通信的工作方式.SM1:多機(jī)通信控制位。SM2:多機(jī)通信控制位。REN:允許接收控制位.1:允許串行口接收數(shù)據(jù);0:禁止串行口接收數(shù)據(jù).TB8:在方式2和3時(shí),它是要發(fā)送的第9個(gè)數(shù)據(jù)位,按需要由軟件進(jìn)行置位或清零。該位可用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中用作地址幀/數(shù)據(jù)幀的標(biāo)志位。RB8:在方式2和3時(shí),它是接收到的第9位數(shù)據(jù),為奇偶檢驗(yàn)位或地址幀/數(shù)據(jù)幀標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。在方式0時(shí),不使用RB8。TI:發(fā)送中斷標(biāo)志位,必須用軟件清零。RI:接收中斷標(biāo)志位。掉電控制寄存器PCONSMOD:串行口波特率系數(shù)控制位。1:使方式1、方式2和方式3的波特率加倍。0:各工作方式的波特率不加倍。SMOD0:幀錯(cuò)誤檢測(cè)有效控制位.1:SCON寄存器中的SM0/FE位用于FE(幀錯(cuò)誤檢測(cè))功能。0:SCON寄存器中的SM0/FE位用于SM0功能,和SM1一起指定串行通信的工作方式。LVDF:片內(nèi)低電壓檢測(cè)中斷請(qǐng)求標(biāo)志位.ADC控制寄存器ADC_CONTRADC_POWER:ADC電源控制位.SPEED1:ADC轉(zhuǎn)換速度控制位。SPEED0:ADC轉(zhuǎn)換速度控制位.ADC_FLAG:A/D轉(zhuǎn)換結(jié)束標(biāo)志位。ADC_START:A/D轉(zhuǎn)換起動(dòng)控制位。CHS2:模擬輸入通道選擇。CHS1:模擬輸入通道選擇.CHS0:模擬輸入通道選擇。模擬功能控制寄存器P1ASFP17ASFP16ASFP15ASFP14ASFP13ASFP12ASFP11ASFP10ASF功能:如果要使用相應(yīng)口的模擬功能,需將P1ASF特殊功能寄存器中的相應(yīng)位置為1。附加試卷一.填空題1.MCS-51的程序存儲(chǔ)器空間為程序Flash,其地址指針為0000H-EFFFH;MCS—51的外部數(shù)據(jù)存儲(chǔ)器空間為擴(kuò)展ROM,其地址指針為0000H-06FFH。(P20)2。指出以下指令中源操作數(shù)的尋址方式:MOVCA,@A+DPTR屬于變址尋址;MOVC,01H屬于直接尋址;MOVA,P1屬于寄存器尋址.3.中斷過(guò)程一般應(yīng)包括將相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置1、硬件自動(dòng)產(chǎn)生一個(gè)長(zhǎng)調(diào)用指令、把斷點(diǎn)地址壓入棧保護(hù)和把中斷程序服務(wù)入口地址送到程序計(jì)數(shù)器PC4個(gè)步驟。(P152)4.在單片機(jī)的控制應(yīng)用系統(tǒng)中,可供選擇的定時(shí)方式有軟件定時(shí)、硬件定時(shí)和可編程定時(shí)器定時(shí)3種。(P159)5.計(jì)算機(jī)的數(shù)據(jù)傳送方式有串行通信和并行通信兩種方式。(這個(gè)題目有點(diǎn)看不懂,答案我不敢肯定是正確的)6.8155是Intel公司生產(chǎn)的可編程RAM和I/O擴(kuò)展芯片,其片內(nèi)資源有:256字節(jié)的靜態(tài)RAM,最快存取時(shí)間為400ns;兩個(gè)可編程的8位并行I/O口PA口、PB口,一個(gè)可編程的6位并行I/O口PC口;一個(gè)可編程的14位減一計(jì)數(shù)器。(這個(gè)我們沒(méi)有學(xué)過(guò))7.STC15系列單片機(jī)中是一種8通道10位高速電壓輸入型A/D轉(zhuǎn)換器。8.STC15系列單片機(jī)的5個(gè)中斷源、、T0、T1和串行口中斷所對(duì)應(yīng)的中斷服務(wù)程序入口地址分別是0003H、0013H、000BH、OO1BH和0023H。二.簡(jiǎn)答題1.簡(jiǎn)述單片機(jī)的特點(diǎn)。答:微型計(jì)算機(jī)的基本組成成分(CPU.儲(chǔ)存器,I/O接口以及連接他們的總線(xiàn))集成在一塊芯片中而構(gòu)成的計(jì)算機(jī),簡(jiǎn)稱(chēng)為微型計(jì)算機(jī)。簡(jiǎn)稱(chēng)為計(jì)算機(jī)。由于單片機(jī)具有較高的性能價(jià)格比,良好的控制性能和靈活的嵌入特性,單片機(jī)的應(yīng)用極其廣泛。簡(jiǎn)述機(jī)器周期、狀態(tài)周期及指令周期之間的區(qū)別。答:指令周期是CPU的關(guān)鍵指標(biāo),指取出一條并執(zhí)行一條指令的時(shí)間。一般由機(jī)器時(shí)間為周期,在計(jì)算機(jī)中,為了管理方便,常常把一條指令分為若干個(gè)階段,每一個(gè)階段完成一項(xiàng)工作。完成一個(gè)基本操作的時(shí)間稱(chēng)之為機(jī)器周期。一般情況下一個(gè)機(jī)器周期是由若干個(gè)狀態(tài)周期組成的。3.簡(jiǎn)述程序狀態(tài)字(PSW)的幾個(gè)標(biāo)志的意義及置位和復(fù)位的條件。答:程序狀態(tài)字的各個(gè)標(biāo)志位意義如下:CY:進(jìn)位標(biāo)志位。執(zhí)行加減指令時(shí),如果操作結(jié)果的最高位D7進(jìn)/借位,則CY位置1.否則置0,執(zhí)行乘法指令時(shí),CY清0。AC:輔助進(jìn)位標(biāo)志位,當(dāng)執(zhí)行加減指令時(shí),如果低四位數(shù)向高四位數(shù)產(chǎn)生進(jìn)/借位。則AC置1,否則置0。FO:用戶(hù)標(biāo)志0RS1RS0:工作寄存器組選擇控制位.OV:溢出標(biāo)志位,指示運(yùn)算過(guò)程中是否發(fā)生了溢出,有溢出時(shí),OV為1。否則為0。F1:用戶(hù)標(biāo)志位1P:奇偶標(biāo)志位,如果累加器ACC中的1的個(gè)數(shù)為偶數(shù),P=0,否則P=1。在STC15中,哪些中斷可以隨著中斷響應(yīng)而自動(dòng)撤除?哪些中斷需要用戶(hù)來(lái)撤除?撤除的方法是什么?答:對(duì)于定時(shí)器/計(jì)數(shù)器T0或T1溢出中斷,CPU在響應(yīng)中斷后,由硬件自動(dòng)清除其中斷標(biāo)志位TF0或TF1,無(wú)需采取其他方式。當(dāng)相應(yīng)中斷服務(wù)執(zhí)行后,這些中斷請(qǐng)求標(biāo)志位也會(huì)自動(dòng)清零。對(duì)于串行口中斷,CPU在響應(yīng)中斷后,硬件不會(huì)自動(dòng)清除標(biāo)志位TI或RI,必須在中斷服務(wù)程序中,在判別TI還是RI引起的中斷后,在用軟解將其清零.外部中斷0和外部中斷1的觸發(fā)方式可以由ITx(x=0,1)設(shè)置為0還是1,都屬于邊沿觸發(fā),CPU在響應(yīng)中斷后由硬件自動(dòng)清除其中的標(biāo)志位IE0或IE1,無(wú)需再用其他的方式.電源低電壓檢測(cè)中斷的中斷標(biāo)志位需要用軟件清零。三.程序分析題1.指出下列指令中哪些是非法的?如果非法請(qǐng)改正。DECDPTRRLBJNZA,NEXTMOVA,@R2答:非法指令是DECDPTR,改正:INCDPTR.四.綜合應(yīng)用題在STC15單片機(jī)中,請(qǐng)用定時(shí)器1,由p1.0輸出400ms的方波。要求:(1)寫(xiě)出定時(shí)器1的方式控制字,計(jì)算定時(shí)器1的初值;(2)試編寫(xiě)完成此功能的程序段。附錄:TMOD格式說(shuō)明:位序D7D6D5D4D3D2D1D0位符GATEC/T1M1M0GATEC/T0M1M0GATE-—門(mén)控位GATE=0由運(yùn)行控制位TR啟動(dòng)定時(shí)器;GATE=1由外中斷請(qǐng)求信號(hào)(INT0或INT1)啟動(dòng)定時(shí)器;C/T——定時(shí)方式或計(jì)數(shù)方式選擇位C/T=0定時(shí)工作方式;C/T=1計(jì)數(shù)工作方式;M1M0—-工作方式選擇位00方式0-—為13位定時(shí)器/計(jì)數(shù)器;01方式1——為16位定時(shí)器/計(jì)數(shù)器;10方式2——為常數(shù)自動(dòng)裝入的8位定時(shí)器/計(jì)數(shù)器;11方式3-—(僅適用于T0)為兩個(gè)8位定時(shí)器/計(jì)數(shù)器,在方式3時(shí)T1停止計(jì)數(shù)。

答:設(shè)定定時(shí)器T1工作在方式0,定時(shí)時(shí)間為50ms,計(jì)數(shù)次數(shù)為4次。計(jì)數(shù)初值:65536—50000=15536=3CBOH查詢(xún)方式編程:ORG0100HMAIN:MOVTMOD,#00HMOVTH1,#3CHMOVTL1,#0B0HMOVR0,#04SETBTR1Check_TF1:JBCTF1,Timer1_OverflowSJMPCheck_TF1Timer1_Overflow:DJNZRO,Check_TF1MOVRO,#04CPLP1.0AJMPCheck_TF1END中斷方式編程:ORG0000HLJMPMAINORG001BHLJMPTimer1_ISRORG0100HMAIN:MOVTMOD,#00HMOVTH1,#3CHMOVTL(fǎng)1,#0B0HSETBEASETBET1SETBTR1SJMP$Timer1_ISR:DJNZR0,Timer1_ExitMOVR0,#04CPLP1。0Timer1_Exit:RETIEND畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)?!!下面的行距都跟原來(lái)的封面不一樣了,連論文題目也沒(méi)有。。。你能不能用“?!!下面的行距都跟原來(lái)的封面不一樣了,連論文題目也沒(méi)有。。。你能不能用“論文”封面?(2016屆)所屬系(部):機(jī)電工程學(xué)院所學(xué)專(zhuān)業(yè):通信技術(shù)班級(jí):13通信技術(shù)班姓名:xxx學(xué)號(hào):xxx指導(dǎo)教師:xxx2015年7月7日AT89C52單片機(jī)設(shè)計(jì)設(shè)計(jì)單片機(jī)??設(shè)計(jì)單片機(jī)??通信技術(shù)XxxXxx摘要計(jì)算器是微型電子計(jì)算機(jī)的一種特殊類(lèi)型。它與一般通用計(jì)算機(jī)的主要區(qū)別在于程序輸入方式的不同.計(jì)算器的程序一般都已經(jīng)固定,只需按鍵輸入數(shù)據(jù)和運(yùn)算符號(hào)就會(huì)得出結(jié)果,很容易就能掌握.而一般計(jì)算機(jī)的程序可以根據(jù)需要隨時(shí)改動(dòng),或重新輸入新的程序。簡(jiǎn)易計(jì)算器主要用于加減乘除;科學(xué)計(jì)算器,又增添了初等函數(shù)運(yùn)算。隨著微電子技術(shù)的不斷發(fā)展,微處理芯片的集成程度越來(lái)越高,單片機(jī)已可以在一片芯片上同時(shí)集成cpu,存儲(chǔ)器,定時(shí)器,計(jì)數(shù)器,并行和串行接口,看門(mén)狗,前置放大器,A|D轉(zhuǎn)換器,D|A轉(zhuǎn)換器等多種電路。完成一定區(qū)間和條件的簡(jiǎn)單四則運(yùn)算過(guò)程.關(guān)鍵詞:計(jì)算器,AT89C52,矩陣按鍵,LCD1602目錄TOC\o”1—3”\h\z\uHYPERLINK\l”_Toc432753147"第一章緒論1HYPERLINK\l”_Toc432753148”1。1課題的提出及意義11.2設(shè)計(jì)的任務(wù)及要求12。1芯片比較32.1.1單片機(jī)選擇32.1.2顯示器的選擇3HYPERLINK\l”_Toc432753154"2.1。3按鍵部分的選擇42。2總體設(shè)計(jì)及系統(tǒng)原理43。1.1單片機(jī)發(fā)展歷史63.1。2單片機(jī)發(fā)展趨勢(shì)6HYPERLINK\l”_Toc432753160"3。1。3計(jì)算器系統(tǒng)現(xiàn)狀7HYPERLINK\l”_Toc432753161"3。1。4AT89C52系列單片機(jī)簡(jiǎn)介8HYPERLINK\l”_Toc432753162"3。2矩陣按鍵部分16_Toc432753164”第四章單片機(jī)軟件設(shè)計(jì)25HYPERLINK\l”_Toc432753165"4。1主程序設(shè)計(jì)25HYPERLINK\l”_Toc432753166"4.2鍵掃程序設(shè)計(jì)25HYPERLINK\l”_Toc432753167”4。3算術(shù)運(yùn)算程序設(shè)計(jì)26HYPERLINK\l”_Toc432753168”4。4顯示程序設(shè)計(jì)27HYPERLINK\l”_Toc432753169”第五章單片機(jī)安裝、調(diào)試29_Toc432753171"5。2安裝步驟30HYPERLINK\l”_Toc432753172”5。2.1檢查元件的好壞30HYPERLINK\l”_Toc432753173”5.2.2放置、焊接各元件305.3調(diào)試345.3.1硬件調(diào)試345.3.2軟件調(diào)試34結(jié)束語(yǔ)35HYPERLINK\l”_Toc432753178"致謝36參考文獻(xiàn)37第一章緒論1.1課題的提出及意義隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步地提高,尤其是微電子技術(shù)的發(fā)展猶如雨后春筍般的變化。計(jì)算器在人們的日常中是比較常見(jiàn)的電子產(chǎn)品之一,如何使計(jì)算器技術(shù)更加的成熟,充分利用已有的軟件和硬件條件,設(shè)計(jì)出更出色的計(jì)算器,使其更好地為各個(gè)行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題?,F(xiàn)在人們的日常生活中已經(jīng)離不開(kāi)計(jì)算器了,社會(huì)的各個(gè)角落都有它.因此設(shè)計(jì)一款簡(jiǎn)單實(shí)用的計(jì)算器會(huì)有很大的實(shí)際意義。本設(shè)計(jì)在進(jìn)一步掌握單片機(jī)理論知識(shí),理解嵌入式單片機(jī)系統(tǒng)的硬軟件設(shè)計(jì),加強(qiáng)對(duì)實(shí)際應(yīng)用系統(tǒng)設(shè)計(jì)的能力.通過(guò)本設(shè)計(jì)的學(xué)習(xí),使我掌握單片機(jī)程序設(shè)計(jì)和微機(jī)接口應(yīng)用的基本方法,并能綜合運(yùn)用本科階段所學(xué)軟、硬件知識(shí)分析實(shí)際問(wèn)題,提高解決畢業(yè)設(shè)計(jì)實(shí)際問(wèn)題的能力你的本設(shè)計(jì)不就是“畢業(yè)設(shè)計(jì)”你的本設(shè)計(jì)不就是“畢業(yè)設(shè)計(jì)”嗎?怎么本設(shè)計(jì)去提高解決畢業(yè)設(shè)計(jì)的能力??對(duì)字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調(diào)用及外特性有較清楚的認(rèn)識(shí),并會(huì)使用LCD(液晶顯示模塊)實(shí)現(xiàn)計(jì)算結(jié)果的顯示;掌握液晶顯示模塊的驅(qū)動(dòng)和編程,設(shè)計(jì)LCD和單片機(jī)的接口電路,以及利用單片機(jī)對(duì)液晶顯示模塊的驅(qū)動(dòng)和操作;在充分分析內(nèi)部邏輯的概念,進(jìn)行軟件和調(diào)試,學(xué)會(huì)使用,并能夠以其為平臺(tái)設(shè)計(jì)出具有四則運(yùn)算能力簡(jiǎn)易計(jì)算器的硬件電路和軟件程序。這些要不放在論文最后總結(jié)那里。這一節(jié)講的是這些要不放在論文最后總結(jié)那里。這一節(jié)講的是“計(jì)算器”本身的意義,不是做這個(gè)對(duì)你的意義。1。2設(shè)計(jì)的任務(wù)及要求eq\o\ac(○,1)目的:通過(guò)本次工程實(shí)踐,運(yùn)用《智能化測(cè)量控制儀表原理與設(shè)計(jì)》、《MCS—51系列單片微型計(jì)算機(jī)及其應(yīng)用》所學(xué)知識(shí)及查閱相關(guān)資料,完成簡(jiǎn)易計(jì)算器的設(shè)計(jì),達(dá)到理論知識(shí)與實(shí)踐更好結(jié)合、提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目的。通過(guò)本次設(shè)計(jì)訓(xùn)練,可以使我們?cè)诨舅悸泛突痉椒ㄉ蠈?duì)基于MCS—51單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)有一個(gè)比較感性的認(rèn)識(shí),并具備一定程度的設(shè)計(jì)能力。邏輯不對(duì)嗎?不是先理論設(shè)計(jì)好了,再實(shí)踐的嗎?上面那段都實(shí)踐完了,這里才理論設(shè)計(jì)?邏輯不對(duì)嗎?不是先理論設(shè)計(jì)好了,再實(shí)踐的嗎?上面那段都實(shí)踐完了,這里才理論設(shè)計(jì)?eq\o\ac(○,2)要求:使用硬件:MCS—51單片機(jī),中央處理器,數(shù)據(jù)存儲(chǔ)器(RAM),程序存儲(chǔ)器(ROM)等。使用軟件:電子繪圖軟件Protel。(1)通過(guò)網(wǎng)絡(luò)及各種相關(guān)書(shū)籍查找相關(guān)信息,確定使用的元器件。(2)以MCS—51單片機(jī)為核心,開(kāi)發(fā)一個(gè)完整的系統(tǒng),包括硬件設(shè)計(jì)和軟件的編程.(3)使用Protel軟件,繪制原理圖、PCB,并進(jìn)行元器件安裝、焊接及調(diào)試檢測(cè)達(dá)到預(yù)期的目的.矩陣按鍵輸入、LCD1602液晶顯示,構(gòu)成一套可以運(yùn)算兩個(gè)數(shù)之間的加減乘除的設(shè)計(jì)。最大運(yùn)算是:9999*9999,可以運(yùn)算負(fù)數(shù)。第二章總體方案設(shè)計(jì)2.1芯片比較2。1.1單片機(jī)選擇AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8Kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS—51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,功能強(qiáng)大AT89C52單片機(jī)適用于許多較為復(fù)雜控制應(yīng)用場(chǎng)合.AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線(xiàn),AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。2。1。2顯示器的選擇在單片機(jī)應(yīng)用系統(tǒng)中,使用的顯示器主要有LED(發(fā)光二極管顯示器)、LCD液晶顯示。方案一:使用8位LED數(shù)碼管來(lái)顯示,LED顯示器是由發(fā)光二極管顯示字段組成的顯示器件,在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器有共陰極和共陽(yáng)極兩種,它具有成本低廉、配置靈活和單片機(jī)接口方便等特點(diǎn).方案二:使用液晶顯示器來(lái)顯示。液晶是介于固態(tài)和液態(tài)間的有機(jī)化合物,將其加熱會(huì)變成透明液態(tài),冷卻后變成結(jié)晶的渾濁固態(tài)。在電機(jī)的作用下,產(chǎn)生冷熱變化,從而影響它的透光性,來(lái)達(dá)到顯示的目的。LCD還具有以下優(yōu)點(diǎn):(1)低壓、微功耗;(2)顯示信息量大;(3)長(zhǎng)壽命;(4)無(wú)輻射、無(wú)污染。選擇液晶顯示屏。為了適應(yīng)本課題的需要,本設(shè)計(jì)采用液晶顯示屏LCD1602進(jìn)行顯示。2.1.3按鍵部分的選擇根據(jù)操作需要和畢業(yè)設(shè)計(jì)需要,按鍵部分采用4*4行列式鍵盤(pán),分別設(shè)定數(shù)字鍵和功能鍵。2.2總體設(shè)計(jì)及系統(tǒng)原理所示:這里是總體設(shè)計(jì)方案,應(yīng)該放的是系統(tǒng)的原理框圖,不是整體電路圖。總的電路圖都全搞好了,后面的章節(jié)你打算講什么?這里是總體設(shè)計(jì)方案,應(yīng)該放的是系統(tǒng)的原理框圖,不是整體電路圖。總的電路圖都全搞好了,后面的章節(jié)你打算講什么?另外,這個(gè)圖也太太模糊了吧?根本看不清楚,打印出來(lái)就更不知道是什么圖2.2。1原理圖總的電路設(shè)計(jì)方案以單片機(jī)AT89S52來(lái)作為核心元器件,外圍采用4*4行列式鍵盤(pán)作為輸入,采用lcd1602液晶顯示來(lái)做輸出.這里重點(diǎn)介紹液晶輸出,它是一個(gè)雙行顯示的液晶顯示器,其采用標(biāo)準(zhǔn)的16腳接口。1.vssVss為地電源;Vss2.vddVdd后面的自己改。接5v正電源;Vdd后面的自己改。3。vo為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高會(huì)產(chǎn)生影子,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度;4.rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器;5.rw為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)選擇讀操作,低電平時(shí)選擇寫(xiě)操作。當(dāng)rs和rw共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)rs為低電平rw為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高點(diǎn)平rw為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。6。e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令;7。7~14d0~d7為8位雙向數(shù)據(jù)線(xiàn);8。15~16分別為背光燈正負(fù)極,A接正極,K接負(fù)極。第三章單片機(jī)說(shuō)真的~~你要設(shè)計(jì)一塊新型“單片機(jī)”嗎?如果你說(shuō)的是設(shè)計(jì)8952,小心別人告你侵權(quán)呢說(shuō)真的~~你要設(shè)計(jì)一塊新型“單片機(jī)”嗎?如果你說(shuō)的是設(shè)計(jì)8952,小心別人告你侵權(quán)呢3.1單片機(jī)部分目前,52系列單片機(jī)在我國(guó)的各行各業(yè)得到了廣泛應(yīng)用,各大專(zhuān)業(yè)院校、職業(yè)培訓(xùn)學(xué)校,均開(kāi)設(shè)了單片機(jī)原理與應(yīng)用方面的課程,這是一門(mén)技術(shù)性和實(shí)踐性很強(qiáng)的學(xué)科,必須通過(guò)一系列的軟硬件實(shí)驗(yàn)、理論聯(lián)系實(shí)際,才能學(xué)好、學(xué)懂,取得較好的學(xué)習(xí)效果。后面兩節(jié)都刪了,這部分也沒(méi)什么用了。都不要了。后面兩節(jié)都刪了,這部分也沒(méi)什么用了。都不要了。3。1。1單片機(jī)發(fā)展歷史單片機(jī)(Microcontrollers)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機(jī)都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上發(fā)展出了MCS51系列MCU系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢(xún)r(jià)比不理想并未得到很廣泛的應(yīng)用.90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著INTELi960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng).而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。高端的32位Soc單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專(zhuān)用處理器,而普通的型號(hào)出廠(chǎng)價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元.當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量專(zhuān)用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專(zhuān)用的Windows和Linux操作系統(tǒng)。3。1。2單片機(jī)發(fā)展趨勢(shì)單片機(jī)的發(fā)展趨勢(shì):低功耗CMOS化;微型單片化;主流與多品種共存;單片機(jī)從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地??v觀單片機(jī)的發(fā)展歷程,可以發(fā)現(xiàn)單片機(jī)的發(fā)展趨勢(shì)大致有:1、低功耗CMOS化MCS—51系列的8051推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗的要求越來(lái)越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝).像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝).CMOS雖然功耗較低,但由于其物理特征決定了其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期內(nèi)單片機(jī)發(fā)展的主要途徑。2、微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口、中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門(mén)狗),有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就更強(qiáng)大.甚至單片機(jī)廠(chǎng)商還可以根據(jù)用戶(hù)的要求量身定做,制造出具有自己特色的單片機(jī)芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小。現(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來(lái)越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3、主流與多品種共存現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍是以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國(guó)臺(tái)灣的Winbond系列單片機(jī)。因此以80C51為核心的單片機(jī)占據(jù)了半壁江山。而Microchip公司的PIC精簡(jiǎn)指令集(RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國(guó)臺(tái)灣的HOLTEK公司近年的單片機(jī)產(chǎn)量與日俱增,以其價(jià)低質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)份額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專(zhuān)用單片機(jī)。在一定的時(shí)期內(nèi),這種形勢(shì)將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路.這兩節(jié)都不要。單片機(jī)怎么發(fā)展跟你這個(gè)系統(tǒng)基本沒(méi)什么關(guān)系。你都選好了用哪種單片機(jī)了,沒(méi)什么好說(shuō)的。這兩節(jié)都不要。單片機(jī)怎么發(fā)展跟你這個(gè)系統(tǒng)基本沒(méi)什么關(guān)系。你都選好了用哪種單片機(jī)了,沒(méi)什么好說(shuō)的。3.1.3計(jì)算器系統(tǒng)現(xiàn)狀此標(biāo)題去掉,下面兩段的內(nèi)容作為第三章的開(kāi)頭。加上“3.1單片機(jī)最小系統(tǒng)”一節(jié)此標(biāo)題去掉,下面兩段的內(nèi)容作為第三章的開(kāi)頭。加上“3.1單片機(jī)最小系統(tǒng)”一節(jié)計(jì)算器一般由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤(pán)、顯示器、電源和一些可選外圍設(shè)備及電子配件通過(guò)人工或機(jī)器設(shè)備組成。低檔計(jì)算器的運(yùn)算器、控制器由數(shù)字邏輯電路實(shí)現(xiàn)簡(jiǎn)單的串行運(yùn)算,其隨機(jī)存儲(chǔ)器只有一、二個(gè)單元,供累加存儲(chǔ)用。高檔計(jì)算器由微處理器和只讀存儲(chǔ)器實(shí)現(xiàn)各種復(fù)雜的運(yùn)算程序,有較多的隨機(jī)存儲(chǔ)單元以存放輸入程序和數(shù)據(jù)。鍵盤(pán)是計(jì)算器的輸入部件,一般采用接觸式或傳感式。為減小計(jì)算器的尺寸,一鍵常常有多種功能。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器和液晶顯示器等.除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等.計(jì)算器電源采用交流轉(zhuǎn)換器或電池,電池可用交流轉(zhuǎn)換器或太陽(yáng)能轉(zhuǎn)換器再充電.為節(jié)省電能,計(jì)算器都采用CMOS工藝制作的大規(guī)模集成電路(見(jiàn)互補(bǔ)金屬—氧化物-半導(dǎo)體集成電路),并在內(nèi)部裝有定時(shí)不操作自動(dòng)斷電電路。計(jì)算器可選用的外圍設(shè)備有微型打印機(jī)、盒式磁帶機(jī)和磁卡機(jī)等。本計(jì)算器是以MCS—51系列單片機(jī)AT89C52為核心構(gòu)成的簡(jiǎn)易計(jì)算器系統(tǒng).該系統(tǒng)通過(guò)單片機(jī)控制,實(shí)現(xiàn)對(duì)4*4鍵盤(pán)掃描進(jìn)行實(shí)時(shí)的按鍵檢測(cè),并把檢測(cè)數(shù)據(jù)存儲(chǔ)下來(lái)。整個(gè)計(jì)算器系統(tǒng)的工作過(guò)程為:首先存儲(chǔ)單元初始化,顯示初始值和鍵盤(pán)掃描,判斷按鍵位置,查表得出按鍵值,單片機(jī)則對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存與相應(yīng)處理轉(zhuǎn)換,之后送入LED顯示器動(dòng)態(tài)顯示。整個(gè)系統(tǒng)可分為兩個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤(pán)掃描;功能模塊二,數(shù)據(jù)1602顯示。AT89C52系列單片機(jī)簡(jiǎn)介你這是單片機(jī)教材嗎?你都用了8頁(yè)紙來(lái)說(shuō)單片機(jī)了,加上前面那頁(yè)9頁(yè)!?。∵@根本就是把單片機(jī)那本書(shū)的第一章粘貼上去吧?!!全部刪掉,51單片機(jī)是誰(shuí)都知道是啥的東西,根本不需要你來(lái)給大家介紹。你如要介紹單片機(jī),就簡(jiǎn)單點(diǎn)說(shuō)說(shuō)單片機(jī)的結(jié)構(gòu),重點(diǎn)放在單片機(jī)的最小系統(tǒng),幅面一頁(yè)紙以?xún)?nèi),加上圖,最多不能超過(guò)1頁(yè)半紙。把單片機(jī)的內(nèi)容全放在“3.1單片機(jī)最小系統(tǒng)”你這是單片機(jī)教材嗎?你都用了8頁(yè)紙來(lái)說(shuō)單片機(jī)了,加上前面那頁(yè)9頁(yè)!??!這根本就是把單片機(jī)那本書(shū)的第一章粘貼上去吧?!!全部刪掉,51單片機(jī)是誰(shuí)都知道是啥的東西,根本不需要你來(lái)給大家介紹。你如要介紹單片機(jī),就簡(jiǎn)單點(diǎn)說(shuō)說(shuō)單片機(jī)的結(jié)構(gòu),重點(diǎn)放在單片機(jī)的最小系統(tǒng),幅面一頁(yè)紙以?xún)?nèi),加上圖,最多不能超過(guò)1頁(yè)半紙。把單片機(jī)的內(nèi)容全放在“3.1單片機(jī)最小系統(tǒng)”一節(jié)中。eq\o\ac(○,1)AT89C52單片機(jī)的硬件結(jié)構(gòu)如圖3-1所示,為AT89C52的硬件結(jié)構(gòu)圖。AT89C52單片機(jī)的內(nèi)部結(jié)構(gòu)與MCS-51系列單片機(jī)的構(gòu)成基本相同。CPU是由運(yùn)算器和控制器所構(gòu)成的.運(yùn)算器主要用來(lái)對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作的??刂破魇菃纹瑱C(jī)的指揮控制部件,主要任務(wù)的識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。它的程序存儲(chǔ)器為8K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器,閃爍存儲(chǔ)器允許在線(xiàn)+5V電擦除、電寫(xiě)入或使用編程器對(duì)其重復(fù)編程。數(shù)據(jù)存儲(chǔ)器比51系列的單片機(jī)相比大了許多為256字節(jié)RAM。AT89C52單片機(jī)的指令系統(tǒng)和引腳功能與MCS—51的完全兼容。單片機(jī)AT89C52結(jié)構(gòu)框圖如圖3。1。1所示。小四號(hào)不過(guò)反正可能要?jiǎng)h了,后面的單片機(jī)部分有問(wèn)題我就不標(biāo)注了小四號(hào)不過(guò)反正可能要?jiǎng)h了,后面的單片機(jī)部分有問(wèn)題我就不標(biāo)注了FLASHCPU串行通訊口RAMFLASHCPU串行通訊口RAM輸入輸出接口計(jì)數(shù)器定時(shí)器時(shí)鐘輸入輸出接口計(jì)數(shù)器定時(shí)器時(shí)鐘圖3。1.1單片機(jī)AT89C52結(jié)構(gòu)框圖eq\o\ac(○,2)主要性能參數(shù)?8K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器?1000次可擦寫(xiě)周期?全靜態(tài)操作:0Hz-24MHz?三級(jí)加密程序存儲(chǔ)器?256×8字節(jié)內(nèi)部RAM?32個(gè)可編程I/O口線(xiàn)?3個(gè)16位定時(shí)/計(jì)數(shù)器?8個(gè)中斷源?可編程串行UART通道?低功耗空閑和掉電模式AT89C52外部引腳圖如圖圖所示:圖3.1。2AT89C52外部引腳圖eq\o\ac(○,3)AT89C52管腳說(shuō)明VCC:電源GND:接地P0口:P0口是一個(gè)8位漏級(jí)開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平.對(duì)P0口端口寫(xiě)”1”時(shí),引腳作高阻抗輸入。當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用.在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接受指令字節(jié):在程序效驗(yàn)時(shí),輸出指令字節(jié)。程序效驗(yàn)時(shí),需要外部上拉電阻.P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位是雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯電平.對(duì)P1口寫(xiě)”1”時(shí),內(nèi)部上拉電阻的原因,將輸出電流ILL。此外,與AT89C51不同之處是,P1。0和P1。1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸出(P1。1/T2EX),具體如表3.1。1所示。表3.1。1P1.0和P1.1的第二功能引腳號(hào)功能特性P1。0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出P1.1T2EX定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制在Flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯電平.對(duì)P2口寫(xiě)”1"時(shí),通過(guò)內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用.作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ILL。在訪(fǎng)問(wèn)外部好曾許存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在Flash編程和校驗(yàn)時(shí),P2口接收低8位地址字節(jié)和一些控制信號(hào)。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯電平。對(duì)P3口寫(xiě)”1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入端口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ILL。P3口除了作為一般、的I/O口線(xiàn)外,更重要的是它的第二功能,如表3.1。2所示:表3.1.2P3口引腳第二功能引腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3。3INT1(外部中斷1)P3。4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3。6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3。7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)在Flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。RST:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期以高電平將使用單片機(jī)復(fù)位。ALE/:地址鎖存器控制信號(hào)(ALE)是訪(fǎng)問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在Flash編程時(shí),此引腳()也使用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用.然而,特別強(qiáng)調(diào),在每次訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8EH的SFR的第0位置"1",ALE操作無(wú)效。這一位置"1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。:外部程序儲(chǔ)存器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而在訪(fǎng)問(wèn)外部數(shù)據(jù)儲(chǔ)存器時(shí),將不被激活.:訪(fǎng)問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H—FFFFH的外部程序存儲(chǔ)器讀取指令,端必須保持低電平(接地)。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在flash編程期間,也接受12伏VPP電壓.XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端.eq\o\ac(○,4)存儲(chǔ)器結(jié)構(gòu)MCS—51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址.1.程序存儲(chǔ)器如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始.對(duì)于89C52,如果EA接VCC,程序先從內(nèi)部存儲(chǔ)器(地址為0000H~1FFFFH)開(kāi)始,接著從外部尋址,尋址范圍為:2000H~FFFFH。2.數(shù)據(jù)存儲(chǔ)器AT89C52有256字節(jié)RAM。高128字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪(fǎng)問(wèn)高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪(fǎng)問(wèn)高字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪(fǎng)問(wèn)特殊功能寄存器(SFR)。eq\o\ac(○,5)定時(shí)器1.定時(shí)器0和定時(shí)器1在AT89C52中,定時(shí)器0和定時(shí)器1都是16位加法計(jì)數(shù)結(jié)構(gòu),分別由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)兩個(gè)8位計(jì)數(shù)器組成.這4個(gè)計(jì)數(shù)器均屬于專(zhuān)用寄存器之列。每個(gè)定時(shí)器/計(jì)數(shù)器都有定時(shí)和計(jì)數(shù)兩種功能.2.計(jì)數(shù)功能所謂的計(jì)數(shù)功能是指對(duì)外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外脈沖進(jìn)行計(jì)數(shù).MCS-51系列的芯片有T0(P3.4)和T1(P3.5)兩個(gè)信號(hào)引腳,分別就是這兩個(gè)計(jì)數(shù)器的計(jì)數(shù)輸入端.外部輸入的脈沖在負(fù)跳變時(shí)有效,進(jìn)行計(jì)數(shù)器加1。計(jì)數(shù)方式下,單片機(jī)在每個(gè)機(jī)器周期的S5P2拍節(jié)對(duì)外部計(jì)數(shù)脈沖進(jìn)行采樣.如果前一個(gè)機(jī)器周期采樣為高電平,后一個(gè)機(jī)器周期采樣為低電平,即為一個(gè)有效計(jì)數(shù)脈沖。在下一個(gè)機(jī)器周期的S3P1進(jìn)行計(jì)數(shù)??梢?jiàn)采樣計(jì)數(shù)脈沖是在2個(gè)機(jī)器周期進(jìn)行的。鑒于此,計(jì)數(shù)脈沖的頻率不能高于振蕩脈沖的頻率不能高于振蕩脈沖頻率的1/24。3。定時(shí)功能定時(shí)器也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,不過(guò)此時(shí)的計(jì)數(shù)脈沖來(lái)自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖.也就是每個(gè)機(jī)器周期計(jì)數(shù)加1.由于一個(gè)機(jī)器周期等于12個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的1/12。如果單片機(jī)采用12MHz晶體,則計(jì)數(shù)頻率為1MHz。即每微秒計(jì)數(shù)器加1。這樣不但可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以反過(guò)來(lái)按定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的預(yù)置值.4。定時(shí)器2定時(shí)器2是一個(gè)16位定時(shí)器/計(jì)數(shù)器,它既可以作定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇(如表2所示).定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向上或向下計(jì)數(shù))和波特率發(fā)生器.如表3.3所示,工作模式由T2CON中的相關(guān)為選擇.定時(shí)器2有2個(gè)8位寄存器:TH2和TL2.在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12.定時(shí)器2工作模式如表3.1。3所示:表3。1.3定時(shí)器2工作模式RCLK+TCLKCP/RL2TR2MODE00116位自動(dòng)重載01116位捕捉1×1波特率發(fā)生器××0不用在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0的下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入.一個(gè)周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器加1。在檢測(cè)到跳變的這個(gè)周期的S3P1期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別1—0的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在采樣前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變.T2MOD-定時(shí)器2控制寄存器如表3。1。4所示:表3.4T2MOD—定時(shí)器2控制寄存器T2MOD地址:0C9H復(fù)位值:×××××00B——————T2OEDCEN76543210符號(hào)功能—無(wú)定義,預(yù)留擴(kuò)展T2OE定時(shí)器2輸出允許位DCEN置1后,定時(shí)器2可配置向上或向下計(jì)數(shù)eq\o\ac(○,6)中斷AT89C52有6個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1),三個(gè)定時(shí)中斷定時(shí)器0、1、2和一個(gè)串行中斷。每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷總控制位EA,它能禁止所有中斷。如表3.5所示,IE。6位是不可用的。對(duì)于AT89S52,IE.5位也是不能用的.用戶(hù)軟件不應(yīng)給這些位寫(xiě)1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷。標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來(lái)。然而,定時(shí)器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個(gè)周期被置位,在同一個(gè)周期被電路捕捉下來(lái)。中斷允許控制位如表3。1。5所示:表3。1。5中斷允許控制位符號(hào)位地址功能EAIE.7中斷允許控制位,EA=0,中斷總禁止;EA=1,各中斷由各自的控制位設(shè)定—IE.6預(yù)留ET2IE.5定時(shí)器2中斷允許控制位ESIE。4串行口中斷允許控制位ET1IE.3定時(shí)器1中斷允許控制位EX1IE。2外部中斷1允許控制位ET0IE。1定時(shí)器0中斷允許控制位EX0IE。0外部中斷0允許控制位eq\o\ac(○,7)晶振特性AT89C52單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來(lái)一起構(gòu)成自激振蕩器。從外部時(shí)鐘遠(yuǎn)驅(qū)動(dòng)器件的話(huà),XTAL2可以不接,而從XTAL1接入。由于外部時(shí)鐘信號(hào)經(jīng)過(guò)二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有其它要求,最長(zhǎng)低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。石英晶振C1,C2=30PF+—10PF陶瓷諧振器C1,C2=40PF+—10PFeq\o\ac(○,8)空閑模式在空閑工作模式下,CPU處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種狀態(tài)可以通過(guò)軟件產(chǎn)生。在這種狀態(tài)下,片上RAM和特殊功能寄存器的內(nèi)容保持不變。空閑模式可以被任一個(gè)中斷或硬件復(fù)位中止。由硬件復(fù)位終止空閑模式只需兩個(gè)機(jī)器周期有效復(fù)位信號(hào),在這種情況下,片上硬件禁止訪(fǎng)問(wèn)內(nèi)部RAM,而可以訪(fǎng)問(wèn)端口引腳??臻e模式被硬件復(fù)位終止后,為了防止預(yù)想不到的寫(xiě)端口,激活空閑模式的那一條指令的下一條指令不應(yīng)該是寫(xiě)端口或外部存儲(chǔ)器。eq\o\ac(○,9)掉電模式在掉電模式下,晶振停止工作,激活掉電模式的指令是最后一條執(zhí)行指令。片上RAM和特殊功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過(guò)硬件復(fù)位和外部中斷退出.復(fù)位重新定義例如SFR的值。在VCC未恢復(fù)到正常工作電壓時(shí),硬件復(fù)位不能無(wú)效。并且應(yīng)保持足夠長(zhǎng)的時(shí)間以使晶振重新工作和初始化??臻e模式和掉電模式下的外部引腳狀態(tài)如表所示:表3.1。6空閑模式和掉電模式下的外部引腳狀態(tài)模式程序存儲(chǔ)器ALEPESNPORT0PORT1PORT2PORT3空閑內(nèi)部11數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)空閑外部11浮空數(shù)據(jù)地址數(shù)據(jù)掉電內(nèi)部00數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)掉電外部00浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)以上8頁(yè)均為單片機(jī)內(nèi)容,全部刪了。以上8頁(yè)均為單片機(jī)內(nèi)容,全部刪了。3。2矩陣按鍵部分鍵盤(pán)是單片機(jī)系統(tǒng)中最常用的人機(jī)對(duì)話(huà)輸入設(shè)備,用戶(hù)通過(guò)鍵盤(pán)向單片機(jī)輸入數(shù)據(jù)或指令。鍵盤(pán)控制程序需完成的任務(wù)有:監(jiān)測(cè)是否有鍵按下,有鍵按下時(shí),若無(wú)硬件去抖動(dòng)電路時(shí),應(yīng)用軟件延時(shí)方法消除按鍵抖動(dòng)影響;當(dāng)有多個(gè)鍵同時(shí)按下時(shí),只處理一個(gè)按鍵,不管一次按鍵持續(xù)多長(zhǎng)時(shí)間,僅執(zhí)行一次按鍵功能程序。矩陣按鍵掃描程序是一種節(jié)省I/O口的方法,按鍵數(shù)目越多節(jié)省I/O口就越可觀,思路:先判斷某一列(行)是否有按鍵按下,再判斷該行(列)是哪一只鍵按下.但是,在程序的寫(xiě)法上,采用了最簡(jiǎn)單的方法,使得程序效率最高。本程序中,如果檢測(cè)到某鍵按下了,就不再檢測(cè)其它的按鍵,這完全能滿(mǎn)足絕大多數(shù)需要,又能節(jié)省大量的CPU時(shí)間。采用4x4鍵盤(pán)與單片機(jī)的P1口相連,連接電路如圖4所示。*設(shè)為復(fù)位鍵,按下時(shí),清零,液晶顯示為0.按鍵說(shuō)明圖如圖3。2.1所示:句號(hào)。下同句號(hào)。下同按鍵電路流程圖如圖3.1.2所示:圖按鍵說(shuō)明圖模糊。圖和圖名要放在同一頁(yè)。位置不夠另起頁(yè)。模糊。圖和圖名要放在同一頁(yè)。位置不夠另起頁(yè)。圖3。1。2按鍵電路流程圖3。3液晶顯示器部分eq\o\ac(○,1)1602字符型LCD簡(jiǎn)介字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長(zhǎng)沙太陽(yáng)人電子有限公司的1602字符型液晶顯示器為例,介紹其用法.一般1602字符型液晶顯示器實(shí)物如圖3。3.1所示:圖3.3。11602字符型液晶顯示器實(shí)物圖eq\o\ac(○,2)1602LCD的基本參數(shù)及引腳功能1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別,兩者尺寸差別如圖3.3.2所示:圖3。3。21602LCD尺寸圖eq\o\ac(○,3)1602LCD主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5。0V)模塊最佳工作電壓:5。0V字符尺寸:2。95×4.35(W×H)mmeq\o\ac(○,4)引腳功能說(shuō)明1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表3。3。1所示:表3.3.1引腳接口說(shuō)明表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫(xiě)選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生"鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器.第5腳:R/W為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作.當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線(xiàn).第15腳:背光源正極。第16腳:背光源負(fù)極.eq\o\ac(○,5)??1602LCD的指令說(shuō)明及時(shí)序??1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3。3.2所示:表3。3.2控制命令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開(kāi)/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫(xiě)數(shù)到CGRAM或DDRAM)10要寫(xiě)的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的.(說(shuō)明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效.指令4:顯示開(kāi)關(guān)控制。D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線(xiàn),低電平時(shí)為8位總線(xiàn)N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置.指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫(xiě)數(shù)據(jù)。指令11:讀數(shù)據(jù)。與HD44780相兼容的芯片時(shí)序表如表3。3。3所示:表3.3。3基本操作時(shí)序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0—D7=狀態(tài)字寫(xiě)指令輸入RS=L,R/W=L,D0-D7=指令碼,E=高脈沖輸出無(wú)讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0—D7=數(shù)據(jù)寫(xiě)數(shù)據(jù)輸入RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖輸出無(wú)讀寫(xiě)操作時(shí)序如圖3.3。3和3。3。4所示:圖3。3。3讀操作時(shí)序圖3。3。4寫(xiě)操作時(shí)序圖eq\o\ac(○,6)1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,1602的內(nèi)部顯示地址圖如圖3。3.5所示:圖3。3。51602LCD內(nèi)部顯示地址例如第二行第一個(gè)字符的地址是40H,那么是否直接寫(xiě)入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖10-58所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母”A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母”A”,字符代碼與圖形對(duì)應(yīng)圖如圖圖3。3。6所示:圖3.3.6字符代碼與圖形對(duì)應(yīng)圖eq\o\ac(○,7)1602LCD的一般初始化(復(fù)位)過(guò)程延時(shí)15mS寫(xiě)指令38H(不檢測(cè)忙信號(hào))延時(shí)5mS寫(xiě)指令38H(不檢測(cè)忙信號(hào))延時(shí)5mS寫(xiě)指令38H(不檢

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論