開始進棧保護
消抖開中斷
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...