ToC
实验内容
观察 8254 工作在方式 0、方式 1、方式 2 和方式 3 的波形。
实验接线
实验说明中使用的是计数器 1,但我的环境下计数器 1 之前不知道出了什么问题,无法正常使用。更换为计数器 0 则工作正常,因此以下实验均以计数器 0 实现。
现在发现好像是初值赋值的变量出问题了,但我懒得改了(
接线如下图:
将 CLK0
与时钟源的 18.432kHz
相连,GATE
与开关及 LED
现实单元的 K0
相连。
代码
这里值得注意的是我们将计数器初值设置成了 0x4800
,这个值的十进制表示就是 18432
,与时钟源的频率相同,即计数一秒。
波形
方式 0
将 GATE
输入设置为高电平,等待一秒后输出变为高电平。
方式 1
计数器在 GATE
边沿启动。书上说是上升沿,但其实下降沿也会触发。
方式 2
方式 2 我不清楚输出是否正确,仅作参考。
方式 3
方式 3 是方波输出,如下所示。
选做实验:手动控制输入时钟
连线
修改布线,将 CLK0
与 KK1+
相连,如下图所示:
代码
输出
连按 KK1
即可,待计数值归零时就会变为高电平。
选做实验:周期为 1 的方波
这个实验我们在基础实验的时候就已经做完了,这里就跳过了。
选做实验:控制 LED
连线
正常连接 8255 即可。OUT0
连接 MIR6
,通过中断控制 LED
移动。