一 需求分析

简易电子琴的设计:

利用计算机的扬声器发音来实现

定义14个键,对应低音区和中音的1—7,能随意演奏乐曲

能选择多首乐曲中的一首演奏,乐曲自选

良好的交互界面用于乐曲的选择和音符的演奏

按ESC键退出

(提示:设计中需要使用相关的DOS功能调用和BIOS调用)

二 程序设计

2.1 硬件部分

说明:频率1.193MHz,8253芯片端口地址40H~43H,分别对应计时器0、计时器1、计时器2、控制口。

计数器2 的输出频率控制PC机中扬声器的音调高低,通过初始化设置可加以改变。

计数器2 工作于方式3(连续方波),经滤波后可得到近似的正弦波,以此驱动扬声器发声(单音)

扬声器同时还受控于并行接口(8255芯片),必须使 8255的输出端 PB0 和 PB1 同时输出高电平,与门才开通,扬声器才能发声,8255 B口的地址为 61H。


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1380.html

转载于:https://my.oschina.net/u/4188102/blog/3091610

[源码和文档分享]基于8253、8255芯片汇编实现简易电子琴相关推荐

  1. java记事本技术参数_[源码和文档分享]基于JAVA的记事本

    一.绪论 现如今,电脑已经成为了每家每户甚至是每个人手头都必有的一种实用性工具,它改变了人们的生活,大大提高了人们的工作效率.在此基础上,电脑端的记事本应用一直是每台电脑所必备的实用性应用,不管是在台 ...

  2. [源码和文档分享]基于Android Studio实现的在线学习课堂APP

    1 项目介绍 1.1 背景 本软件的开发意图是想让更多想学习外语,却没有好的方法,不知道如何学习,怎么学习,本软件可以为那些想学习的外语的用户,提供各种资源文件,因为现在是互联网的时代普通的纸质书籍不 ...

  3. [源码和文档分享]基于Java语言的电梯调度模拟程序

    一 需求分析 某一栋楼有20层,有5部互联的电梯.基于线程的思想,编写一个电梯调度程序.这五部电梯项目联结,即当一个电梯按钮按下去时,其它电梯相应按钮同时点亮,表示也按下去了. 二 程序设计 本项目采 ...

  4. java rpg对战_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议的故事.玩家可 ...

  5. 蔬菜信息配送系统c语言编程,[源码和文档分享]基于C语言的物流配送管理信息系统...

    一 需求分析 系统需要实现的功能如下: (一)各种基本数据的录入 配送路线基本信息录入 路线经停站点基本信息录入 站点经停车辆基本信息录入 其它信息录入 (二)各种基本数据的修改 即:允许对已经录入的 ...

  6. 基于文本 c语言,[源码和文档分享]基于C语言实现的文件系统

    1 实验目的 学习FAT文件系统的构成 能够将自己的程序应用在系统上 熟悉dd,mount,umount,等指令 设计并实现一个目录列表函数(无须支持选项,如ls -a.ls -l等),用来显示当前目 ...

  7. [源码和文档分享]基于C#实现的RPG角色扮演类小游戏

    1 需求分析 1.1 游戏概述 DragonQuest是一个角色扮演类游戏(RPG),该游戏实现的具体功能是设计两种类型的人物,分别为被玩家所控制的玩家人物(Hero)和由系统所控制的外部人物(Ene ...

  8. [源码和文档分享]基于Android Studio实现的学生蹭课APP

    1 任务概述 1.1 项目来源及背景 本小组项目是小组成员集体讨论时,提出的一个满足大学生在课余时间的蹭课需求的安卓端app.既可以供大家查阅自己感兴趣课程的相关信息,又可以在公告板跳转到教务处网页及 ...

  9. c语言商品库存管理系统,[源码和文档分享]基于C++实现的物品库存管理系统

    一.课题目标 用文件系统实现的物品库存管理程序.一种商品的品种里面包括三个品牌,以品种为单位,可以实现商品品种的添加.删除.查找.显示等功能. 组成商品品种的品牌不限数量,设置一个最大值(比如10), ...

  10. [源码和文档分享]基于Android系统手机通讯录管理软件的设计与开发

    摘要 谷歌在安卓领域投入了大量精力来开发,使得安卓技术得以广泛推广,现安卓移动平台设备在市场上已经得到大量推广及普及.在Android移动终端操作系统的快速发展,Android的各种手机软件也大量增长 ...

最新文章

  1. FCN与U-Net语义分割算法
  2. python随机生成字符串_Python 2.6中的随机字符串(可以吗?)
  3. Nginx的安装和配置文件详细说明
  4. 37--计算一个字符串中每个字符出现次数
  5. 微信服务号+支付+php,微信服务号发送营销红包给关注用户步骤及部分php代码
  6. 蓝桥杯 算法训练 矩阵乘法
  7. ABB机器人仿真软件RobotSdutio 安装使用常见部分问题集
  8. MySQL讲义第 46 讲——select 查询之查询练习(四)
  9. A - Faulty Odometer
  10. 服务器光盘的正确使用方法,使用光盘刻录服务器,自动备份数据到光盘(成功案例)...
  11. 知道2020年计算机二级考试成绩,2020年9月计算机二级考试成绩可以查了 多少分及格...
  12. uva11942 Lumberjack Sequencing
  13. swustOJ 1378 Best Grass
  14. 一个常见的文字无缝滚动效果
  15. 常说的软件声卡指的是软件吗?
  16. PREP 语法笔记 10
  17. AndroidStudio使用程序员字体
  18. 「JOISC 2018 Day 3」比太郎的聚会
  19. Charles主要功能讲解
  20. python写文件字母_不能错过!详解Python文件读写。

热门文章

  1. 请假时间计算方式java_java计算两段时间的重复天数
  2. 2020SCTF——PWN snake
  3. 蓝凌工作ekp开发使用一些js编写开发记录
  4. 网易云课堂-微专业Java
  5. Win10 通知区域蓝牙图标消失问题
  6. RAW WAR WAW 数据相关性
  7. DNS劫持原理,DNS劫持如何解决?
  8. DNS 文件传输协议
  9. VR测试视频源,双目立体视觉测试视频,大分辨率2880x1440-25fps
  10. 来看看 random_state 这个参数