微控制器原理及應用

2022-12-23 05:48:05 字數 3506 閱讀 5911

開始進棧保護

消抖開中斷

a←(r0)

查表數碼管顯示r0

r0自加1

開始進棧保護

消抖開計數器

a←(r1)

查表數碼管顯示r1

r1自加1

恢復現場

恢復現場

中斷返回

中斷返回

外中斷0顯示數a加1

定時器/計數器t0顯示數b加1

開始進棧保護

消抖開中斷

a←(r0)

30h←r1

n(a)=(30h)?

yc←(a)-(30h)

nc=0?

led0顯示

yled3顯示

led1亮

恢復現場

中斷返回

外中斷1開始比較

一:課程設計要求及主要功能:

用兩個按鍵分別設定數a和數b,按鍵每按動一次,資料加1,另用乙個按鍵作為資料設定結束的確認,資料設定確認完畢後,用3個發光二極體顯示比較結果:a>b,a1.使用一條8pin的資料排線一端連線到mcu模組的「p0口」的「p0.

0~p0.7」,另一端連線到「8-seg」模組的jp22的「a~dp」。(用於段選碼)

2.使用一條8pin的資料排線一端連線到mcu模組的「p2口」的「p2.0~p2.7」,另一端連線到「8-seg」模組的jp57的「ds1~ds8」。(用於位選碼)

3使用一條8pin的資料排線一端連線到mcu模組的「p1口」的「p1.0~p1.7」,另一端連線8-led模組的jp25(s1~s8)(在led上顯示相應的》=<)

4.使用1條杜邦線,一端連線jp26-k1,另一端連線mcu模組的jp11-p3.2(外部中斷0)

5.使用1條杜邦線,一端連線jp26-k2,另一端連線mcu模組的jp11-p3.3(外部中斷1)6.

使用一條杜邦線,一端連線按鍵開關模組jp26-k3,另一端連線mcu模組jp11-p3.4(定時器/計數器0計數脈衝輸入端)三:軟體設計流程及描述:

描述:為了兩數大小比較明顯,所以將兩數採用查表的方式送到數碼管上顯示。數a用外中斷0顯示加1計數,數b用t0中斷顯示加1技術,外中斷1作為結束計數開始比較的標誌。

比較結果在led的低三位顯示,分別代表》 = <。

主流程圖:

開始初始化

等待中斷

四:課程設計源程式:org 0000h

ljmp main ;復位轉向主程式org 0003h ;外部中斷0入口位址ljmp int_0 ;轉向外中斷0服務程式org 0013h ;外部中斷1入口位址

ljmp int_1 ;轉向外部中斷1服務程式org 000bh ;定時器/計數器t0入口位址ljmp tos ;跳轉到t0中斷服務程式org 0050h

main:setb ex0 ;外中斷0開中斷setb it0 ;選擇邊沿觸發方式setb ex1 ;外中斷1開中斷setb it1 ;選擇邊沿觸發方式

mov tmod,#06h ;t0方式2,外部技術方式mov th0,#0ffh ;t0計數1次的初值mov tl0,#0ffh

setb et0 ;t0允許中斷setb ea ;cpu開中斷setb tr0 ;啟動t0計數mov r0,#0 ;r0中存放數amov r1,#0 ;r1中存放數bmov sp,#60h;進堆疊lp0:sjmp lp0 ;等待中斷int_0:push acc ;進棧保護現場push psw

clr ex0 ;關外中斷0中斷

acall delay;10ms延時子程式,鍵消鬥setb ex0 ;開外中斷0中斷

mov p2,#0feh;在數碼管最低位顯示該數mov a,r0;a<-(r0)

mov dptr,#tab ;(dptr)<-**首位址movc a,@a+dptr ;查表

mov p0,a ;結果存在p0中inc r0ro自加1

cjne r0,#10,lp1;比較轉移指令,不相等跳出中斷,相等r0=0跳出中斷mov r0,#0

lp1:pop psw恢復現場pop acc

reti中斷結束tos:push acc進棧保護現場push psw

