1、单片机课程设计报告 共 29 第 1 页 单片机单片机课程设计报告课程设计报告 设计题目:设计题目: 液晶显示之贪吃蛇液晶显示之贪吃蛇 单片机课程设计报告 共 29 第 2 页 一一设计目的及要求:设计目的及要求: 掌握单片机一般设计方法,学会将所学单片机知识用之于实践,用所学知识完掌握单片机一般设计方法,学会将所学单片机知识用之于实践,用所学知识完 成一个完整的课程设计成一个完整的课程设计 掌握液晶显示器的一般工作原理,了解液晶屏各管脚的作用掌握液晶显示器的一般工作原理,了解液晶屏各管脚的作用 在熟悉单片机编程和液晶显示原理的基础上,设计电路,编写代码来实现液晶在熟悉单片机编程和液晶显示原理
2、的基础上,设计电路,编写代码来实现液晶 屏的文字显示,图片显示,并通过相应的算法设计一个贪吃蛇的小游戏屏的文字显示,图片显示,并通过相应的算法设计一个贪吃蛇的小游戏 二二设计原理图:设计原理图: 如下图所示,设计电路图由单片机最小系统构图加上如下图所示,设计电路图由单片机最小系统构图加上 LCD 显示电路,八位独显示电路,八位独 立按键电路和串口下载电路组成,立按键电路和串口下载电路组成,在实际设计中,为了灵活运用,各部件大都采用在实际设计中,为了灵活运用,各部件大都采用 排针连接方式,使用时直接用杜邦线连接即可,方便今后在些基础上做其它实验排针连接方式,使用时直接用杜邦线连接即可,方便今后在
3、些基础上做其它实验 单片机课程设计报告 共 29 第 3 页 三基础流程图三基础流程图 单片机课程设计报告 共 29 第 4 页 四四程序设计代码:程序设计代码: 本次程序设计代码由游戏主程序,本次程序设计代码由游戏主程序,LCD 显示驱动程序,按键扫描程序三部分组成,其中游戏主显示驱动程序,按键扫描程序三部分组成,其中游戏主 程序为游戏控制部分, 起主导作用,程序为游戏控制部分, 起主导作用, LCD 驱动部分提供了驱动部分提供了 LCD 各种显示的驱动代码, 方便直接调用,各种显示的驱动代码, 方便直接调用, 而按键扫描部分则实现了外部按键的状态扫描。而按键扫描部分则实现了外部按键的状态扫
4、描。 具体代码如下:具体代码如下: 按键扫描按键扫描:Key.c #include “REG52.H“ unsigned char OSScanKey(void) unsigned char Temp; unsigned char i; P2=0xff; Temp=P0; for(i=0;i7) return;/如果指定位置不在显示区域内,则不做任何写入直接返回如果指定位置不在显示区域内,则不做任何写入直接返回 EA=0; switch(y) case 0: Lcd_WriteCmd(0x80+x); break; case 1: Lcd_WriteCmd(0x90+x); break; case 2: Lcd_WriteCmd(0x88+x); break; case 3: Lcd_WriteCmd(0x98+x); break; while(*Str0) Lcd_WriteData(*Str); Str+; EA=1; /*