微型计算机温度控制系统课程设计,微机原理及其应用 微型计算机温度控制系统设计课程设计报告.doc...
微機原理及其應用 微型計算機溫度控制系統設計課程設計報告
《微機原理及其應用》課程設計報告
2011年3月2日
課程設計題目及系統功能介紹
微型計算機溫度控制系統設計,假設工業現場溫度范圍為0~75℃,溫度值經傳感器檢測后,經變送器變成0~5V范圍內的電壓信號。電壓信號送A/D轉換器ADC0809轉換成對應的數字量。數字量經數字濾波后送入CPU作為本次采樣值。在LED數碼顯示器上顯示溫度值(
采取工作方式0,輸入控制字 88h,即A口輸出,C口高四位輸入,C口低四位輸出
PA0—PA6對應接七段數碼管a b c d e f g接口,PC0 PC1對應七段數碼管的位碼接口
PC2 PC3對應黃紅LED燈,PC4接8253計數器2的OUT2端口
可編程定時器/計數器(8253)
分別對8253的計數器1和計數器2初始化采用方式3和方式0,使計數器2產生每隔0 .1秒的高電平
3、ADC0809模/數轉換器
如圖虛線接線即可
3、DAC0832數/模轉換器
DAC0832是用于蜂鳴器報警的
三、軟件設計
先對硬件8255 8253進行初始化且用ADC0809第一次采樣,通過8255的PC4端口查詢8253的定時時間是否已到,若到則對8253接口2重新初始化且用ADC0809模/數轉換器采樣,不到則繼續七段數碼管顯示與LED燈和蜂鳴器的過程,最后若有鍵按下則返回DOS,否則返回繼續查詢PC4端口、循環。
主程序流程圖:
七段數碼管流程圖 紅黃燈及蜂鳴器程序如下:
mov cl,[shuju]
cmp cl,60 ;采樣得來的數據與30和60進行比較,不在它們之間的紅黃燈、蜂鳴器報警
jnc li
cmp cl,30
jc xiong
jmp exit
li: or al,08h
call beep
jmp exit
xiong: or al,04h
call beep
exit: mov dx,io8255a ;通過8255C端口輸出到LED燈
out dx,al
采樣子程序
mov bx,0
mov cx,3
xun: mov dx,io0809
out dx,al
push cx
mov cx,0FFH ;延時
delay1: loop delay1
pop cx
in al,dx
mov ah,0
mov dl,5 ;將采樣數據轉化為0-75之間的溫度值
mul dl
mov dl,17
div dl
mov ah,0
add bx,ax ;循環三次取樣
loop xun
mov ax,bx
mov cl,3
div cl;取三次數據后平均值
mov [shuju],al
mov ah,0
mov cl,10
div cl
mov di,offset buffer1 ;將采樣三次得出的均值的個位與十位分別存在buffer與buffer+1中
mov [di],ah
mov [di+1],al
四、討論和感想
首先感受最深的的是匯編的基礎一定要扎實,否則很容易出現低級錯誤,比如說一些死循環之類的東西。
我們這組最開始的時候連硬件檢測都沒做就直接執行程序,當然做不出什么來的。后來又入入續續發現了一些低級錯誤,不過都一步步改正了。還有就是主程序一定要簡潔易讀,最好事先畫好流程圖。硬件不要頻繁初始化,最好是在程序開頭就全部初始化完畢,像8255 8253一類。
為保證程序易讀、便于添加和修改,必要的注釋是很好的,子程序中最好開頭和結尾對子程序中用到的寄存器都進行入出棧操作,這能有效的防止一些低級錯誤。
以上是我碰到的問題及其解決方法、心得體會。
五、源程序的清單:
data segment
ioportequ 0c400h-0280h
io8255aequ ioport+28ah ;8255C口地址
io8255bequ ioport+28bh ;8255控制寄存器地址
io8255c equ ioport+288h;8255A口地址
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的微型计算机温度控制系统课程设计,微机原理及其应用 微型计算机温度控制系统设计课程设计报告.doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql开启yum search pt
- 下一篇: linux shell脚本判断文件行数,