clr et0關計數器acall delay ;鍵消鬥setb et0開中斷

mov p2,#7fh ;在數碼管最高位顯示該數

mov a,r1;a<-(r1)

mov dptr,#tab ;(dptr)<-**首位址movc a,@a+dptr ;查表

mov p0,a結果存在p0中inc r1ro自加1

cjne r1,#10,lp2 ;比較轉移指令,不相等跳出中斷,相等r1=0跳出中斷mov r1,#0

lp2:pop psw;恢復現場pop acc

reti中斷結束

int_1:push acc ;進棧保護現場push psw

clr ex1關外中斷1中斷

acall delay ;10ms延時子程式,鍵消鬥setb ex1開外中斷1中斷mov a,r0a<-(r0)mov 30h,r1

cjne a,30h,lp3 ;比較轉移指令,若a=b順序執行,不相等則轉lp3mov p1,#0fdh ;在led上顯示sjmp lp5

lp3:clr c清零

subb a,30h ;a-b的值放在a中

jnc lp4判布林累加器c,等於零轉移,mov p1,#0feh ;在led上顯示sjmp lp5

lp4:mov p1,#0fbh ;在led上顯示sjmp lp5

lp5:pop psw恢復現場pop acc

reti中斷結束

delay:mov r7,#20 ;10ms延時子程式del1:mov r6,#250del2:nopnop

djnz r6,del2djnz r7,del1ret

tab:db 0c0h,0f9h,0a4h,0b0h,99h ;表db 92h,82h,0f8h,80h,90hend;結束

五:心得體會

本學期已經接近尾聲了,接觸微控制器半年以來,感觸頗深。感謝琳老師在理論中的認真講解,感謝於老師在實驗課上的精心指導。感謝各位老師對學生動手實踐能力這方面的大力支援。

特別感謝老師們在「燈效電子」比賽中的精心指導和大力支援!這一學期你們辛苦啦!

在這次難得的課程設計過程中我鍛鍊了自己的思考能力和動手能力。通過題目選擇和設計電路的過程中,加強了我思考問題的完整性和實際生活聯絡的可行性。在方案設計選擇上,培養了我們綜合應用微控制器的能力,對微控制器的各個管腳的功能也有了進一步的認識。

還鍛鍊我們個人的查閱技術資料的能力,動手能力,發現問題,解決問題的能力。並且我們熟練掌握了有關器件的效能及測試方法。

再次感謝老師的輔導以及同學的幫助,是他們讓我有了乙個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界開啟,感受頗深。

老師您辛苦啦!

成績評定

專案1、設計過程中學習態度等方面2、課程設計質量與答辯3、設計報告書寫規範程度4、平時成績(含考勤)總成績

權重0.10.50.10.3成績

微控制器原理及應用

網路教育學院 題目 課題一 微控制器電子時鐘設計 學習中心 甘肅農墾河西分校 層次 專公升本 專業 電氣工程及其自動化 年級 2015年春季 學號 201303576510 學生姓名 王書飛 一,引言 1957年,ventura發明了世界上第乙個電子錶,從而奠定了電子時鐘的基礎,電子時鐘開始迅速發展...

微控制器原理及應用答案

嵌入式微處理器的基礎是通用計算機中的cpu,它的位址匯流排數目較多能擴充套件較大的儲存器空間,所以可配置實時多工作業系統 rtos rtos是嵌入式應用軟體的基礎和開發平台。正由於嵌入式微處理器能執行實時多工作業系統,所以能夠處理複雜的系統管理任務和處理工作。因此,廣泛地應用在移動計算平台 手機 工...

微控制器原理及應用課件學生用

微控制器例題程式清單 ch1 1 微控制器i o口輸出ch1 2 微控制器i o口輸入 ch1 3 程式儲存器的使用 ch1 4 工作暫存器組的使用 ch1 5 位位址使用ch1 6 利用堆疊指標保護斷點位址 ch1 7 利用堆疊保護資料ch1 8 片外資料儲存器 ch1 9 特殊功能暫存器使用 c...