例如:需要点亮东、西方向的红灯和南、北方向的绿灯,其它灯均熄灭时,可以用下面 C 语句完成。对于高速 DSP,可能需要在两个语句之间加入延时语句。
port8007=0x024; port8007=0x49;
2.2.3 发 光二极管显示阵列编程控制
发光二极管显示阵列的显示是由 I/O 扩展端口控制,DSP 须将显示的图形按列的顺 序存储起来 (8 8 点阵,8 个字节,高位在下方,低位在上方 ),然后定时刷新控制显示。具体方法是,将以下控制字按先后 顺序,每两个为一组发送到全局控制寄存器的第 6-4 位和端口 0x8005,发送完毕后,隔不太长的时间 (以人眼观察不闪烁的时间间隔 )再发送一遍。由于位值为,0”时点亮,所以需要将显示的数据取反。
000B,第 8列数据取反;001B,第 7列数据取反;
010B,第 6列数据取反;011B,第 5列数据取反;
100B,第 4列数据取反;101B,第 3列数据取反;
110B,第 2列数据取反;111B,第 1列数据取反。
注意:在使用前须在 I/O 端口 8007 写入控制字 0x0C1,以打开此设备。关闭时写 0x0C0。
2.2.4 步 进电机编程控制
步进电机是由寄存器 PWMR控制。 这个寄存器映射在 2407DSP的 I/O空间 8007H
上,当 DSP 向该地址写数据 (8 位有效值 )时,高两位为 ‘ 10’ 时数据的低 4 位将写入
PWMR 寄存器 (PWM4,PWM3,PWM2,PWM1)。
WM1-4 按照下面拍的顺序给电机的四相输入端 送入控制信号,且频率大于
500PPS,电 机将开始正向转动。 如果按照拍的逆序送控制信号,且频率大于 500PPS,
电机将开始反向转动。
哈尔滨 工业 大 学—— DSP 原 理与应 用实 验 指导书
II- 17
拍 PWM4 PWM3 PWM2 PWM1
1 1 1 1 0
2 1 1 0 0
3 1 1 0 1
4 1 0 0 1
5 1 0 1 1
6 0 0 1 1
7 0 1 1 1
8 0 1 1 0
控制的方法是,首先设置全局控制寄存器中的 PWME 位为 ‘ 1’,再 使 DSP 以一定的频率改变 PWM4-1 各位状态,输出正向或反向的 PWM 波。
2.2.5 蜂 鸣器编程控制
蜂鸣器由 DSP 通用 I/O 管脚输出控制,可将此管脚上的频率输出转换成声音输出。 2407 的通用 I/O 口 BDX0 控制蜂鸣器的输出频率。
控制的方法是首先设置全局控制寄存器中的 BUZZE 位为‘ 1’,再使用 DSP 通用定时器设置 BDX0 以一定的频率改变高低状态,输出方波。
2.2.6 键 盘输入编程控制
键盘的扫描码由 DSP 的 I/O 扩展地址 0x8001 给出,当有键盘输入时,读此端口得到扫描码,当无键被按下时读此端口的结果为 0。读取的方法如下,
nScanCode=port8001; nnn=port8002; // nScanCode 中为扫描码
2.2.7直 流电机编程控制
直流电机需要加上适合的电压 (1.5-3.0V)、通过一定的电流 (0.12A)才能转动,当电流改变时会使电机转速改变,当电流的方向 发生变化时,电机会朝相反的方向转动。
显示控制模块将 C2407DSP 的通用 I/O 管脚 BFSR1 的输出接到直流电机控制电路,利用此管脚上输出的 PWM 波形的占空比变化来产生受控改变的电流,再利用另一个通用 I/O 管脚 BCLKXR0 上的电平信号控制电流的方向。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-69.html
还是蒋委员长说的对
限制条件可放宽
中国应该直接将闯入领海的美国军舰扣压