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

下載本文檔

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

文檔簡介

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

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

,CPU工作頻率21MHz時,

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

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

溫馨提示

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

評論

0/150

提交評論