實驗介面編程
packagecom.test.demo;
publicinterfaceIUSBStorage{
publicvoidreadMe();
publicvoidwriteMe();
}
packagecom.test.demo;
{
publicStringhostNumber;//本機號
publicvoidcall(Stringnumber){
}
publicvoidtakePicture(){
}
@Override
publicvoidreadMe(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidwriteMe(){
//TODOAuto-generatedmethodstub
}
}
packagecom.test.demo;
{
@Override
publicvoidreadMe(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidwriteMe(){
//TODOAuto-generatedmethodstub
}
}
packagecom.test.demo;
publicclassComputer{
publicstaticvoidmain(String[]args){
IUSBStorageud=newUDisk();
ud.readMe();
IUSBStoragecp=newCellPhone();
cp.readMe();
cp.writeMe();
}
}
㈡ 請求JAVA簡單編程實驗報告:編寫一個介面定義,產生一年的...
blic class Student { //定義一個學生類
private int StuNum; //學號
private int Class; //班級
private char Gender; //性別
private int Age; //年齡
public Student(int StuNum, int Class, char Gender, int Age){//構造函數
this.stuNum = StuNum;
this.class = Class;
this.gender = Gender;
this.age = Age;
}
public int getStuNum() { //獲得學號
return StuNum;
}
public int getClass() { //獲得班級號
return Class;
}
public char getGender() { //獲得性別
return Gender;
}
public void setGender(char Gender) { //修改性別
this.Gender = Gender;
}
public int getAge() { //獲得年齡
return Age;
}
public void setAge(int Age) { //修改年齡
this.Age = Age;
}
public class Pupil extends Student //小學生
{
//...(由於沒說派生後要新加什麼東西,所以這里寫了省略號,如果想在
// 新派生出來的類里加點什麼特殊的東西,直接在省略號位置加就行了
// 下同)
}
public class MidSchoolStu extends Student //中學生
{
//...
}
public class UnderGraate extends Student //大學生
{
//...
}
public class PostGraate extends Student //研究生
{
//...
}
public class FreshStudent extends UnderGraate //一年級學生
{
//...
}
public class Sophomore extends UnderGraate //二年級學生
{
//...
}
public class Junior extends UnderGraate //三年級學生
{
//...
}
public class Senior extends UnderGraate //四年級學生
{
//...
}
public class Master extends PostGraate //碩士生
{
//...
}
public class Doctor extends PostGraate //博士生
{
//...
}
㈢ 求助各位高手!!!用C語言編程MCS-51外部介面簡單實驗
實現這點功能匯編也很容易!仔細讀讀課本。
如果你懂C,那麼keil里有很多庫文件,你只要選中相應的單片機,就可以正常使用了。建議自己把庫文件的定義、聲明(中斷向量、寄存器、管腳定義等)都讀懂。
㈣ 用vc++實現usb介面通信編程的一般步驟
我來說下我做過的USB通信,我沒有做過DSP跟上位機的通信,我只做過ARM類的STM32跟上位機的數據傳遞,雖然做過但是也不是很 懂,只是略知一二,我來說說我怎麼做的吧,我是這么實現的:
USB是個很復雜的協議,你如果完全搞懂,我估計沒有幾個月專心鑽研是不行的,但是如果只是能實現你的這個功能,我估計不是很復雜。
首先來說說USB通信:
USB通信傳輸方式分為四種:控制,中斷,批量,同步傳輸四種,這個你可以看看網上資料,然後我用STM32通信,因為數據量不是很大,我用的是中斷傳輸方式,但是DSP數據量應該會比較大,不知道中斷傳輸行不行,但是一般問題不大。
傳輸方式說完了,再說說USB設備類型,你每次插usb設備到電腦上的時候就會有提示,這是一個什麼設備,USB設備類型就是說的這個意思,是滑鼠還是鍵盤還是別的什麼的,如果你選用標準的類,你就不用自己寫上位機(PC)的驅動程序,但是如果不用標準的類,就是用自定義的類就要自己寫上層的設備驅動程序,就是所謂的DDK,WDM,WDF什麼的,你沒寫過這方面的還真有點棘手,但是也不一定要寫驅動程序,你可以試試有個類叫HID類,這個類在USB通信的時候用的還挺多的,不過這個類也有缺點,這個地方還要說一點,USB還分低速,全速,高速三種,不太了解DSP,不知道他支持什麼模式,但是USB2.0的全速應該至少可以支持的。
USB2.0全速模式HID用中斷方式每秒最多可以傳輸64KB的數據,不知道能不能達到你的要求,但是我估計一般問題不大了,如果你這歀DSP能支持高速模式,每秒用這種方式可以傳輸高達22MB的數據,這個速度一般問題不大了。
你可以照著我說的思路,去網上搜搜人家寫好的程序,肯定有人做過DSP的USB通信,然後你按照自己的要求改一改,主要應該是USB的設備描述符部分要自己修改,然後可能還要根據自己的電路改改配置什麼的,上位機軟體網上有源代碼的多的是,然後自己摸索摸索,我估計你要是編程水平還可以的話,只是摸索USB,一兩個星期完全沒有問題,祝你好運!
㈤ 單片機可編程8255介面實驗報告
一、8255是干什麼的
8255是一塊晶元,用於管理CPU與外設之間數據的輸入和輸出。
二、8255可以怎麼管理輸入輸出
8255有三個埠:A口,B口和C口。它們的長度都是8位的。都可以用作數據的輸入或輸出。
8255有三種工作方式來管理輸入輸出:方式0、方式1和方式2.
1.方式0——基本輸入/輸出方式
一個輸入/輸出過程的最簡單形式是這樣的:以輸入為例,首先設定8255埠的工作狀態為輸入,數據一來到埠,就被傳送給CPU。
當然並不是所有的輸入輸出過程都這么簡單。例如,有些時候只有當外設處於可以接受數據的就緒狀態時,才可以把數據發送給外設。那麼這時就需要把外設的狀態輸出端輸入進8255晶元,判斷這個端的狀態從而決定是否發送數據給這個外設。——這稱為查詢工作方式。8255的C口就可以實現這個功能。後面我們可以看到具體的例子。
2.方式1——選通輸入/輸出方式
前面提到,有些時候只有當外設處於可以接受數據的就緒狀態時,才可以把數據發送給外設。這樣就產生了一個問題:CPU源源不斷地向8255傳數據,外設沒工夫接。雖然外設可以通過C口告知8255,CPU再檢測C口狀態決定是否傳送數據。但CPU業務繁忙,哪有功夫等你這個大爺一樣的外設?所以更好的解決辦法,就要用到中斷的概念,也就是說:當外設可以接收/發送數據時,通過8255向CPU發送一個中斷信號。CPU接收到中斷信號後,中斷當前正在執行的程序,進行輸入輸出操作,完成後再返回現場繼續原先的程序。——這稱為中斷工作方式。這一系列控制信號還是通過C口來傳送的。
㈥ 微機原理與介面技術 實驗心得
微機原理與介面技術的課程實驗歷時大半個學期,通過自己編寫、運行程序,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。以前對於編程工具的使用還處於一知半解的狀態上,但是經過一段上機的實踐,對於怎麼去排錯、查錯,怎麼去看每一步的運行結果,怎麼去了解每個寄存器的內容以確保程序的正確性上都有了很大程度的提高。
前四個簡單程序設計,加深了我們對初學的匯編語言指令的熟悉和理解,匯編語言直
接描述機器指令,比機器指令容易記憶和理解。通過學習和使用匯編語言,向上為理解各種軟體系統的原理,打下技術理論基礎;向下為掌握硬體系統的原理,打下實踐應用基礎。不僅鞏固了書本所學的知識,還具有一定的靈活性,發揮了我們的創造才能。後面幾個實驗是並行輸入輸出介面8255和計數器8253的功能的操作,加深了我們對硬體的熟悉,鍛煉了動手能力,發揮創造才能。
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。這次課程設計終於順利完成了,在設計中遇到了很多編程問題,最後在自己的思考以及和同學的討論中,終於迎刃而解。
㈦ 題目:C語言微機介面實驗程序開發 急 萬分感謝 郵箱:[email protected]
樓主好!
其實這個問題很簡單 ,我覺得根本不用鎖存器,感覺有點浪費,一般單片機IO都可以完成你所需要的功能:不知道樓主有沒有注意到8X8點陣的實現方法,你要做的60個流水燈完全可以模仿點陣的構造結構來實現。
查一下點陣的構造,60個流水燈的接法完全按照那個接法,只用16個IO口就行了,需要提醒你的是P1口的驅動能力還行 其他的需要上拉電阻。
同時這個問題還有點類似矩陣鍵盤的控制。
在你學會了你需要的60個流水燈的同時你還學會了點陣的控制,矩陣鍵盤的控制,一舉多得,祝你學習愉快,單片機很有意思,我也是自學的。
㈧ 用匯編語言設計介面程序
;下面是sound.asm通用發聲程序
public soundf
cseg segment para'code'
assume cs:cseg
soundf proc far
push ax
push bx
push cx
push dx
push di
mov al,0b6h
out 43h,al
mov dx,12h
mov ax,348ch
div di
out 42h,al
mov al,ah
out 42h,al
in al,61h
mov ah,al
or al,3
out 61h,al
wait1: mov cx,4815
call waitf
delay: loop delay
dec bx
jnz wait1
mov al,ah
out 61h,al
pop di
pop dx
pop cx
pop bx
pop ax
ret
soundf endp
waitf proc near
push ax
waitf1:
in al,61h
and al,10h
cmp al,ah
je waitf1
mov ah,al
loop waitf1
pop ax
ret
waitf endp
cseg ends
end
;下面是music.asm一個示例樂曲可以在數據段該成別的
extrn soundf:far
stack segment para stack 'stack'
db 64 p('stack...')
stack ends
dseg segment para 'data'
mus_freq dw 330,294,262,294,3 p(330)
dw 3 p(294),330,392,392
dw 330,294,262,294,4 p(330)
dw 294,294,330,294,262,-1
mus_time dw 6 p(25),50
dw 2 p(25,25,50)
dw 12 p(25),100
dseg ends
cseg segment para 'code'
assume cs:cseg,ss:stack,ds:dseg
music proc far
mov ax,dseg
mov ds,ax
lea si,mus_freq
lea bp,ds:mus_time
freq:
mov di,[si]
cmp di,-1
je end_mus
mov bx,ds:[bp]
call soundf
add si,2
jmp freq
end_mus:
mov ax,4c00h
int 21h
music endp
cseg ends
end music
;下面是piano鍵盤數字鍵變成電子琴
extrn soundf:far
stack segment para stack 'stack'
db 64 p('stack...')
stack ends
dseg segment para 'data'
table dw 262,294,330,349,392,440,494,523
dseg ends
cseg segment para 'code'
assume cs:cseg,ds:dseg,ss:stack
main proc far
mov ax,dseg
mov ds,ax
new_note:
mov ah,0
int 16h
cmp al,0dh
je exit
mov bx,offset table
cmp al,'1'
jb new_note
and ax,0fh
shl ax,1
sub ax,2
mov si,ax
mov di,[bx][si]
mov bx,10
call soundf
jmp new_note
exit:
mov ax,4c00h
int 21h
main endp
cseg ends
end main
第一題masm sound 後masm music 後link sound+music
第二題masm piano 後link sound+music(前提是sound已經masm過)
㈨ 8255實驗介面編程題
我先回答你的第二題:
控制字為:00110010B=32H
現在進行初始化:
MOV DX,2A3H ;控制口地址
MOV AL,00110010B ;控制字
OUT DX,AL
MOV DX,2A0H ;計數器設置初值
MOV AX,5080H
OUT DX,AL ;先送低位元組
MOV AL,AH
OUT DX,AL ;再送高位元組
下面回答你第一個問題
先確定控制字A口0方式輸出,C口輸入,B口不用即
10001001B
下面開始編程:
MOV DX,63H ;控制口
MOV AL,10001001B ;控制字
OUT DX,AL
MOV DX,62H ;C口地址
IN AL,DX ;讀C口
MOV DX,60H ;A口地址
OUT DX,AL ;寫A口
從C口讀入開關的「關」、「閉」狀態,即獲得相應的一個位元組的數據,再將其寫到A口,即可實現LED燈的閉合(因為沒有見到你給的圖,我只是按我自己的理解解答,不知道答案對不對,不過如果按常理,這個答案是正確的)
㈩ 8255A可編程並行介面實驗
;----------
begin:
mov al,82h
out 63h,al
in al,61h
out 60h,al
jmp begin
;----------