毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 計劃總結(jié) > 工作總結(jié) > 單片機(jī)課程總結(jié)

單片機(jī)課程總結(jié)

網(wǎng)站:公文素材庫 | 時間:2019-05-29 21:39:55 | 移動端:單片機(jī)課程總結(jié)

單片機(jī)課程總結(jié)

單片機(jī)是單片微型計算機(jī)的簡稱,也就是吧微處理器(CPU)、一定容量的程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)、輸入/輸出接口(I/O)、時鐘及其他一些計算機(jī)外圍電路通過總線連接在一起并集成在一個芯片上,構(gòu)成的微型計算機(jī)系統(tǒng)。

單片機(jī)最明顯的優(yōu)勢就是可以嵌入到各種儀器、設(shè)備中。單片機(jī)技術(shù)的發(fā)展方向:內(nèi)部結(jié)構(gòu),增加各種新功能,提高運(yùn)算速度,降低了功耗,提高了存儲能力,增強(qiáng)了與Internet連接的能力,并在電源電壓方面、工藝方面及抗干擾方面有了較大的進(jìn)步和發(fā)展。單片機(jī)特點(diǎn):(1)體積小、使用靈活、成本低、易于產(chǎn)業(yè)化。(2)可靠性好,適應(yīng)溫度范圍寬。(3)易擴(kuò)展,控制功能強(qiáng),I/O接口多,指令系統(tǒng)豐富,易于單片機(jī)的邏輯控制功能的實(shí)現(xiàn)(4)系統(tǒng)內(nèi)無監(jiān)控或系統(tǒng)管理程序。

單片機(jī)應(yīng)用:測控系統(tǒng)、智能儀器儀表、通訊產(chǎn)品、民用產(chǎn)品、軍用產(chǎn)品、計算機(jī)外部設(shè)備。

MCS-51內(nèi)部結(jié)構(gòu)

1.CPU(運(yùn)算器、控制器)

2.內(nèi)部存儲器(程序存儲器ROM、數(shù)據(jù)存儲器RAM)內(nèi)部有256個RAM單元,后128個被專用寄存器占用,供用戶使用的只有前128個

3.定時/計數(shù)器4.終端系統(tǒng)控制器5.并行I/O口6.全雙工串行口7.OSC時鐘電路P0口三種使用方法

1.作為與外部傳送數(shù)據(jù)的8位數(shù)據(jù)總線2.作為擴(kuò)展外部存儲器時的低8位地址總線3.一般I/O口,要外接上拉電阻P1口:通常作為普通的I/O口

P2口:第一種用法:可以輸出片外存儲器的高8位地址(A8-A15);第二種用法:作為普通的I/O口來輸入輸出數(shù)據(jù)。

P3口:通常作為普通的I/O口;P3.0-P3.7還可作為特殊功能使用

存儲器分類:內(nèi)部程序存儲器(ROM)、內(nèi)部數(shù)據(jù)存儲器(RAM)、外部程序存儲器(ROM)、外部數(shù)據(jù)存儲器(RAM)內(nèi)部數(shù)據(jù)存儲器分兩部分,低128單元數(shù)據(jù)存儲器空間(00H~7FH)、高128單元具有特殊功能專用寄存器存儲空間(80H~0FFH)

低128單元分為三個區(qū):

1.用戶RAM區(qū):30H~7FH,編程時暫存數(shù)據(jù),使用不作任何規(guī)定和限制

2.位尋址區(qū):20H~2FH,共16單元,128位,位地址分別為00H~7FH。可作為位尋址區(qū),也可作為字節(jié)尋址去3.寄存器組:低32字節(jié)00H~1FH被分成四個寄存器組,每組8個寄存器,即R0~R7。常用來存放操作數(shù)及中間結(jié)果等

高128單元專用寄存器:B寄存器、累加器ACC、程序狀態(tài)字PSW、定時器2寄存器(52系列獨(dú)有)、IP寄存器、IE寄存器、SCON寄存器、SBUF寄存器、定時器0和定時器1寄存器、P0~P3端口寄存器、棧指針SP寄存器、數(shù)據(jù)指針DPTR寄存器

位76543210PSWCYACF0RS1RS0OV-P

CY:進(jìn)位標(biāo)志位AC:輔助進(jìn)位標(biāo)志位F0:用戶標(biāo)志位RS1:當(dāng)前寄存器區(qū)選擇位RS0:當(dāng)前寄存器區(qū)選擇位OV:溢出標(biāo)志位-:保留位P:奇偶標(biāo)志位I/O接口電路的功能:(1)速度協(xié)調(diào);(2)數(shù)據(jù)所存;(3)三態(tài)緩沖;(4)信息轉(zhuǎn)換

