基于8086/8088的打地鼠游戏系统
要求使用三个以上的接口芯片或其他元件组成相应的电路,实现某一功能电路,并编制相应的程序,调试运行最终达到设计要求。
本实验设计的是一个打地鼠游戏。地鼠通过LED灯显示。按MON键开始游戏,共分为三关,三关地鼠出现的时间间隔分别为3秒、2秒和1秒。每关有20秒,使用8279外接键盘击打地鼠,打中分数加一并由喇叭发出音效。
本实验用到芯片有74LS393、8253、8255、8259和8279等。外设有LED灯、喇叭、6位七段数码管和外接键盘等。
74LS393是分频单元,将8MHz的频率分频。本实验中使用到31250Hz。
8253为定时/计数器。本实验使用通道0产生1秒的脉冲信号用于触发中断,使用通道1产生伪随机数,从而使地鼠从不同位置出现。
8255是并行I/O接口。本实验中通过8255控制地鼠(LED灯)的显示和喇叭的音效。
8259是中断控制器。本实验使用IR0,由8253通道0触发并转中断服务程序。
8279是键盘控制器。本实验使用外接功能,由键盘控制地鼠的击打以及游戏的开始,并使用数码管显示倒计时以及当前分数。
实验中的地鼠出现的位置是由伪随机数控制的。伪随机数由8253通道1的当前计数值产生。用当前计数值除以常数得余数,即可获得随机数,查表可得当前地鼠位置。
8253的通道0和通道1都工作在方式三,16位二进制计数,通道0的计数初值为31250,配合74LS393分出的31250Hz,可以发出1Hz的脉冲,用于触发中断。通道1的计数初值为7,等于地鼠的洞数,用于产生随机数。
8255的AB口都用于输出,A口输出地鼠的位置,B口控制喇叭。
8259边沿触发,单片方式,设定IR0的中断类型为08H,一般全嵌套方式,一般EOI方式,允许IR0中断。
8279为读写模式,8位,左入口,编码,双键锁定,时钟分频,用于显示数码管以及键盘的读入。
2020-01-03 11:17:32
142KB
8088
1