單片機(jī)課程設(shè)計(jì)總結(jié)(2)
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
山東大學(xué)物理學(xué)院
201*年單片機(jī)課程設(shè)計(jì)
總結(jié)報(bào)告
題目:泉韻新聲
隊(duì)員:呂暢胡玉婷華呂呂指導(dǎo)老師:李茂奎張興成
付運(yùn)旭
201*年6月15日
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
第一部分:整個(gè)過程中出現(xiàn)的問題及解決的方案。
1.1選題
開始的時(shí)候選題的難度比較大,選擇的空間很大,看著這么多的題目,我們不知道該做什么題目,后來在經(jīng)過咨詢老師和師兄師姐們并搜集資料后,我們選擇了這個(gè)題目。恰逢濟(jì)南即將舉辦全運(yùn)會,這次的課程設(shè)計(jì)就當(dāng)做我們對全運(yùn)會的獻(xiàn)禮吧。1.2電動機(jī)組的選擇
本設(shè)計(jì)需要較精確的控制,需要用配置較高的直流電機(jī)才能實(shí)現(xiàn)本設(shè)計(jì)的全部功能。開始的時(shí)候,我們只是買了電機(jī),沒有水管等配套器件,發(fā)現(xiàn)不好控制,經(jīng)過李老師的指導(dǎo),我們采用風(fēng)窗洗滌器系統(tǒng)直流電機(jī),電機(jī)運(yùn)轉(zhuǎn)平穩(wěn),精度也可以得到保證。1.3驅(qū)動電路的選擇
剛開始的時(shí)候,我們不知道選擇什么樣的驅(qū)動電路,經(jīng)過查閱資料,采用了驅(qū)動能力較強(qiáng)的驅(qū)動芯片L298,該芯片電壓電流的范圍寬,響應(yīng)頻率高,方便使用PWM調(diào)節(jié)電機(jī),實(shí)現(xiàn)噴泉的功能。1.4電源的選擇
我們的設(shè)計(jì)需要12V穩(wěn)壓電源,在選擇電源的時(shí)候,我們考慮了使用變壓器電源,但變壓器電源具有如下兩個(gè)缺點(diǎn):
①效率低。由于變壓器是一個(gè)“電磁電”的轉(zhuǎn)換過程,避免不了存在鐵損和銅損,效率低。
②輸入范圍窄。一般只有200V240V之間吧,小于這個(gè)范圍,輸出電壓不夠,大于這個(gè)范圍,變壓器可能就會燒毀。這個(gè)電壓范圍絕大多數(shù)的場合是夠用的,不必去過多的考慮,再者變壓器體積較開關(guān)電源大,笨重。
最后,我們決定使用開關(guān)電源。開關(guān)電源是相對線性電源而言的,線性電源是利用功率半導(dǎo)體器件的線性工作區(qū),通過調(diào)節(jié)線性阻抗來達(dá)到調(diào)節(jié)輸出的目的;而開關(guān)電源是利用功率半導(dǎo)體器件的飽和區(qū)通過調(diào)整它的開通時(shí)間或頻率來達(dá)到調(diào)節(jié)輸出的目的。其有如下優(yōu)點(diǎn):①效率較高,體積小。由于開關(guān)電源的電壓控制是利用功率半導(dǎo)體
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
器件的飽和區(qū)通過調(diào)整他的開通時(shí)間或頻率達(dá)到的,所以就不存在鐵損和銅損,元器件的損耗可以忽略不計(jì),比較變壓器而言效率較高;由于它只有元器件和電路板,因而體積就會很小,重量也較輕。
②電壓輸入范圍寬。一般可達(dá)到160V-270之間。1.5硬件的連接
在這次的設(shè)計(jì)中,我們的硬件出了很多問題,尤其是L298,我們就少了4個(gè),我們總結(jié)經(jīng)驗(yàn),覺得可能是我們電路連接的過程中,出現(xiàn)了短路,我們仔細(xì)檢查了電路,又重新焊接了一次開發(fā)板。但是還是沒有什么效果。最后,我們買了插座,直接將L298插在面包板上,并用散熱片幫助它散熱,這樣才做出了預(yù)計(jì)的效果。1.5調(diào)試中出現(xiàn)的問題
在調(diào)試中,我們出現(xiàn)了不少問題;例如:芯片燒掉了、泉水噴不起來等。每次出現(xiàn)問題,我們就認(rèn)真的調(diào)試,查找問題,直到成功為止。
第二部分:團(tuán)隊(duì)管理的心得體會。
我們之所以稱為是一個(gè)團(tuán)隊(duì),是因?yàn)槲覀冇泄餐哪繕?biāo)完
成好課程設(shè)計(jì)。團(tuán)隊(duì)成員之間要相互信任、相互幫助。但遇到困難時(shí),要同心協(xié)力,不要相互推脫責(zé)任,更不能相互指責(zé),我們應(yīng)該心平氣和的好好商量一下,這個(gè)問題到底該怎么解決。在團(tuán)隊(duì)的管理中,要充分照顧好每一個(gè)人的意見,對于一個(gè)問題,要集思廣益,運(yùn)用集體的智慧來完成它。
關(guān)于團(tuán)隊(duì)管理,我們有以下幾點(diǎn)體會:
①每個(gè)成員都必須要有團(tuán)隊(duì)精神,能夠有向心力,每個(gè)人都努力去做,這樣才能彰顯團(tuán)隊(duì)的力量。
②團(tuán)隊(duì)內(nèi)部要有明確的分工,每個(gè)人負(fù)責(zé)什么任務(wù),什么時(shí)候完成,這些都要細(xì)化,只有這樣,才能各司其職,才能有很好的效率。③團(tuán)隊(duì)要有一個(gè)核心,我們認(rèn)為這是很重要的。如果沒有核心,那我們的團(tuán)隊(duì)就是一盤散沙,沒有任何戰(zhàn)斗力;相反,如果有三個(gè)核心,那就會出現(xiàn)誰也不服誰的局面,也就沒有了向心力。
④成員之間要相互信任,相互幫助。我們既然組隊(duì)了,那就是一個(gè)整體,我們要信任我們的隊(duì)友,并在遇到困難的時(shí)候,相互幫助,這樣我們的團(tuán)隊(duì)才能不斷進(jìn)步。
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
⑤成員之間要經(jīng)常交流想法、意見等。在課程設(shè)計(jì)中,不能只是依靠一個(gè)人的力量去完成,我們要經(jīng)常交流、討論,集思廣益,這樣才能做出好作品。
⑥隊(duì)員的配置要合理。每個(gè)人都各有所長,我們要揚(yáng)長避短,就像在我們的團(tuán)隊(duì)里,華呂呂同學(xué)比較適合于焊接,而胡玉婷同學(xué)則比較喜歡做硬件的連接,所以我們團(tuán)隊(duì)也是這么分工的,避免資源的浪費(fèi)。
⑦要有為了整體而奉獻(xiàn)的精神。在一個(gè)團(tuán)隊(duì)中,每個(gè)人負(fù)責(zé)的任務(wù)是不同的,難易不同,多少更是不同,多做的人不要抱怨,要從大局出發(fā),以團(tuán)隊(duì)為重。
⑧團(tuán)隊(duì)內(nèi)部要有獎懲制度,這樣才能使隊(duì)員有動力,任務(wù)才能完成的更加出色,也避免了大家都不干活這種現(xiàn)象的出現(xiàn)。
⑨要有信心,相信我們始終都會做出來的,尤其在調(diào)試的時(shí)候非常重要,只有我們相信我們會做出來,我們才會有動力,才能成功。
第三部分:課程設(shè)計(jì)的心得體會。
在這一學(xué)期的單片機(jī)課程中,我們學(xué)到了許多關(guān)于單片機(jī)系統(tǒng)開
發(fā)的知識,從最開始選題到最后的結(jié)題,更使我們得到了充分的鍛煉。雖然在這期間,我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最后的緊張繁雜,所有的這些都令我們回味無窮,這已經(jīng)成為了我們?nèi)松囊粋(gè)寶藏。我想今后的學(xué)習(xí)和工作也是這樣的,汗水見證著成功,我想十年過后,但我們都已經(jīng)走入了社會,在某個(gè)陽光明媚的夏日,午后醒來,突然想起大學(xué)經(jīng)歷的時(shí)候,最先映入腦海里的就是這門課程吧,就是這些為了一個(gè)共同的目標(biāo),相互合作,共同奮斗的日子吧!
在這次的課程設(shè)計(jì)中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們也發(fā)現(xiàn)理論和實(shí)際的差別,書本上的知識固然重要,但是我們也需要學(xué)會使用它們,把他們運(yùn)用到我們的課程設(shè)計(jì)中。
這次的單片機(jī)課程使我們學(xué)到了很多,不單單是課本上那些知識,更重要的是一些課本上沒有但是有很重要的知識,像是團(tuán)隊(duì)合作精神,查找電路的故障等等。我們覺得這些無形之中學(xué)到的知識更加彌足珍貴!
最后,我們真心感謝李老師能夠開設(shè)這樣一門課程,雖然我們
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
付出了很多精力,但是覺得這是值得的,這門課使我所經(jīng)歷的第一個(gè)以這種方式考核的課程,它充滿了挑戰(zhàn),給了我們無窮的動力,更讓我們回味不已!
第四部分:團(tuán)隊(duì)的分工情況以及隊(duì)員的貢獻(xiàn)排序。
4.1分工情況
呂暢:軟件編程、課程設(shè)計(jì)論文、課程設(shè)計(jì)總結(jié)以及最后的調(diào)試,
占0.36。
胡玉婷:硬件連接、網(wǎng)頁制作以及最后的調(diào)試,占0.32。華呂呂:硬件焊接、PPT制作以及最后的調(diào)試,占0.32。4.2貢獻(xiàn)排序
呂暢>胡玉婷=華呂呂
第五部分:課程改革的建議
經(jīng)過這一學(xué)期的學(xué)習(xí),我們覺得單片機(jī)這門課很好,讓我們在設(shè)計(jì)中掌握課程,具有很強(qiáng)的實(shí)用性,另外它的考核方法也很特別,我很欣賞著這種考核方法,做出一個(gè)實(shí)際的作品比我們做多少道題都更具有生動性,更能考查我們的學(xué)習(xí)!對于這樣的一門課程,我們的建議如下:
①單片機(jī)是一個(gè)很難的課程,而我們中的大多數(shù)又是第一次接觸單片機(jī),所以我們希望能夠增加單片機(jī)課程的課時(shí),可以讓我們學(xué)到更多的有關(guān)單片機(jī)的知識,也便于我們課程設(shè)計(jì)的進(jìn)行。②如果可能的話,可以編寫一本具體的課本,現(xiàn)在的馬老師編寫的課本雖然很全面,但是并不是我們授課的順序,而且老師在上課的時(shí)候講了很多很有啟發(fā)性的實(shí)例,課本上都沒有,所以我們建議有一本和老師授課同步的教材。
③希望可以把這么一門有挑戰(zhàn)性和創(chuàng)造性的課程推廣到其它相關(guān)學(xué)院,例如軟件學(xué)院、計(jì)算機(jī)學(xué)院、信息學(xué)院等,這樣具有不同特長的學(xué)生就可以組隊(duì),也就能夠作出來更好的作品。
④我們覺得這種授課方式非常的好,可以極大地提高學(xué)生的能力,并且我們希望這樣的課程改革能夠在我們學(xué)院的更多門課程中進(jìn)行。
第六部分:單片機(jī)課程的總體總結(jié)
我是第一次遇到單片機(jī)這種授課方式和考核方法,起初我很害
山東大學(xué)物理學(xué)院單片機(jī)課程設(shè)計(jì)泉韻新聲作者:呂暢華呂呂胡玉婷
怕自己做不出來東西,但是經(jīng)過了這幾個(gè)月的學(xué)習(xí),能使我從完全不知道單片機(jī)是什么到完成了課程設(shè)計(jì),我覺得很充實(shí)。在這幾個(gè)月的時(shí)間中,我們學(xué)會了很多東西,收獲了很多,而這些東西我在課本上根本就學(xué)不到,像是團(tuán)隊(duì)管理的經(jīng)驗(yàn)、團(tuán)隊(duì)意識的提升和協(xié)調(diào)能力等等,這些都會讓我們終身受益。我們看見了單片機(jī)的巨大應(yīng)用市場,覺得這是一個(gè)非常有用的東西,學(xué)習(xí)它會很有助于我們?nèi)蘸蟮膶W(xué)習(xí)和工作。另外我們的團(tuán)隊(duì)經(jīng)過這次的努力,開始凝聚成一個(gè)整體,我想在以后的日子里,我再回憶起這些泛著汗水的時(shí)光的時(shí)候,定然會被我們的團(tuán)隊(duì)感動,就像老師說的,很多年過后想起曾經(jīng)一起睡地鋪的兄弟,會有多么的感動!汗水,是我們努力的過程,更是成功的使者。最后,我要感謝所有幫助過我們的人,尤其是李老師和兩位實(shí)驗(yàn)老師!最后,希望這樣的課程能夠繼續(xù)下去,并不斷地前進(jìn),幫助更多的學(xué)生了解單片機(jī),并能夠在使用中發(fā)現(xiàn)它的無窮魅力!
擴(kuò)展閱讀:單片機(jī)課程設(shè)計(jì)總結(jié)報(bào)告
單片機(jī)課程設(shè)計(jì)
頻率計(jì)總結(jié)報(bào)告
姓名:陳藝端學(xué)號:0829201*
班級:電氣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í)器的知識,并對電路板各個(gè)元器件、接線等的清楚認(rèn)識,完成了對電路板仿真圖的繪制,以及初步的程序,并實(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中斷功能來完成對輸入的信號進(jìn)行頻率計(jì)數(shù)或脈寬計(jì)時(shí),計(jì)數(shù)(計(jì)時(shí))的頻率結(jié)果通過6位七段LED數(shù)碼管顯示出來。數(shù)字式頻率計(jì)原理框圖:
【設(shè)計(jì)方案】一、實(shí)驗(yàn)原理:1、測頻方式
利用單片機(jī)計(jì)數(shù)器T0和定時(shí)器T1中斷。定時(shí)器T1中斷產(chǎn)生閘門時(shí)間,在閘門時(shí)間Ts內(nèi),用計(jì)數(shù)器記錄輸入脈沖的個(gè)數(shù)N,從而計(jì)算出被測頻率Fx=N/Ts。
第2頁共22頁
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
2、測周方式
利用單片機(jī)外部中斷INT0和定時(shí)器T1中斷。定時(shí)器T1中斷產(chǎn)生時(shí)標(biāo)信號Ts,用外部中斷INT0控制定時(shí)器T1的計(jì)數(shù),計(jì)算出在被測信號的一個(gè)周期內(nèi)定時(shí)器T1計(jì)得的數(shù)N,從而計(jì)算出被測頻率Fx=NTs。
二、電路結(jié)構(gòu):
①NE555構(gòu)成多諧振蕩器,產(chǎn)生頻率可調(diào)的方波信號;
②74HC74里的一個(gè)D觸發(fā)器連成計(jì)數(shù)器,用來對555產(chǎn)生的方波分頻;
③74HC14非門做驅(qū)動,防止產(chǎn)生的信號不能驅(qū)動單片機(jī)的I/O口;
第3頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
④方波信號連接在單片機(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)換頻率非常接近,并且抖動時(shí),容易產(chǎn)生兩種方式一直跳變的現(xiàn)象,進(jìn)入死循環(huán),可以利用遲滯比較器的原理進(jìn)行解決。通常將測頻方式和測周方式的轉(zhuǎn)換頻率設(shè)為程序判斷測頻還是測周的比較點(diǎn),但為避免在轉(zhuǎn)換頻率附近產(chǎn)生死循環(huán),設(shè)置兩個(gè)比較點(diǎn),分別為f1和f2,從高頻測頻方式向低頻測周方式變化時(shí),比較點(diǎn)為f1,從低頻測周方式向高頻測頻方式變化時(shí),比較點(diǎn)為f2,使f1電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
3、參數(shù)設(shè)定
根據(jù)以上討論,測頻方式的閘門周期要大于1/f1,并且越大測量結(jié)果越精確,但還要考慮到閘門周期太大會導(dǎo)致測量得到的脈沖數(shù)N過大,影響程序大小。同理,測周方式的時(shí)標(biāo)周期要小于1/f2,并且越小越精確,同樣要考慮到程序大小以及程序執(zhí)行時(shí)間。
四、程序流程圖⑴測頻法:①主程序:
②T0中斷子程序:②T1中斷子程序:
開始中間變量初始化,定時(shí)計(jì)數(shù)器T0、T1初始化啟動T1定時(shí)10ms,T0開始計(jì)數(shù)等待中斷
中T0計(jì)數(shù)器溢出中斷斷返回,存儲T0溢出次數(shù)的單繼元自增1續(xù)計(jì)數(shù)
第5頁共22頁
電氣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ù)查表,存儲六個(gè)字形定時(shí)計(jì)數(shù)初值重置⑵測周法:①主程序:
開始
中間變量初始化,定時(shí)器T1初始化啟動T1定時(shí)50us等待中斷
第6頁共22頁電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
②T1定時(shí)子程序:定時(shí)器時(shí)間到中斷返回,繼續(xù)定時(shí)和重新計(jì)數(shù)判斷INT0口是否為1脈沖計(jì)數(shù)單元自增1檢測到INT0口為0時(shí)采集數(shù)據(jù)計(jì)數(shù)值由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)查表,存儲六個(gè)字形定時(shí)初值重置五、仿真圖
第7頁共22頁
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
可見,改變電阻值或電容值,即改變NE555輸入方波的頻率,仿真實(shí)現(xiàn)的數(shù)碼管顯示值與用頻率計(jì)測量的理論值相差不大,基本滿足設(shè)計(jì)要求,但還是存在一定的誤差,可以加以改進(jìn),增加精確度。
說明:由于軟件版本問題,沒有可調(diào)節(jié)的滑動變阻器,于是,我用多選開關(guān)來代替,通過開關(guān)選擇不同的電阻來模擬滑動變阻器滑片的移動。
第8頁共22頁
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
七、總結(jié)
在去實(shí)驗(yàn)室前,我經(jīng)過多番努力,將電路板上的電路用仿真軟件畫出,并且確保了每一條連線都包含了,芯片的每一個(gè)管腳都清楚的認(rèn)識到是用來干什么的,怎么連接的,仿真時(shí)各個(gè)點(diǎn)將會出現(xiàn)什么情況。爾后,我又進(jìn)行了初步的編程,將程序模塊化,分為了主程序、中斷子程序(測頻和測周)、顯示子程序、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序、延時(shí)子程序等,但在十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的子程序的編程過程中,我不是很了解怎么實(shí)現(xiàn)這個(gè)過程,導(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)過一個(gè)晚上的修改,初步定型了程序,第二天又到實(shí)驗(yàn)室去調(diào)試。
調(diào)試的時(shí)候發(fā)現(xiàn)顯示出來的總是亂碼,后用萬用表測數(shù)碼管,才發(fā)現(xiàn)電路板上的數(shù)碼管接反了,于是我們將數(shù)碼管重新插了一遍。編程時(shí)的值都是理論計(jì)算得到的值,調(diào)試時(shí)發(fā)現(xiàn)測得的頻率和實(shí)際頻率總有點(diǎn)差別,原因是忽略了程序中其他語句執(zhí)行所需要的時(shí)間,而且一開始由于為將某些語句在等待中斷的時(shí)間完成,導(dǎo)致仿真結(jié)果是一段時(shí)間顯示一次,時(shí)延較長,細(xì)微修改定時(shí)器定時(shí),并修改程序結(jié)果后,減小了測得值和實(shí)際值的差別,顯示結(jié)果也較穩(wěn)定。在燒程序的過程中出現(xiàn)了很多的問題,比如,接線的問題,芯片的問題等,我們第一天沒能將課設(shè)驗(yàn)收完成,但我們不斷地檢查電路板和我們的程序,以及仿真圖,不斷地尋找問題所在,最終成功地將設(shè)計(jì)在電路板上實(shí)現(xiàn)出來。
六、實(shí)驗(yàn)程序①測頻法:
ORG0000H
AJMPSTART
ORG000BH;T0中斷入口AJMPT0INT
ORG001BH;T1中斷入口AJMPT1INTORG0030HSTART:MOVSP,#70H
第9頁共22頁電氣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頁共22頁電氣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;對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è)計(jì)頻率計(jì)總結(jié)報(bào)告
MOVA,BSWAPA
ANL21H,#0FHADDA,21HMOVB,#0AHDIVAB
MOV28H,A;存儲第五位商MOV50H,B;存儲十進(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
;存儲第一位商;存儲第二位商;存儲第三位商;存儲第四位商;存儲十進(jìn)制數(shù)十位;存儲第一位商第12頁共22頁
電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
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è)計(jì)頻率計(jì)總結(jié)報(bào)告
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è)計(jì)頻率計(jì)總結(jié)報(bào)告
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ù)個(gè)位
MOVA,24HSWAPAADDA,25HMOVB,#0AHDIVAB
MOV24H,A;存儲第一位商MOVA,BSWAPA
第15頁共22頁wenku_16({"font":{"1f93e6c0bb4cf7ec4afed0a00050010":"宋體","1f93e6c0bb4cf7ec4afed0a00060010":"TimesNewRoman"},"style":[{"t":"style","c":[1,4,0],"s":{"font-size":"15.84"}},{"t":"style","c":[1],"s":{"font-family":"1f93e6c0bb4cf7ec4afed0a00050010"}},{"t":"style","c":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,2],"s":{"color":"#00000電氣0809班0829201*陳藝端單片機(jī)課程設(shè)計(jì)頻率計(jì)總結(jié)報(bào)告
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è)計(jì)頻率計(jì)總結(jié)報(bào)告
END
十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的方法:
第一步將最高位的高半字節(jié)提出來,除以10,把商存儲起來,余數(shù)與最高位的低半字節(jié)組合成一個(gè)字節(jié),再除以10,再存儲商,余數(shù)以此類推,直到最后一次計(jì)算得到的余數(shù)即為十進(jìn)制數(shù)的個(gè)位;第二步把第一步存儲的商組合成一個(gè)字節(jié),依次除以10,仍然把每次得到的商存儲起來,以此類推最后一次得到的余數(shù)即為十進(jìn)制數(shù)的十位;以后也是以此類推得到十進(jìn)制數(shù)的百位、千位……以上算法必須要注意的一個(gè)問題是,每次得到的余數(shù)與低位的半字節(jié)組合成一個(gè)字節(jié)時(shí),余數(shù)必須放在該字節(jié)的高半字節(jié),否則計(jì)算錯(cuò)誤。該本次頻率計(jì)系待測的時(shí)鐘信號的最高頻率為460800Hz,對應(yīng)的十六進(jìn)制數(shù)為70800H,這里就以70800H轉(zhuǎn)換為十進(jìn)制數(shù)為例來說明這種算法。
第一步:用7H除以10,商0H余7H,把商0存儲在24H單元,余數(shù)7H與下一個(gè)字節(jié)08H的高半字節(jié)0H組合成一個(gè)字節(jié)70H。70H除以10,商BH余2H,把商BH存儲在25H單元,余數(shù)2H與8H組合成一個(gè)字節(jié)28H。28H除以10,商4H余0H,把商4H存儲在26H單元,余數(shù)0H與0H組合成一個(gè)字節(jié)00H。00H除以10,商0H余0H,把商0H存儲在27H單元,余數(shù)0H與0H組合成一個(gè)字節(jié)00H。00H除以10,商0H余0H,把商0H存儲在28H單元,余數(shù)0即為所需十進(jìn)制數(shù)的個(gè)位。
第二步:把存儲在24H與25H單元的商組合成一個(gè)字節(jié)0BH。0BH除以10,同第一步,存儲商,余數(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頁共22頁電氣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頁共22頁電氣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頁共22頁電氣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;對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è)計(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頁共22頁
友情提示:本文中關(guān)于《單片機(jī)課程設(shè)計(jì)總結(jié)(2)》給出的范例僅供您參考拓展思維使用,單片機(jī)課程設(shè)計(jì)總結(jié)(2):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時(shí)刪除。