8255A是一個40引腳的雙列直插式集成電路芯片,共有3個8位口,其中A口和B口是單純的數(shù)據(jù)口,供數(shù)據(jù)I/O使用。而C口則既可以做數(shù)據(jù)口,又可以做控制口使用,用于實(shí)現(xiàn)A口和B口的控制。

單片機(jī)通過它與外設(shè)相連時,需要先往它的控制寄存器中送入命令字,以設(shè)置8255A各端口的工作方式以及是輸入還是輸出,然后,再往8255A的I/O口讀寫數(shù)據(jù)。確定8255A各口及控制寄存器地址的方法:首先看一下要選中8255A需要那根線有效,其次,看一下A1、A0與哪兩根線相連:

/CSA1A0=000時,單片機(jī)選中的是8255A的A口,其A口地址為FF7CH

/CSA1A0=001時,單片機(jī)選中的是8255A的B口,其B口地址為FF7DH

/CSA1A0=010時,單片機(jī)選中的是8255A的C口,其C口地址為FF7EH

/CSA1A0=011時,單片機(jī)選中的是8255A的控制寄存器,其地址為FF7FH

若讓8225A工作在方式0,從A口讀取數(shù)據(jù)送到單片機(jī)中;把單片機(jī)中的數(shù)據(jù)通過C口送給外設(shè),則相應(yīng)程序段:MOVDPTR,#FF7FHMOVA,#90HMOVXA,@DPTRMOVDPTR,#FF7CHMOVXA,@DPTRMOVDPTR,#FF7EHMOVX@DPTR,A

單片機(jī)的I/O口擴(kuò)展

(1)利用單片機(jī)的I/O口擴(kuò)展外部數(shù)據(jù)存儲器、擴(kuò)展外部程序存儲器。P0口可以輸出片外存儲器的低8位地址(A0-A7),作為與外部傳送數(shù)據(jù)的8位數(shù)據(jù)線;P2口:可以輸出片外存儲器的高8位地址(A8-A15)。

(2)如何確定擴(kuò)展的是數(shù)據(jù)存儲器還是程序存儲器:若是單片機(jī)的PSEN和擴(kuò)展芯片的OE相連,則擴(kuò)展的是程序存儲器;若是單片機(jī)的RD和擴(kuò)展芯片的OE相連,則擴(kuò)展的是數(shù)據(jù)存儲器。

如何確定外部數(shù)據(jù)存儲器、外部程序存儲器的容量:就看使用了存儲器的幾根地址線。假設(shè)用了n根地址線,則存儲器的容量為:

2nB(3)如何確定擴(kuò)展的存儲芯片的地址范圍:

這時,單片機(jī)的地址線分成兩部分:一部分作為存儲芯片的片選線,它們的值一旦確定以后就不再改變;一部分作為存儲芯片的地址線,它們的值從全0變?yōu)槿?。這兩部分結(jié)合起來就是存儲芯片的地址范圍。

CPU時序振蕩周期P,頻率的倒數(shù)時鐘周期S=2P機(jī)器周期=6S=12P

指令周期:執(zhí)行一條指令需要的時間=1~4個機(jī)器周期單片機(jī)的工作方式:程序執(zhí)行方式、復(fù)位方式、掉電方式、低功耗工作方式、EPROM編程和校驗(yàn)方式

單片機(jī)的中斷系統(tǒng)

中斷:當(dāng)中央處理器正在處理內(nèi)部數(shù)據(jù)時,外界發(fā)生了緊急情況,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個緊急事件。處理完畢后,再回到原來被中斷的地址,繼續(xù)原來的工作,這樣的過程稱為中斷。引進(jìn)中斷之后的優(yōu)點(diǎn):

1.分時操作2.實(shí)現(xiàn)實(shí)時處理3.故障處理中斷系統(tǒng)一般功能:1.實(shí)現(xiàn)中斷及返回2.能實(shí)現(xiàn)優(yōu)先權(quán)排隊3.能實(shí)現(xiàn)中斷嵌套

8051單片機(jī)共有5個中斷源,分別是兩個外部中斷:外部中斷0INT0,由P3.2提供,外部中斷1INT1,由P3.3提供

外部中斷有兩種觸發(fā)方式,即電平方式和脈沖方式三個內(nèi)部中斷:兩個定時中斷和一個串行中斷。T0溢出中斷:由片內(nèi)定時/計數(shù)器0提供T1溢出中斷:由片內(nèi)定時/計數(shù)器1提供串行口中斷RI/TI:由片內(nèi)串行口提供與中斷控制有關(guān)的控制寄存器有四個:TCON----定時控制寄存器IE----中斷允許控制寄存器IP----中斷優(yōu)先級控制寄存器SCON----串行口控制寄存器中斷響應(yīng)基本原則:

1.高優(yōu)先級不能被低優(yōu)先級中斷。2.低優(yōu)先級可被高優(yōu)先級中斷。

