实验接口编程
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
;----------