资料介绍
本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。
关键字:微机 8253 通用发声程序 动画技术 直接写屏
1. 可编程时间间隔定时器8253
在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。
在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址.
对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止.
8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536.
MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式
OUT 43H,AL ; j将控制字送入控制寄存器
MOV AL,0 ;计数初值为0
OUT 42H,AL ;将计数初值的低字节送入计数器2
OUT 42H,AL ;将计数初值的高字节送入计数器2
在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.
2.发声程序的设计
下面是能产生频率为f的通用发声程序:
MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节
;方式3,二进制计数
OUT 43H, AL ;写入控制字
MOV DX, 0012H ;被除数高位
MOV AX, 35DEH ;被除数低位
DIV ID ;求计数初值n,结果在AX中
OUT 42H, AL ;送出低8位
MOV AL, AH
OUT 42H,AL ;送出高8位
IN AL, 61H ;读入8255A端口B的内容
MOV AH, AL ;保护B口的原状态
OR AL, 03H ;使B口后两位置1,其余位保留
OUT 61H,AL ;接通扬声器,使它发声
- 微型计算机系统的基础知识详细说明 0次下载
- 微型计算机与单片机有什么不同 0次下载
- 微机原理是什么?《微机原理与接口技术》电子教材免费下载 109次下载
- 微机原理--微型计算机系统及其操作系统简介 0次下载
- 微型计算机控制技术考试预测题 0次下载
- 微型计算机原理与应用_王永山 0次下载
- 微型计算机原理与接口的微8086仿真小程序 0次下载
- 单片微型计算机概述 47次下载
- 《单片机原理及应用课程设计》教学大纲 63次下载
- 微型计算机系统 0次下载
- 微型计算机基础知识 64次下载
- 微型计算机原理 0次下载
- 32位微型计算机原理与接口技术 0次下载
- 微型计算机基础与应用,下载 0次下载
- 微型计算机接口技术原理及应用 0次下载
- 微型计算机的组成及其应用形态 单片机的特点及应用领域 514次阅读
- 浅谈计算机前世今生及计算机发展史的意义 2066次阅读
- 浅谈4位HRRG计算机定义的汇编语言 2452次阅读
- 火电站计算机监控系统在糖厂中的应用分析 1475次阅读
- 基于PCI总线芯片PCI9056实现机载嵌入式计算机系统的设计 3389次阅读
- 详谈计算机病毒的定义与特征 1.5w次阅读
- 计算机辅助技术有哪些_计算机辅助技术的应用 3.6w次阅读
- 计算机系统的硬件组织详细概述 3835次阅读
- 计算机的机器语言和汇编语言与高级语言的详细资料介绍 5314次阅读
- 嵌入式微处理器的四大发展阶段 4073次阅读
- 导致计算机程序的复杂性和多样性的算法 3216次阅读
- 电子管计算机是第几代_电子管计算机如何存储数据 4.2w次阅读
- 一文看懂计算机执行程序的过程 1.8w次阅读
- 一文看懂8088和8086微型计算机的区别 3.5w次阅读
- 单片机和电脑pc计算机的区别 1.7w次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4具有DCS-Control™ 功能的 3V 到 17V 0.5A 降压转换器TPS6217x-Q1数据表
- 3.17MB | 1次下载 | 免费
- 5labview文档教程资料(一)
- 24.29 MB | 1次下载 | 免费
- 6半砖式DC-DC转换器VI-J00 MiniMod系列数据手册
- 0.65 MB | 次下载 | 免费
- 7电机的模块化分析
- 2.97 MB | 次下载 | 5 积分
- 8SIMPLE SWITCHER® 4.5V至42V 输入、0.1/0.3/ 0.6A 输出降压直流/直流稳压器LM284x数据表
- 1.0MB | 次下载 | 免费
本月
- 1ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 35次下载 | 5 积分
- 2UHD智能显示SoC VS680产品简介
- 0.46 MB | 11次下载 | 免费
- 3STM32国内外发展现状
- 1.15 MB | 11次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 6储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 7传感芯片选型指南
- 3.60 MB | 6次下载 | 免费
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935086次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191316次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73786次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多