3.任何一種中斷,一旦得到響應(yīng),不會再被它的同級中

斷所中斷。

4.兩個同一級的中斷源同時向CPU發(fā)出中斷申請,CPU

通過內(nèi)部硬件查詢,按自然優(yōu)先級確定優(yōu)先響應(yīng)哪一個中斷要求自然優(yōu)先順序

1)外部中斷02)定時器03)外部中斷14)定時器15)串行口中斷

中斷響應(yīng)條件:1.有中斷源發(fā)出中斷請求2.中斷總允許位EA=1,即CPU允許所有中斷源申請中斷3.申請中斷的中斷源的中斷允許位為1,即此中斷源可以向CPU申請中斷。把外外部中斷1設(shè)置為邊沿觸發(fā):SETBIT1

把外外部中斷1設(shè)置為電平觸發(fā):CLRIT1CPU開放中斷:SETBEA允許T0中斷:SETBET0允許外部中斷1:SETBEX1

各個中斷源與之對應(yīng)的入口地址:外部中斷00003H定時計數(shù)器T0中斷000BH外部中斷10013H定時計數(shù)器T1中斷001BH串行口中斷0023H

單片機(jī)的定時器/計數(shù)器

MCS-51單片機(jī)內(nèi)部集成有2個16位的可編程定時/計數(shù)器:T0和T1

T0和T1有2種工作模式:定時器模式和計數(shù)器模式T0有4種工作方式,T1有3種工作方式

這些由模式控制寄存器TMOD來控制,其中低4位用于控制T0,高4位用于控制T1定時長度計算方法:(以T0為例)t=(

2n-T0初值)×機(jī)器周期

串口通信

異步通信方式:幀格式和波特率是兩個重要指標(biāo)幀格式:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位

波特率(bandrate)是串口通信中數(shù)據(jù)傳送速率的單位,其意義是每秒傳送多少位二進(jìn)制數(shù)串口有四種工作方式:1.方式0串行接口工作方式0為同步移位寄存器方式,多用于I/O口的擴(kuò)展,波特率固定為fosc/12。發(fā)送和接收都是以8位數(shù)據(jù)為一幀2.方式1在方式1時,串行口被設(shè)置為波特率可變的8位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為10位,其中1位起始位、8位數(shù)據(jù)位、1位停止位。3.方式2被定義為9位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為11位,其中1位起始位、8位數(shù)據(jù)位、1位控制/校驗(yàn)位和1位停止位。4.方式3波特率可變的11位異步通信方式,除了波特率有所區(qū)別外,其余同方式2

A/D轉(zhuǎn)換:ADC0809

IN0~I(xiàn)N7:8路模擬通道的輸入端。D0~D7:8位數(shù)字量輸出端。

START:轉(zhuǎn)換啟動信號,高電平有效。

ADDA、ADDB、ADDC:模擬通道選擇輸入端。ALE:地址鎖存信號。

EOC:A/D轉(zhuǎn)換結(jié)束信號,此信號常被用來作為中斷請求信號。

OE:允許輸出信號。1、MCS-51單片機(jī)引腳信號中,信號名稱帶上劃線的表示該信號或低電平有效

2、MCS-51單片機(jī)內(nèi)部RAM的寄存器區(qū)共有256個單元,其地址00H~0FFH,分為4組寄存器,每組8個單元。記作R0~R7。3、MCS-51對片內(nèi)RAM,片外RAM和片內(nèi)、外ROM訪問時分別用指令__MOV_、_MOVX__、_____來區(qū)分。4、若A中的內(nèi)容為54H,那么,P標(biāo)志位為___1___。5、內(nèi)部RAM低128單元劃分為哪3個主要部分?說明各部分的使用特點(diǎn)。

1、異步串行數(shù)據(jù)通信有單工,半雙工和全雙工共三種數(shù)據(jù)通路形式。2、MCS51單片機(jī)串行口發(fā)送/接收中斷源的工作過程是:當(dāng)串行口接收或發(fā)送完一幀數(shù)據(jù)時,將SCON中的A,向CPU申請中斷。

A.RI或TI置1B.RI或TI置0C.RI置1或TI置0D.RI置0或TI置1

3、80C51單片機(jī)串行口有幾種工作方式?由什么寄存器決定?

答:4種工作方式,由串行口控制寄存器SCON種的SM0、SM1設(shè)置

SM0、SM1工作方式6、80C51四組工作寄存器區(qū)的地址范圍分別是00H~07H、08H~0FH、10H~17H和18H~1FH。如果當(dāng)前要使用1區(qū)的話,那么PSW中的RS1和RS0應(yīng)分別設(shè)置為_0_和_0_分析下面各指令源操作數(shù)的尋址方式MOVA,30H直接尋址MOVR0,A寄存器尋址MOV@R0,#05H立即尋址MOVA,@R0寄存器間接尋址MOVDPTR,#1000H立即尋址MOVCA,@A+DPTR變址尋址MOVC,2FH位尋址JC3AH相對尋址

