
有图,Q我
1352282
设计任务及要求
1 以8255接八个开关K1~K8,做电子琴按键输入。
2 以8253控制扬声器,拨动不同的开关,发出相应的音阶。
要求: K1—静音
K2—发si的音493Hz
K3—发la的音440Hz
K4—发sol的音392Hz
K5—发fa的音349Hz
K6—发mi的音329Hz
K7—发re的音293Hz
K8—发do的音261Hz
二 方案比较和认证
通过8255和8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分主要是由8255和8个常开型开关来完成。常开型开关如右图。8个常开型开关K1~K8与8255的A口PA0~PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。例如当K1键按下时,从8255中A口输入的数为11111110B,十六进制为0FEH。每一个开关按下时,都对应一个ASCII码,如下表所示:
开 关 K1 K2 K3 K4 K5 K6 K7 K8
对应数据 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 7FH
对应频率 静音 493 Hz 440 Hz 392 Hz 349 Hz 329 Hz 293 Hz 261 Hz
输入部分的硬件实现比较简单,所以说主要还是在发音部分。在设计中驱动扬声器地声的主要有两种方式,分别是以位触发和定时器控制。下面就这两种不同的方式确定两个不同的设计方案。
方案1:
发声采用位触发方式。电路原理图如下所示。程序直接控制PPI(8255可编程序外围接口芯片)的输出控制寄存器(I/O端口为61H)的第一位,使该位按所需的频率进行1和0的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。
可以利用软件延时来控制所产生的脉冲波形的长度和脉宽,就可以实现产生不同频率和不同音长的声音。软件实现的程序如下:
IN AL,61H
MOV AH,AL
AND AL,0FCH ;关断定时器通道2的门控
SOUND:XOR AL,2 ;触发61H端口第1位
OUT 61H,AL
MOV CX,DX ;(DX)=控制脉冲的计数值
WAIT: LOOP WAIT ;延时循环
DEC BX ;(BX)=脉冲持续的时间
JNZ SOUND
MOV AL,AH
OUT 61H,AL ;恢复61H端口
设定:8255PA、PC口为输入、PB作输出(均为方式0)
MOV DPTR, #0FF2BH ;假设命令口地址FF2BH
MOV A, #10011001B ;命令字
MOVX @DPTR, A
……
忘了问了,你的8255的地址,是不是FF2BH?
服务器端的端口号是固定的(服务器只要开着,对应的服务就一直运行着),端口号一般系统中对应于知名的1-1023之间,这些知名端口号由I n t e r n e t号分配机构(Internet Assigned Numbers Authority, IANA )来管理
而客户端的端口号只有用户开启相应的程序时才打开对应的端口号(因此也称临时端口号),大多数给临时端口号分配1024~5000之间的端口号。大于5000的端口号是为其他服务预留的(internet上不常用的服务)
扩展资料:
端口号的具体说明
端口:0
服务:Reserved
说明:通常用于分析 *** 作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0000,设置ACK位并在以太网层广播。
端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。
许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到XXX0和XXX255的信息。
端口:19
服务:Character Generator
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。
同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。
端口:21
服务:FTP
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。
端口:22
服务:Ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的 *** 作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。
端口:25
服务:SMTP
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。
木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。
端口:31
服务:MSG Authentication
说明:木马Master Paradise、Hackers Paradise开放此端口。
端口:42
服务:WINS Replication
说明:WINS复制
端口:53
服务:Domain Name Server(DNS)
说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。
端口:67
服务:Bootstrap Protocol Server
说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255255255255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。
客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。
端口:69
服务:Trival File Transfer
说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。
端口:79
服务:Finger Server
说明:入侵者用于获得用户信息,查询 *** 作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
端口:80
服务:>
说明:用于网页浏览。木马Executor开放此端口。
端口:99
服务:Metagram Relay
说明:后门程序ncx99开放此端口。
端口:110
服务:POP3
说明:Post Office Protocol 3,用于收发邮件。
端口:102
端口:553
服务:CORBA IIOP (UDP)
说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。
参考资料来源:百度百科-端口地址
微机原理接口实验:8255并行接口实验,让K0~K7控制发光二极管L0~L7的状态。8255接口芯片非常重要的,使用非常简单,在以后的实验会经常使用到。
实验内容:8255接口芯片非常重编写一个基本输入输出程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求:数据灯的显示随开关动态变化。要的,使用非常简单,在以后的实验会经常使用到。
实验的目的:了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。并学会如何使用8255并行开关让K0~K7控制发光二极管L0~L7的状态。
我记得有个8255A芯片,是端口拓展用的,时间太长了,具体记不清。
1、查数据手册,找8255A的指令用法,学会必须的指令。
2、查数据手册,找8255A的数据线、地址线的连接方法,看管脚图,确定原理图。
3、查数据手册,找8255A的封装,绘制电路板,Protel里有这个芯片的封装,可以直接用。
4、制板、焊件、调试,如果是面包板,就确定该连接的都连接好。
5、程序思路:
1、给8255A初始化指令,让A\B\C口都输出高或低电平,连接LED查看是否工作正常。
2、程序要求出方波,就是一会儿出高电平,一会儿出低电平就是方波。
3、主程序中:
1、初始化51的各个寄存器。
2、初始化8255A
3、发指令给8255A,让A口0线出低电平
4、第一个延时程序,控制低电平持续时间,可以用加法比较延时,也可用定时器。
5、发指令给8255A,让A口0线出高电平
6、第二个延时程序,控制高电平持续时间,同4
7、LOOP循环到程序3位置。死循环即可。
用示波器看输出的波形,调整4、6的参数,使得方波满足你要的高低电平时间,不要特意计算程序一条指令是多少时间,延时多少时间,那样即麻烦,又不准,8255A是有执行延迟的,所以用示波器看输出最准。
这些是02年我大二时学的,好久不用。
估计你是用来完成老师的作业,实际干活,没人用8255的。不知我猜对了没有。
以上就是关于谁有用8255和8254制作电子琴的程序代码全部的内容,包括:谁有用8255和8254制作电子琴的程序代码、单片机控制8255按键控制8个发光二极管程序编程、8255扩展芯片的口地址是怎么确定的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)