微控制器課程設計
第一章:設計題目
第二章:目的意義
第三章:要求和方案
第四章:設計內容
3.1 a/d轉換電路的製作
3.2 微控制器序列口收發電路的製作
3.3 基本人機介面設計
3.4 基本專案知識
第五:設計步驟
4.1 理解並確定設計要求
4.2 確定整體控制方案
4.3 編寫程式
第六章:附錄
一設計題目:基於序列口收發電路的溫度測量微控制器系統設計
二目的意義:
1 綜合運用並鞏固所學微控制器設計知識;
2 採用程式設計的方法實現基於序列口收發電路的溫度測量微控制器系統設計。
三設計要求和案:
設計要求:
①按題意要求,畫出原理圖;
②微控制器接線圖;
③按照題目要求設計採集電路;
④完成微控制器控制程式;
⑤完成設計說明書;
設計方案:
本系統以80c51為核心資料處理器。主要外圍器件有熱敏電阻,adc0809,8255a,74ls373,max232,數碼管等。
熱敏電阻是溫度感測器,將溫度訊號轉化為對應的電訊號,傳送給adc0809
adc0809是模數/轉換晶元,將熱敏電阻測得溫度模擬訊號轉化為對應的數碼訊號。adc0809是8是一種8位的逐次逼近式a/d轉換器,並提供乙個8通道的模擬多路開關和聯合定址邏輯,可以測量8路不同的模擬訊號,分時對模擬訊號進行a/d轉換。轉換時間取決於時鐘頻率,典型的轉換時間為100us。
模擬輸入範圍單極性是0~5v。
8255a是並口擴充套件晶元,這裡使用了8255a的abc口,a口接led燈,b口接數碼管,c口接數碼管的陽極控制端,用於掃瞄輸出。
74ls373為位址輸出鎖存晶元。由於把8255a,adc0809當做外部擴充套件儲存器訪問,所以需要用到位址鎖存。
max232為串列埠電平轉換晶元。因為pc機和微控制器串列埠電平不一樣,所以需要使用串列埠電平轉換晶元max232。
74ls138是3線8線解碼器。在這裡作為位址解碼。數碼管用於微控制器顯示adc0809轉換後的溫度值。
硬體電路製作
硬體電路主要由cpu、晶體振盪電路、復位電路、a/d轉換電路、led顯示電路等組成。
復位及晶振電路
四:計內容:
轉換電路的製作 。
① 掌握a/d轉換電路的製作。
② 掌握溫度取樣電路的原理和製作。
③ 掌握將轉換的數碼訊號換算成實際溫度值的方法。
④ 掌握相應電路的程式編寫
2.微控制器序列口收發電路的製作
1 學會微控制器與pc機收發電路的製作。
2 掌握mcs-51微控制器序列口收發程式的編寫要點。
3.基本人機介面設計
1 完成顯示介面設計。
2 完成鍵盤介面設計。
a/d轉換器的製作
r21為熱敏電阻感測器,它將測得問溫度訊號轉換為對應的電訊號。然後輸入到放大器,這裡沒有對訊號進行放大,只是對訊號進行跟蹤,增大訊號的驅動能力。然後訊號通過低通濾波器,把訊號進行處理。
最後通過華東變阻器分壓後送到adc0809的in0端。
當微控制器傳送資料轉換命令後,adc開始資料轉換,當轉換結束後資料鎖存到adc的內部鎖存器中。同時adc將向微控制器傳送一資料轉換結束中斷,通知微控制器資料轉換結束。微控制器響應中斷傳送讀命令。
這樣adc鎖存器中的資料將會通過資料匯流排傳送到微控制器中,微控制器再對資料進行處理。
元器件清單
程式編寫
(1)程式流程圖
(2) 編寫程式
org 0000h
ljmp start
org 0013h外部中斷1入口位址
ljmp wai1轉移到外部中斷1的服務程式wai1
start: setb it1中斷方式為邊沿觸發方式
setb ea開總中斷
setb ex1開外部中斷1
mov dptr,#7fffhadc0809的位址
movx @dptr,a啟動a/d轉換
clr f0溫度正負值標誌位,「1」為負值
main: lcall disp調顯示子程式
ljmp main
wai1: push a保護現場,需保護的暫存器是a和dptr
push dpl
push dph
mov dptr,#7fffhadc0809的位址
movx a,@dptr讀入a/d轉換結果
mov b, #200th-tl)
mul abax(th-tl)
mov a,b右移8位相當於除以256
subb a, #50tl(注意tl為-50)
jnc goon溫度為正,則轉移
setb f0溫度為負,置溫度標誌位
dec a溫度為負,則求補碼
cpl a
goon: lcall bcd8421調bcd碼轉換子程式
movx @dptr,a再次啟動a/d轉換
pop dph恢復現場
pop dpl
pop a
retibcd碼轉換子程式
bcd8421:mov b,#64h
div ab除以100,商為百位存於a,餘數存於b
mov 32h,a百位存放在32h單元
mov a,b餘數送a
mov b,#0ah
div ab除以10,商為十位存於a,餘數為個位存於b
mov 31h,a十位存放在31h單元
mov 30h,b個位存放在30h單元
retdisp: setb p3.0熄滅3位數碼管
setb p3.1
setb p3.2
mov dptr,#segtab ;字形表首位址送dptr
clr p3.2選中低位數碼管
mov a,30h取個位數
movc a,@a+dptr查個位字形碼
mov p1,a個位字形碼送p1口
lcall delay延時
setb p3.2熄滅低位數碼管
clr p3.1
mov a,31h
movc a,@a+dptr
mov p1,a
lcall delay
setb p3.1
clr p3.0
jb f0,fuzhi溫度為負,轉移到fuzhi
mov a,32h溫度為正,取百位數
sjmp zheng
fuzhi: mov a,#11溫度為負,高位顯示「-」號
clr f0清溫度標誌位
zheng: movc a,@a+dptr查字形表
mov p1,a
lcall delay
setb p3.0
ret;延時子程式
delay: mov r0,#0ffh
djnz r0,$
ret ;數碼管字形表
segtab: db c0h,f9h,a4h,b0h,99h,92h0,1,2,3,4,5
db 82h,f8h,80h,90h,ffh,bfh6,7,8,9,
微控制器序列口收發電路的製作
微控制器與pc機的收發電路製作
硬體電路製作
硬體電路主要由兩大部分組成,一是以微控制器為核心的電平開關電路、二極體電平顯示電路及傳送按鍵電路,二是電平轉換電路。
(1)電平開關、電平顯示
(2)電平轉換電路
2.程式編寫
軟體部分可以分為以下幾個模組。
初始化程式:主要完成中斷設定、通訊方式設定、波特率設定等。
主程式:主要完成檢測按鍵是否按下、等待中斷請求等。
中斷服務程式:中斷保護、清除標誌位、從sbuf中讀取資料並進行存放或其他處理。
由於收發的為8位十六進製制數,故可採用序列口工作方式1。
雙工通訊要求收、發同時進行。實際上收、發操作主要是在序列口中進行,cpu只是把資料從接收緩衝器讀出和把資料寫入傳送緩衝器。資料接收用中斷方式進行。
資料傳送通過人工按下按鍵進行。但由於mcs-51微控制器序列中斷請求ti或ri合為乙個中斷源,響應中斷以後,通過檢測是否是ri置位引起的中斷來決定是否接收資料。傳送資料是通過呼叫子程式來完成。
定時器t1採用工作方式2,可以避免計數溢位後用軟體重灌定時初值。
微控制器課程設計
課程設計報告 題目微控制器控制步進電機 課程名稱微控制器原理及接 術 院部名稱 專業自動化 班級 m10自動化 學生姓名 學號課程設計地點 課程設計學時 指導教師高峰 金陵科技學院教務處制 注 根據課程設計大綱第四項具體要求撰寫課程設計報告 目錄1設計任務和要求 3 2設計思路 4 3系統硬體設計 ...
微控制器課程設計總結
微控制器技術實踐 課程設計總結 本課程實踐的目的是,掌握微控制器測量模擬量和數字量的測量方法,掌握微控制器的外部控制方法,掌握微控制器的顯示器 鍵盤的擴充套件方法。通過學習和設計為畢業設計和科研開發打下良好的基礎。本課程以mcs 51系列微控制器為機型,介紹了微控制器的基礎知識 基本原理結構 51指...
微控制器課程設計心得
微控制器課程設計心得 2009 11 22 14 31 20 做了兩周的微控制器課程設計,我有了很多的體會和感想。我們的課程設計有兩個主要內容 乙個是計程車計費器系統 還包括255計數和50000計數 另乙個就是溫度報警系統。實習可以在實驗室裡做,也可以在寢室裡自己做,我大部分時間還是在寢室裡做的。...