二○一○~二○一一學年第一學期
資訊科學與工程學院
自動化系
課程設計計畫書
班級自動化0803班
姓名柯常勝
學號: 200804134079
課程名稱: 微機原理及應用課程設計
學時學分: 1 周 1 學分
指導教師: 周紅軍
2023年12 月 26 日
一.課程設計名稱:
鍵控資料採集及數值顯示電路設計
二.設計目的:
綜合運用本課程知識,利用積體電路設計實現一些中小規模電子電路或者完成一定功能的程式,以複習鞏固課堂所學的理論知識,提高程式設計實現系統、繪製系統電路圖的能力,為實際應用奠定一定的基礎。
三.設計任務及要求:
按不同的數字鍵(0、1、2、3、4、5、6、7)採集0809相應資料通道的模擬量,並在led數碼管上顯示值。設定輸入模擬量在0—5v範圍內,顯示值在0—255範圍內。
具體要求:
1.畫出連線線路圖或功能模組引腳連線圖。
2.採用8088cpu作主控制器,0809作a/d轉換器,採用直接位址解碼方法,給各晶元分配位址,選取晶元中必須包含有8255。
3.採用3個共陰極型led動態顯示,只需顯示0—255範圍內的值
四.主要晶元介紹和其工作原理
adc0809模數轉換器的引腳功能說明:
in7~in0——模擬量輸入通道
ale——位址鎖存允許訊號。對應ale上跳沿,a、b、c位址狀態送入位址鎖存器中。
start——轉換啟動訊號。start上公升沿時,復位adc0809;start下降沿時啟動晶元,開始進行a/d轉換;在a/d轉換期間,start應保持低電平。
a、b、c——位址線。 通道埠選擇線,a為低位址,c為高位址。
lk——時鐘訊號。adc0809的內部沒有時鐘電路,所需時鐘訊號由外界提供,因此有時鐘訊號引腳。通常使用頻率為500khz的時鐘訊號
eoc——轉換結束訊號。eoc=0,正在進行轉換;eoc=1,轉換結束。使用中該狀態訊號即可作為查詢的狀態標誌,又可作為中斷請求訊號使用。
d7~d0——資料輸出線。為三態緩衝輸出形式,可以和微控制器的資料線直接相連。d0為最低位,d7為最高。
oe——輸出允許訊號。用於控制三態輸出鎖存器向微控制器輸出轉換得到的資料。oe=0,輸出資料線呈高阻;oe=1,輸出轉換得到的資料。
vcc—— +5v電源。
vref——參考電源參考電壓用來與輸入的模擬訊號進行比較,作為逐次逼近的基準。其典型值為+5v(vref(+)=+5
8255a引腳說明:
reset:復位輸入線,當該輸入端外於高電平時,所有內部暫存器(包括控制暫存器)均被清除,所有i/o口均被置成輸入方式。
pa0~pa7:埠a輸入輸出線,乙個8位的資料輸出鎖存器/緩衝器, 乙個8位的資料輸入鎖存器。
pb0~pb7:埠b輸入輸出線,乙個8位的i/o鎖存器, 乙個8位的輸入輸出緩衝器。
pc0~pc7:埠c輸入輸出線,乙個8位資料輸出鎖存器/緩衝器, 乙個8位資料輸入緩衝器。埠c可以通過工作方式設定而分成2個4位埠, 每個4位埠包含乙個4位的鎖存器,分別與埠a和埠b配合使用,可作為控制訊號輸出或狀態訊號輸入埠。
cs:片選訊號線,當輸入引腳為低電平時,表示晶元被選中,允許8255與cpu進行通訊。
rd:讀訊號線,當這個輸入引腳為低電平時,允許8255通過資料匯流排向cpu傳送資料或狀態資訊,即cpu從8255讀取資訊或資料。
wr:寫入訊號,當這個輸入引腳為低電平時,允許cpu將資料或控制字寫8255。
d0~d7:三態雙向資料匯流排,8255與cpu資料傳送的通道,當cpu 執行輸入輸出指令時,通過它實現8位資料的讀/寫操作,控制字和狀態資訊也通過資料匯流排傳送。
8255a引腳說明:
reset:復位輸入線,當該輸入端外於高電平時,所有內部暫存器(包括控制暫存器)均被清除,所有i/o口均被置成輸入方式。
pa0~pa7:埠a輸入輸出線,乙個8位的資料輸出鎖存器/緩衝器, 乙個8位的資料輸入鎖存器。
pb0~pb7:埠b輸入輸出線,乙個8位的i/o鎖存器, 乙個8位的輸入輸出緩衝器。
pc0~pc7:埠c輸入輸出線,乙個8位資料輸出鎖存器/緩衝器, 乙個8位資料輸入緩衝器。埠c可以通過工作方式設定而分成2個4位埠, 每個4位埠包含乙個4位的鎖存器,分別與埠a和埠b配合使用,可作為控制訊號輸出或狀態訊號輸入埠。
cs:片選訊號線,當輸入引腳為低電平時,表示晶元被選中,允許8255與cpu進行通訊。
rd:讀訊號線,當這個輸入引腳為低電平時,允許8255通過資料匯流排向cpu傳送資料或狀態資訊,即cpu從8255讀取資訊或資料。
wr:寫入訊號,當這個輸入引腳為低電平時,允許cpu將資料或控制字寫8255。
d0~d7:三態雙向資料匯流排,8255與cpu資料傳送的通道,當cpu 執行輸入輸出指令時,通過它實現8位資料的讀/寫操作,控制字和狀態資訊也通過資料匯流排傳送。
五.工作原理。
採用模擬輸入端、8086控制器、0809a/d轉換器、8255a並行口、液晶數碼管、用8086控制執行。模擬輸入端的可控電壓送達0809a/d轉換器,0809則將模擬量轉換成對應數字量(相應的二進位制**),然後通過8086程式設計,將這些**轉換成我們可識別的字元,並送到數碼管加以顯示(十進位制)。
六.硬體接線圖(另附頁)
七.程式流程圖。
八.實驗程式
stack segment stack 『stack』
dw 32 dup(0)
stack ends
data segment
dw channal 0;存入選定通道埠位址
data ends
codesegment
assume ss:stack,cs:code,ds:data
adc0809zero equ 0060h ;adc0809的0埠位址
ledweima equ 00deh ;顯示埠,以輸出位碼
8225acontrolzi equ 0073h ;8255a的控制字口
8225apckou equ 0072h ;8255a的pc口 ;各埠及位址標號賦值
start: jmp adcontorl
data2 equ 1000h
adcontorl: call swap ;呼叫swap完成led對應轉換
mov al,80h;8255工作方式0
mov dx,8225acontrolzi
out dx,al ;完成8255控制字賦值,pc口為輸出口(10000000)
input: mov ah,1;系統功能呼叫,鍵入字元選擇通道
int 21h
mov bl,al;8個通道位址依次為adc0809zero+00,adc0809zero+01…
mov bh,0
add bx,adc0809zero
mov chennal,bx
adcon: mov ax,00h
add ax,bx
mov dx, chennal
out dx,al ;選定0809模擬通道埠
mov cx,1000h
delay: loop delay ;計數為500h時,等待0809把模擬量轉化為數字量
mov dx,chennal
in al,dx
mov cl,al ;把轉換完的數字量送入cl
call convers
call leddisp ;依次調入程式段
mov ah,11
int 21
cmp al,0
je input;如果有鍵盤輸入,則改變模擬輸入通道,重新轉換
convers: mov al,cl;將二進數轉化十進位制數以便led顯示
mov cl,10
mov ah,0
div cl
mov ch,ah
mov ah,0
div cl
mov cl,4
shl ah,cl
or ch,ah
mov ah,0
mov cl,10
div cl
mov ah,ch
mov cx,ax;轉換後資料存入cx中
mov bh,0h
mov al,cl
and al,0fh ;將轉換後數字量的個位取出
mov bl,al
mov al,cs:[bx+data2] ;取數字量相應的字元
mov bx,data1
mov ds:[bx],al ;將數字量相應的字元送到數碼顯示
inc bx
push bx
mov al,cl
mov cl,04h
shr al,cl
mov bl,al
mov bh,0h
mov al,cs:[bx+data2]
pop bx
mov ds:[bx],al;完成和上面一樣的操作,只是這次取的是十位
inc bx
push bx
move al,ch;取高2位,裡面含有百位
and al,0fh
mov bl,al
mov al,cs:[bx+data2]
pop bx
mov ds:[bx],al ;完成和上面一樣的操作,將最百位取出
retleddisp: mov ah,11111110b; 初始化選定個位led
mov bx,0
led1: mov dx,chennal;取出指定通道段碼
mov al,byte ptr data1[bx]
out dx,al;顯示段內容
mov al,ah
mov dx,ledweima
out dx,al;選定對應位:依次個位、十位、百位
mov cx,1000;延時
loop $
shr ah,1
cmp ah,11111011
jne led1;鍵入的3位是否都輸出
swap: mov bx,0
mov word ptr ds:[bx+1000h],4079h;0和1的led對應字型碼
add bx,2
mov word ptr ds:[bx+1000h],2430h;2和3的led對應字型碼
add bx,2
mov word ptr ds:[bx+1000h],1912h
add bx,2
mov word ptr ds:[bx+1000h],0278h
add bx,2
mov word ptr ds:[bx+1000h],0018h
;data2即1000h開始的一系列單元賦值,把0~10個字元存入其中待取用ret
彙編課程設計學生成績管理系統
這是乙個學生成績管理系統,其中 i 表示插入,l 表示瀏覽,q 表示查詢,e 表示退出,d 表示刪除,m 表示修改,c 表示統計各分數段人數,p 表示列印.本程式實現了 1 單獨執行以上各功能,即在進入主選單以後,點一功能鍵後關閉,再進入主選單 點別的功能鍵。如執行 cjgl 檔案後,在出現的主介面...
課程設計 鋼結構課程設計
中南大學土木工程學院土木工程專業 本科 鋼結構基本原理 課程設計任務書 題目 鋼框架主次梁設計 姓名 班級 學號 建築工程系 目錄一設計條件 2 二設計內容和要求 2 三設計次梁截面cl 1 3 3.1 次梁截面內力計算 不含次梁的自重 3 3.2 次梁截面選取 5 3.3 次梁截面的驗算 7 1 ...
組合語言課程設計任務書
課程設計報告 課程名稱組合語言程式設計 課題名稱 專業電腦科學與技術 班級計算機 學號姓名 指導教師唐北平 2013年月日 湖南工程學院 課程設計任務書 課程名稱組合語言程式設計 課題專業班級 學生姓名 學號指導老師唐北平 審批任務書下達日期 2013 年月日 任務完成日期 2013年月日 一 設計...