單片機(jī)課程總結(jié)報(bào)告
單片機(jī)課程總結(jié)報(bào)告201*/6/15山東大學(xué)物理學(xué)院201*基地班高原201*1001020高眾201*1001022韓恩道201*10010
目錄
1.整個(gè)過程中出現(xiàn)的問題及解決的方案.........................................................................3
1.1.
軟件調(diào)試中出現(xiàn)的問題...................................................................................31.1.1.1.1.2.1.1.3.1.1.4.1.1.5.1.1.6.1.1.7.
PC2~PC5接口輸出不正常......................................................................3如何禁用JTAG端口..............................................................................3JTAG口與芯片連接不上........................................................................3程序不能正常編譯................................................................................3icc程序修改與avrstudio不同步............................................................3顯示頻閃..............................................................................................4子函數(shù)的單獨(dú)調(diào)試................................................................................4
1.1.8.找不到相關(guān)文件...................................................................................41.2.硬件調(diào)試中出現(xiàn)的問題...................................................................................4
1.2.1.1.2.2.
電烙鐵的使用.......................................................................................4焊點(diǎn)焊錫量..........................................................................................5
1.2.3.焊接過程中7805穩(wěn)壓芯片...................................................................5
2.團(tuán)隊(duì)管理的心得體會(huì).................................................................................................53.課程設(shè)計(jì)的心得體會(huì)..........................................................................................5
3.1.3.2.
細(xì)節(jié)決定成敗:..............................................................................................5動(dòng)手實(shí)踐能力有著非常重要的意義:..............................................................6
3.3.團(tuán)隊(duì)合作和分工的重要意義:.........................................................................6
3.4.交流請(qǐng)教的必要性:.......................................................................................63.5.計(jì)劃的重要性:..............................................................................................64.項(xiàng)目成員貢獻(xiàn)排序.....................................................................................................65.課程改革的建議........................................................................................................6
21.整個(gè)過程中出現(xiàn)的問題及解決的方案
1.1.軟件調(diào)試中出現(xiàn)的問題
1.1.1.PC2~PC5接口輸出不正常
在調(diào)試courseproject顯示模塊的過程中,我們發(fā)現(xiàn)PORTC驅(qū)動(dòng)的LED無法正常顯示。起初以為是程序編寫的問題,但是與PORTC使用相同程序的PORTA卻可以正常顯示。而后我們檢查了DDRC設(shè)置,也沒有問題。最后想到用軟件進(jìn)行仿真?墒欠抡娼Y(jié)果更增加了我們的疑惑,因?yàn)镻ORTC正是輸出的我們的預(yù)想值。后來得出結(jié)論,我們的單片機(jī)壞了。換用別人的單片機(jī)仍然是相同的結(jié)果。問題一度陷入僵局。后來向同學(xué)才知道PC2~PC5端口是被JTAG利用的,因而不能用作I/O端口使用。老師在實(shí)驗(yàn)課上講過這個(gè)問題。但由于清明放假?zèng)_掉了我們的那一節(jié)課,導(dǎo)致我們組沒人知道這個(gè)問題,大量時(shí)間被浪費(fèi)。1.1.2.如何禁用JTAG端口
在courseproject的電路已經(jīng)焊好,程序也正剩下硬件仿真調(diào)試的情況下我們才得知PC2~PC5端口不能正常時(shí)使用。這就迫使我們要么修改寫程序和電路,要么想辦法禁用JTAG端口。但由于Mega16的所有端口已被利用而且大部分端口都是復(fù)用的,修改意就等于重做。于是我們只能選擇禁用的方式。經(jīng)過查課本我們找到了通過修改熔絲位禁用JTAG在線仿真功能,然后通過程序?qū)TD置為來禁用JTAG的方案。通過上網(wǎng)查詢資料,得知在toolprogrammeavr中可以修改熔絲位。最后,冒著芯片被鎖的危險(xiǎn),和一番驚心動(dòng)魄的操作,熔絲位修改成功,courseproject的顯示模塊得以正常工作。
1.1.3.JTAG口與芯片連接不上
這個(gè)問題在實(shí)驗(yàn)過程中遇到了多次,可以總結(jié)一下連接不上時(shí)的檢查步驟。a)檢查JTAG接線是否與計(jì)算機(jī)串口連接好了。
b)檢查JTAG接口是否插正了,是否插在了ISP端口上。c)
檢查芯片電源是否連接正常。如果是用實(shí)驗(yàn)箱還可以將查一下開關(guān)是否按到了底。如果仿真器上的指示燈亮了,說明硬件連接上沒有問題。剩下的可能性有三個(gè):
a)端口類型選擇錯(cuò)誤。
b)avrstudio的穩(wěn)定性不好造成出錯(cuò)。解決方案是關(guān)掉avrstudio重新進(jìn)入,多試幾次可能
正常。c)芯片被鎖,需要用ISP下載線或并行編程器改回熔絲位。1.1.4.程序不能正常編譯
程序本來在宿舍的電腦編譯正常,但在實(shí)驗(yàn)室編譯時(shí)出現(xiàn)一連串想同類型的錯(cuò)誤:某某地址上已賦值。檢查程序若干遍還是未能發(fā)現(xiàn)有什么錯(cuò)誤。將程序加入新建工程重新編譯還是未能通過。一番周折后去問老師,才知道是projectoption選項(xiàng)中單片機(jī)類型錯(cuò)誤造成的。之后每次編譯,總要先檢查option中是否選擇了正確的芯片類型。1.1.5.icc程序修改與avrstudio不同步
courseproject工作過程中,有一個(gè)表示狀態(tài)的燈不能正常顯示。經(jīng)過仔細(xì)讀程序和單步調(diào)試后發(fā)現(xiàn)出錯(cuò)語句的可能位置。通過icc修改程序和avrstudio的同步更新后,依然不能正常顯示。多方判斷程序不可能在其它語句中出錯(cuò),再次懷疑是硬件問題。通過對(duì)該端口強(qiáng)制置一,發(fā)現(xiàn)仍不能正常顯示。通過對(duì)該端口的軟件仿真發(fā)現(xiàn)它竟然是我第一次修改程序之前的值。由此發(fā)現(xiàn),avrstudio的同步更新只是針對(duì)計(jì)算機(jī)上顯示的程序,而非芯片中的程序。因而每次錯(cuò)修改時(shí)必然要重新編譯,重新燒錄。
31.1.6.顯示頻閃
courseproject(五子棋)中的棋盤顯示模塊一直不斷閃爍。為了解決這個(gè)問題,我們總共做過以下嘗試:
a)修改熔絲位,提高系統(tǒng)的時(shí)鐘頻率。編寫程序時(shí),一直以為系統(tǒng)時(shí)鐘頻率是4MHz。出
現(xiàn)頻閃后經(jīng)多番討論和提問才知道適中的默認(rèn)設(shè)置是1MHz。所以掃屏?xí)r間一定是不合
適的。最簡單的方式是把時(shí)鐘頻率改為4MHz。修改效果是棋子閃動(dòng)頻率加快,但距穩(wěn)定還有一定差距。
b)修改掃描屏幕的時(shí)間間隔。老師和學(xué)長對(duì)于頻閃的說法不一。老師的說法是一秒鐘只要
能掃描25次就會(huì)得到穩(wěn)定的圖像。但學(xué)長的說法是,不但一秒鐘要有25幀圖像,而且
圖像每次都要穩(wěn)定保持6ms后才能最終中得到穩(wěn)定圖像。鑒于說法上的矛盾,我們決定采用實(shí)驗(yàn)的方式,即采用行掃描的方式,每行掃描時(shí)間由1ms,2ms,3ms…依次遞增,直到找到效果最好的點(diǎn)。實(shí)驗(yàn)時(shí),我們發(fā)現(xiàn),屏幕閃動(dòng)頻率先增后減,一直沒有出現(xiàn)過穩(wěn)定圖像。最終選定逐行掃描,每行停留2.5ms的方式。這種情況下,顯示效果相對(duì)較好。c)
修改工作模式。周三上課時(shí)老師講到CTC工作模式與普通工作模式的差別,才發(fā)現(xiàn)我們想要利用的是CTC的工作方式,但選擇的確是普通工作模式,我們的板子到底是怎樣工
作的呢?帶著這一疑問,我們修改了timer0的工作模式,然后又用上述實(shí)驗(yàn)測定的方法選定了每1ms掃描一行的方式。最終得到了穩(wěn)定的棋盤顯示效果。1.1.7.子函數(shù)的單獨(dú)調(diào)試
avrstudio4提供的仿真功能只能顯示每個(gè)端口的輸出值,但是要對(duì)應(yīng)到我們無子棋的棋盤位置就需要我們自行計(jì)算。而且由于應(yīng)用的是黑白棋規(guī)則,每次落子后都要對(duì)棋盤進(jìn)行重新計(jì)算。假如直接在硬件上調(diào)試,硬件問題與軟件問題的疊加必然會(huì)增加調(diào)試難度。于是我們將落子規(guī)則、得分計(jì)算、勝負(fù)判定等可以獨(dú)立于硬件的子函數(shù)單獨(dú)導(dǎo)出,然后編寫相應(yīng)的輸入輸出函數(shù),使其能夠在c++中運(yùn)行。最終,我們?cè)谟布形赐瓿傻那闆r下,利用c++完成了可與硬件獨(dú)立的子函數(shù)的調(diào)試,為參加校內(nèi)科技創(chuàng)新大賽贏得了寶貴的時(shí)間。1.1.8.找不到相關(guān)文件
a)在程序來回拷貝和編譯的過程中,我們遇到過多次找不到相關(guān)文件的提示,下面將提示的類型和解決方案進(jìn)行匯總。b)文件名改動(dòng)導(dǎo)致源文件找不到。對(duì)于一個(gè)已經(jīng)建好的工程,隨便改變其源文件的名稱會(huì)
導(dǎo)致在編譯過程中找不到源文件。即便把源文件名稱改回去依然會(huì)出現(xiàn)這樣的提示。比c)
較快的解決方式是把該源文件由工程中移走,然后重新加入該工程。頭文件找不到。不知道為什么,一個(gè)已經(jīng)能夠通過編譯的程序在拷貝到另一臺(tái)電腦上以后再次編譯,系統(tǒng)有時(shí)會(huì)提示找不到頭文件。即便把相應(yīng)頭文件拷貝到該文件夾下并加入工程也不能消除該項(xiàng)錯(cuò)誤。最簡單的方法就是重建一個(gè)工程,加入源文件就可以通過編譯了。
d)燒錄時(shí)找不到相應(yīng)cof文件。系統(tǒng)提示文件已移動(dòng),但文件就在相應(yīng)文件夾里。解決方
案是重新編譯一次程序,然后進(jìn)行燒錄。
1.2.硬件調(diào)試中出現(xiàn)的問題
1.2.1.電烙鐵的使用
先向有經(jīng)驗(yàn)的同學(xué)請(qǐng)教電烙鐵的用法和注意事項(xiàng),然后用自己買來的二極管、電阻和面包板進(jìn)行了練習(xí),做好了充足的技術(shù)上的準(zhǔn)備。并且在焊接電路板的過程中不斷總結(jié)經(jīng)驗(yàn),發(fā)現(xiàn)了許多技巧和問題。比如烙鐵頭并不熱,熔化焊錫應(yīng)用電烙鐵尖錐中部。
41.2.2.焊點(diǎn)焊錫量
焊錫過多過多易造成短路,過少則虛焊;焊點(diǎn)的形狀不規(guī)則,表面不光滑,有毛刺經(jīng)過練習(xí)基本對(duì)焊錫量心中有數(shù)。經(jīng)實(shí)踐發(fā)現(xiàn),先將焊錫一點(diǎn)點(diǎn)熔化到焊點(diǎn)上(形狀可不在意),調(diào)整到一個(gè)合適的量,再用烙鐵將其在電路板上再次熔化,利用熔化焊錫的表面張力和對(duì)金屬的吸引力形成一個(gè)火山一樣的尖錐形。這樣既可把握好焊錫量,又能使焊點(diǎn)比較光滑和完整,還能很好地避免虛焊。。如焊錫過多,則用烙鐵向元件較長的引腳上撥,最后隨多出來的金屬引腳剪掉就行了。如果發(fā)生短路,用烙鐵將中間部分熔化分開即可。
1.2.3.焊接過程中7805穩(wěn)壓芯片
這種芯片三引腳的不規(guī)則形狀給我們的焊接帶來了很大困難,始終無法將其表面弄得比較規(guī)則,兩引腳間焊錫還經(jīng)常練在一起
對(duì)于這種問題只能反復(fù)焊接,注意了不能一次加熱時(shí)間過長。7805芯片的引腳最終焊得也不好,但是功能沒問題。雖然最終電路板并不是焊得非常美觀,但是性能還是符合要求的。除了蜂鳴器由于電路板上金屬環(huán)的脫落而使那一點(diǎn)虛焊而無法使用,其他的部分均功能良好。我們還在擴(kuò)展區(qū)焊了兩排插針在VCC和GND線上以擴(kuò)展功能。
2.團(tuán)隊(duì)管理的心得體會(huì)
在小組成員的選擇上我們考慮到,每位組員必須具備履行工作職能的勝任能力,并且善于與其他小組成員合作。只有這樣,每一位成員才會(huì)清楚自己的角色,清楚自己在每一個(gè)職能流程中的工作位置以及上一道工序和下一道工序,每一個(gè)進(jìn)入團(tuán)隊(duì)的人,才能真正成為一個(gè)團(tuán)隊(duì)成員。實(shí)際中,我們小組隊(duì)成員能根據(jù)工作的需要自發(fā)的作出反應(yīng),采取適當(dāng)?shù)男袆?dòng)來全力以赴地完成我們課程設(shè)計(jì)的目標(biāo)。在選題階段,我們集思廣益,同學(xué)們都提出了很多有趣的構(gòu)想,在確定了我們的大體方向后,根據(jù)我們的實(shí)際能力和學(xué)習(xí)興趣,我們確定了我們課程設(shè)計(jì)的題目,即基于AVR單片機(jī)的“無子棋”的設(shè)計(jì)和制作.每個(gè)人根據(jù)自己的興趣和能力選擇自己希望承擔(dān)的項(xiàng)目內(nèi)容,然后在小組的討論過程中平衡各個(gè)組員的任務(wù)量.每次周一實(shí)驗(yàn)課結(jié)束和例行的討論交流,我們都記錄下參與同學(xué)所提出的問題,能夠當(dāng)場講明的應(yīng)從速,不能及時(shí)解決的待討論結(jié)束之后分頭查找和思考答案并在下次討論中著重提出。對(duì)于提出問題或者意見的同學(xué),大家都抱有一種鼓勵(lì)和贊許的態(tài)度,因?yàn)槟軌蛱岢鲆庖姾蛦栴},暫不論其正確或科學(xué)與否,首先表明了這個(gè)同學(xué)積極思考而且關(guān)心在乎我們團(tuán)隊(duì)的的項(xiàng)目,這表明了小組成員的一種自覺和歸屬感.在項(xiàng)目進(jìn)行過程中,倡導(dǎo)成員為集體考慮問題,鍛煉成員的全局觀,從課程設(shè)計(jì)整體的角度思考問題,解決問題。由于同學(xué)們的課程壓力都很大和時(shí)間都很緊張,這要求各位成員盡量以整個(gè)小組計(jì)劃的進(jìn)度為重,以小組項(xiàng)目的質(zhì)量為重,從項(xiàng)目整體出發(fā)科學(xué)安排時(shí)間,保質(zhì)保量地完成各自承擔(dān)的任務(wù).在課程設(shè)計(jì)的初期,在老師的鼓勵(lì)下,我們就設(shè)定了參加五月上旬的山東大學(xué)科技創(chuàng)新大賽的目標(biāo),出于這個(gè)目標(biāo)我們不等不靠,自學(xué)了很多知識(shí),充分利用課余時(shí)間購買元器件,設(shè)計(jì)電路,焊接電路,編制計(jì)算機(jī)程序.在這個(gè)緊張的過程中,小組成員都在自學(xué)能力、團(tuán)隊(duì)合作能力都得到了極大地激發(fā)和培養(yǎng).值得一提的是,我們?cè)谶@次大賽中獲得了一等獎(jiǎng)的好成績,同學(xué)們對(duì)單片機(jī)這門很有價(jià)值且妙趣橫生的課程更有熱情和興趣了。
3.課程設(shè)計(jì)的心得體會(huì)
通過一個(gè)學(xué)期單片機(jī)課程的學(xué)習(xí)和實(shí)踐,以及我們組學(xué)期項(xiàng)目的制作,我們確實(shí)產(chǎn)生了許多感想,有許多的心得體會(huì)。下面簡要列出一些:
3.1.細(xì)節(jié)決定成。
使用軟件和編寫程序時(shí)一定要注意每一個(gè)細(xì)節(jié),一個(gè)分號(hào)的遺漏也會(huì)造成錯(cuò)誤。制作前
5一定要做好規(guī)劃設(shè)計(jì),反復(fù)論證和計(jì)算,防止考慮不到的地方使得做好的東西需要翻工。如果制作或使用中發(fā)現(xiàn)問題,既極大地打擊積極性和自信心,還會(huì)極大地消耗時(shí)間,拖延項(xiàng)目的進(jìn)度。制作硬件也一定要耐心細(xì)致,極小的失誤都會(huì)造成短路等問題而直接造成大錯(cuò)。在設(shè)計(jì)中,如果沒有考慮到哪怕任何一個(gè)細(xì)節(jié),都有可能讓沒考慮到的情況造成BUG,使各個(gè)子程序的時(shí)序和運(yùn)行之間可能會(huì)互相干涉和沖突。
3.2.動(dòng)手實(shí)踐能力有著非常重要的意義:
多年接受應(yīng)試教育使我們忽視了動(dòng)手技能的培養(yǎng)和這方面素質(zhì)的養(yǎng)成。這次對(duì)單片機(jī)實(shí)驗(yàn)板的焊接對(duì)各個(gè)成員都非常有吸引力,而且確實(shí)使我們培養(yǎng)了動(dòng)手能力,并且意識(shí)到了動(dòng)手實(shí)踐的重要意義。單片機(jī)課是到目前為止我們所接觸到的與實(shí)際最為接近的一門課程。在這之前,學(xué)習(xí)到的理論性課程讓我們走入了一種誤區(qū):理論的完備性是最重要的,只要理論完美了,具體實(shí)踐上的落實(shí)是順理成章的事情。但是學(xué)習(xí)了這門課之后,我們發(fā)現(xiàn)實(shí)踐中蘊(yùn)藏的智慧也是非常豐富的,實(shí)踐能力對(duì)于我們的意義同理論知識(shí)同樣重要。
3.3.團(tuán)隊(duì)合作和分工的重要意義:
沒有完美的個(gè)人,只有完美的團(tuán)隊(duì)。在這樣復(fù)雜和長期的任務(wù)面前,一個(gè)人的力量是薄弱的,一個(gè)人能想到和做到的也是極其有限的。通過分工合作,每個(gè)人不必在短期內(nèi)掌握太多的東西,而是通過充分信任隊(duì)友的能力和專心鉆研自己的任務(wù)來使團(tuán)隊(duì)效率大大提高。
3.4.交流請(qǐng)教的必要性:
遇到問題有時(shí)候憑借一個(gè)人或一組人的智慧是不好解決的。我們周圍有許多很強(qiáng)的同學(xué),還有許多經(jīng)驗(yàn)豐富,實(shí)力雄厚的學(xué)長,通過請(qǐng)教和討論可以產(chǎn)生一種茅塞頓開的效果。事情總是越說越明白,而且好多非常有新意和實(shí)用價(jià)值的想法也是在大家的討論中得到和發(fā)展出來的。
3.5.計(jì)劃的重要性:
在這樣一個(gè)復(fù)雜項(xiàng)目的實(shí)施過程中,我們遇到了很多困難和挫折。很幸運(yùn)我們方向一直明確,堅(jiān)持按照計(jì)劃,一步步克服困難,最終在學(xué)校的科技創(chuàng)新大賽前成功做出了我們的項(xiàng)目成品。現(xiàn)在想來,我們確實(shí)是因?yàn)橐粋(gè)明確的計(jì)劃,一點(diǎn)點(diǎn)克服困難,一點(diǎn)點(diǎn)積累經(jīng)驗(yàn),才走到現(xiàn)在的。這其中計(jì)劃的重要性不言而喻。
這門課的學(xué)習(xí)確實(shí)給了我們很多,而且不單單是知識(shí)和技能,還有精神層面上的東西。而在項(xiàng)目制作過程中的困難和喜悅,希望和失望,成功和失敗,也都是我們心中永遠(yuǎn)的寶貴財(cái)富。
4.項(xiàng)目成員貢獻(xiàn)排序
高眾1/3;韓恩道1/3;高原1/3
5.課程改革的建議
a)從分析解決實(shí)際問題出發(fā)學(xué)習(xí)了解單片機(jī)的知識(shí)和技能,案例教學(xué)。
b)由于單片機(jī)的內(nèi)容較多且瑣碎,應(yīng)增加課時(shí)量,以滿足同學(xué)們對(duì)單片機(jī)知識(shí)的需要。c)教師在講授某一知識(shí)時(shí),最好再多做一些當(dāng)堂演示。
6擴(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、測頻方式
利用單片機(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)信號(hào)Ts,用外部中斷INT0控制定時(shí)器T1的計(jì)數(shù),計(jì)算出在被測信號(hào)的一個(gè)周期內(nèi)定時(shí)器T1計(jì)得的數(shù)N,從而計(jì)算出被測頻率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頁共22頁電氣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端。
三、測頻測周轉(zhuǎn)換的討論以及試驗(yàn)參數(shù):1、測頻方式和測周方式的轉(zhuǎn)換頻率
依要求來說在10kHz~20kHz之間做切換。
2、轉(zhuǎn)換頻率過程中產(chǎn)生的問題
當(dāng)被測信號(hào)頻率與轉(zhuǎn)換頻率非常接近,并且抖動(dòng)時(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é)果越精確,但還要考慮到閘門周期太大會(huì)導(dǎo)致測量得到的脈沖數(shù)N過大,影響程序大小。同理,測周方式的時(shí)標(biāo)周期要小于1/f2,并且越小越精確,同樣要考慮到程序大小以及程序執(zhí)行時(shí)間。
四、程序流程圖⑴測頻法:①主程序:
②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頁共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ù)查表,存儲(chǔ)六個(gè)字形定時(shí)計(jì)數(shù)初值重置⑵測周法:①主程序:
開始
中間變量初始化,定時(shí)器T1初始化啟動(dòng)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ù)查表,存儲(chǔ)六個(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é)的滑動(dòng)變阻器,于是,我用多選開關(guān)來代替,通過開關(guān)選擇不同的電阻來模擬滑動(dòng)變阻器滑片的移動(dòng)。
第8頁共22頁
電氣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)行了初步的編程,將程序模塊化,分為了主程序、中斷子程序(測頻和測周)、顯示子程序、十六進(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)問題,于是我們和另外一組一起商討,在測頻和測周的轉(zhuǎn)換過程方面討論了很久,還嘗試了用雙閘門的方法,來代替測頻和測周的轉(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)顯示出來的總是亂碼,后用萬用表測數(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;對(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頁共22頁電氣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頁共22頁
電氣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頁共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頁;對(duì)60H-65H單元清零
共22頁
電氣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頁共22頁電氣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頁共22頁電氣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頁共22頁電氣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ì)系待測的時(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頁共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;對(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頁共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ī)課程總結(jié)報(bào)告》給出的范例僅供您參考拓展思維使用,單片機(jī)課程總結(jié)報(bào)告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。