課程設(shè)計總結(jié)報告
課程設(shè)計總結(jié)報告
編寫課程設(shè)計的總結(jié)報告是對學(xué)生寫科學(xué)論文和科研總結(jié)報告的能力訓(xùn)練。通過寫報告,不僅把設(shè)計、組裝、調(diào)試的內(nèi)容進(jìn)行全面總結(jié),而且把實踐內(nèi)容上升到理論高度。總結(jié)報告應(yīng)包括以下幾點:(1)課題名稱。(2)內(nèi)容摘要。(3)設(shè)計內(nèi)容及要求。
(4)比較和選寫設(shè)計的系統(tǒng)方案,畫出系統(tǒng)框圖。(5)單元電路設(shè)計、參數(shù)計算和器件選擇。
(6)畫出完整的電路圖,并說明電路的工作原理。要求包括系統(tǒng)原理圖和印制版電路圖。(7)組裝調(diào)試的方法與結(jié)果。包括:①使用的主要儀器和儀表。②調(diào)試電路的方法和技巧。
*③測試的數(shù)據(jù)和波形并與計算結(jié)果比較分析。*④調(diào)試中出現(xiàn)的故障、原因及排除方法。
(8)總結(jié)設(shè)計電路的特點和方案的優(yōu)缺點,指出課題的核心及實用價值,提出改進(jìn)意見和展望。
(9)列出系統(tǒng)需要的元器件清單。(10)列出參考文獻(xiàn)。(11)收獲、體會。
(12)設(shè)計報告的總頁數(shù)建議要控制在15±3頁(A4)范圍內(nèi)。
電子電路設(shè)計舉例
為了幫助初學(xué)設(shè)計者了解電子電路的預(yù)設(shè)計過程和步驟,將以簡單數(shù)字頻率計為例,介紹設(shè)計的方法,并重點討論電路預(yù)設(shè)計部分。
一、設(shè)計題目
簡單數(shù)字頻率計的設(shè)計二、技術(shù)指標(biāo)和設(shè)計要求1.頻率的測量范圍:1~9999HZ2.被測信號幅度:Ui<100mv三、選擇總體方案,確定電路框圖1.提出方案
任務(wù)要求測量輸入信號的頻率,為此可以采用不同的方法:一種是間接測量法,例如先將輸入信號變換成與頻率成正比的電壓,再利用A/D轉(zhuǎn)換器形成數(shù)字信號,最后用數(shù)碼顯示器顯示出來;另一種是直接測量法,即將輸入信號放大整形后,通過控制門記錄1秒鐘內(nèi)的脈沖數(shù),再通過計數(shù)器、譯碼顯示電路表示出來。所以,完成該設(shè)計任務(wù)至少可以有兩種方案,它們的方框圖如圖1.1.2和圖1.1.3所示。
2.方案論證
圖1.1.2所示方案從理論上是可行的,但它必須有頻率檢波電路和A/D轉(zhuǎn)換電路,不僅電路比較復(fù)雜,而且信號經(jīng)過兩次變換會產(chǎn)生較大誤差,因此測量結(jié)果不很準(zhǔn)確,該電路調(diào)試也較困難,所以該方案不是最佳的。
圖1.1.3所示方案中,只要將輸入信號放大整形成為脈沖信號,即可直接測量出信號的頻率。這里關(guān)鍵問題是產(chǎn)生精確的秒控制信號,以保證測量的精度。如果采用石英晶體振蕩器產(chǎn)生脈沖振蕩信號,然后通過分頻便可獲得穩(wěn)定、精確的時基信號。這一電路實現(xiàn)起來也不困難?梢姡容^兩種方案可以得出結(jié)論,第二種方案比較合理、可行。四、分析單元電路并選擇器件1.秒控制信號產(chǎn)生電路(1)秒信號發(fā)生器
為了產(chǎn)生精確的秒信號,必須有信號發(fā)生器即振蕩器。從數(shù)字電路課中可知,振蕩器的頻率和穩(wěn)定度越高,形成的鈔信號就越準(zhǔn)確。為了簡便可行,用電子表的石英晶體構(gòu)成
15頻率為32768HZ(=2)的振蕩器,然后經(jīng)過15次二分頻就可以得到秒信號。
采用14位二進(jìn)制串行分頻器CC4060,外接石英晶體JN即可直接實現(xiàn)振蕩與分頻功能。因其輸出是2Hz的信號,需再接一個二分頻器就可以得到秒信號,見圖1.1.4。
(2)秒控制信號產(chǎn)生電路
有了秒信號還需要形成秒控制信號,以便控制門電路在一秒鐘的采樣時間內(nèi),記錄輸入信號的頻率。為了使記錄的頻率數(shù)值有一個穩(wěn)定的顯示時間,同時每次記錄之前計數(shù)器必須清零,所以要求秒控制脈沖間隔一定時間出現(xiàn)一次。如果采樣時間為1秒,顯示穩(wěn)定的數(shù)字為5秒,則可用6只D觸發(fā)器組成環(huán)形振蕩器,其輸入觸發(fā)信號是秒信號,其并行輸出Q1~Q6為順序脈沖,其電路原理圖和波形圖如圖1.1.5(a)和(b)所示。圖中Q1為秒控制信號,其高電平用來打開控制門電路,其低電平用來控制計數(shù)器的清零端和譯碼器的鎖存端。環(huán)形振蕩器由雙4位寄存器CC4015來實現(xiàn),其連線圖如圖1.1.6所示。
2.放大整形電路
這部分單元電路用于對輸入信號進(jìn)行適當(dāng)放大,以保證測量的精度和靈敏度。信號經(jīng)放大后再送入整形電路整形。為了使放大電路與邏輯電路相容,應(yīng)當(dāng)選用單電源供電的運算放大器,這里選用F158,電源電壓選用5V。整形電路選用施密特觸發(fā)器CC4093。電路原理圖如圖1.1.7所示。
3.主校門電路
主校門電路由一只與非門和一只反相器組成?蛇x用2輸入與非門CC4011,電路理圖如圖1.1.8所示。
4.計數(shù)、譯碼和顯示電路
由于頻率計的測量范圍是1~9999HZ,因此采用四只二十進(jìn)制同步加法計數(shù)器,可選用兩塊雙BCD同步加法計數(shù)器CC4518。
譯碼器選用CC4511可以直接驅(qū)動發(fā)光H極管數(shù)碼顯示器(即LED數(shù)碼管人由于4511輸出a_g的信號為高電平有效,所以選用共陰極LED數(shù)碼管,選取MR213即可。另外CC4518清零端Cγ和CC4511鎖存端LE均為高電平有效,因此用Q的低電平控制清零和鎖存時,必須加一級反相器再接至每個計數(shù)器和譯碼器的Cγ和LE端。因為指標(biāo)要求顯示1-9999Hz信號所以需用計數(shù)器、譯碼器和LED數(shù)碼管各四個。圖1.1.9對示出一位計數(shù)、譯碼和顯示電路。
五、電路元器件參數(shù)的計算
由于整體電路多采用集成電路連接而成,所以需要設(shè)計計算的器件參數(shù)不多,其中只有
以下元件要求進(jìn)行估算和選。1.振蕩器R1,C1和CT的選取
由CC4060中的反相器與R1,C1和CT、構(gòu)成的晶體振蕩器,R1為反饋電阻,以保證反相器工作在線性放大區(qū),該阻值不宜太小,一般選在幾兆歐到幾十兆歐。本電路選22MΩ的電阻。反饋電壓是由輸出電容CT和輸入電容C1決定,以構(gòu)成電容式三點式振蕩電路。一般C1選取20pF的電容,CT選用35/4pF的可調(diào)電容。2.放大電路的R2,R3和R4的選取
放大電路的R2和R3決定電路的放大倍數(shù),即Af=
為了保證Ui<100mV時,
能使輸出電壓驅(qū)動后級施密特電路正常工作,由于CC4093觸發(fā)電平,要求輸出電壓Uo>2.2V?梢姡珹f=≥
,如果選取比為10kΩ則R3應(yīng)選用220kΩ。R4是限流保護(hù)
電阻,在放大器輸出最大電壓時不致?lián)p壞施密特內(nèi)部保護(hù)二極管,一般選取幾為200Ω。C2為耦合電容,選47μFo
3.譯碼、顯示電路Ra~Rg的選取Ra~Rg是發(fā)光二極管的限流電阻。要求:
Ra~Rg≥
其中UOH為譯碼輸出的高電平,UDF為發(fā)光二極管正向壓降,IDF為二極管正向電流。由器件參數(shù)手冊可以查到:在VDD=5V條件下,UOH=4.1v,發(fā)光二極管IDF=10mA,UDF≈2.5V,故Ra~
g≥Ω六、預(yù)設(shè)計總體電路圖
根據(jù)各單元電路選取的集成電路和有關(guān)元器件選取情況,可以畫出預(yù)設(shè)計的總體電路圖。畫圖中一定要掌握所選集成電路的功能、各引腳排列情況以及各引出瑞連接方法。由于上面分析電路時給出的都是原理電路,許多控制端都沒有在圖中標(biāo)出,畫總電路圖時,特別是畫連線圖一定要表示清楚,對于不用的引出端也要按集成電路的功能要求處理好。否則,在實驗中往往因此使電路出現(xiàn)故障。
作為學(xué)習(xí)的一個練習(xí),本題目的總體電路請讀者自行畫出
擴(kuò)展閱讀:單片機(jī)課程設(shè)計總結(jié)報告
單片機(jī)課程設(shè)計
頻率計總結(jié)報告
姓名:陳藝端學(xué)號:0829201*
班級:電氣0809
所在組:陳藝端白英杰
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告
【實驗準(zhǔn)備】在實驗前,我通過上網(wǎng)、上圖書館查找了一些關(guān)于頻率計的資料,結(jié)合單片機(jī)所學(xué)的中斷和定時器的知識,并對電路板各個元器件、接線等的清楚認(rèn)識,完成了對電路板仿真圖的繪制,以及初步的程序,并實現(xiàn)了初步的仿真效果!驹O(shè)計內(nèi)容】
設(shè)計一個頻率計。【設(shè)計要求】
分頻段(高頻、低頻),在10k~20kHz范圍做切換。
CPU為AT89S51,利用內(nèi)部T0、T1的定時計數(shù)器或外部INT0中斷功能來完成對輸入的信號進(jìn)行頻率計數(shù)或脈寬計時,計數(shù)(計時)的頻率結(jié)果通過6位七段LED數(shù)碼管顯示出來。數(shù)字式頻率計原理框圖:
【設(shè)計方案】一、實驗原理: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)換的討論以及試驗參數(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è)為程序判斷測頻還是測周的比較點,但為避免在轉(zhuǎn)換頻率附近產(chǎn)生死循環(huán),設(shè)置兩個比較點,分別為f1和f2,從高頻測頻方式向低頻測周方式變化時,比較點為f1,從低頻測周方式向高頻測頻方式變化時,比較點為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輸入方波的頻率,仿真實現(xiàn)的數(shù)碼管顯示值與用頻率計測量的理論值相差不大,基本滿足設(shè)計要求,但還是存在一定的誤差,可以加以改進(jìn),增加精確度。
說明:由于軟件版本問題,沒有可調(diào)節(jié)的滑動變阻器,于是,我用多選開關(guān)來代替,通過開關(guān)選擇不同的電阻來模擬滑動變阻器滑片的移動。
第8頁共22頁
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計頻率計總結(jié)報告
七、總結(jié)
在去實驗室前,我經(jīng)過多番努力,將電路板上的電路用仿真軟件畫出,并且確保了每一條連線都包含了,芯片的每一個管腳都清楚的認(rèn)識到是用來干什么的,怎么連接的,仿真時各個點將會出現(xiàn)什么情況。爾后,我又進(jìn)行了初步的編程,將程序模塊化,分為了主程序、中斷子程序(測頻和測周)、顯示子程序、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序、延時子程序等,但在十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序的編程過程中,我不是很了解怎么實現(xiàn)這個過程,導(dǎo)致未能完成該子程序的編寫。
驗收當(dāng)天,我和我的組員在互相討論了自己的編程思路后,綜合了對方的意見,得到了初步的程序,但是在仿真過程中,還是存在諸多問題,我們合力討論了很久,但還是有點問題,于是我們和另外一組一起商討,在測頻和測周的轉(zhuǎn)換過程方面討論了很久,還嘗試了用雙閘門的方法,來代替測頻和測周的轉(zhuǎn)換,但是結(jié)果還是不理想,嘗試了燒程序看看電路板能否實現(xiàn),但經(jīng)過了一天的努力,我們還是未能實現(xiàn)所要的結(jié)果。臨走前,我們詢問老師,老師的意思是我們做得復(fù)雜了,想太多了,重心已經(jīng)偏移了,于是,我們經(jīng)過一個晚上的修改,初步定型了程序,第二天又到實驗室去調(diào)試。
調(diào)試的時候發(fā)現(xiàn)顯示出來的總是亂碼,后用萬用表測數(shù)碼管,才發(fā)現(xiàn)電路板上的數(shù)碼管接反了,于是我們將數(shù)碼管重新插了一遍。編程時的值都是理論計算得到的值,調(diào)試時發(fā)現(xiàn)測得的頻率和實際頻率總有點差別,原因是忽略了程序中其他語句執(zhí)行所需要的時間,而且一開始由于為將某些語句在等待中斷的時間完成,導(dǎo)致仿真結(jié)果是一段時間顯示一次,時延較長,細(xì)微修改定時器定時,并修改程序結(jié)果后,減小了測得值和實際值的差別,顯示結(jié)果也較穩(wěn)定。在燒程序的過程中出現(xiàn)了很多的問題,比如,接線的問題,芯片的問題等,我們第一天沒能將課設(shè)驗收完成,但我們不斷地檢查電路板和我們的程序,以及仿真圖,不斷地尋找問題所在,最終成功地將設(shè)計在電路板上實現(xià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)于《課程設(shè)計總結(jié)報告》給出的范例僅供您參考拓展思維使用,課程設(shè)計總結(jié)報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。