微機原理及介面技術課程設計
① 微機原理與介面技術 電子鍾課程設計
哈哈,感覺你的這個課程好有意思啊,那是不是就可以自己在家製造鍾鳥啊…
② 微機原理與介面技術電子琴課程設計 求程序和接線圖
可以給你做一份
③ 微機原理與介面技術課程設計:交通燈控制系統
您好,我看到您的問題很久沒有人來回答,但是問題過期無人回答會被扣分的並且你的懸賞分也會被沒收!所以我給你提幾條建議:一,你可以選擇在正確的分類下去提問,這樣知道你問題答案的人才會多一些,回答的人也會多些。二,您可以到與您問題相關專業網站論壇里去看看,那裡聚集了許多專業人才,一定可以為你解決問題的。三,你可以向你的網上好友問友打聽,他們會更加真誠熱心為你尋找答案的,甚至可以到相關網站直接搜索.四,網上很多專業論壇以及知識平台,上面也有很多資料,我遇到專業性的問題總是上論壇求解決辦法的。五,將你的問題問的細一些,清楚一些!讓人更加容易看懂明白是什麼意思!謝謝採納我的建議
④ 微機原理與介面技術 課設 ——數據採集系統 急 !!
那麼就是我了
⑤ 微機原理與介面技術課程設計
直流電機速度一般就是控制它的工作電壓調速了,輸出不同的工作電壓,就能改變它的速度,輸出能改變的電壓的方法基本上有兩種:D/A
或PWM,有反饋的電機可以通過檢測反饋精確控制.寫程序就是跟據上述原理寫的....
⑥ 求《微機原理與介面技術》課程設計報告
微機介面課程設計實驗報告
一、實驗目的:
1. 掌握綜合使用基本輸入設備,通用介面晶元,專用介面晶元的方法;
2. 熟悉並行介面晶元8255的使用與硬體介面方法, 熟悉8255的各種工作方式,掌握8255的編程方法;
3. 掌握實時處理程序的編制和調試方法;
二、設計要求:
用實驗儀器上的並行介面控制鍵盤和LED顯示,設計一個定時顯示裝置,用四個數碼管顯示時間(左邊兩位顯示分值,右邊兩位秒值).
用小鍵盤控制計時和顯示:
C鍵(清除) 顯示00-00
G鍵(啟動) 顯示XX-XX變化的分、秒。
S鍵(停止) 顯示XX-XX不變
P鍵(設置初始值)設置分、秒的初值
E鍵(終止程序) 熄滅數碼管,程序退出
⑦ 微機原理介面技術的課程設計,霓虹燈的模擬實現
#include<stdio.h>
#include<stdlib.h>//此庫主要是下面的清屏函數,如果不用清屏函數,此庫可不需要
#defineM8
chartable[M][M];
voidInitTable()
{
inti,j;
for(i=0;i<M;i++)//先將整張表置空
for(j=0;j<M;j++)
table[i][j]='';
for(i=0;i<M;i++)//畫邊框
{
table[0][i]='@';
table[i][M-1]='@';
table[M-1][M-i-1]='@';
table[M-1-i][0]='@';
}
}
voidDisplayTable()
{
inti,j;
//clrscr();//TC下可用此方法
//system("cls");//VC6.0下用此方法
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%c",table[i][j]);
printf(" ");
}
}
voidDelay()
{
inti,j;
for(i=0;i<10000;i++)
for(j=0;j<10000;j++);
}
voidFillTable()//將對應位置置*
{
inti;
for(i=1;i<M-1;i++)
{
table[i][i]='*';
Delay();//起一定延時,看起來效果好點
DisplayTable();//重新顯示那張表格
}
for(i=1;i<M-1;i++)
{
table[M-i-1][i]='*';
Delay();
DisplayTable();
}
}
voidEmptyTable()//將對應位置置空
{
inti;
for(i=1;i<M-1;i++)
{
table[i][M-1-i]='';
Delay();
DisplayTable();
}
for(i=1;i<M-1;i++)
{
table[M-i-1][M-i-1]='';
Delay();
DisplayTable();
}
}
voidmain(void)
{
charcmd;
InitTable();//初始化表格,邊框和置空部分
DisplayTable();
scanf("%c",&cmd);
while(!(cmd=='Q'||cmd=='q'))
{
switch(cmd)
{
case'I':
case'i':
FillTable();//填充表格行動
break;
case'O':
case'o':
EmptyTable();//將表格內清除注意程序中填充像寫X一樣,這邊清除時時相反的動作,具體去運行程序觀看效果
break;
//default:
//printf(" badcommand,tryitagain! ");
}
scanf("%c",&cmd);
}
}
以上在VC6.0測試通過
以下是在TC下測試通過
#include<stdio.h>
#defineM8
chartable[M][M];
voidInitTable()
{
inti,j;
for(i=0;i<M;i++)/*先將整張表置空*/
for(j=0;j<M;j++)
table[i][j]='';
for(i=0;i<M;i++)/*畫邊框*/
{
table[0][i]='@';
table[i][M-1]='@';
table[M-1][M-i-1]='@';
table[M-1-i][0]='@';
}
}
voidDisplayTable()
{
inti,j;
clrscr();
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%c",table[i][j]);
printf(" ");
}
}
voidDelay()
{
inti,j;
for(i=0;i<20000;i++)
for(j=0;j<30000;j++);
}
voidFillTable()/*將對應位置置**/
{
inti;
for(i=1;i<M-1;i++)
{
table[i][i]='*';
Delay();/*起一定延時,看起來效果好點*/
DisplayTable();/*重新顯示那張表格*/
}
for(i=1;i<M-1;i++)
{
table[M-i-1][i]='*';
Delay();
DisplayTable();
}
}
voidEmptyTable()/*將對應位置置空*/
{
inti;
for(i=1;i<M-1;i++)
{
table[i][M-1-i]='';
Delay();
DisplayTable();
}
for(i=1;i<M-1;i++)
{
table[M-i-1][M-i-1]='';
Delay();
DisplayTable();
}
}
voidmain(void)
{
charcmd;
InitTable();/*初始化表格,邊框和置空部分*/
DisplayTable();
scanf("%c",&cmd);
while(!(cmd=='Q'||cmd=='q'))
{
switch(cmd)
{
case'I':
case'i':
FillTable();/*填充表格行動*/
break;
case'O':
case'o':
EmptyTable();/*將表格內清除注意程序中填充像寫X一樣,這邊清除時時相反的動作,具體去運行程序觀看效果*/
break;
/*default:
//printf(" badcommand,tryitagain! ");*/
}
scanf("%c",&cmd);
}
}
⑧ 微機原理與介面技術課程設計之數字顯示倒計時器
DATAS SEGMENT
sec db 24 ;倒數的秒數,可以隨意更改
osec db 0
startmsg db "Counting down .... press [p] to puase, [c] to continue, [s] to stop",13,10,"$"
timesup db 13,10,"Times up!"
endmsg db 13,10,"Thanks for using, bye~$"
secStr db 6 p ("$")
curpg db 0
ispause db 0
x db 0
y db 0
DATAS ENDS
STACKS SEGMENT
db 64 p(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
push ax
push bx
push cx
push dx
MOV AX,DATAS
MOV DS,AX
lea dx,startmsg
call puts
;讀取時間
mov ah,2ch
int 21h
mov osec,dh ;記下秒數
call getxy ;取得游標的位置
;倒數,顯示倒數,查鍵盤。
;倒數的原理就是 osec 和現在秒數的對比得出
timer:
mov ah,2ch
int 21h
mov ah,6 ;檢查鍵盤
mov dl,0ffh
int 21h
cmp al,"s" ;終止程式
jz done
cmp al,"p" ;暫停程式
jz pause
cmp al,"c" ;繼續程式
jz continue
cmp ispause,0
jg timer
cmp osec,dh ;檢查秒數的變化
jnz interval
jmp timer
interval:
mov osec,dh ;更新秒數
dec sec
call showcountdown ;顯示倒數秒數(sec)
cmp sec,0
jg timer
lea dx,timesup
call puts
jmp done
pause:
mov ispause,1
jmp timer
continue:
mov ispause,0
jmp timer
puts:
mov ah,9
int 21h
ret
showcountdown:
call setxy ;保持顯示倒數的位置
xor ax,ax
xor dx,dx
mov al,sec
cbw
mov bl,10
div bl
add al,"0"
add ah,"0"
lea bx,secStr
mov byte ptr[bx],al
mov byte ptr [bx+1],ah
mov dx,bx
call puts
ret
;讀取游標的位置
getxy:
mov ah,3
int 10h
mov x,dl
mov y,dh
mov curpg,bh
ret
;設置游標的位置
setxy:
mov ah,2
mov bh,curpg
mov dl,x
mov dh,y
int 10h
ret
done:
pop dx
pop cx
pop bx
pop ax
MOV AH,4CH
INT 21H
CODES ENDS
END START
⑨ 求助幫忙做一個微機原理與介面技術的課程設計
那麼簡單,自己慢慢設計啊,用個單片機,用其內部時鍾,加個07驅動高亮LED
⑩ 急需一份微機原理與介面技術課程設計
課題名稱:閏年計算
1.實驗目的:
(1) 學習分支、中斷、和邏輯表達。
(2) 熟悉匯編語言程序的編譯、鏈接過程。
2.實驗內容:
利用DOS 21H中斷類型的10號鍵盤功能調用,將鍵盤接受到的年份數值的字元串按位元組存入緩沖區。將字元串中的每個字元轉換為對應的十進制數值(利用0-9這10個數的ASCⅡ碼值比其本身大30H的關系),利用判斷某年是否為閏年的表達式,輸入該年是否為閏年的信息。
3.編程提示:
(1)找到判斷是否為閏年的方法。判斷閏年規則:如果某年能被4整除但不能被100整除或者該年能被400整除,則該年為閏年。
(2)判斷某年為閏年的匯編語言表達式為:
(((AX) MOD 4 EQ 0) AND ((AX) MOD 100 EQ 0)) OR ((AX) MOD 400 EQ 0)
其中,(AX)中存放的是從鍵盤輸入的年份值。
(3)參考流程見圖:
4.匯編程序:
data segment ;定義數據段
infon db 0dh,0ah,'Please input a year: $'
Y db 0dh,0ah,'This is a leap year! $'
N db 0dh,0ah,'This is not a leap year! $'
w dw 0
buf db 8
db ?
db 8 p(?)
data ends
stack segment stack
db 200 p(0)
stack ends
code segment
assume ds:data,ss:stack,cs:code
start:mov ax,data
mov ds,ax
lea dx,infon ;在屏幕上顯示提示信息
mov ah,9
int 21h
lea dx,buf ;從鍵盤輸入年份字元串
mov ah,10
int 21h
mov cl, [buf+1]
lea di,buf+2
call datacate
call ifyears
jc a1
lea dx,n
mov ah,9
int 21h
jmp exit
a1: lea dx,y
mov ah,9
int 21h
exit: mov ah,4ch
int 21h
datacate proc near;
push cx;
dec cx
lea si,buf+2
tt1: inc si
loop tt1
;lea si,cx[di]
pop cx
mov dh,30h
mov bl,10
mov ax,1
l1: push ax
sub byte ptr [si],dh
mul byte ptr [si]
add w,ax
pop ax
mul bl
dec si
loop l1
ret
datacate endp
ifyears proc near
push bx
push cx
push dx
mov ax,w
mov cx,ax
mov dx,0
mov bx,4
div bx
cmp dx,0
jnz lab1
mov ax,cx
mov bx,100
div bx
cmp dx,0
jnz lab2
mov ax,cx
mov bx,400
div bx
cmp dx,0
jz lab2
lab1: clc
jmp lab3
lab2: stc
lab3: pop dx
pop cx
pop bx
ret
ifyears endp
code ends
end start