按下列要求寫出相應(yīng)的指令、

(1)把寄存器R5的內(nèi)容送到累加器A中。

(2)把外部RAM1000H單元內(nèi)容傳送到內(nèi)部RAM30H單元中

(3)清除內(nèi)部RAM3FH單元的高4位(4)使累加器A的最低位置1(5)清除進(jìn)位位

(6)使ACC.4和ACC.5置1參考答案:(1)MOVA,R5

(2)MOVDPTR,#1000HMOVCA,@DPTRMOV30H,A(3)ANL3FH,#0FH(4)ANLA,#FEH(5)CLRC

(6)SETBACC.4

SETBACC.51、在定時器工作方式0下,計數(shù)器的寬度為13位,如果系統(tǒng)晶振頻率為3MHZ,則最大定時時間32768us

2、80C51的中斷源有外部中斷0T0;外部中斷1,T1,串行口中斷有2個中斷優(yōu)先級。

3、TMOD中M1、M0的用途是工作方式設(shè)置位,C/T=1時為方式計數(shù)

4、MCS-51單片機(jī)用來開放或禁止中斷的控制寄存器是IE

000011102

11

擴(kuò)展閱讀:單片機(jī)課程設(shè)計總結(jié)報告

單片機(jī)課程設(shè)計

頻率計總結(jié)報告

姓名:陳藝端學(xué)號:0829201*

班級:電氣0809

所在組:陳藝端白英杰

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

【實(shí)驗(yàn)準(zhǔn)備】在實(shí)驗(yàn)前,我通過上網(wǎng)、上圖書館查找了一些關(guān)于頻率計的資料,結(jié)合單片機(jī)所學(xué)的中斷和定時器的知識,并對電路板各個元器件、接線等的清楚認(rèn)識,完成了對電路板仿真圖的繪制,以及初步的程序,并實(shí)現(xiàn)了初步的仿真效果!驹O(shè)計內(nèi)容】

設(shè)計一個頻率計!驹O(shè)計要求】

分頻段(高頻、低頻),在10k~20kHz范圍做切換。

CPU為AT89S51,利用內(nèi)部T0、T1的定時計數(shù)器或外部INT0中斷功能來完成對輸入的信號進(jìn)行頻率計數(shù)或脈寬計時,計數(shù)(計時)的頻率結(jié)果通過6位七段LED數(shù)碼管顯示出來。數(shù)字式頻率計原理框圖:

【設(shè)計方案】一、實(shí)驗(yàn)原理:1、測頻方式

利用單片機(jī)計數(shù)器T0和定時器T1中斷。定時器T1中斷產(chǎn)生閘門時間,在閘門時間Ts內(nèi),用計數(shù)器記錄輸入脈沖的個數(shù)N,從而計算出被測頻率Fx=N/Ts。

第2頁共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

2、測周方式

利用單片機(jī)外部中斷INT0和定時器T1中斷。定時器T1中斷產(chǎn)生時標(biāo)信號Ts,用外部中斷INT0控制定時器T1的計數(shù),計算出在被測信號的一個周期內(nèi)定時器T1計得的數(shù)N,從而計算出被測頻率Fx=NTs。

二、電路結(jié)構(gòu):

①NE555構(gòu)成多諧振蕩器,產(chǎn)生頻率可調(diào)的方波信號;

②74HC74里的一個D觸發(fā)器連成計數(shù)器,用來對555產(chǎn)生的方波分頻;

③74HC14非門做驅(qū)動,防止產(chǎn)生的信號不能驅(qū)動單片機(jī)的I/O口;

第3頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

④方波信號連接在單片機(jī)的INT0和T0口上。

⑤單片機(jī)的P1口做字位,連接74HC245驅(qū)動數(shù)碼管的共陰端;⑥P0口做字形,連接74HC573鎖存器和74HC245驅(qū)動數(shù)碼管的a~dp端。

三、測頻測周轉(zhuǎn)換的討論以及試驗(yàn)參數(shù):1、測頻方式和測周方式的轉(zhuǎn)換頻率

依要求來說在10kHz~20kHz之間做切換。

2、轉(zhuǎn)換頻率過程中產(chǎn)生的問題

當(dāng)被測信號頻率與轉(zhuǎn)換頻率非常接近,并且抖動時,容易產(chǎn)生兩種方式一直跳變的現(xiàn)象,進(jìn)入死循環(huán),可以利用遲滯比較器的原理進(jìn)行解決。通常將測頻方式和測周方式的轉(zhuǎn)換頻率設(shè)為程序判斷測頻還是測周的比較點(diǎn),但為避免在轉(zhuǎn)換頻率附近產(chǎn)生死循環(huán),設(shè)置兩個比較點(diǎn),分別為f1和f2,從高頻測頻方式向低頻測周方式變化時,比較點(diǎn)為f1,從低頻測周方式向高頻測頻方式變化時,比較點(diǎn)為f2,使f1電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

