1165 基于8086的16键电子琴高低八音节仿真-毕设课设

摘要:
本文设计了一种基于8086微处理器的16键电子琴系统,实现了高低八音阶的演奏功能。系统采用8253定时/计数器芯片和8255并行接口芯片,通过数码管显示当前音阶,蜂鸣器发出相应音阶的声音。本文详细介绍了系统的硬件设计、软件设计以及实现过程,为类似电子乐器系统的设计与开发提供了有益的参考。

关键词:8086;电子琴;高低八音阶;8253;8255;数码管显示

一、引言

电子琴作为一种常见的乐器,具有音色优美、易于携带等优点,深受人们的喜爱。基于8086微处理器的电子琴系统,具有设计灵活、功能扩展性强等特点,是实现电子琴功能的一种有效方案。本文旨在设计并实现一种基于8086的16键电子琴系统,实现高低八音阶的演奏功能。

二、系统总体设计

本系统主要由8086微处理器、16个按键、8253定时/计数器芯片、8255并行接口芯片、1位数码管显示模块以及蜂鸣器组成。8086微处理器作为系统的核心控制器,负责接收按键输入、控制8253和8255芯片的工作、驱动数码管显示以及控制蜂鸣器发声。16个按键用于输入不同的音阶信号,8253芯片用于产生不同频率的波形信号,8255芯片用于扩展I/O接口,数码管用于显示当前音阶,蜂鸣器用于发出声音。

三、硬件设计

  1. 8086微处理器:作为系统的核心控制器,负责处理按键输入、控制数码管显示和蜂鸣器发声。

  2. 按键模块:由16个按键组成,用于输入不同的音阶信号。按键通过8255芯片的I/O口与8086微处理器相连,实现按键信号的输入和检测。

  3. 8253定时/计数器芯片:用于产生不同频率的波形信号,以驱动蜂鸣器发出不同的音阶声音。通过编程设置8253芯片的工作模式和计数值,可以实现不同频率的输出。

  4. 8255并行接口芯片:用于扩展I/O接口,实现与按键模块、数码管显示模块和蜂鸣器的连接。通过编程配置8255芯片的工作模式,可以实现数据的输入和输出。

  5. 数码管显示模块:采用1位数码管,用于显示当前音阶。通过8255芯片的控制,可以实时更新数码管的显示内容。

  6. 蜂鸣器:用于发出声音,实现电子琴的演奏功能。蜂鸣器的发声频率由8253芯片产生的波形信号控制。

四、软件设计

软件设计主要包括初始化程序、按键扫描程序、音阶处理程序、数码管显示程序和蜂鸣器控制程序等部分。

  1. 初始化程序:在系统启动时,对8086微处理器、8253芯片和8255芯片进行初始化设置,确保系统能够正常工作。

  2. 按键扫描程序:实时扫描按键模块的输入状态,一旦检测到按键按下,则调用音阶处理程序进行相应的处理。

  3. 音阶处理程序:根据按键输入的不同,计算并设置8253芯片的输出频率,以驱动蜂鸣器发出相应的音阶声音。

  4. 数码管显示程序:根据当前音阶的值,更新数码管的显示内容。

  5. 蜂鸣器控制程序:根据8253芯片的输出频率,控制蜂鸣器的发声。

五、实现与测试

在实际实现过程中,我们首先完成了系统的硬件搭建,包括8086微处理器、按键模块、8253芯片、8255芯片、数码管显示模块和蜂鸣器的连接与调试。然后,编写了相应的软件程序,实现了电子琴高低八音阶的演奏功能。在测试阶段,我们对系统的各项功能进行了测试,包括按键输入、音阶处理、数码管显示和蜂鸣器发声等。测试结果表明,本系统能够正确地实现高低八音阶的演奏功能,且音质清晰、响应迅速。

六、结论与展望

本文设计并实现了一种基于8086的16键电子琴高低八音阶系统。通过硬件设计和软件编程,实现了电子琴的基本演奏功能。该系统具有设计灵活、功能扩展性强等优点,可应用于教学、娱乐等多种场合。未来,我们可以进一步优化系统的性能,提高音质和响应速度,增加更多的功能,如和弦演奏、节奏控制等,以满足

;译码端口
IO0 EQU 00h
IO1 EQU 10h
IO2 EQU 20h
IO3 EQU 30h
IO4 EQU 40h
IO5 EQU 50h

;LCD  端口
LCD_CMD_WR	EQU 9000H
LCD_DATA_WR	EQU	9002H

DATA	SEGMENT 
	OUTBUFF DB 0,0,0,0,0,0,0,0,0,0
	str2 db  ' ',' ',' ',' ','0','0'
	segdata db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
DATA	ENDS

code	segment  ;定义代码段
	assume cs:code,ds:DATA

start:	mov ax,DATA	;建立DS段地址
	mov ds,ax
;;;;;;;;;;;;; ;LCD初始化
;;;;;;;;;;;;;;LMO32L初始化;;;;;;;;;;;;;;;;;;;;;
	IN  AX,DX        

【资源下载】下载地址:点击下载(1165) https://docs.qq.com/doc/p/ffc421513a628b30450ae742547c0b850456d7c8

  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值