【跳舞机课程设计报告】是西安电子科技大学通信工程学院的一门课程设计,要求学生使用汇编语言在开发板上实现跳舞机的功能。该设计旨在帮助学生掌握矩阵键盘和显示接口的硬件设计,以及键盘扫描程序和显示程序的编程方法。同时,通过编写实用程序,学习如何调用DOS和BIOS。
设计任务包括:
1. 基本功能设计:至少配置4个数码管和4个按键,舞蹈动作随机显示,能够统计玩家分数。
2. 扩展功能:增加声光电效果。
3. 创新功能:游戏开始前玩家可选择难度,难度与按键速度相关联。
系统方案涉及程序变量和实现功能两方面。变量包括BUF存储输入数据,TB1用于键值转换,TBS用于数码管字型码转化,MUN记录正确按键次数,LED控制发光二极管信号,DE用于SCAN子程序的循环次数。
程序启动时,数码管闪烁等待玩家开始。游戏有"难"和"易"两个难度等级,玩家通过按键选择。游戏中,左右两侧数码管交替显示随机方向,玩家需根据指示快速按键。正确按键计分,错误则触发蜂鸣器。游戏结束后,成绩会显示30秒后退出。
硬件部分使用8255芯片,其有三个8位端口A、B、C,以及一个控制寄存器。8255A的控制字设定工作模式。另外,74LS374芯片用于数据输入和三态控制。电路图未提供详细信息,但通常会包含键盘、数码管、发光二极管和音频输出等接口。
程序流程包括主程序初始化8255,进入循环,生成随机数,扫描键盘,比较玩家输入,计算得分,然后再次循环。在SCAN子程序中,通过改变循环次数来调整箭头显示速度,从而实现难度等级的切换。
此课程设计不仅涵盖了硬件接口和编程,还涉及到游戏逻辑和用户体验,是对微机原理和汇编语言应用的综合实践。学生在完成项目的同时,能深入理解底层系统操作和软硬件交互。