3、參數(shù)設(shè)定

根據(jù)以上討論,測頻方式的閘門周期要大于1/f1,并且越大測量結(jié)果越精確,但還要考慮到閘門周期太大會導(dǎo)致測量得到的脈沖數(shù)N過大,影響程序大小。同理,測周方式的時標(biāo)周期要小于1/f2,并且越小越精確,同樣要考慮到程序大小以及程序執(zhí)行時間。

四、程序流程圖⑴測頻法:①主程序:

②T0中斷子程序:②T1中斷子程序:

開始中間變量初始化,定時計數(shù)器T0、T1初始化啟動T1定時10ms,T0開始計數(shù)等待中斷

中T0計數(shù)器溢出中斷斷返回,存儲T0溢出次數(shù)的單繼元自增1續(xù)計數(shù)

第5頁共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

顯示初始化(顯示位數(shù)、字位初值、顯示緩沖區(qū)起始地址)573鎖存器使能端置1中斷返回,繼續(xù)定時和重新計數(shù)調(diào)用顯示子程序,顯示計數(shù)值判斷1s定時是否到達(dá)停止計數(shù),采集數(shù)據(jù)計數(shù)值由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)查表,存儲六個字形定時計數(shù)初值重置⑵測周法:①主程序:

開始

中間變量初始化,定時器T1初始化啟動T1定時50us等待中斷

第6頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

②T1定時子程序:定時器時間到中斷返回,繼續(xù)定時和重新計數(shù)判斷INT0口是否為1脈沖計數(shù)單元自增1檢測到INT0口為0時采集數(shù)據(jù)計數(shù)值由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)查表,存儲六個字形定時初值重置五、仿真圖

第7頁共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

可見,改變電阻值或電容值,即改變NE555輸入方波的頻率,仿真實(shí)現(xiàn)的數(shù)碼管顯示值與用頻率計測量的理論值相差不大,基本滿足設(shè)計要求,但還是存在一定的誤差,可以加以改進(jìn),增加精確度。

說明:由于軟件版本問題,沒有可調(diào)節(jié)的滑動變阻器,于是,我用多選開關(guān)來代替,通過開關(guān)選擇不同的電阻來模擬滑動變阻器滑片的移動。

第8頁共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

七、總結(jié)

在去實(shí)驗(yàn)室前,我經(jīng)過多番努力,將電路板上的電路用仿真軟件畫出,并且確保了每一條連線都包含了,芯片的每一個管腳都清楚的認(rèn)識到是用來干什么的,怎么連接的,仿真時各個點(diǎn)將會出現(xiàn)什么情況。爾后,我又進(jìn)行了初步的編程,將程序模塊化,分為了主程序、中斷子程序(測頻和測周)、顯示子程序、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序、延時子程序等,但在十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序的編程過程中,我不是很了解怎么實(shí)現(xiàn)這個過程,導(dǎo)致未能完成該子程序的編寫。

驗(yàn)收當(dāng)天,我和我的組員在互相討論了自己的編程思路后,綜合了對方的意見,得到了初步的程序,但是在仿真過程中,還是存在諸多問題,我們合力討論了很久,但還是有點(diǎn)問題,于是我們和另外一組一起商討,在測頻和測周的轉(zhuǎn)換過程方面討論了很久,還嘗試了用雙閘門的方法,來代替測頻和測周的轉(zhuǎn)換,但是結(jié)果還是不理想,嘗試了燒程序看看電路板能否實(shí)現(xiàn),但經(jīng)過了一天的努力,我們還是未能實(shí)現(xiàn)所要的結(jié)果。臨走前,我們詢問老師,老師的意思是我們做得復(fù)雜了,想太多了,重心已經(jīng)偏移了,于是,我們經(jīng)過一個晚上的修改,初步定型了程序,第二天又到實(shí)驗(yàn)室去調(diào)試。

