第一篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)心得
單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)體會(huì)
兩周的單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn) ,真是讓我們受益匪淺,學(xué)到了很多東西,不管怎么樣,先感謝學(xué)校給我的這么多機(jī)會(huì).真正的學(xué)到了東西.此次課程設(shè)計(jì)軟件與硬件相結(jié)合,考察了我們的焊接水平與編程能力.因?yàn)橐郧白鲞^關(guān)于焊接的電工實(shí)習(xí),所以對(duì)于我們機(jī)械設(shè)計(jì)專業(yè)的學(xué)生而言焊接是不成問題,也很順利;可到了編程時(shí)就出現(xiàn)了很大的障礙,先開始的顯示時(shí)鐘還算順利,本來還以為編程會(huì)很簡(jiǎn)單的,等到實(shí)際操作起來才知道它的復(fù)雜性,沒有想像中的那么得心應(yīng)手,理解流程是有思維的前提.其實(shí)本身程序的思維是正確的,只是步驟中有點(diǎn)小錯(cuò)誤,所以導(dǎo)致整個(gè)程序的結(jié)果很亂,在仔細(xì)修改程序之后,終于一步步地達(dá)到效果了.系統(tǒng)以AT89S51 為核心部件,利用軟件編程,通過鍵盤控制和液晶顯示實(shí)現(xiàn)了秒表的功能,能實(shí)現(xiàn)本設(shè)計(jì)題目的基本要求和發(fā)揮部分。盡量做到硬件電路簡(jiǎn)單穩(wěn)定,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差。
我們將各個(gè)部分的程序編好后怎么都連不起來,出不了預(yù)期的效果.對(duì)于硬件在編程過程中PCB板的接觸又是一個(gè)頭疼的問題,在進(jìn)行編譯的時(shí)候,數(shù)碼顯示管上什么都沒有,按一下旁邊與之相連的元器件時(shí)就有顯示了,所以也花費(fèi)了好多時(shí)間在PCB板的重新焊接上,最后在全組人竭盡全力,老師的精心指導(dǎo)下,程序基本編寫成功,這是我們共同努力的結(jié)果,在享受我們成果之時(shí),不得不感慨單片機(jī)的重要性與高難度性,所以為期兩周的單片機(jī)課程設(shè)計(jì)沒有浪費(fèi),我們從中學(xué)到了很多知識(shí).,也讓我們對(duì)單片機(jī)有了更深一步的了解.雖然最后結(jié)果是出來了,可這與老師的精心指導(dǎo)是分不開的,他引導(dǎo)我們的思路,本來一竅不通的我們經(jīng)過老師的點(diǎn)撥基本上通了,所以說老師是功不可抹的.由于時(shí)間有限和本身知識(shí)水平的限制,本系統(tǒng)還存在一些不夠完善的地方,要作為實(shí)際應(yīng)用還有一些具體細(xì)節(jié)問題需要解決。
踉踉蹌蹌地忙碌了兩周,我的單片機(jī)課程設(shè)計(jì)也終將告一段落。設(shè)計(jì)實(shí)物也基本達(dá)到預(yù)期的效果,但由于能力和時(shí)間的關(guān)系,總是覺得有很多不盡人意的地方,譬如功能不全、外觀粗糙……數(shù)不勝數(shù)。但我可以自豪的說,這里面的每一段代碼,都有我的勞動(dòng)。當(dāng)看著自己的程序,自己成天相伴的系統(tǒng)能夠健康的運(yùn)行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會(huì)化為甜美的甘泉。
總而言之,單片機(jī)課程設(shè)計(jì)對(duì)于我們有很大的幫助,我們從中受益匪淺.
第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)心得
課程設(shè)計(jì)心得
課設(shè)的選題,方案的設(shè)計(jì)與確定,元器件的選擇,硬件的焊接,這一系列的課設(shè)準(zhǔn)備工作早在課設(shè)開始之前,老師就向我們做了相關(guān)的介紹和明確的說明,同時(shí)非常友好的提示我們?cè)琰c(diǎn)著手準(zhǔn)備自己的課設(shè)項(xiàng)目。但是如此語重心長的話語在當(dāng)時(shí)似乎沒有引起所有人的注意,只到有同學(xué)拿出已成型的作品時(shí),只到課程設(shè)計(jì)進(jìn)入第二周時(shí),只到看到有同學(xué)拿著作品去驗(yàn)收時(shí),只到發(fā)現(xiàn)自己在規(guī)定的時(shí)間里無法完成擴(kuò)展功能是,我們開始醒悟,開始想起老師之前的友情提示,開始意識(shí)到課設(shè)的準(zhǔn)備工作沒做好,開始產(chǎn)生恐懼。這樣的情形并不只是出現(xiàn)在的課程設(shè)計(jì)過程中,而是經(jīng)常出現(xiàn)在我們的生活中。整個(gè)課程設(shè)計(jì)的過程中都顯得有些盲目,有些匆忙。
像這樣的實(shí)訓(xùn)課程,對(duì)我們學(xué)習(xí)自動(dòng)化的學(xué)生來說意義非常重大,它不僅是對(duì)單片機(jī)這一門課程的理解與運(yùn)用,同時(shí)也涉及到數(shù)字電路和模擬電路的領(lǐng)域;這也是一次鍛煉我們動(dòng)手動(dòng)腦的絕佳機(jī)會(huì),能讓我們切實(shí)感受理論與實(shí)際相結(jié)合的過程。
設(shè)計(jì)的過程是枯燥的,程序的調(diào)試過程是讓人感到乏味的、無奈的、頭疼的,但是看到完工的作品卻是激動(dòng)高興的。對(duì)于硬件的焊接,這可能是很多同學(xué)都喜歡做的一個(gè)環(huán)節(jié)。但是這次的硬件焊接與上一次實(shí)訓(xùn)時(shí)的不一樣,這次你需要自己設(shè)計(jì)電路,自己學(xué)習(xí)理解某些芯片的引腳功能。芯片引腳的接線是我們?nèi)菀壮鲥e(cuò)的地方,如果接線圖或者焊接有問題,這將對(duì)對(duì)芯片有很大的危害。硬件完工后,是軟件的調(diào)試。我認(rèn)為程序的調(diào)試是課設(shè)全過程中最難得部分,原因是我這塊的功底非常薄弱。很坦誠的講,以自己現(xiàn)有的能力,沒法寫出設(shè)計(jì)中的程序,我和同學(xué)只能借鑒高手的程序,努力地去修改源程序,使其能夠?qū)崿F(xiàn)想要的功能。軟件的調(diào)試不像硬件焊接那么容易,調(diào)試過程中,我們必須考慮硬件與程序相匹配。在比如在這個(gè)環(huán)節(jié)中,很感謝我的同學(xué),因?yàn)樗軌蚍浅D托牡臑槲抑v解C語言中一些語句的用法和功能。
這次實(shí)訓(xùn)還有一重大收獲是學(xué)會(huì)寫一份正式的科技論文。報(bào)告的書寫與軟硬件同等重要,我們應(yīng)遵守論文的格式要求,這也是對(duì)思維嚴(yán)謹(jǐn)性的一種鍛煉。
完成一個(gè)出色的作品,單靠一個(gè)人的力量是不行的,小組成員之間必須相互配合,相互支持,相互團(tuán)結(jié),所以這也是一次鍛煉我們團(tuán)隊(duì)合作精神的機(jī)會(huì)。
雖然本次實(shí)訓(xùn)結(jié)束了,但是實(shí)訓(xùn)留給我們思考的地方還很多,需要我們學(xué)習(xí)的地方還很多。無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,我們都應(yīng)養(yǎng)成多學(xué)習(xí),理解、多思考、多合作,多實(shí)踐的好習(xí)慣,重視理論與實(shí)踐相結(jié)合。
課程設(shè)計(jì)心得
課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。
這次實(shí)習(xí)讓我受益匪淺,無論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來沒有見過真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在QQ群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。
回顧起此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在接近四星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程
設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語言掌握得不好……通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。
這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在XXX、XXX、老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在XXX、XXX、老師那里我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!
再次感 謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識(shí),無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課程設(shè)計(jì)時(shí)間雖然很短,但我學(xué)習(xí)了很多的東西,使我眼界打開,感受頗深。
第三篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)心得
單片機(jī)課程設(shè)計(jì)心得
做了兩周的單片機(jī)課程設(shè)計(jì),我有了很多的體會(huì)和感想。
我們的課程設(shè)計(jì)有兩個(gè)主要內(nèi)容:一個(gè)是出租車計(jì)費(fèi)器系統(tǒng)(還包括255計(jì)數(shù)和50000計(jì)數(shù));另一個(gè)就是溫度報(bào)警系統(tǒng)。實(shí)習(xí)可以在實(shí)驗(yàn)室里做,也可以在寢室里自己做,我大部分時(shí)間還是在寢室里做的。
出租車計(jì)費(fèi)器的設(shè)計(jì)是第一周的內(nèi)容,由于有了老師的設(shè)計(jì)圖和程序,只需要改一下自己所要求的變量就好。單片機(jī)的編程用的主要是匯編語言,說實(shí)話,我對(duì)匯編語言談不上掌握,充其量只是了解。學(xué)校安排的課程真的太少了,關(guān)于語言部分的學(xué)習(xí)只學(xué)了幾節(jié)課的內(nèi)容,整本單片機(jī)書的內(nèi)容也是學(xué)了三分之一多一點(diǎn)。
第二周的內(nèi)容就是溫度報(bào)警系統(tǒng)的設(shè)計(jì)。這個(gè)內(nèi)容沒有現(xiàn)成的程序和設(shè)計(jì)圖,需要我們真正親手去編,最郁悶的莫過于畫設(shè)計(jì)圖。按照實(shí)驗(yàn)要求上的圖畫了出來,加載程序以后卻不能正常運(yùn)行,改了好多次都沒有成功。同學(xué)們電腦上軟件的版本差異也影響了交流。有些元件的型號(hào)不同,但在選用時(shí)圖形確很相似,致使選錯(cuò)了元件,影響了結(jié)果。
這兩周的實(shí)習(xí)真的有點(diǎn)郁悶,程序里面的好多內(nèi)容不懂,自我感覺是單片機(jī)我們所學(xué)的內(nèi)容還不足以編出這兩個(gè)程序,但是只好硬著頭皮去看去理解。但在學(xué)習(xí)過程中也充滿了樂趣,當(dāng)看懂了程序的一些語句,畫出了要求的設(shè)計(jì)圖,那我喜悅那種成就感油然而生。
這次實(shí)習(xí)讓我受益匪淺,無論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來沒有見過真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在QQ群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。
單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問題。盡管我們?cè)谡n堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對(duì)我們的精心指導(dǎo)和幫助,感謝同學(xué)們對(duì)我的幫助。
第四篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)
單片機(jī)課程設(shè)計(jì)
課題: 簡(jiǎn)易電子琴設(shè)計(jì)
學(xué)
院:
電氣與信息工程學(xué)院 專
業(yè):
電子信息工程 姓
名:
李琳琳 學(xué)
號(hào):
093411106
指導(dǎo)老師:
田巍
河南城建學(xué)院
2014年
01 月
01 日
第五篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)
課 程 設(shè) 計(jì)
設(shè)計(jì)題目: 基于單片機(jī)的8*8點(diǎn)陣顯示數(shù)字設(shè)計(jì)
學(xué)生姓名: 指導(dǎo)教師: 二級(jí)學(xué)院: 專
業(yè): 班
級(jí): 學(xué)
號(hào):
目 錄
摘要??????????????????????????Ⅱ 1 方案選擇及總體設(shè)計(jì)???????????????????1 1.1方案確定?????????????????????1 1.1.1功能要求????????????????????1 1.1.2方案確定????????????????????1 1.2器件選擇?????????????????????1 2 控制系統(tǒng)設(shè)計(jì)??????????????????????2 2.1 控制系統(tǒng)硬件設(shè)計(jì)?????????????????2 2.1.1整體模塊設(shè)計(jì)??????????????????2 2.1.2單片機(jī)AT89C51?????????????????2 2.1.3單片機(jī)最小系統(tǒng)設(shè)計(jì)???????????????5 2.1.3.1晶振電路設(shè)計(jì)?????????????????5 2.1.3.2復(fù)位電路設(shè)計(jì)?????????????????5 2.1.4驅(qū)動(dòng)電路設(shè)計(jì)??????????????????6 2.1.5LED點(diǎn)陣顯示設(shè)計(jì)????????????????9 2.2控制系統(tǒng)軟件設(shè)計(jì)?????????????????11 2.2.1軟件設(shè)計(jì)思想??????????????????11 2.2.2主程序流程圖??????????????????11 2.2.3子程序流程圖??????????????????13 3 系統(tǒng)仿真及調(diào)試????????????????????14 3.1系統(tǒng)調(diào)試?????????????????????14 3.2系統(tǒng)仿真?????????????????????14 3.2.1protrus軟件仿真????????????????14 3.2.2程序??????????????????????14 總結(jié)?????????????????????????^?17 參考文獻(xiàn)????????????????????????18
I
摘 要
現(xiàn)在市場(chǎng)上各類基于LED的顯示屏較多,但大部分產(chǎn)品為單一模式的LED顯示屏,其在顯示內(nèi)容的更換及顯示屏的重組等方面都存在不便之處。但隨著信息化社會(huì)的迅速發(fā)展,LED顯示屏正在向顯示內(nèi)容豐富、信息更改方便等方面發(fā)展。因此制作一款多功能的LED廣告顯示屏是非常有意義地。
LED驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器。以8×8點(diǎn)陣為例,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),先送出對(duì)應(yīng)第1行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定的時(shí)間,然后熄滅;再送出第2行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時(shí)間,然后熄滅;第8行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。
本次課程設(shè)計(jì)的題目為8×8點(diǎn)陣數(shù)字顯示,設(shè)計(jì)的任務(wù)為使用單片機(jī)控制8×8的點(diǎn)陣顯示0到9的數(shù)字,不僅顯示清晰,并且每經(jīng)過一定時(shí)間,顯示的數(shù)字加一,從0 到 9 循環(huán)。以AT89C51單片機(jī)為核心,采用串行傳輸、動(dòng)態(tài)掃描技術(shù),制作一款模塊化LED多功能顯示屏。
在資料收集方面,主要是參考了《51單片機(jī)原理及應(yīng)用—基于Keil C與Proteus》一書,結(jié)合了一些網(wǎng)絡(luò)資料,以及一些集成塊的使用說明書。
在整個(gè)工作過程中,根據(jù)收集來的資料繪制出大概的原理圖,然后通過Proteus仿真,與此同時(shí)運(yùn)用Keil 編程,用Keil 與Proteus進(jìn)行聯(lián)調(diào),調(diào)試成功后確定了原理圖和控制程序。
II
第一章 方案選擇及總體設(shè)計(jì)
1.1 方案確定
1.1.1 功能要求
1、采用STC-51單片機(jī)作為微處理器。
2、設(shè)計(jì)一個(gè)8×8點(diǎn)陣LED數(shù)碼字符顯示器。
3、在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足、穩(wěn)定、清晰無串?dāng)_。
4、動(dòng)態(tài)顯示“0——9”幾個(gè)字符。
1.1.2 方案確定
采用ST89C51單片機(jī)作為微處理器,將共陽極二極管用共陰型接法連接成8×8點(diǎn)陣LED數(shù)碼字符陣列,通過程序控制,采用動(dòng)態(tài)顯示,建立字符庫“0——9”。
1.2 器件選擇
微處理器采用ST89C51系列單片機(jī),ST89C51單片機(jī)是這幾年在我國非常流行的單片機(jī),是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能單片機(jī),可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次,具有低功耗、高性能的特點(diǎn)。
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
第二章 控制系統(tǒng)設(shè)計(jì)
2.1控制系統(tǒng)硬件設(shè)計(jì)
2.1.1整體模塊設(shè)計(jì)
本設(shè)計(jì)行、列驅(qū)動(dòng)電路,顯示器電路,運(yùn)用單片機(jī)的智能化,系統(tǒng)的將每個(gè)功能電路模塊連接在一起,總體結(jié)構(gòu)設(shè)計(jì)如圖2-1所示。
點(diǎn)陣顯示器行驅(qū)動(dòng)電路PC上位機(jī)單片機(jī)8×8點(diǎn)陣LED顯示器電路點(diǎn)陣顯示器列驅(qū)動(dòng)電路
圖2-1 硬件系統(tǒng)框圖
此次需要實(shí)現(xiàn)的功能是利用一個(gè)ST89C51,一個(gè)8×8LED點(diǎn)陣,動(dòng)態(tài)顯示“0——9”10個(gè)字,采用PC上位機(jī)驅(qū)動(dòng)顯示電路。
2.1.2 單片機(jī)AT89C51 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)能提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。
AT89C51單片機(jī)引腳圖如圖2-2所示。
圖2-2 AT89C51引腳圖
AT89C51管腳說明: VCC:供電電壓。GND:接地。
P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行
存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下所示: P3口管腳
備選功能: P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:
來自反向振蕩器的輸出。
2.1.3 單片機(jī)最小系統(tǒng)設(shè)計(jì)
單片機(jī)的最小系統(tǒng)是能夠讓單片機(jī)工作的最小硬件電路。除了單片機(jī)外,最小系統(tǒng)還包括復(fù)位電路和時(shí)鐘電路。
復(fù)位電路:?jiǎn)纹瑱C(jī)的復(fù)位電路接在復(fù)位信號(hào)RST上,復(fù)位電路用于將單片機(jī)內(nèi)部電路的狀態(tài)恢復(fù)到初始值。需要復(fù)位時(shí)按下按鈕即可。
時(shí)鐘電路:時(shí)鐘電路為單片機(jī)工作提供基本時(shí)鐘。時(shí)鐘電路中包含一個(gè)晶體振蕩器,簡(jiǎn)稱晶振,頻率范圍是1.2~12MHz。晶體振蕩頻率越高,系統(tǒng)的時(shí)鐘頻率也越高,單片機(jī)的運(yùn)行速度也就越快
ST89C51單片機(jī)最小系統(tǒng)電路由復(fù)位電路、晶振電路兩部分組成。2.1.3.1 晶振電路設(shè)計(jì)
ST89C52單片機(jī)芯片內(nèi)部設(shè)有一個(gè)由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端,時(shí)鐘可有內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩。系統(tǒng)采用的定時(shí)元件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率采用12MHZ,C1、C2的電容值取30pF,電容的大小起頻率微調(diào)的作用。晶振電路圖如圖2-3所示。
C1XTAL130pFC2XTAL230pF圖2-3 晶振電路圖
X112MHZ
2.1.3.2 復(fù)位電路設(shè)計(jì)
ST89C51單片機(jī)在啟動(dòng)運(yùn)行時(shí)或者出現(xiàn)死機(jī)時(shí)需要復(fù)位,使CPU以及其他功能部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。單片機(jī)有多種復(fù)位方式,常用的復(fù)位操作有上電復(fù)位和手動(dòng)復(fù)位方式。本設(shè)計(jì)采用最簡(jiǎn)單的上電復(fù)位方式,電路如圖2-4所示。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,復(fù)位電路產(chǎn)生的復(fù)位信號(hào)(高電平有效)由RST引腳送入到內(nèi)部的復(fù)位電路,對(duì)ST89C51單片機(jī)進(jìn)行復(fù)位,復(fù)位信號(hào)要持續(xù)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上,才能使ST89C51單片機(jī)可靠復(fù)位。當(dāng)上電時(shí),C1相當(dāng)于短路,有時(shí)碰到干擾時(shí)會(huì)造成錯(cuò)誤復(fù)位,可在復(fù)位端加個(gè)去耦電容,可以取得很好的效果。
ST89C51單片機(jī)復(fù)位電路如下圖所示:
VCCAT89C51VCCC510MF/25VRSTR94.7KVSSR24.7KVSSRSTR1C10MF/25VS5 RSTVCCAT89C51VCC
圖2-4 上電復(fù)位電路圖
圖2-5 按鍵電平復(fù)位電路圖
復(fù)位電路工作原理:
上電瞬間RST引腳的電位與VCC等電位,RST引腳為高電平,隨著電容C5充電電流的減少,RST引腳的電位不斷下降,可以保持RST引腳在為高電平的時(shí)間內(nèi)完成復(fù)位操作。
當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵S5后再松開,也能使RST引腳為一段時(shí)間的高電平,從而實(shí)現(xiàn)ST89C51單片機(jī)復(fù)位。
2.1.4 驅(qū)動(dòng)電路設(shè)計(jì)
驅(qū)動(dòng)電路圖如圖2-6所示。
圖2-6 驅(qū)動(dòng)電路圖
74LS245引腳圖如圖2-7所示。
圖2-7 74LS245引腳圖
引出端符號(hào): A A總線端
B B總線端
/G 三態(tài)允許端(低電平有效)DIR 方向控制端
74LS245是用來驅(qū)動(dòng)LED或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。
如果用89C51的P0口輸出到數(shù)碼管,那就要考慮到數(shù)碼管的亮度以及P0口帶負(fù)載的能力,當(dāng)89C51單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。選用74LS245提高驅(qū)動(dòng)能力。P0口的輸出經(jīng)過74LS245提高驅(qū)動(dòng)后,輸出到數(shù)碼管顯示電路。
工作原理:
當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由B向A傳輸;(接收)DIR=“1”,信號(hào)由A向B傳輸;(發(fā)送)當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。
正向點(diǎn)亮一顆LED,至少也要10~20mA,若電流不夠大,則LED不夠大。而不管是ST89C51的I/O口,還是TTL、CMOS的輸出端,其高態(tài)輸出電流都不是很高,不過1~2mA而已。因此很難直接高態(tài)驅(qū)動(dòng)LED,這時(shí)候就需要額外的驅(qū)動(dòng)電路,通常有共陽型與共陰型LED陣列驅(qū)動(dòng)電路,本設(shè)計(jì)才用共陰型高態(tài)掃描信號(hào)驅(qū)動(dòng)電路。
共陰型LED陣列驅(qū)動(dòng)電路采用高態(tài)掃描,也就是任何時(shí)間只有一個(gè)高態(tài)信號(hào),其它則為低態(tài)。一行掃描完成后,再把高態(tài)信號(hào)轉(zhuǎn)化到近鄰的其他行,掃描信號(hào)接用一個(gè)反向驅(qū)動(dòng)器,ST89C51本身內(nèi)置一個(gè)反向驅(qū)動(dòng)器,本設(shè)計(jì)將ST89C51作為點(diǎn)矩陣顯示控制系統(tǒng)的控制核心,通過點(diǎn)矩陣實(shí)時(shí)顯示并移動(dòng)字符。
單片機(jī)的串口與行驅(qū)動(dòng)器相連,用來發(fā)送顯示數(shù)據(jù)信息。P3口與LED陣列的行引腳相連,送出數(shù)據(jù)、地址以及系統(tǒng)控制信號(hào)。輸出低態(tài)時(shí),最大可吸取0.5A,即500mA,若每個(gè)LED取30mA,7個(gè)LED同時(shí)點(diǎn)亮,需要210mA,完全滿足LED點(diǎn)亮的基本條件。
所要顯示的信號(hào)送入74LS245芯片,然后連接到LED陣列的列陣腳。對(duì)于高態(tài)的顯示信號(hào),將可提供其所連接LED的驅(qū)動(dòng)電流,而這個(gè)驅(qū)動(dòng)電流經(jīng)過LED到輸出端,形成正向回路,即可點(diǎn)亮該LED。其中每個(gè)晶體管任何時(shí)間只需負(fù)
責(zé)驅(qū)動(dòng)一個(gè)LED,所以選擇30mA射極電流的晶體管。驅(qū)動(dòng)電路如圖2-6所示。
2.1.5 LED點(diǎn)陣顯示設(shè)計(jì)
本設(shè)計(jì)采用ATMEL公司的AT89C51作矩陣顯示控制系統(tǒng)控制核心,12MHZ晶振,8?8點(diǎn)陣共陽LED顯示器。其中,P0口作為字符數(shù)據(jù)輸出口,P3口為字符顯示掃描輸出口,第31腳(EA)接電源,改變電阻(270×8)的大小可改變顯示字符的亮度,驅(qū)動(dòng)用74LS245芯片。
本設(shè)計(jì)LED矩陣顯示器電路選用8×8點(diǎn)陣模塊,系統(tǒng)由單片機(jī)控制。LED顯示屏是將發(fā)光二極管按行按列布置的,在掃描驅(qū)動(dòng)方式下可以按行掃描按列控制,也可以按列掃描按行控制。本文就是使用1塊8×8點(diǎn)陣,采用按列掃描按行控制控制方式,掃描順序自左向右,以滿足數(shù)字顯示的要求。8×8點(diǎn)陣LED結(jié)構(gòu)如圖2-8所示。
8×8點(diǎn)陣LEDabcdefgh12345678
圖2-8 LED數(shù)碼顯示管
8×8 點(diǎn)陣LED的工作原理:LED點(diǎn)陣的顯示方式是按顯示編碼的順序,一行一行地顯示。對(duì)于共陽型的點(diǎn)陣來說,當(dāng)某一點(diǎn)所在的行對(duì)應(yīng)高電平“1”并且其所在的列對(duì)應(yīng)低電平“0”的時(shí)候,這一點(diǎn)就會(huì)被點(diǎn)亮。將每一行的顯示時(shí)間進(jìn)行一定的延時(shí),由于人的視覺暫留現(xiàn)象,就會(huì)感覺到8行LED是在同時(shí)顯示的。若顯示的時(shí)間太短,則亮度不夠,若顯示的時(shí)間太長,將會(huì)感覺到閃爍。圖2-9為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖2-10所示,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。一個(gè)8×8點(diǎn)陣是由64個(gè)發(fā)光二極管按規(guī)律組成的,如圖2-10所示。圖中,行接高電平,列接低電平,發(fā)光二極管導(dǎo)通發(fā)光。
圖2-9 8×8點(diǎn)陣LED外觀及引腳圖
圖2-10 8×8點(diǎn)陣LED等效電路
8×8點(diǎn)陣數(shù)字顯示的編碼原理: 8×8點(diǎn)陣數(shù)字顯示主要應(yīng)用行掃描動(dòng)態(tài)顯示的方法實(shí)現(xiàn),如圖2-11所示,將行線依次置零,一次對(duì)列線編碼,有紅色填充部分為1,無填充部分為0。
圖2-11 8×8點(diǎn)陣數(shù)字顯示的編碼原理
如此可得到“0”的編碼為{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00},同理可得到:
{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}
//1 {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}
//2 {0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}
//3 {0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}
//4 {0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}
//5 {0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}
//6 {0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}
//7 {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}
//8 {0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}
//9 2.2控制系統(tǒng)軟件設(shè)計(jì)
2.2.1 軟件設(shè)計(jì)思想
主程序先進(jìn)行設(shè)置中斷,并啟動(dòng),再進(jìn)行鍵盤掃描載入“0——9”字型,然后判斷一組字型是否掃描完,按不同情況進(jìn)行循環(huán)調(diào)用子程序。進(jìn)入子程序后,首先設(shè)置相應(yīng)的程序,反復(fù)調(diào)用顯示子程序,并在顯示過程中反復(fù)調(diào)用鍵盤掃描子程序進(jìn)行延時(shí),判斷是否退出相應(yīng)的方式顯示子程序。設(shè)計(jì)過程中,能很好得提高按鍵響應(yīng)速度。
2.2.2 主程序流程圖
主程序首先設(shè)置并啟動(dòng)T0中斷,然后調(diào)用初始化程序,為后面程序要用到的數(shù)據(jù)調(diào)入,并清零一些用到的數(shù)據(jù)單元,然后載入“0——9”字型,進(jìn)行掃描。圖2-12為主程序流程圖。
圖2-12 主程序流程圖
2.2.3 子程序流程圖(定時(shí)中斷服務(wù)程序)
圖11 子程序流程圖(定時(shí)中斷服務(wù)程序)
第三章 系統(tǒng)仿真及調(diào)試
3.1系統(tǒng)調(diào)試
根據(jù)硬件電路圖核對(duì)了元器件的型號(hào)、極性,安裝是否正確,檢查硬件電路連線是否與電路原理圖一致,檢查電路元器件是否都已經(jīng)連接好。
通電后,用示波器檢測(cè)單片機(jī)的復(fù)位和晶振電路是否有復(fù)位信號(hào)和振蕩信號(hào)。
3.2 系統(tǒng)仿真
3.2.1 proteus軟件仿真
使用proteus原理及仿真如圖3-1所示。
如圖3-1 proteus原理及仿真圖
3.2.2 程序
#include
{ 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//0 //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00
};uchar i=0,t=0,Num_Index;//主程序 void main(){ P3=0x80;
Num_Index=0;
//從0開始顯示
TMOD=0x00;
//T0方式0 TH0=(8192-2000)/32;//2ms定時(shí)
TL0=(8192-2000)%32;IE=0x82;
//允許T0中斷
TR0=1;
//啟動(dòng)T0 while(1);}
//T0中斷函數(shù)
void LED_Screen_Display()interrupt 1 { TH0=(8192-2000)/32;
//恢復(fù)初值
TL0=(8192-2000)%32;P0=0xff;
//輸出位碼和段碼
P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);
//P3循環(huán)向左一位 //5 //6 //7
//8 //9
}
if(++i==8)i=0;if(++t==250){
} t=0;
//每屏一個(gè)數(shù)字由8個(gè)字節(jié)構(gòu)成 //每個(gè)數(shù)字刷新顯示一段時(shí)間
if(++Num_Index==10)Num_Index=0;//顯示下一個(gè)數(shù)字
總結(jié)
經(jīng)過單片機(jī)的課程設(shè)計(jì),我有了很大的收獲。
首先,就是讓我加深了對(duì)單片機(jī)的掌握和理解與應(yīng)用,知道單片機(jī)到底是怎樣控制點(diǎn)陣,怎樣應(yīng)用在生活中的。并且讓我懂得了要善于思考,追求嚴(yán)謹(jǐn),認(rèn)真解決問題,才會(huì)有更多的收獲。
然后,提高了通過查閱資料解決問題的能力。通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo)。并且通過對(duì)單片機(jī)資料的查閱和應(yīng)用,更進(jìn)一步增加了對(duì)單片機(jī)知識(shí)的理解和運(yùn)用能力。并證實(shí)了自己的思路:“查資料→思考總結(jié)→運(yùn)用→找出差錯(cuò),再查資料和向別人詢問→再次運(yùn)用”的正確性。
最后,本系統(tǒng)能夠完成設(shè)計(jì)任務(wù),能夠顯示數(shù)字0-9,并且顯示也較為穩(wěn)定清晰。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。在本次課程設(shè)計(jì)中,主要使用了Proteus和Keil等軟件進(jìn)行硬件電路和控制程序的設(shè)計(jì),加深了對(duì)這些軟件的了解。感到Proteus對(duì)電子專業(yè)的同學(xué)來說是一個(gè)很有用的軟件??傮w來說這次的課程設(shè)計(jì)很成功,達(dá)到了預(yù)想的目的:學(xué)到了知識(shí),提高了能力,完成了任務(wù)。
參考文獻(xiàn)
[1] 張靖武,周靈彬 《單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真》北京 電子工業(yè)出版社 [2] 吳金戌,沈慶陽,郭庭吉 《8051單片機(jī)實(shí)踐與應(yīng)用》北京 清華大學(xué)出版社 [3] 李群芳,肖看 《單片機(jī)原理、接口及應(yīng)用》北京 清華大學(xué)出版社
[4] 張毅剛,彭喜元等 《新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì) 》黑龍江 哈爾濱工業(yè)大學(xué)出版社 [5] 李朝青,劉艷玲編著 《單片機(jī)原理及接口技術(shù)》北京 航空航天大學(xué)出版社