国产精品色无码视频,国产av毛片影院精品资源,亚洲人成网站77777·c0m,囯产av无码片毛片一级,夜夜操www99视频,美女白嫩胸交在线观看,亚洲a毛片性生活

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

單片機(jī)課程設(shè)計(jì)總結(jié)

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-29 21:39:36 | 移動(dòng)端:單片機(jī)課程設(shè)計(jì)總結(jié)

單片機(jī)課程設(shè)計(jì)總結(jié)

《單片機(jī)技術(shù)實(shí)踐》課程設(shè)計(jì)總結(jié)

本課程實(shí)踐的目的是,掌握單片機(jī)測(cè)量模擬量和數(shù)字量的測(cè)量方法,掌握單片機(jī)的外部控制方法,掌握單片機(jī)的顯示器、鍵盤的擴(kuò)展方法。通過學(xué)習(xí)和設(shè)計(jì)為畢業(yè)設(shè)計(jì)和科研開發(fā)打下良好的基礎(chǔ)。本課程以MCS-51系列單片機(jī)為機(jī)型,介紹了單片機(jī)的基礎(chǔ)知識(shí)、基本原理結(jié)構(gòu)、51指令系統(tǒng)、中斷、定時(shí)器/計(jì)數(shù)器、串行通信、C51程序設(shè)計(jì)、單片機(jī)的擴(kuò)展、應(yīng)用實(shí)例及抗干擾設(shè)計(jì)等知識(shí)。學(xué)生通過學(xué)習(xí)可較全面的掌握單片機(jī)的應(yīng)用技術(shù)。單片機(jī)實(shí)驗(yàn)室儀器共40臺(tái)組,每人一題,本次課程設(shè)計(jì)共5個(gè)題目,每個(gè)學(xué)生抽簽選擇題目,時(shí)間為一周。5個(gè)題目為:

1.?dāng)?shù)字電壓表的設(shè)計(jì)2.?dāng)?shù)字頻率計(jì)的設(shè)計(jì)3.外部輸入正脈寬度測(cè)量4.正弦信號(hào)發(fā)生器的設(shè)計(jì)5.密碼鎖控制器的設(shè)計(jì)收獲有:

1.將理論教學(xué)與實(shí)踐相結(jié)合,使學(xué)生對(duì)于單片機(jī)的實(shí)際應(yīng)用有了較深刻的認(rèn)識(shí);

2.使學(xué)生對(duì)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的各種方法有所了解;3.通過分工合作,培養(yǎng)學(xué)生之間的合作精神;

4.讓學(xué)生熟悉電子系統(tǒng)設(shè)計(jì)的全過程;提高學(xué)生對(duì)設(shè)計(jì)課題的分析能力、編程能力及解決實(shí)際問題的綜合能力。5.通過實(shí)踐,增強(qiáng)了下階段的學(xué)習(xí)信心。為畢業(yè)設(shè)計(jì)奠定了基礎(chǔ)。

存在的問題:

1.對(duì)于基礎(chǔ)知識(shí)掌握的不牢固,特別是對(duì)于單片機(jī)的前項(xiàng)通道設(shè)計(jì)的理解的不夠,反映出模擬電路掌握的不好。

2.缺乏對(duì)于電子系統(tǒng)設(shè)計(jì)測(cè)試的概念。

3.在所教授的3個(gè)班中,B05211班和B05212班的課程實(shí)踐效果較好,每個(gè)班都有6-7人學(xué)習(xí)態(tài)度認(rèn)真,積極向上,能吃苦,在班級(jí)里起到了較好的帶頭作用。而B05215的學(xué)生卻缺少這樣的人,存在著普遍實(shí)踐動(dòng)手能力較差的問題。

201*.

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

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

頻率計(jì)總結(jié)報(bào)告

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

班級(jí):電氣0809

所在組:陳藝端白英杰

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

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

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

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

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

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

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

第2頁(yè)共22頁(yè)

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

