通过8253,8255,8086实现电子琴功能,控制亮灯功能和8253方式0计数中断功能。

一、实验名称
通过8253,8255,8086实现电子琴功能,控制亮灯功能和8253方式0计数中断功能。

二、实验目的
1.熟悉及掌握proteus的使用方法,并通过这个环境实现芯片仿真;
2.用汇编语言实现芯片的工作方式设定及初始数据赋值。
3.了解8086与8253的连接方法、控制方法。利用8086外接8253可编程定时器/计数器,用8253的PB口接7只按钮,作为电子琴1、2、3、4、5、6、7数字键按键,编程完成按下数字键即发出相应的音调。
4.设定8255的PB口为开关量输入,PC口为开关量输出,编写程序时将PB口的开关状态通过PC口的发光二极管显示出来。
5.利用8086外接8253可编程定时器/计数器,编写程序使得在一段时间后发光二极管闪烁。
三、实验方法
(1)原理图设计
在这里插入图片描述
(2)具体功能展示:
1.通过8086、8255、8253实现电子琴功能,将开关状态从8255的B端口读入。通过对开关状态进行判断,对不同的开关分配不同的数字,再8086的控制下,通过数据总线传给8253,通过8253方式3的控制,产生不同频率的信号,并将信号传给喇叭以产生不同频率的声音。
代码如下:
在这里插入图片描述
2.通过8255、8086实现读取开关状态亮灯的功能,将开关状态从8255的B端口读入。通过对开关状态进行判断,对不同的开关分配不同的数字,再8086的控制下,传给8255A端口,通过读取A端口的数据,控制与A端口相连的灯的状态。
当按下开关1的时候,L1灯会亮,以此类推,当按下开关8的时候,L8灯亮。
部分代码如下:
在这里插入图片描述
3.8253方式0控制中断功能,通过初始化8253工作方式0,和计数器的值,当值为0的时候产生中断,Out0=1,使得彩灯两边产生电压差,并且闪烁。
在这里插入图片描述
代码如下:
在这里插入图片描述
四、实验结果
由于声音无法以书面的形式展示,第三个功能只是闪烁了一下,持续时间过于短暂,因此这里就只展示第二个功能,当按下开关4时,灯4亮。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值