这是我写的点阵程序
有没有能指点一二的
根据给定的任务要求选择At89c52单片机和单片机开发试验仪,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。有关参数选择要求符合国家标准。具体设计内容如下: 模拟16×16点阵LED模块、模拟蜂鸣器模块、模拟流水灯模块、模拟独立按键模块。设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图;系统控制程序设计、调试及实现: - 根据要求,写出完整的程序流程图;
- 将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;
- 按所设计的原理图,在实验平台上连线,并不断调试,下载程序,实现所给定的要求;
- 整理分析所设计的单片机项目,相互交流,取长补短,整理实验说明书。
1.3 总体方案设计 系统操作步骤: - 整体熟练掌握本实验程序和操作步骤之后,开始进行实验;
- 按下电源开关,16×16点阵模块直接循环显示成员姓名“彭飞”;
- 当按下独立按键K7,16×16点阵模块循环显示成员姓名“庞川”;
- 当按下独立按键K6,16×16点阵模块循环显示成员姓名“庞琨”;
- 当按下独立按键K5,流水灯从左至右点亮;
- 当按下独立按键K4,蜂鸣器开始唱“茉莉花”。
第2节 系统硬件电路设计
2.1 工作原理图及说明 单片机控制系统工作原理框图 原理图说明: - 原理图主要分为4部分:分别是独立按键模块、16×16点阵LED模块、蜂鸣器模块、流水灯模块。
- 四个独立按键相互配合,实现对多种功能的组合应用。
出现的问题及解决方案: - 在绘制原理图时,由于功能较多,采用总线的画法,实现接线有条理且查看方便;
- 安装独立按键时,开始用的是常闭按键,后来发现错误,改用常开按键;
- 蜂鸣器绘制时,本来画在P3口,但由于接线混乱,改到了P1口。
第3节 系统的软件设计 3.1 系统操作流程图 系统操作流程图说明: - 将单片机给电,在未进行任何操作的时候,16×16点阵LED直接循环显示成员1“彭飞”三个字。
- 当按下K7按键,点阵循环显示成员2“庞玉川”三个字;
- 当按下K6按键,点阵循环显示成员3“庞乃琨”三个字;
- 当按下K5按键,流水灯右左一次点亮;
- 当按下K4按键,蜂鸣器启动,开始鸣唱“茉莉花”歌曲。
出现的问题及解决方案: - 计划设计数码管和流水灯并存,但是由于接线太多,且调试总是出现问题,把数码管就删除掉了;
- 尝试使用矩阵键盘,但由于所学知识有限,后期有机会会改进;
- 利用音乐音符换成相应的代码将蜂鸣器简单的响换成了一首歌曲。
3.2 软件设计流程图
软件设计流程图说明: - 首先定义了需要使用的变量和函数,编写了蜂鸣器音乐的数组,以便后面调用;
- 主程序中,扫个4个按键,返回相应的数值。
- 主程序中还包含了流水灯左右移动以及点阵循环出现相应汉字的程序;
- 对于子程序的编写延时函数、音乐播放函数、点阵显示函数等。
软件设计流程图中出现的问题及解决方案: - 子程序存在于主程序中过于冗杂,单独建立子程序;
- 蜂鸣器音乐插入时总是出现错误,重新声明变量,调整子程序位置;
- 16×16点阵调试程序时显示乱码,汉字模拟将纵向放置改成横向放置,显示生成。
第4节 附录 程序代码
以上资料51hei下载地址(仿真工程+文档)
注意不含源码哦:
amao.rar
(482.13 KB, 下载次数: 14)
|