在乐曲中,每个音符的音高和音长与频率节拍有关。
表
10-3 音阶频率对照表
音名
C D E F G A B
C’ D’ E’ F’ G’ A’ B’
C” D” E” F” G” A” B”
简谱
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
频率
131 147 165 175 196
220 247
262 294 330 349 392
440 494
524 588 660 698 784
880 984
(
1)频率数据
(
2)节拍时间数据
【例
10-5】图 10.6 是《两只老虎》的简谱。根据乐谱在数据段中定义了频率数据表(FREQ)
和节拍时间数据表(
TIME),程序以-1 作为频率数据表的结束标志。
1=C 4/4
1 2 3 1 | 1 2 3 1 | 3 4 5
一
| 3 4 5
-
|
5 6 5 4 3 1 | 5 6 5 4 3 1 | 2 5 1
一
| 2 5 1 -|
图
10.6 《两只老虎》简谱
10.3 数据通讯系统程序设计
10.3.1 并行通信口 I/O
【例
10-6】应用 BIOS 和 DOS 功能调用,编写一个简单的打字程序。它要求把从键盘上接收
的字符显示在屏幕上,并由打印机输出,在键盘上按下
ESC 键,即退出程序。
10.3.2 串行通信口 I/O
1. 利用 BIOS INT 14H,通过 COM 端口与另一台 PC 机通讯。
其过程如下:
(
1)用 INT 14N,AH=1,AL=字符,发送一个字符。
(
2)为了接收字符,用 INT 14H,AH=3 来获得 COM 端口的状态,其值返回在 AH 寄
存器中,注意,
MODEM 的状态值是返回在 AL 寄存器中的。
(
3)检验 COM 端口状态值的第 0 位,它是数据准备好位,如果该位为 1,说明 COM
端口已接收到字符并送到了
8250UART。
(
4)为了读取接收到的字符,使用 INT 14H AH=2 功能,将字符读到 AL 寄存器。
2. 双机双向通讯
【例
10-7】两台 PC 机通过 COM2 端口进行串行数据通信,编写一个汇编语言程序,
要求从一台
PC 机上键盘输入的字符能传送到另一台 PC 机,若按下 ESC 键,则退出程序。
在程序中,
COM2 端口初始化为 4800 波特,8 位数据位,无校验,1 位终止位;按照上
述通信要求编程时,需要以下几个步骤:
(
1)检测按键.如果按下一键,则获取字符码并将它写到要
· · · · · · ·