調(diào)試的時候發(fā)現(xiàn)顯示出來的總是亂碼,后用萬用表測數(shù)碼管,才發(fā)現(xiàn)電路板上的數(shù)碼管接反了,于是我們將數(shù)碼管重新插了一遍。編程時的值都是理論計算得到的值,調(diào)試時發(fā)現(xiàn)測得的頻率和實(shí)際頻率總有點(diǎn)差別,原因是忽略了程序中其他語句執(zhí)行所需要的時間,而且一開始由于為將某些語句在等待中斷的時間完成,導(dǎo)致仿真結(jié)果是一段時間顯示一次,時延較長,細(xì)微修改定時器定時,并修改程序結(jié)果后,減小了測得值和實(shí)際值的差別,顯示結(jié)果也較穩(wěn)定。在燒程序的過程中出現(xiàn)了很多的問題,比如,接線的問題,芯片的問題等,我們第一天沒能將課設(shè)驗(yàn)收完成,但我們不斷地檢查電路板和我們的程序,以及仿真圖,不斷地尋找問題所在,最終成功地將設(shè)計在電路板上實(shí)現(xiàn)出來。

六、實(shí)驗(yàn)程序①測頻法:

ORG0000H

AJMPSTART

ORG000BH;T0中斷入口AJMPT0INT

ORG001BH;T1中斷入口AJMPT1INTORG0030HSTART:MOVSP,#70H

第9頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

MOVIE,#8AH;10001010B,開放T0、T1中斷

MOVTMOD,#15H;00010101,T1定時,T0計數(shù),允許T0溢出中斷MOVTH1,#0ECH

MOVTL1,#78H;定時10msMOV20H,#100;100*10ms=1s

MOVTH0,#00HMOVTL0,#00H

MOV21H,#0MOV22H,#0

MOV23H,#0;存放采集到的頻率

SETBTR1;開始計數(shù)SETBTR0WAIT:

AJMPWAIT;等待中斷

T0INT:

INC23H;T0計數(shù)器溢出則23H單元自增1RETI

T1INT:;定時10ms產(chǎn)生中斷MOVR2,#06;顯示初始化MOVR4,#0FEH

MOVR1,#60H;顯示緩沖區(qū)起始地址SETBP3.0

LOOP:MOVA,R4

MOVP1,A;字位MOVA,@R1

MOVP0,A;字形LCALLDELAY

INCR1MOVA,R4

RLA;字位左移MOVR4,A

DJNZR2,LOOP;判斷6個數(shù)碼管是否顯示完

DJNZ20H,NEXT1;判斷1s定時CLRTR1;停止計數(shù)CLRTR0

MOV20H,#100

MOV22H,TH0;1s時間到則采集數(shù)據(jù)MOV21H,TL0

第10頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

LCALLDISPLAY

MOVTH0,#00H;計數(shù)初值置0MOVTL0,#00H

NEXT1:MOVTH1,#0ECH;繼續(xù)定時MOVTL1,#78HSETBTR1SETBTR0EXIT:RETI

DISPLAY:

MOVR0,#60H

MOVR1,#06H;對60H-65H單元清零NEXT2:MOV@R0,#0INCR0

DJNZR1,NEXT2

ZHUANHUAN:;進(jìn)制轉(zhuǎn)換MOVA,23HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商

MOVA,B

MOV30H,22HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV25H,A;存儲第二位商

MOVA,BSWAPA

ANL22H,#0FHADDA,22HMOVB,#0AHDIVAB

MOV26H,A;存儲第三位商

MOVA,B

MOV30H,21HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV27H,A;存儲第四位商

第11頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

MOVA,BSWAPA

ANL21H,#0FHADDA,21HMOVB,#0AHDIVAB

MOV28H,A;存儲第五位商MOV50H,B;存儲十進(jìn)制數(shù)個位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

MOV25H,A

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

MOV26H,A

MOVA,BSWAPAADDA,28HMOVB,#0AHDIVAB

MOV27H,AMOV51H,B

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A

MOVA,BSWAPAADDA,26HMOVB,#0AH

;存儲第一位商;存儲第二位商;存儲第三位商;存儲第四位商;存儲十進(jìn)制數(shù)十位;存儲第一位商第12頁共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

DIVAB

MOV25H,A;存儲第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

MOV26H,A;存儲第三位商MOV52H,B;存儲十進(jìn)制數(shù)百位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲第二位商MOV53H,B;存儲十進(jìn)制數(shù)千位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV54H,B;存儲十進(jìn)制數(shù)萬位MOV55H,A;存儲十進(jìn)制數(shù)十萬位

MOVR2,#06MOVR0,#50HMOVR1,#5FHMOVDPTR,#TABNEXT3:MOVA,@R0

MOVCA,@A+DPTR;查表,字形INCR0INCR1

MOV@R1,ADJNZR2,NEXT3RET

TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB77H,7CH,39H,5EH,79H,71HDELAY:MOV40H,#250LP0:NOP

第13頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

DJNZ40H,LP0RETEND

②測周法:

ORG0000HLJMPMAINORG0100H

MAIN:MOVDPTR,#0000H

SETBC

MOVP3.4,CMOV23H,#00HF1:MOVC,P3.4

JCF1

F2:MOVC,P3.4

JNCF2

F3:MOV22H,DPH