2、測(cè)周方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四、程序流程圖⑴測(cè)頻法:①主程序:

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

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

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

第5頁(yè)共22頁(yè)

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

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

開始

中間變量初始化,定時(shí)器T1初始化啟動(dòng)T1定時(shí)50us等待中斷

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

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

第7頁(yè)共22頁(yè)

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

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

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

第8頁(yè)共22頁(yè)

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

七、總結(jié)

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

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

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

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

ORG0000H

AJMPSTART

ORG000BH;T0中斷入口AJMPT0INT

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

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

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

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

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

MOVTH0,#00HMOVTL0,#00H

MOV21H,#0MOV22H,#0

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

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

AJMPWAIT;等待中斷

T0INT:

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

T1INT:;定時(shí)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個(gè)數(shù)碼管是否顯示完

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

MOV20H,#100

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

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

LCALLDISPLAY

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

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

DISPLAY:

MOVR0,#60H

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

DJNZR1,NEXT2

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

MOV24H,A;存儲(chǔ)第一位商

MOVA,B

MOV30H,22HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV25H,A;存儲(chǔ)第二位商

MOVA,BSWAPA

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

MOV26H,A;存儲(chǔ)第三位商

MOVA,B

MOV30H,21HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV27H,A;存儲(chǔ)第四位商

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

MOVA,BSWAPA

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

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

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

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

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

DIVAB

MOV25H,A;存儲(chǔ)第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲(chǔ)第一位商

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV54H,B;存儲(chǔ)十進(jìn)制數(shù)萬位MOV55H,A;存儲(chǔ)十進(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頁(yè)共22頁(yè)電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告

DJNZ40H,LP0RETEND

②測(cè)周法:

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頁(yè);對(duì)60H-65H單元清零

共22頁(yè)

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

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

MOV24H,A;存儲(chǔ)第一位商

MOVA,B

MOV30H,22HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV25H,A;存儲(chǔ)第二位商

MOVA,BSWAPA

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

MOV26H,A;存儲(chǔ)第三位商

MOVA,B

MOV30H,21HANL30H,#0F0HADDA,30HSWAPA

MOVB,#0AHDIVAB

MOV27H,A;存儲(chǔ)第四位商

MOVA,BSWAPA

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

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲(chǔ)第一位商MOVA,BSWAPA

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

ADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲(chǔ)第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

MOV26H,A;存儲(chǔ)第三位商

MOVA,BSWAPAADDA,28HMOVB,#0AHDIVAB

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲(chǔ)第一位商

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

MOV25H,A;存儲(chǔ)第二位商

MOVA,BSWAPAADDA,27HMOVB,#0AHDIVAB

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV24H,A;存儲(chǔ)第一位商

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

MOVA,BSWAPAADDA,26HMOVB,#0AHDIVAB

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

MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB

MOV54H,B;存儲(chǔ)十進(jìn)制數(shù)萬位MOV55H,A;存儲(chǔ)十進(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頁(yè)共22頁(yè)電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告

END

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

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

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

第二步:把存儲(chǔ)在24H與25H單元的商組合成一個(gè)字節(jié)0BH。0BH除以10,同第一步,存儲(chǔ)商,余數(shù)與下一個(gè)商組合成一個(gè)字節(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頁(yè)共22頁(yè)電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告

個(gè)位為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定時(shí),T0計(jì)數(shù)MOVTH1,#3CH

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

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

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

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;計(jì)數(shù)器溢出則23H單元自增1RETI

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

MOV20H,#100

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

MOVA,22HSUBBA,#30HJNCCEPINGCLRC

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

CEZHOU:LCALLDISPLAY0LJMPKK

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

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

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

DISPLAY0:MOVR0,#60H

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

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

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

MOVR0,#60H

MOVR1,#06H;對(duì)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頁(yè)共22頁(yè)電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告

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頁(yè)共22頁(yè)

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

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


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