单片机课程设计 打地鼠
单片机课程设计 打地鼠

3.详细设计3.1 硬件设计1.芯片及原理介绍 (一)STC89C52STC89C52与MCS-51单片机产品兼容 、8K 字节在系统可编程Flash 存储器、 1000次擦写周期、 全静态操作:0Hz ~33MHz 、 三级加密程序存储器 、 32个可编程I/O 口线 、三个16位定时器/计数器 八个中断源 、全双工UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。
STC89C52的一些特殊功能口,如下表所示:(二)数码管 数码管使用条件:a 、段及小数点上加限流电阻b 、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定c 、使用电流:静态:总电流 80mA (每段 10mA );动态:平均电流 4-5mA 峰值电流 100mA 上面这只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。
LED 数码显示原理:七段LED 显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根P1口引脚 特殊功能P1.0T2(定时器T2外部输入)P3口引脚P3.0 RXD (串行输入口) P3.1 TXD (串行输出口)P3.2 (外部中断0) P3.3 (外部中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 WR(外部数据存储器写选通)P3.7 RD (外部数据存储器读先通)agdefbcdpa 7b 6c 4d 2e 1f 9G N D 3G N D 8g 10dp 5据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码表“0”3FH “8”7FH “4”66H “C”39H“1”06H “9”6FH “5”6DH “d”5EH“2”5BH “A”77H “6”7DH “E”79H“3”4FH “b”7CH “7”07H “F”71H 2.硬件原理图P0口通过连接4×4个矩阵键盘,游戏键盘,根据扫描检测到得按键值,依照相应游戏规则,判断游戏是否加分;P1口接4位8段数码管的段选脚a接P1.0以此类推。
基于51单片机的模拟打地鼠游戏设计

.《现代通信技术》课程设计基于51单片机的模拟打地鼠游戏设计院系:工学院专业班级:通信工程10秋2班姓名:钟丽薇学号:10032202小组成员:陆韵指导教师:徐振、赵兰完成日期2013年10月目录1 设计任务 (1)1.1设计题目及材料 (1)1.2设计要求 (1)1.3设计进度安排 (2)2 总体方案 (3)2.1硬件设计 (3)2.1.1 主控芯片 (3)2.1.2 数码管模块 (4)2.1.3 LED模块 (5)2.1.4 独立按键模块 (5)2.2软件设计 (6)3 功能调试 (7)3.1调试过程 (7)3.2调试中遇到的问题 (7)4 设计总结 (8)5 致谢 (9)1 设计任务通过本次课程设计,运用已学的课程知识,自主设定题目及要求,进行软硬件系统的设计和调试,对《现代通信技术》课程中涉及的芯片结构、控制原理、硬件和编程等方面有一定的感性认识和实践操作能力,从而加深对本课程知识点的理解,使应用知识能力、设计能力、调试能力以及报告撰写能力等方面有显著提高。
1.1 设计题目及材料我们的课程设计选题定为《基于51单片机的模拟打地鼠游戏设计》。
将所掌握的的元器件组合在一起,设计出具有可玩性的实用小制作,不仅巩固了已学习的知识,更能拓展自己的思维能力。
所用到的材料:表1.1 材料列表STC89C52单片机开发板1块4位8段数码管(共阳)1个LED灯5个轻触按键5个100Ω电阻5个0.5kΩ电阻4个9013三极管4个杜邦线若干1.2 设计要求要求作品完成后,可以实现简易打地鼠游戏的功能。
具体如下:接通电源后,游戏开始,数码管显示“0”,同时随意点亮一个LED,在2秒时间内按下对应的按键,则数码管示数加一,游戏继续;反之,则示数归零,游戏结束1.3 设计进度安排表1.2 设计进度安排10月21日(周一) 收集资料,确定选题,大致设计方案10月22日(周二) 设计电路图,采购所需材料10月23日(周三) 完成具体设计,组装电路板10月24日(周四) 完成硬件部分,完成部分论文编写程序;软硬件调试10月28日(周一) 至10月29日(周二)10月30日(周三) 最终调试,完成论文2 总体方案2.1 硬件设计采用AT89S52为主控芯片的单片机开发板,选取共阳四位八段数码管作为计分显示,以及5个LED和5个独立按键分别制作模块,通过杜邦线连接到单片机上,使其成为一个为简易的游戏机。
打地鼠课程设计报告

嵌入式打地鼠课程设计一、系统方案设计本设计应用STM32开发板进行设计,即一个带触摸功能的液晶屏,主要负责显示打地鼠游戏运行界面及分数变化等,STM32主控版采用的型号为STM32F103,使用高性能的ARM Cortex-M3内核,工作频率为72MHz,内置高速存储器(高达128k字节的闪存和20k字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。
所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。
本次设计的显示界面用了一块串口液晶屏,这种串口屏具有界面设计简单,交互性好,使用方便的特点,且它使用USART进行与主控版进行通信,便于控制部分与显示部分独立进行调试,也便于通信协议的制定。
可实现如下功能:1.地鼠在规定的时间内随机地出现在不同的洞口。
2.当用户击中地鼠分数加一。
3.当用户未击中地鼠生命值减一。
4.触摸屏显示用户所得分数、关数、生命值数。
二、硬件设计①触摸屏模块1. 一般转换模式:单独的转换模式一般使用来作为通用的ADC转换使用,这种模式可以通过初始化设置寄存器ADCCON,并且读写寄存器ADCDA T0来实现。
2. 分别X/Y位置转换模式:触摸屏控制器可以通过X/Y两个转换模式中的一个来完成,X位置模式写X位置转换数据到寄存ADCDAT0,这时触摸屏接口产生中断源到中断控制器。
Y位置模式写Y位置转换数据到寄存器ADCDAT1,,这时触摸屏接口产生中断源到中断控制器。
3. 自动X/Y位置转换模式:自动X/Y位置转换模式的工作方式如下:当触摸屏有触点触发时,触摸屏控制器依次转换X位置和Y位置。
在触摸屏控制器写X位置测试数据到寄存器ADCDAT0和写Y位置测试数据到寄存器ADCDA T1后,触摸屏接口产生中断源到中断控制器。
4.等待中断模式:当有触摸笔按下的时候,触摸屏控制器会产生中断信号(INT_TC)。
基于c的打地鼠课程设计

基于c的打地鼠课程设计一、课程目标知识目标:1. 让学生掌握C语言的基本语法和编程结构,如变量声明、循环结构、条件语句等。
2. 借助打地鼠游戏案例,使学生理解C语言在游戏开发中的应用。
3. 使学生了解计算机图形处理的基本原理。
技能目标:1. 培养学生运用C语言编写简单程序的能力,能够实现打地鼠游戏的主体功能。
2. 培养学生运用逻辑思维和分析问题的能力,能够针对游戏需求设计合适的算法。
3. 提高学生的团队协作能力,通过合作完成课程项目。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养计算机科学的爱好。
2. 培养学生积极主动参与课堂讨论,勇于提出问题、解决问题的习惯。
3. 培养学生面对挑战时的耐心和毅力,增强克服困难的信心。
课程性质:本课程为实践性较强的编程课程,结合实际游戏案例,让学生在动手实践中掌握编程知识和技能。
学生特点:六年级学生具有一定的逻辑思维能力,对新奇有趣的游戏有较高的兴趣,但编程基础为零。
教学要求:教师需采用循序渐进的教学方法,从简单语法入手,逐步引导学生掌握C语言编程技能。
同时,注重培养学生的团队协作能力和解决问题的能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能在课程中取得实际成果。
二、教学内容1. C语言基础语法:- 变量声明与赋值- 数据类型与运算符- 程序的控制结构:顺序结构、循环结构、条件语句- 数组的使用2. 游戏编程原理:- 游戏循环与事件处理- 图形绘制与动画实现- 随机数生成与碰撞检测3. 打地鼠游戏设计与实现:- 游戏需求分析- 游戏界面设计- 游戏逻辑编程- 游戏测试与优化4. 教学内容的安排与进度:- 第一周:C语言基础语法学习,熟悉编程环境- 第二周:游戏编程原理学习,分析打地鼠游戏需求- 第三周:分组讨论,设计游戏界面和逻辑- 第四周:编写代码,实现打地鼠游戏功能- 第五周:测试优化,展示作品,总结评价教学内容依据教材相关章节进行组织,确保学生能够系统地掌握C语言编程知识,并将所学知识应用于实际游戏项目中。
单片机打地鼠游戏机

作品名称:基于AT89S52以LCD1602为显示屏的打地鼠游戏作品简介:采用AT89S52单片机为主控芯片,选取LCD1602作为显示屏,通过一个拨动开关控制液晶屏的开启与关闭。
带有红外接收头,同时可用红外遥控器进行控制。
选取了基于I2C-BUS 的串行EEPROM存储器件24C02作为游戏数据存储器,可以掉电保存游戏记录。
配有无源蜂鸣器,可播放开场音乐及提示音。
本游戏硬件部分的电路原理图均是自行设计,全部为手工布线与焊接;软件部分为原创的基于1602液晶屏的打地鼠(Whac-A-Mole)游戏。
操作说明:1.插上电源后,打开作品左下角的拨动开关启动(左边为“关”,右边为“开”)。
如在光线差且电池电量充足的情况下,可打开上方液晶屏下的背光控制开关(左边为“开”,右边为“关”)。
2.系统启动后,会出现一个过场动画,随后显示游戏等待画面:液晶屏第一排前8位随机显示地鼠(Ö)或地雷(*),右边显示最高分;液晶屏第二排显示游戏的英文名称——Whac A Mole(打地鼠)。
3.按下遥控器上的“开/关”键进入游戏(此时独立键盘无效)。
4.在开场音乐伴随下显示“Ready Go!!!”之后正式进入游戏。
游戏从Level 01开始,共20关。
5.进入游戏界面后,随机产生地鼠和地雷(地雷产生的概率为10%),上下两行四列分别对应独立键盘的8个按键。
按下某个键即代表击打相应位置。
6.游戏界面的右侧上下两行分别显示分数($XXX)和生命数(L XX)。
游戏初始的生命数为3。
7.若击中地鼠:正常情况下分数加1,播放提示音1;若在较短时间(实际为地鼠产生到消失的前一半时间内)击中,则“快速反应,双倍加分”,即分数加2,播放提示音2,但与正常得分的提示音1不同。
8.若击中地雷,则生命数减1,分数不变,播放提示音3。
9.当地雷出现时,若未按下相应键,则分数加1,播放提示音1。
10.当地鼠出现时,若未按下相应键,则生命数减1,分数不变,播放提示音3。
c打地鼠课程设计

c 打地鼠课程设计一、课程目标知识目标:1. 学生能掌握C语言基础语法,包括变量定义、数据类型、运算符和表达式。
2. 学生能够理解并能运用循环结构和条件判断语句进行程序设计。
3. 学生能掌握数组的使用,并能运用数组解决实际问题,如打地鼠游戏中得分和命中的记录。
技能目标:1. 学生通过编写“打地鼠”游戏,培养问题分析能力和编程解决问题的能力。
2. 学生能够运用所学知识,设计并实现简单的交互式程序,提升逻辑思维和编程实践技能。
3. 学生通过小组合作完成项目,培养团队协作和沟通能力。
情感态度价值观目标:1. 学生通过编程实践,增强对信息技术的兴趣和认识,培养积极的学习态度。
2. 学生在解决问题的过程中,形成勇于尝试、不断调试和优化的探索精神。
3. 学生通过编程学习,认识到科技对生活的影响,培养创新意识和责任意识。
课程性质:本课程为信息技术学科,以项目驱动的形式开展,注重理论与实践相结合。
学生特点:六年级学生对计算机操作有一定的基础,对新事物充满好奇,喜欢动手实践。
教学要求:教师应关注学生个体差异,引导他们主动探索,鼓励团队合作,使学生在实践中掌握知识,提升技能。
教学过程中,注重培养学生的信息素养和解决问题的能力。
通过具体的学习成果,评估学生对课程内容的掌握程度。
二、教学内容本课程以C语言编程基础和游戏设计为主线,结合以下教学内容:1. C语言基础:- 变量的定义和使用- 基本数据类型和类型转换- 运算符和表达式- 顺序结构程序设计2. 控制结构:- 选择结构(if语句)- 循环结构(for循环、while循环)- 循环控制(break、continue)3. 数组和字符串:- 数组的定义和初始化- 数组的使用(遍历、排序等)- 字符串的基本操作4. 游戏设计基础:- 游戏流程控制- 图形和动画处理- 事件处理和用户交互5. 打地鼠游戏项目:- 游戏规则和设计思路- 游戏界面设计- 游戏逻辑编程(地鼠出现、得分、生命值等)教学内容安排和进度:第一课时:C语言基础及顺序结构程序设计第二课时:控制结构(选择和循环)第三课时:数组和字符串第四课时:游戏设计基础第五课时:打地鼠游戏项目实践(上)第六课时:打地鼠游戏项目实践(下)及总结教材章节关联:教学内容与教材中C语言基础、控制结构、数组、函数等章节相关联,确保学生所学知识的系统性和连贯性。
c打地鼠课程设计

c 打地鼠课程设计一、教学目标本课程旨在让学生掌握C语言编程的基本技能,通过“打地鼠”游戏的项目实践,培养学生的编程思维和问题解决能力。
具体目标如下:1.知识目标:学生能理解并掌握C语言的基本语法、数据类型、运算符、控制结构等编程基础。
2.技能目标:学生能运用C语言进行简单的程序设计,能通过“打地鼠”游戏项目实践,提高编程能力和问题解决能力。
3.情感态度价值观目标:学生在编程实践中能体验到计算机科学的乐趣,培养对编程的兴趣和持续学习的动力。
二、教学内容本课程的教学内容以C语言编程为主线,结合“打地鼠”游戏项目实践,具体包括:1.C语言基础:数据类型、运算符、控制结构等。
2.函数:函数的定义、调用、参数传递等。
3.数组和字符串:一维、多维数组的声明、使用和内存分配,字符串的基本操作。
4.指针:指针的概念、声明、赋值、运算和指针数组、指针字符串等。
5.结构体和文件:结构体的定义、使用,文件的基本操作。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法:1.讲授法:用于讲解C语言的基本语法和概念。
2.案例分析法:通过分析“打地鼠”游戏项目的代码,讲解实际编程中的问题和解决方法。
3.实验法:学生动手实践编写C语言程序,提高编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和参与程度。
2.作业:布置课后编程作业,评估学生的编程能力和理解程度。
3.考试:进行期中和期末考试,评估学生对C语言基础知识和编程技能的掌握情况。
评估方式应客观、公正,全面反映学生的学习成果。
通过以上评估方式,了解学生的学习状况,及时给予反馈,帮助学生提高。
打地鼠游戏设计毕业论文(设计)

打地鼠游戏机公布论文和全部源码,仅供学习摘要:本作品采用STC12C5A60S22单片机作为主控芯片,选取1602液晶作为显示屏,通过红外接收器用遥控控制游戏机的开机和关机。
游戏程序应用C语言编译,主要使用函数为随机函数和键盘扫描函数。
通过随机函数产生一个随机数,该随机数使显示屏对应位置出现“O”,同时对应的LED被点亮以代表地鼠的随机出现。
通过键盘扫描函数,使每个按键各对应一个LED灯,通过按下该键使相应LED灯熄灭。
本系统配有开场音乐和游戏音效。
关键词:单片机、随机函数、键盘扫描函数、音乐Abstract: this work using STC12C5A60S2 microcontroller as the main control chip select LCD as a display,1602, through the infrared receiver remote control game startup and shutdown. This game program using C language editing, the main function used are the random function and keyboard scan function. Use random functions to generate a random number, at the same time the random number to display the corresponding position"0" and the corresponding LED is illuminated to represent the random hamster. Through the keyboard scan function, make each key corresponds to a LED lamp, by pressing this key to the corresponding LED lights.The whole process has background music and game sound.Key words: SCM, random function, keyboard scan function, music游戏说明:本游戏由8个LED灯分别代表8只地鼠,当地鼠跳出来时显示屏对应位置出现“O”,同时该地鼠对应的LED灯被点亮,在限定时间内按下相应按键后,对应LED灯熄灭,同时“O”闪烁一下,表示打中该地鼠。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.详细设计
3.1 硬件设计
1.芯片及原理介绍 (一)STC89C52
STC89C52与MCS-51单片机产品兼容 、8K 字节在系统可编程Flash 存储器、 1000次擦写周期、 全静态操作:0Hz ~33MHz 、 三级加密程序存储器 、 32个可编程I/O 口线 、三个16位定时器/计数器 八个中断源 、全双工UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。
STC89C52的一些特殊功能口,如下表所示:
(二)数码管 数码管使用条件:
a 、段及小数点上加限流电阻
b 、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定
c 、使用电流:静态:总电流 80mA (每段 10mA );动态:平均电流 4-5mA 峰值电流 100mA 上面这只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。
LED 数码显示原理:
七段LED 显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根
P1口引脚 特殊功能
P1.0
T2(定时器T2外部输入)
P3口引脚
P3.0 RXD (串行输入口) P3.1 TXD (串行输出口)
P3.2 (外部中断0) P3.3 (外部中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 WR(外部数据存储器写选通)
P3.7 RD (外部数据存储器读先通)
a
g
d
e
f
b
c
dp
a 7
b 6
c 4
d 2
e 1
f 9G N D 3
G N D 8
g 10dp 5
据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码表
“0”3FH “8”7FH “4”66H “C”39H
“1”06H “9”6FH “5”6DH “d”5EH
“2”5BH “A”77H “6”7DH “E”79H
“3”4FH “b”7CH “7”07H “F”71H 2.硬件原理图
P0口通过连接4×4个矩阵键盘,游戏键盘,根据扫描检测到得按键值,依照相应游戏规则,判断游戏是否加分;P1口接4位8段数码管的段选脚a接P1.0以此类推。
P2口接数码管的位选端,P2.0接第一位,以此类推。
P2.6接蜂鸣器。
P3口接LED矩阵。
3.2软件设计.
3.2.1程序设计思路
LED矩阵部分是有单片机产生随机数点亮的。
打地鼠游戏机游戏规则判断部分,先由矩阵键盘扫描程序获得键值,利用该键值和点亮LED的随机数进行比较得到游戏结果。
}
return(rekey);
TH0=0;//-(50000/256);
ledcode=0x1b;
case 10:
ledcode=0x87;
break;
if(ledcode==0x4e){
}else{
}
4. 系统调试及分析1、用keil编写程序编译运行通过后,用Proteus仿真结果如下。
随机数点亮LED矩阵,数码管显示得分,蜂鸣器发声。
2、实物连接图如下。