MOV21H,DPLMOVA,#0FFHCJNEA,22H,JIACJNEA,21H,JIAINC23H

JIA:INCDPTR

MOVC,P3.4JCF3

F4:MOV22H,DPH

MOV21H,DPLMOVA,#0FFHCJNEA,22H,JIA1CJNEA,21H,JIA1INC23H

JIA1:INCDPTR

MOVC,P3.4JNCF4

MOV22H,DPHMOV21H,DPL

ACALLDISPLAY

MOV21H,#0MOV22H,#0MOV23H,#0

LJMPMAIN

DISPLAY:MOVR0,#60H

MOVR1,#06HNEXT2:MOV@R0,#0

INCR0

DJNZR1,NEXT2

第14頁;對60H-65H單元清零

共22頁

電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

ZHUANHUAN:;進(jìn)制轉(zhuǎn)換MOVA,23HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商

MOVA,B

MOV30H,22HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV25H,A;存儲第二位商

MOVA,BSWAPA

ANL22H,#0FHADDA,22HMOVB,#0AHDIVAB

MOV26H,A;存儲第三位商

MOVA,B

MOV30H,21HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV27H,A;存儲第四位商

MOVA,BSWAPA

ANL21H,#0FHADDA,21HMOVB,#0AHDIVAB

MOV28H,A;存儲第五位商MOV50H,B;存儲十進(jìn)制數(shù)個位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商MOVA,BSWAPA

第15頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

ADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

MOV26H,A;存儲第三位商

MOVA,BSWAPAADDA,28HMOVB,#0AHDIVAB

MOV27H,A;存儲第四位商MOV51H,B;存儲十進(jìn)制數(shù)十位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

MOV26H,A;存儲第三位商MOV52H,B;存儲十進(jìn)制數(shù)百位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲第一位商

第16頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲第二位商MOV53H,B;存儲十進(jìn)制數(shù)千位

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV54H,B;存儲十進(jìn)制數(shù)萬位MOV55H,A;存儲十進(jìn)制數(shù)十萬位

MOVR2,#06MOVR0,#50HMOVR1,#5FHMOVDPTR,#TABNEXT3:MOVA,@R0

MOVCA,@A+DPTRINCR0INCR1

MOV@R1,ADJNZR2,NEXT3

MOVR2,#06MOVR4,#0FEHMOVR1,#60HSETBP3.0

LOOP:MOVA,R4

MOVP1,AMOVA,@R1MOVP0,A

LCALLDELAY

INCR1MOVA,R4RLA

MOVR4,A

DJNZR2,LOOP

RET

TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB77H,7CH,39H,5EH,79H,71HDELAY:MOV40H,#250LP0:NOP

DJNZ40H,LP0RET

第17頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

END

十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的方法:

第一步將最高位的高半字節(jié)提出來,除以10,把商存儲起來,余數(shù)與最高位的低半字節(jié)組合成一個字節(jié),再除以10,再存儲商,余數(shù)以此類推,直到最后一次計算得到的余數(shù)即為十進(jìn)制數(shù)的個位;第二步把第一步存儲的商組合成一個字節(jié),依次除以10,仍然把每次得到的商存儲起來,以此類推最后一次得到的余數(shù)即為十進(jìn)制數(shù)的十位;以后也是以此類推得到十進(jìn)制數(shù)的百位、千位……以上算法必須要注意的一個問題是,每次得到的余數(shù)與低位的半字節(jié)組合成一個字節(jié)時,余數(shù)必須放在該字節(jié)的高半字節(jié),否則計算錯誤。該本次頻率計系待測的時鐘信號的最高頻率為460800Hz,對應(yīng)的十六進(jìn)制數(shù)為70800H,這里就以70800H轉(zhuǎn)換為十進(jìn)制數(shù)為例來說明這種算法。

第一步:用7H除以10,商0H余7H,把商0存儲在24H單元,余數(shù)7H與下一個字節(jié)08H的高半字節(jié)0H組合成一個字節(jié)70H。70H除以10,商BH余2H,把商BH存儲在25H單元,余數(shù)2H與8H組合成一個字節(jié)28H。28H除以10,商4H余0H,把商4H存儲在26H單元,余數(shù)0H與0H組合成一個字節(jié)00H。00H除以10,商0H余0H,把商0H存儲在27H單元,余數(shù)0H與0H組合成一個字節(jié)00H。00H除以10,商0H余0H,把商0H存儲在28H單元,余數(shù)0即為所需十進(jìn)制數(shù)的個位。

第二步:把存儲在24H與25H單元的商組合成一個字節(jié)0BH。0BH除以10,同第一步,存儲商,余數(shù)與下一個商組合成一個字節(jié),再除以10,一次類推得到十進(jìn)制數(shù)的十位0。

