background image

在乐曲中,每个音符的音高和音长与频率节拍有关。

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)检测按键.如果按下一键,则获取字符码并将它写到要

·     ·       ·      ·     ·     ·     ·