第一篇:微機(jī)原理與接口技術(shù)及其課程設(shè)計(jì)心得體會(huì)
微機(jī)原理與接口技術(shù)及其課程設(shè)計(jì)心得體會(huì)
本學(xué)期的微機(jī)原理和接口技術(shù)及其課程設(shè)計(jì)都已經(jīng)結(jié)束。在這個(gè)過(guò)程中,我們有所付出,也有所回報(bào),讓我感受頗多。
對(duì)于《微機(jī)原理與接口技術(shù)》這門(mén)課程而言,初學(xué)時(shí),感覺(jué)摸不著頭緒。面對(duì)著眾多的術(shù)語(yǔ)、概念及原理性的問(wèn)題不知道該如何下手。在了解課程的特點(diǎn)后,我發(fā)現(xiàn),應(yīng)該以微機(jī)的整機(jī)概念為突破口,在如何建立整體概念上下功夫?!奥槿鸽m小,五臟俱全”,可以通過(guò)學(xué)習(xí)一個(gè)模型機(jī)的組成和指令執(zhí)行的過(guò)程,了解和熟悉計(jì)算機(jī)的結(jié)構(gòu)、特點(diǎn)和工作過(guò)程?!段C(jī)原理與接口技術(shù)》課程有許多新名詞、新專(zhuān)業(yè)術(shù)語(yǔ)。透徹理解這些名詞、術(shù)語(yǔ)的意思,為今后深入學(xué)習(xí)打下基礎(chǔ)。一個(gè)新的名詞從首次接觸到理解和應(yīng)用,需要一個(gè)反復(fù)的過(guò)程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點(diǎn)又是難點(diǎn),如果不懂中斷技術(shù),就不能算是搞懂了微機(jī)原理。在學(xué)習(xí)中凡是遇到這種情況,絕對(duì)不輕易放過(guò),要力求真正弄懂,搞懂一個(gè)重點(diǎn),將使一大串概念迎刃而解。學(xué)習(xí)過(guò)程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進(jìn)行分析,比較它們之間的異同點(diǎn)。比如:微機(jī)原理中,引入了計(jì)算機(jī)由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計(jì)算機(jī)定義時(shí),強(qiáng)調(diào)輸入/輸出接口的重要性;在引出微型計(jì)算機(jī)系統(tǒng)的定義時(shí),強(qiáng)調(diào)計(jì)算機(jī)軟件與計(jì)算機(jī)硬件的相輔相成的關(guān)系。微處理器是微型計(jì)算機(jī)的重要組成部分,它與微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)是完全不同的概念。
微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)在微機(jī)中,最基礎(chǔ)的語(yǔ)言是匯編語(yǔ)言。匯編語(yǔ)言是一個(gè)最基礎(chǔ)最古老的計(jì)算機(jī)語(yǔ)言。語(yǔ)言總是越基礎(chǔ)越重要,在重大的編程項(xiàng)目中應(yīng)用最廣泛。就我的個(gè)人理解,匯編是對(duì)寄存的地址以及數(shù)據(jù)單元進(jìn)行最直接的修改。而在某些時(shí)候,這種方法是最有效,最可靠的。比如,在當(dāng)今的戰(zhàn)爭(zhēng)中,首先就是運(yùn)用這方面的知識(shí)來(lái)修改地方的系統(tǒng)程序。讓地方的衛(wèi)星偏離軌道,從而不能發(fā)現(xiàn)目標(biāo)。其威力可見(jiàn)一斑。
然而,事物總有兩面性,有優(yōu)點(diǎn)自然缺點(diǎn)也不少。其中,最重要的一點(diǎn)就是,匯編語(yǔ)言很復(fù)雜,對(duì)某個(gè)數(shù)據(jù)進(jìn)行修改時(shí),本來(lái)很簡(jiǎn)單的一個(gè)操作會(huì)用比較煩瑣的語(yǔ)言來(lái)解決,而這些語(yǔ)言本身在執(zhí)行和操作的過(guò)程中,占有大量的時(shí)間和成本。在一些講求效率的場(chǎng)合,并不可取。匯編語(yǔ)言對(duì)學(xué)習(xí)其他計(jì)算機(jī)起到一個(gè)比較、對(duì)照、參考的促進(jìn)作用。學(xué)習(xí)事物總是從最簡(jiǎn)單基礎(chǔ)的開(kāi)始。那么學(xué)習(xí)高級(jí)語(yǔ)言也當(dāng)然應(yīng)當(dāng)從匯編開(kāi)始。學(xué)習(xí)匯編語(yǔ)言實(shí)際上是培養(yǎng)了學(xué)習(xí)計(jì)算機(jī)語(yǔ)言的能力和素養(yǎng)。個(gè)人認(rèn)為,學(xué)習(xí)匯編語(yǔ)言對(duì)學(xué)習(xí)其他語(yǔ)言很有促進(jìn)作用。匯編語(yǔ)言在本學(xué)期微機(jī)學(xué)習(xí)中有核心地位。本學(xué)期微機(jī)原理課程內(nèi)容繁多,還學(xué)習(xí)了可編程的計(jì)數(shù)/定時(shí)的8253,可編程的外圍接口芯片8255A等。學(xué)的都是芯片邏輯器件,而在名字前都標(biāo)有“可編程”,其核心作用不可低估。我認(rèn)為,在學(xué)習(xí)中要考慮到“學(xué)以致用”,因此,在接下來(lái)我們又安排了微機(jī)原理與接口技術(shù)的課程設(shè)計(jì)。
經(jīng)過(guò)本次微機(jī)課題的設(shè)計(jì)與研究,我們深入的學(xué)習(xí)了除課本以外的很多微機(jī)附件的內(nèi)容,掌握了很多實(shí)驗(yàn)室操作技能。我們?cè)趯?shí)際設(shè)計(jì)中遇到很多問(wèn)題,但結(jié)合所學(xué)知識(shí)以及參考資料的幫助,不斷地嘗試,設(shè)計(jì)了一種能夠解決實(shí)際問(wèn)題的系統(tǒng)。同時(shí)也加深了我們對(duì)于現(xiàn)實(shí)生活中,實(shí)際的嵌入式操作系統(tǒng)的原理的理解。
在實(shí)際設(shè)計(jì)過(guò)程中,我們遇到了諸多設(shè)計(jì)的問(wèn)題。例仿真系統(tǒng)中某些芯片沒(méi)有,這一問(wèn)題主要是因?yàn)槲覀兯O(shè)計(jì)的功能諸多,剛開(kāi)始對(duì)于這一設(shè)計(jì)在硬件方面設(shè)計(jì)不是非常的合理,后來(lái)通過(guò)使用所用仿真軟件的繪畫(huà)功能,新增加了一個(gè)芯片便解決了所有的按鍵和現(xiàn)實(shí)問(wèn)題。
在程序設(shè)計(jì)中,我們更加深入了解了8086的使用與本質(zhì)。為了能設(shè)計(jì)成功,我們查閱了各種關(guān)于其硬件連接和軟件設(shè)計(jì)的資料,同時(shí)也發(fā)現(xiàn)了理論資料與實(shí)踐上的區(qū)別,通過(guò)多次嘗試,成功完成了硬件和軟件的設(shè)計(jì)。在這次課題設(shè)計(jì)過(guò)程中,我們合理的分工,適宜的規(guī)劃進(jìn)度的進(jìn)展,不僅僅按時(shí)完成了預(yù)先設(shè)計(jì)的內(nèi)容,而且學(xué)到了很多書(shū)本上沒(méi)有的知識(shí)。
在這一過(guò)程中,我們充分發(fā)揮我們的主觀能動(dòng)性,想象創(chuàng)造性,攻克了很多之前都沒(méi)有想過(guò)的難關(guān),真的受益匪淺。這次設(shè)計(jì)不僅僅耗時(shí)耗力,而且還要整天對(duì)著電腦進(jìn)行仿真且不停的調(diào)試、修改,這次課程設(shè)計(jì)對(duì)我們理論和實(shí)驗(yàn)都有很大的提升,我想這些對(duì)于我們今后的學(xué)習(xí)生活都有很重要的意義,這將是我們?cè)诔绦蛟O(shè)計(jì)以及大學(xué)學(xué)習(xí)過(guò)程中的寶貴經(jīng)驗(yàn)和財(cái)富。
第二篇:微機(jī)原理與接口技術(shù)及其課程設(shè)計(jì)心得體會(huì)
微機(jī)原理與接口技術(shù)及其課程設(shè)計(jì)心得體會(huì)
本學(xué)期的微機(jī)原理和接口技術(shù)及其課程設(shè)計(jì)都已經(jīng)結(jié)束。在這個(gè)過(guò)程中,我們有所付出,也有所回報(bào),讓我感受頗多。
對(duì)于《微機(jī)原理與接口技術(shù)》這門(mén)課程而言,初學(xué)時(shí),感覺(jué)摸不著頭緒。面對(duì)著眾多的術(shù)語(yǔ)、概念及原理性的問(wèn)題不知道該如何下手。在了解課程的特點(diǎn)后,我發(fā)現(xiàn),應(yīng)該以微機(jī)的整機(jī)概念為突破口,在如何建立整體概念上下功夫?!奥槿鸽m小,五臟俱全”,可以通過(guò)學(xué)習(xí)一個(gè)模型機(jī)的組成和指令執(zhí)行的過(guò)程,了解和熟悉計(jì)算機(jī)的結(jié)構(gòu)、特點(diǎn)和工作過(guò)程。《微機(jī)原理與接口技術(shù)》課程有許多新名詞、新專(zhuān)業(yè)術(shù)語(yǔ)。透徹理解這些名詞、術(shù)語(yǔ)的意思,為今后深入學(xué)習(xí)打下基礎(chǔ)。一個(gè)新的名詞從首次接觸到理解和應(yīng)用,需要一個(gè)反復(fù)的過(guò)程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點(diǎn)又是難點(diǎn),如果不懂中斷技術(shù),就不能算是搞懂了微機(jī)原理。在學(xué)習(xí)中凡是遇到這種情況,絕對(duì)不輕易放過(guò),要力求真正弄懂,搞懂一個(gè)重點(diǎn),將使一大串概念迎刃而解。學(xué)習(xí)過(guò)程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進(jìn)行分析,比較它們之間的異同點(diǎn)。比如:微機(jī)原理中,引入了計(jì)算機(jī)由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計(jì)算機(jī)定義時(shí),強(qiáng)調(diào)輸入/輸出接口的重要性;在引出微型計(jì)算機(jī)系統(tǒng)的定義時(shí),強(qiáng)調(diào)計(jì)算機(jī)軟件與計(jì)算機(jī)硬件的相輔相成的關(guān)系。微處理器是微型計(jì)算機(jī)的重要組成部分,它與微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)是完全不同的概念。
微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)在微機(jī)中,最基礎(chǔ)的語(yǔ)言是匯編語(yǔ)言。匯編語(yǔ)言是一個(gè)最基礎(chǔ)最古老的計(jì)算機(jī)語(yǔ)言。語(yǔ)言總是越基礎(chǔ)越重要,在重大的編程項(xiàng)目中應(yīng)用最廣泛。就我的個(gè)人理解,匯編是對(duì)寄存的地址以及數(shù)據(jù)單元進(jìn)行最直接的修改。而在某些時(shí)候,這種方法是最有效,最可靠的。比如,在當(dāng)今的戰(zhàn)爭(zhēng)中,首先就是運(yùn)用這方面的知識(shí)來(lái)修改地方的系統(tǒng)程序。讓地方的衛(wèi)星偏離軌道,從而不能發(fā)現(xiàn)目標(biāo)。其威力可見(jiàn)一斑。然而,事物總有兩面性,有優(yōu)點(diǎn)自然缺點(diǎn)也不少。其中,最重要的一點(diǎn)就是,匯編語(yǔ)言很復(fù)雜,對(duì)某個(gè)數(shù)據(jù)進(jìn)行修改時(shí),本來(lái)很簡(jiǎn)單的一個(gè)操作會(huì)用比較煩瑣的語(yǔ)言來(lái)解決,而這些語(yǔ)言本身在執(zhí)行和操作的過(guò)程中,占有大量的時(shí)間和成本。在一些講求效率的場(chǎng)合,并不可取。匯編語(yǔ)言對(duì)學(xué)習(xí)其他計(jì)算機(jī)起到一個(gè)比較、對(duì)照、參考的促進(jìn)作用。學(xué)習(xí)事物總是從最簡(jiǎn)單基礎(chǔ)的開(kāi)始。那么學(xué)習(xí)高級(jí)語(yǔ)言也當(dāng)然應(yīng)當(dāng)從匯編開(kāi)始。學(xué)習(xí)匯編語(yǔ)言實(shí)際上是培養(yǎng)了學(xué)習(xí)計(jì)算機(jī)語(yǔ)言的能力和素養(yǎng)。個(gè)人認(rèn)為,學(xué)習(xí)匯編語(yǔ)言對(duì)學(xué)習(xí)其他語(yǔ)言很有促進(jìn)作用。匯編語(yǔ)言在本學(xué)期微機(jī)學(xué)習(xí)中有核心地位。本學(xué)期微機(jī)原理課程內(nèi)容繁多,還學(xué)習(xí)了可
編程的計(jì)數(shù)/定時(shí)的8253,可編程的外圍接口芯片8255A等。學(xué)的都是芯片邏輯器件,而在名字前都標(biāo)有“可編程”,其核心作用不可低估。我認(rèn)為,在學(xué)習(xí)中要考慮到“學(xué)以致用”,因此,在接下來(lái)我們又安排了微機(jī)原理與接口技術(shù)的課程設(shè)計(jì)。
經(jīng)過(guò)本次微機(jī)課題的設(shè)計(jì)與研究,我們深入的學(xué)習(xí)了除課本以外的很多微機(jī)附件的內(nèi)容,掌握了很多實(shí)驗(yàn)室操作技能。我們?cè)趯?shí)際設(shè)計(jì)中遇到很多問(wèn)題,但結(jié)合所學(xué)知識(shí)以及參考資料的幫助,不斷地嘗試,設(shè)計(jì)了一種能夠解決實(shí)際問(wèn)題的系統(tǒng)。同時(shí)也加深了我們對(duì)于現(xiàn)實(shí)生活中,實(shí)際的嵌入式操作系統(tǒng)的原理的理解。
在實(shí)際設(shè)計(jì)過(guò)程中,我們遇到了諸多設(shè)計(jì)的問(wèn)題。例仿真系統(tǒng)中某些芯片沒(méi)有,這一問(wèn)題主要是因?yàn)槲覀兯O(shè)計(jì)的功能諸多,剛開(kāi)始對(duì)于這一設(shè)計(jì)在硬件方面設(shè)計(jì)不是非常的合理,后來(lái)通過(guò)使用所用仿真軟件的繪畫(huà)功能,新增加了一個(gè)芯片便解決了所有的按鍵和現(xiàn)實(shí)問(wèn)題。
在程序設(shè)計(jì)中,我們更加深入了解了8086的使用與本質(zhì)。為了能設(shè)計(jì)成功,我們查閱了各種關(guān)于其硬件連接和軟件設(shè)計(jì)的資料,同時(shí)也發(fā)現(xiàn)了理論資料與實(shí)踐上的區(qū)別,通過(guò)多次嘗試,成功完成了硬件和軟件的設(shè)計(jì)。在這次課題設(shè)計(jì)過(guò)程中,我們合理的分工,適宜的規(guī)劃進(jìn)度的進(jìn)展,不僅僅按時(shí)完成了預(yù)先設(shè)計(jì)的內(nèi)容,而且學(xué)到了很多書(shū)本上沒(méi)有的知識(shí)。
在這一過(guò)程中,我們充分發(fā)揮我們的主觀能動(dòng)性,想象創(chuàng)造性,攻克了很多之前都沒(méi)有想過(guò)的難關(guān),真的受益匪淺。這次設(shè)計(jì)不僅僅耗時(shí)耗力,而且還要整天對(duì)著電腦進(jìn)行仿真且不停的調(diào)試、修改,這次課程設(shè)計(jì)對(duì)我們理論和實(shí)驗(yàn)都有很大的提升,我想這些對(duì)于我們今后的學(xué)習(xí)生活都有很重要的意義,這將是我們?cè)诔绦蛟O(shè)計(jì)以及大學(xué)學(xué)習(xí)過(guò)程中的寶貴經(jīng)驗(yàn)和財(cái)富。
第三篇:微機(jī)原理與接口技術(shù)課程設(shè)計(jì)心得
HEFEI UNIVERSITY
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)心得
系
別 電子信息與電氣工程系 班 級(jí) 姓
名
學(xué) 號(hào)
完成 時(shí)間 2011 / 12 / 30
初學(xué)《微機(jī)原理》時(shí),感覺(jué)摸不著頭緒。面對(duì)著眾多的術(shù)語(yǔ)、概念及原理性的問(wèn)題不知道該如何下手。在了解課程的特點(diǎn)后,我發(fā)現(xiàn),應(yīng)該以微機(jī)的整機(jī)概念為突破口,在如何建立整體概念上下功夫??梢酝ㄟ^(guò)學(xué)習(xí)一個(gè)模型機(jī)的組成和指令執(zhí)行的過(guò)程,了解和熟悉計(jì)算機(jī)的結(jié)構(gòu)、特點(diǎn)和工作過(guò)程。
《微機(jī)原理》課程有許多新名詞、新專(zhuān)業(yè)術(shù)語(yǔ)。透徹理解這些名詞、術(shù)語(yǔ)的意思,為今后深入學(xué)習(xí)打下基礎(chǔ)。一個(gè)新的名詞從首次接觸到理解和應(yīng)用,需要一個(gè)反復(fù)的過(guò)程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點(diǎn)又是難點(diǎn),如果不懂中斷技術(shù),就不能算是搞懂了微機(jī)原理。在學(xué)習(xí)中凡是遇到這種情況,絕對(duì)不輕易放過(guò),要力求真正弄懂,搞懂一個(gè)重點(diǎn),將使一大串概念迎刃而解。學(xué)習(xí)過(guò)程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進(jìn)行分析,比較它們之間的異同點(diǎn)。
“微機(jī)原理與系統(tǒng)設(shè)計(jì)” 作為電子信息類(lèi)本科生教學(xué)的主要基礎(chǔ)課之一,課程緊密結(jié)合電子信息類(lèi)的專(zhuān)業(yè)特點(diǎn),圍繞微型計(jì)算機(jī)原理和應(yīng)用主題,以Intelx86CPU為主線(xiàn),系統(tǒng)介紹微型計(jì)算機(jī)的基本知識(shí),基本組成,體系結(jié)構(gòu)和工作模式,從而使學(xué)生能較清楚地了解微機(jī)的結(jié)構(gòu)與工作流程,建立起系統(tǒng)的概念。
這次微機(jī)原理課程設(shè)計(jì)歷時(shí)兩個(gè)星期,在整整兩星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。以前在上課的時(shí)候,老師經(jīng)常強(qiáng)調(diào)在寫(xiě)一個(gè)程序的時(shí)候,一定要事先把程序原理方框圖化出來(lái),但是我開(kāi)始總覺(jué)得這樣做沒(méi)必要,很浪費(fèi)時(shí)間。但是,這次課程設(shè)計(jì)完全改變了我以前的那種錯(cuò)誤的認(rèn)識(shí),以前我接觸的那些程序都是很短、很基礎(chǔ)的,但是在課程設(shè)計(jì)中碰到的那些需要很多代碼才能完成的任務(wù),畫(huà)程序方框圖是很有必要的。因?yàn)橥ㄟ^(guò)程序方框圖,在做設(shè)計(jì)的過(guò)程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個(gè)很清楚的思路,而且在程序測(cè)試的過(guò)程中也有利于查錯(cuò)。其次,以前對(duì)于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過(guò)一段上機(jī)的實(shí)踐,對(duì)于怎么去排錯(cuò)、查錯(cuò),怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個(gè)寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。
通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。
這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在王老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在王老師的身上我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!
第四篇:微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-交通燈控制系統(tǒng)
版權(quán)所有
微機(jī)原理課程設(shè)計(jì)
報(bào) 告 書(shū)
課 題 名
班 級(jí)
學(xué) 號(hào)
姓 名
指導(dǎo)教師 日 期
目錄 設(shè)計(jì)目的................................................................................................2 2 設(shè)計(jì)內(nèi)容................................................................................................2 3 設(shè)計(jì)要求................................................................................................2 4 設(shè)計(jì)原理與硬件電路............................................................................3 5 程序流程圖............................................................................................5 6 程序代碼................................................................................................5 7 程序及硬件系統(tǒng)調(diào)試情況....................................................................9 8 設(shè)計(jì)總結(jié)與體會(huì)..................................................................................10 9 參考文獻(xiàn)..............................................................................................10 設(shè)計(jì)目的
電子課程設(shè)計(jì)是電子技術(shù)學(xué)習(xí)中非常重要的一個(gè)環(huán)節(jié),是將理論知識(shí)和實(shí)踐能力相統(tǒng)一的一個(gè)環(huán)節(jié),是真正鍛煉學(xué)生能力的一個(gè)環(huán)節(jié)。交通燈能保證行人過(guò)馬路的安全,控制交通狀況等優(yōu)點(diǎn)受到人們的歡迎,在很多場(chǎng)合得到了廣泛的應(yīng)用。
交通燈是采用計(jì)算機(jī)通過(guò)編寫(xiě)匯編語(yǔ)言程序控制的。紅燈停,綠燈行的交通規(guī)則。廣泛用于十字路口,車(chē)站, 碼頭等公共場(chǎng)所,成為人們出行生活中不可少的必需品,由于計(jì)算機(jī)技術(shù)的成熟與廣泛應(yīng)用,使得交通燈的功能多樣化,遠(yuǎn)遠(yuǎn)超過(guò)老式交通燈, 交通燈的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了交通燈的功能。諸如閃爍警示、鳴笛警示,時(shí)間程序自動(dòng)控制、倒計(jì)時(shí)顯示,所有這些,都是以計(jì)算機(jī)為基礎(chǔ)的。還可以根據(jù)主、次干道的交通狀況的不同任意設(shè)置各自的不同的通行時(shí)間?;蛘呓o紅綠色盲聲音警示的人性化設(shè)計(jì)?,F(xiàn)在的交通燈系統(tǒng)很多都增加了智能控制環(huán)節(jié),比如對(duì)闖紅燈的車(chē)輛進(jìn)行拍照。當(dāng)某方向紅燈亮?xí)r,此時(shí)相應(yīng)的傳感器開(kāi)始工作,當(dāng)有車(chē)輛通過(guò)時(shí),照相機(jī)就把車(chē)輛拍下。
要將交通燈系統(tǒng)產(chǎn)品化,應(yīng)該根據(jù)客戶(hù)不同的需求進(jìn)行不同的設(shè)計(jì),應(yīng)該在程序中增加一些可以人為改變的參數(shù),以便客戶(hù)根據(jù)不同的需要隨時(shí)調(diào)節(jié)交通燈。因此,研究交通燈及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。
設(shè)計(jì)內(nèi)容
交通燈控制系統(tǒng)
利用8253定時(shí)器、8255等接口,設(shè)計(jì)一電路,模擬十字路口交通燈控制。要求能實(shí)現(xiàn)自動(dòng)控制和手動(dòng)應(yīng)急控制。設(shè)計(jì)要求
在Proteus環(huán)境下,結(jié)合課程設(shè)計(jì)題目,設(shè)計(jì)硬件原理圖,搭建硬件電路 軟件設(shè)計(jì)
1、采用模塊化程序結(jié)構(gòu)設(shè)計(jì)軟件,可將整個(gè)軟件分成若干功能模塊。
2、畫(huà)出程序流程圖。
3、根據(jù)流程圖,編寫(xiě)源程序。
4、在Proteus環(huán)境下,仿真調(diào)試程序 設(shè)計(jì)原理與硬件電路 程序流程圖 程序代碼
A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CTRL_PORT EQU 206H
CLK0 EQU 100H CLK1 EQU 102H CTRL EQU 106H DATA SEGMENT BUF1 DB 09H,11H,21H,12H,0CH,4AH,89H,49H BUF2 DB 0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AL,10010000B MOV DX,CTRL_PORT OUT DX,AL MOV AL,0 MOV DX,B_PORT OUT DX,AL MOV DX,C_PORT OUT DX,AL CALL PLAY LEA SI,BUF1 LEA BX,BUF2 AAA1: MOV CH,[BX] MOV CL,CH AND CL,00001111B
CALL SHOW1 CALL DELAY CALL SHOW2 CALL DELAY JMP AAA6 AAA4: MOV DX,A_PORT IN AL,DX AND AL,00000001B CMP AL,00000000B JNZ AAA7 MOV AL,00001001B MOV DX,B_PORT OUT DX,AL MOV AL,10010000B MOV DX,C_PORT OUT DX,AL JMP AAA4 AAA7: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000000B JNZ AAA4 CMP CL,0 JNZ AAA5 INC SI INC BX MOV AL,[BX] CMP AL,0 JNZ AAA1 JMP START
AAA5: DEC CL DEC CH CALL SHOW2 CALL DELAY AAA6: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000010B JNZ AAA6 JMP AAA4
SHOW1 PROC MOV AL,[SI] MOV DX,B_PORT OUT DX,AL RET SHOW1 ENDP
SHOW2 PROC MOV AL,CH MOV DX,C_PORT OUT DX,AL RET SHOW2 ENDP
PLAY PROC MOV AL,00110111B MOV DX,CTRL OUT DX,AL MOV AX,1000
MOV DX,CLK0 OUT DX,AL MOV AL,AH OUT DX,AL RET PLAY ENDP
DELAY PROC PUSH CX MOV CX,0F5FH LOOP1: LOOP LOOP1 POP CX RET DELAY ENDP
CODE ENDS END START 程序及硬件系統(tǒng)調(diào)試情況 程序運(yùn)行結(jié)果:
1. 東西路右拐和南北路左拐綠燈點(diǎn)亮5秒,直通到均為紅燈 2. 5秒后,黃燈亮3秒鐘。此時(shí)南北方向仍維持紅燈點(diǎn)亮。3. 東西方向直通,為綠燈,南北 方向紅燈
4. 黃燈再亮三秒之后,東西路左拐和南北路右拐綠燈點(diǎn)亮 5. 南北方向的黃燈亮3秒鐘后,南北方向直通,延時(shí)5秒 6. 閉合A口開(kāi)關(guān),四個(gè)路口全紅燈,表明緊急狀態(tài)。設(shè)計(jì)總結(jié)與體會(huì)
經(jīng)過(guò)這兩周的課程設(shè)計(jì), 做關(guān)于交通燈系統(tǒng)設(shè)計(jì),我認(rèn)真查閱資料,學(xué)習(xí)關(guān)于這方面的知識(shí),比如說(shuō)要了解8086芯片中各個(gè)引腳的功能,怎么樣去使用8255這個(gè)可編程并行接口芯片,怎么樣使用8253來(lái)定時(shí)及輸出一定頻率的脈沖以及交通有哪些規(guī)則.在理論學(xué)習(xí)的基礎(chǔ)上,又下了一次苦工夫,算是明白了設(shè)計(jì)一個(gè)系統(tǒng)的過(guò)程;也讓我體會(huì)到要想成功地設(shè)計(jì)某個(gè)東西,光學(xué)好專(zhuān)業(yè)知識(shí)是不夠的,必須要系統(tǒng)的知識(shí),無(wú)論在哪方面都要有個(gè)明白的概念,只有這樣才不至于在設(shè)計(jì)過(guò)程中摸不著頭腦,知道去哪些是需要查的資料,還有一點(diǎn),我覺(jué)得我在芯片編程方面,特別是在初始化方面是我最大的困難,或許是我的匯編語(yǔ)言學(xué)得不夠好,我只能借助參考資料,查每一條指令的作用與功能,這樣一來(lái)又鞏固了我的對(duì)匯編語(yǔ)言的了解.而且在設(shè)計(jì)中,把死板的課本知識(shí)變得生動(dòng)有趣,激發(fā)了學(xué)習(xí)的積極性。把學(xué)過(guò)的計(jì)算機(jī)編譯原理的知識(shí)強(qiáng)化,能夠把課堂上學(xué)的知識(shí)通過(guò)自己設(shè)計(jì)的程序表示出來(lái),加深了對(duì)理論知識(shí)的理解。以前對(duì)與計(jì)算機(jī)操作系統(tǒng)的認(rèn)識(shí)是模糊的,概念上的,現(xiàn)在通過(guò)自己動(dòng)手做實(shí)驗(yàn),從實(shí)踐上認(rèn)識(shí)了操作系統(tǒng)是如何處理命令的,如何協(xié)調(diào)計(jì)算機(jī)內(nèi)部各個(gè)部件運(yùn)行,對(duì)計(jì)算機(jī)編譯原理的認(rèn)識(shí)更加深刻。參考文獻(xiàn)
[1] 彭虎、周佩玲、傅忠謙.《微機(jī)原理里與接口技術(shù)》(第2版)[M] 北京:電子工業(yè)出版社 2008,149-187 [2] 周明德.《微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用》[M] 北京:清華大學(xué)出版社,1998;
第五篇:太原理工大學(xué)微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
微機(jī)原理課程設(shè)計(jì)
學(xué)校:
學(xué)院:
設(shè)計(jì)題目:
專(zhuān)業(yè)班級(jí):
姓名:
學(xué)號(hào):
太原理工大學(xué)
信息工程學(xué)院
國(guó)際象棋棋盤(pán)繪制程序
一.課程設(shè)計(jì)的題目:國(guó)際象棋棋盤(pán)繪制程序 二.程序功能簡(jiǎn)述
本程序在屏幕上左側(cè)繪制一個(gè)紅黑相間的國(guó)際象棋棋盤(pán),右側(cè)繪制一個(gè)漢字‘棋’,棋字的四個(gè)角有角框。顯示完后,按q退出。
運(yùn)行本程序后,從屏幕左上角開(kāi)始,棋盤(pán)的奇數(shù)行位置逐行出現(xiàn)彼此相間15個(gè)像素寬的紅色塊(虛的),共出現(xiàn)五行,每行五個(gè)紅色塊,然后從第一行的第一個(gè)色塊的右下角開(kāi)始,在棋盤(pán)的偶數(shù)行位置逐行出現(xiàn)彼此相間15個(gè)像素寬的紅色塊(虛的),每行四塊,共四行。其中紅色塊由8X8個(gè)彼此相間一個(gè)像素的紅點(diǎn)組成,前一個(gè)色塊和后一個(gè)色塊之間有一定的顯示時(shí)間間隔。
然后,屏幕的右側(cè)會(huì)按‘棋’的筆畫(huà)順序,一筆一畫(huà)的顯示漢字‘棋’,其中前一筆和后一筆之間有一定的顯示時(shí)間間隔。然后按先橫后豎的順序,在棋字的四個(gè)角的斜上方顯示四個(gè)角框。筆畫(huà)同樣有時(shí)間間隔。顯示完后,若在鍵盤(pán)上輸入q,則程序退出。
三.主要設(shè)計(jì)思想簡(jiǎn)述
本程序主要通過(guò)調(diào)用 10H號(hào)BIOS中斷的0CH號(hào)功能點(diǎn)調(diào)用來(lái)顯示圖像。將要顯示點(diǎn)的坐標(biāo)(line,cow)分別傳送到dx,cx,然后將點(diǎn)的顏色代碼傳送al,接著調(diào)用10H號(hào)BIOS中斷的0CH號(hào)功能,一個(gè)點(diǎn)就顯示出來(lái)。
顯示矩形塊以及筆畫(huà)(橫,豎,撇,捺)是先確定第一個(gè)點(diǎn)的坐標(biāo)后,然后讓點(diǎn)的行坐標(biāo)line,列坐標(biāo)cow按某種方式循環(huán),每次循環(huán)后調(diào)用10H號(hào)BIOS中斷的0CH號(hào)功能來(lái)完成點(diǎn)的顯示。全部循環(huán)完后,這些點(diǎn)的排列就是要顯示的矩形塊或筆畫(huà)。
所以,點(diǎn)的行坐標(biāo)line,列坐標(biāo)cow的循環(huán)方式就決定了要顯示的圖像。顯示矩形塊(虛的)的循環(huán)方式是:line,cow都循環(huán),line在外層,循環(huán)一次加2,cow在內(nèi)層,循環(huán)一次加2,line循環(huán)的次數(shù)決定了方塊的高,cow循環(huán)的次數(shù)決定了方塊的寬。筆畫(huà)橫的循環(huán)方式是: 只cow循環(huán),循環(huán)一次加1,循 環(huán)的次數(shù)決定了筆畫(huà)橫的長(zhǎng)度。筆畫(huà)豎的循環(huán)方式是:只line循環(huán),循環(huán)一次加1,循環(huán)的次數(shù)決定了筆畫(huà)豎的長(zhǎng)度。筆畫(huà)撇的循環(huán)方式是: line,cow都循環(huán),在同一層。循環(huán)一次line加1,cow減1。循環(huán)的次數(shù)決定了筆畫(huà)撇的長(zhǎng)度 筆畫(huà)捺的循環(huán)方式是:line,cow都循環(huán),在同一層。循環(huán)一次line加1,cow加1。循環(huán)的次數(shù)決定了筆畫(huà)捺的長(zhǎng)度。
第一個(gè)點(diǎn)的坐標(biāo),循環(huán)方式,循環(huán)的次數(shù)決定了要顯示的圖形的位置,形狀,尺寸。
將位置不同的矩形塊(虛的)按照棋盤(pán)的幾何結(jié)構(gòu)顯示出來(lái),就構(gòu)成了棋盤(pán)。將位置,長(zhǎng)度不同的筆畫(huà)(橫,豎,撇,捺)按照棋字的幾何結(jié)構(gòu)顯示出來(lái),就構(gòu)成了棋字。邊框同理。
三.程序流程圖。
四.源程序代碼
DATA
SEGMENT LINE
DW
0
;矩形塊左上角的行 ROW
DW
0
;矩形塊左上角的列 PIX
DB
;矩形塊的顏色 N
DW
?
;文字筆畫(huà)的長(zhǎng)度 PIX_A DB
;文字筆畫(huà)的顏色 DATA
ENDS
CODE
SEGMENT
ASSUME CS:CODE,DS:DATA START:
;主程序
MOV AX , DATA
MOV DS , AX
MOV AH , 0
MOV AL , 4
INT 10H
;設(shè)置320×200彩色圖形方式
mov ah,0bh
mov bh,01
mov bl,0
int 10h
KUAI
MACRO
R,L,N
;定義顯示矩形塊陣列宏
LOCAL LA,LB
MOV ROW,R
MOV LINE,L
mov di,N
LA:
MOV CX, N
LB:
CALL DISP_RECT
call delay
ADD row, 30
LOOP LB
MOV ROW, R
add line,30
DEC DI
JNZ LA
ENDM
HONG1 MACRO L,R,NUM,CHEN
;定義顯示筆畫(huà)宏
MOV LINE,L
MOV ROW,R
MOV N,NUM
CALL CHEN
CALL delay1
ENDM
KUAI
0,0,5
;顯示棋盤(pán)奇數(shù)行
KUAI
15,15,4
;顯示棋盤(pán)偶數(shù)行
HONG1 30,165,21,HENG
;顯示‘棋’字
HONG1 15,176,60,SHU
HONG1 31,175,10,PIAN
HONG1 32,178,5,NA
HONG1 30,191,30,HENG
HONG1 15,196,45,SHU
HONG1 15,214,45,SHU
HONG1 40,196,19,HENG
HONG1 50,196,19,HENG
HONG1 60,191,30,HENG
HONG1 63,200,10,PIAN
HONG1 63,210,12,NA
HONG1 10,160,5,HENG
;顯示角框
L5:
DISP_RECT
HONG1 10,160,5,SHU HONG1 10,223,5,HENG HONG1 10,228,5,SHU HONG1 80,160,5,HENG HONG1 75,160,5,SHU HONG1 80,223,5,HENG HONG1 75,228,6,SHU
mov
ah,8
;按q返回DOS int
21h cmp
al,'q' JNE
L5 MOV AH , 4CH INT 21H
PROC near PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH
;指明寫(xiě)點(diǎn)調(diào)用 MOV AL , PIX
;取點(diǎn)的顏色
MOV DI , 8
;用于控制行顯示循環(huán)
MOV DX , LINE
;取點(diǎn)的行坐標(biāo) DISP_2:
MOV SI , 8
;控制列顯示循環(huán)
MOV CX , ROW
;取顯示點(diǎn)的列坐標(biāo) DISP_1:
INT 10H
;完成點(diǎn)的顯示
INC CX
DISP_RECT
DELAY
D11:
D12:
inc cx
DEC SI JNZ DISP_1
INC DX inc dx
DEC DI JNZ DISP_2
POP DI POP SI POP DX POP CX POP AX RET ENDP PROC NEAR
PUSH CX PUSH DX MOV DX,2500 MOV CX,25000
LOOP D12 DEC
DX JNZ
D11 POP
DX
;列坐標(biāo)加2;循環(huán)顯示完一行;行坐標(biāo)加2;循環(huán)顯示完8行
;延時(shí)子程序
POP
CX
RET DELAY
ENDP
DELAY1
PROC NEAR
;延時(shí)子程序1
PUSH CX
D11A:
D12A:
DELAY1
HENG
DISP_3:
PUSH DX MOV DX,10000 MOV CX,25000
LOOP D12A DEC
DX JNZ
D11A POP
DX POP
CX RET ENDP PROC near
PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH
MOV AL , PIX_A MOV DX , LINE
MOV SI , N
MOV CX , ROW
INT 10H
inc cx
DEC SI
;筆畫(huà)橫的子程序
;指明寫(xiě)點(diǎn)調(diào)用
;取點(diǎn)的顏色
;取點(diǎn)的行坐標(biāo)
;控制列顯示循環(huán)
;取顯示點(diǎn)的列坐標(biāo);完成點(diǎn)的顯示;列坐標(biāo)加1(行不變)12
JNZ DISP_3
;循環(huán)顯示完一行
POP DI
POP SI
POP DX
POP CX
POP AX
HENG
SHU
DISP_4:
RET ENDP PROC near
PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH
MOV AL , PIX_A
MOV DI , N
MOV DX , LINE
MOV CX , ROW
INT 10H
inc DX
DEC DI JNZ DISP_4
POP DI POP SI POP DX POP CX POP AX RET
;筆畫(huà)豎的子程序
;指明寫(xiě)點(diǎn)調(diào)用;取點(diǎn)的顏色;用于控制行顯示循環(huán)
;取點(diǎn)的行坐標(biāo)
;取顯示點(diǎn)的列坐標(biāo);完成點(diǎn)的顯示;行坐標(biāo)加1(列不變);循環(huán)顯示完一列 13
SHU
ENDP
PIAN
PROC near
;筆畫(huà)撇的子程序
PUSH AX
PUSH CX
PUSH DX
DISP_5:
PIAN
NA
PUSH SI PUSH DI MOV AH , 0CH
MOV AL , PIX_A
MOV DI , N
MOV DX , LINE
MOV CX , ROW
INT 10H
DEC cx
inc DX
DEC DI JNZ DISP_5
POP DI POP SI POP DX POP CX POP AX RET ENDP PROC near
PUSH AX PUSH CX PUSH DX
;指明寫(xiě)點(diǎn)調(diào)用;取點(diǎn)的顏色;用于控制撇的長(zhǎng)度
;取點(diǎn)的行坐標(biāo)
;取顯示點(diǎn)的列坐標(biāo);完成點(diǎn)的顯示;列坐標(biāo)減1;行坐標(biāo)加1;筆畫(huà)捺的子程序 14
PUSH SI
PUSH DI
MOV AH , 0CH
;指明寫(xiě)點(diǎn)調(diào)用
MOV AL , PIX_A
;取點(diǎn)的顏色
MOV DI , N
;用于控制顯示循環(huán)
MOV DX , LINE
;取點(diǎn)的行坐標(biāo)
MOV CX , ROW
;取顯示點(diǎn)的列坐標(biāo) DISP_6:
INT 10H
;完成點(diǎn)的顯示
INC cx
;列坐標(biāo)加1
inc DX
;行坐標(biāo)加1
DEC DI
JNZ DISP_6
POP DI
POP SI
POP DX
POP CX
POP AX
RET NA
ENDP
CODE
ENDS
END START
五.總結(jié)報(bào)告
①課程設(shè)計(jì)中所遇到的主要問(wèn)題和解決方法。
首先遇到的問(wèn)題是程序的調(diào)試,我把程序?qū)懞貌z查后沒(méi)發(fā)現(xiàn)錯(cuò)誤,然后上機(jī)匯 15 編卻發(fā)現(xiàn)5個(gè)警告錯(cuò)誤,看錯(cuò)誤類(lèi)型號(hào),都是英語(yǔ),看不懂,幸好課本后部附錄里有翻譯,這個(gè)問(wèn)題解決了,但我還是不知道錯(cuò)誤的那幾行哪里錯(cuò),看起來(lái)很正確。最后。經(jīng)過(guò)思考和耐心檢查,終于解決了,原來(lái)其中一行把宏實(shí)參0寫(xiě)成了O(讀歐),這一行的錯(cuò)誤導(dǎo)致了其他行的錯(cuò)誤。調(diào)試程序確實(shí)需要耐心,這個(gè)錯(cuò)誤很簡(jiǎn)單,但太隱蔽了,檢查了20分鐘,差點(diǎn)沒(méi)抓狂。
然后遇到的問(wèn)題是畫(huà)流程圖,由于以前沒(méi)畫(huà)過(guò),也不知道用什么軟件,就去網(wǎng)上搜索,于是發(fā)現(xiàn)了windows office套件中的 Visio。Visio確實(shí)很好用,操作很簡(jiǎn)單,容易上手,畫(huà)出的圖很漂亮,流程圖終于完成了。
②創(chuàng)新和得意之處。
這個(gè)程序是仿寫(xiě)的,但基本上只是借鑒了它的方法,95%的內(nèi)容是重寫(xiě)的,增加了許多東西和功能。我覺(jué)的自己的這個(gè)程序比較起來(lái)還是簡(jiǎn)潔的,設(shè)計(jì)了兩個(gè)宏和五個(gè)子程序來(lái)實(shí)現(xiàn)各種功能,然后在主程序中調(diào)用。代碼看起來(lái)比較整齊,條理,如果要顯示別的圖像,只要在主程序中改一下宏的參數(shù)就可以了。
③課程設(shè)計(jì)中存在的不足,需要進(jìn)一步改進(jìn)的設(shè)想。
這個(gè)程序還是不夠精練,五個(gè)圖形子程序有許多相似的地方,功能區(qū)別不大,加上些判斷,應(yīng)該可以合并成一個(gè)子程序,兩個(gè)延時(shí)子程序除了參數(shù),其實(shí)是一個(gè)子程序,也可以合并成一個(gè)子程序,這樣用內(nèi)存會(huì)少很多。
④課程設(shè)計(jì)的感想和心得體會(huì)。
課程設(shè)計(jì)做完了,之前覺(jué)的很難,但做完以后,又感覺(jué)很簡(jiǎn)單,最起碼對(duì)我的這個(gè)程序來(lái)說(shuō)。曾經(jīng)的困惑現(xiàn)在已經(jīng)成了知識(shí),有一種成就感??梢哉f(shuō),我享受了一次微機(jī)原理課程設(shè)計(jì)。對(duì)此而言,前幾天的辛苦和思考都是值得的。真希望這樣的課程設(shè)計(jì)能多些。在課程設(shè)計(jì)中,感覺(jué)真正的學(xué)到了東西。以前書(shū)本上的知識(shí)得到融會(huì)貫通,更加透徹的理解了知識(shí)間的聯(lián)系。指令系統(tǒng)也更熟悉了,看來(lái)學(xué)編程只有兩種方法,看程序,寫(xiě)程序,先看后寫(xiě)。
在課程設(shè)計(jì)中,第一次領(lǐng)會(huì)到匯編語(yǔ)言的美妙。簡(jiǎn)潔,精確,效率,這就是匯編。匯編的簡(jiǎn)潔和對(duì)硬件的精確控制給我留下很深的映象。實(shí)現(xiàn)同樣的功能,用c的 16 話(huà)編譯出來(lái)也許得30條指令,但用匯編5,6條就解決了。寫(xiě)匯編程序時(shí)似乎可以看到cpu在如何工作。終于理解了學(xué)微機(jī)原理為什么要學(xué)匯編了。