第三步:方法同第二步,得到十進(jìn)制數(shù)的百位8。第四步:方法同第三步,得到十進(jìn)制數(shù)的千位0。

第五步:方法同第四步,得到十進(jìn)制數(shù)的萬位6和十萬位4。

最后得到了十進(jìn)制數(shù)460800。圖5.3詳細(xì)的展示了這種進(jìn)制轉(zhuǎn)換算法的過程。

第18頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

個位為0(23H)=07H(22H)=08H(21H)=00H07H/10商0余770H/10商B余228H/10商4余000H/10商0余000H/10商0余0

0BH/10商1余114H/10商2余000H/10商0余000H/10商0余0十位為012H/10商1余880H/10商C余880H/10商C余8百位為81CH/10商2余88CH/10商E余0千位為02E/10商4余6萬位為6十萬位為4③雙閘門法:

ORG0000H

AJMPSTART

ORG000BH;T0中斷入口AJMPT0INT

ORG001BH;T1中斷入口AJMPT1INTORG0030HSTART:MOVSP,#70H

MOVIE,#8AH;10001010B,開放T0、T1中斷MOVTMOD,#15H;00010101B,T1定時,T0計數(shù)MOVTH1,#3CH

MOVTL1,#0B0H;定時100msMOV20H,#100;100*100ms=10sMOV24H,#10MOVTH0,#00HMOVTL0,#00HMOV21H,#0MOV22H,#0

MOV23H,#0;存放采集到的頻率SETBTR1;開始計數(shù)SETBTR0

第19頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

WAIT:AJMPWAIT;等待中斷MOVR2,#06MOVR0,#50HMOVR1,#5FHMOVDPTR,#TAB

NEXT30:MOVA,@R0;50H55H查表,字形存在60H65HMOVCA,@A+DPTRINCR0INCR1

MOV@R1,A

DJNZR2,NEXT30;6次

MOVR6,#100;循環(huán)顯示100次MOV66H,#3FH;最高位顯示0KOP0:MOVR2,#06

MOVR4,#0FEH;字位初值MOVR1,#61H;乘以10SETBP3.0

LOOP0:MOVA,R4;字位MOVP1,A

MOVA,@R1;字形MOVP0,A

LCALLDELAYINCR1MOVA,R4RLA

MOVR4,A

DJNZR2,LOOP0DJNZR6,KOP0

T0INT:INC23H;計數(shù)器溢出則23H單元自增1RETI

T1INT:DJNZ20H,NEXT1;定時100ms產(chǎn)生中斷CLRTR1;停止計數(shù)CLRTR0

MOV20H,#100

MOV22H,TH0;10s時間到則采集數(shù)據(jù)MOV21H,TL0CLRC

MOVA,22HSUBBA,#30HJNCCEPINGCLRC

MOVA,23HSUBBA,#01HJNCCEPINGMOVTH0,#00HMOVTL0,#00H

CEZHOU:LCALLDISPLAY0LJMPKK

第20頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

CEPING:LCALLDISPLAY1KK:MOV21H,#0MOV22H,#0MOV23H,#0

NEXT1:MOVTH1,#3CH;繼續(xù)定時MOVTL1,#0B0HSETBTR1SETBTR0EXIT:RETI

DISPLAY0:MOVR0,#60H

MOVR1,#07H;對60H-66H單元清零NEXT20:MOV@R0,#0INCR0

DJNZR1,NEXT20ZHUANHUAN0:;進(jìn)制轉(zhuǎn)換

;////////////////////////////////////////////////////////////////////////////////////////////DISPLAY1:

MOVR0,#60H

MOVR1,#06H;對60H-65H單元清零

NEXT2:MOV@R0,#0

INCR0

DJNZR1,NEXT2

ZHUANHUAN:;進(jìn)制轉(zhuǎn)換

MOVR2,#06MOVR0,#50HMOVR1,#5FHMOVDPTR,#TAB

NEXT3:MOVA,@R0

MOVCA,@A+DPTRINCR0INCR1

MOV@R1,ADJNZR2,NEXT3MOVR6,#20

KOP:MOVR2,#06

MOVR4,#0FEHMOVR1,#60HSETBP3.0LOOP:MOVA,R4

MOVP1,AMOVA,@R1MOVP0,A

LCALLDELAYINCR1

MOVA,R4RLA

第21頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告

MOVR4,A

DJNZR2,LOOPDJNZR6,KOPRET

TAB:DB03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB77H,7CH,39H,5EH,79H,71HDELAY:MOV40H,#250LP0:NOP

DJNZ40H,LP0RETEND

第22頁共22頁

友情提示:本文中關(guān)于《單片機(jī)課程總結(jié)》給出的范例僅供您參考拓展思維使用,單片機(jī)課程總結(jié):該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


單片機(jī)課程總結(jié)》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://m.seogis.com/gongwen/743478.html