单片机实验报告精品
关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
单片机实训实验报告总结

一、实验背景与目的随着科技的不断发展,单片机作为一种微小的计算机系统,在工业控制、智能家居、汽车电子等领域得到了广泛的应用。
为了提高学生的实践能力和创新意识,本实训课程旨在通过实际操作,让学生掌握单片机的原理、编程和调试方法,培养学生的动手能力和团队协作精神。
本次实训以51单片机为核心,结合数码管、LED灯、按键等外围电路,设计了多个实验项目,包括LED流水灯、交通灯控制系统、简易计算器、温湿度监控系统等。
通过这些实验,使学生深入了解单片机的硬件结构和软件编程,提高学生的实际操作能力和问题解决能力。
二、实验内容与过程1. 实验一:LED流水灯(1)实验目的:掌握51单片机的I/O口编程,实现LED灯的流水效果。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口;② 编写程序:使用循环语句和延时函数控制LED灯的流水效果;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的流水效果。
2. 实验二:交通灯控制系统(1)实验目的:学习单片机在交通灯控制系统中的应用,实现红黄绿灯的变换及倒计时功能。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口,按键连接到外部中断INT0;② 编写程序:设置定时器中断,实现倒计时功能;编写外部中断程序,实现红黄绿灯的变换;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察交通灯的工作状态和倒计时效果。
3. 实验三:简易计算器(1)实验目的:掌握矩阵键盘扫描原理、LCD1602显示屏控制,实现基本的四则运算。
(2)实验步骤:① 硬件连接:将矩阵键盘和LCD1602显示屏连接到单片机;② 编写程序:实现矩阵键盘扫描、LCD1602显示控制和运算逻辑处理;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察计算器的工作状态和运算结果。
4. 实验四:温湿度监控系统(1)实验目的:学习单片机在温湿度监控系统中的应用,实现温度和湿度的实时显示。
(2)实验步骤:① 硬件连接:将温度传感器和湿度传感器连接到单片机,将LED灯连接到P1口;② 编写程序:实现温度和湿度的实时采集,并根据采集到的数据控制LED灯的亮灭;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的亮灭状态和数码管上的温度、湿度值。
单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。
第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。
比方:小灯得点亮就没有用到中断可以先不用看。
如此可以防止知识过多记不住的苦恼。
关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。
第三:程序不要只是看别人得,一定要本人写过才是本人的。
开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。
明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。
当你本人能写出来的时候说明你真明白了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运转时不能实现理想的现象。
这时有人就晕了不知该如何办,然后就去征询别人。
当别人找出征询题出在哪里时就会恍然大悟。
事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。
本人一定要掌握处理征询的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个特别有用。
通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。
单片机实验报告

单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件2.通过上机操作,增强个人动手实践能力3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、实验内容1.将片外RAM3050-306FH中数据转移至片内70-8FH中。
要求:可以从Keil或Protues上看到RAM的数据转移结果。
2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。
要求:开发板或Prrotues演示3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。
要求:在Keil或Protues上看到数据转换结果。
4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。
要求:Protues使软件间示波器显示方波。
三、实验程序1.将片外RAM3050-306FH中数据转移至片内70-8FH中ORG 0000H AJMP MAIN 上电,转向主程序ORG 0030H 主程序入口MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1SJMP $ 等待END 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG 0000H SJMP MAIN 上电,转向主程序ORG 0003H 外部中断0向量入口AJMP INSER ORG 0030H 主程序入口MAIN: SETB EX0 SETB IT0SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP 允许外部中断0中断选择边沿触发方式开中断等待中断设置循环次数赋初值,设置高电平亮将初值送往P2口延时左移一位判断循环次数,是否跳转到中断返回延时程序DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值MOV TL1,#0F0HSETB ET1 开中断SETB EA CPU开中断SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断ORG 001BH T1中断向量地址CLR TF1 将TF1清零CPL P2.0 P2.0取反输出MOV TH1,#0D8H 重装初值MOV TH0,#0F0HRETI;中断返回END 4.2 查询方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待CLR TF1产生溢出,清标志位CPL P2.0 P2.0取反输出SJMP LOOP 循环END四、实验结果截图1.23.4.14.2第二篇:单片机实验报告实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。
单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。
老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。
一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。
一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。
当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。
希望以后能够拥有更多的实训时间和机会学习单片机。
实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。
单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实验报告

单片机实验报告引言:单片机是一种集成了处理器、存储器和输入输出设备的微型计算机,广泛应用于电子设备中。
本实验通过对单片机的学习和实践,探索了其原理和应用。
一、实验目的本次实验的目的是熟悉单片机的基本原理和操作方法,掌握单片机的编程语言和开发工具,实现简单的实时控制和数据采集。
二、实验装置及材料1. 单片机:我们选择了常用的51系列单片机,拥有较好的性能和兼容性。
2. 开发板:用于实验中运行和调试所写的程序。
3. 传感器:温度传感器、光照传感器等,用于实现数据采集。
4. LED灯和蜂鸣器:用于实现实时控制和输出。
5. 连接线:将单片机与传感器、开发板等连接起来。
三、实验过程和结果1. 单片机的编程语言:单片机主要使用汇编语言和C语言进行编程。
汇编语言能够直接操作硬件资源,灵活性较高;而C语言则更易于理解和编写,可提高开发效率。
我们选择了C语言进行编程。
2. 开发工具:为了编写和调试单片机程序,我们使用了KeilC51和Proteus软件进行开发。
Keil C51提供了编译器和调试器,可对程序进行编译和调试;Proteus能够模拟开发板的运行情况,方便我们验证程序的正确性。
3. LED控制实验:我们首先进行了LED控制实验,通过单片机的I/O口来控制LED的开灭。
编写程序后,在开发工具中进行仿真,确保程序和电路无误后,将程序下载到单片机上进行实际运行。
实验结果显示,当程序指定LED灯为高电平时,LED灯亮起;当程序指定为低电平时,LED灯熄灭。
4. 数据采集实验:接下来,我们进行了数据采集实验,利用温度传感器和光照传感器采集环境温度和光照强度。
将传感器与单片机连接后,编写相应程序进行数据读取。
实验结果显示,我们能够通过单片机读取到精确的温度和光照数值。
5. 实时控制实验:为了验证单片机的实时控制能力,我们使用蜂鸣器进行了实时报警实验。
通过编写程序,设置蜂鸣器的开关状态,当某个条件满足时,蜂鸣器会发出警报声。
单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件部分一、实验概述1、前言在当今时代,生活的节奏越来越快,人们的生活压力也越来越大。
在这样的环境下,人们需要来缓解自己的压力,游戏成为一种消遣娱乐、缓解压力的方式受到越来越多人的亲睐。
现在手机当中有不少经典的老游戏,比如俄罗斯方块、泡泡龙、贪吃蛇等等;本方案实现手机里的游戏贪吃蛇的基本功能,并且搭建了程序框架,具有很强的扩展性。
游戏本身具有一定的娱乐性,结合凌阳语音特色在操作游戏时发出声音更增加了趣味性。
游戏贪吃蛇方案主要目的是训练我们的动手能力和综合运用所学知识的能力。
我们通过游戏贪吃蛇的方案设计可以涉及的SPCE061A单片机的使用、SPLC501 液晶的使用、键盘的使用以及语音的运用。
本方案以SPCE061A单片机和SPLC501液晶显示模组外加1*8键盘为平台,实现游戏贪吃蛇的基本功能,并加入背景音乐,为我们学习单片机应用提供新的方案。
2、SPCE061A简介SPCE061A是凌阳科技的一款16位微控制器,内嵌32K的闪存(FLASH)。
SPCE061A 为语音产品而集成了ADC、DAC、AGC等,还具有n项内积运算指令,较高的处理速度使u’nSP能够非常容易快速地处理复杂的数字信号,是数字语音识别应用领域的一种最经济选择。
SPCE061A精简开发板—61板配有在线调试功能;结合集成开发环境不需外界任何仿真、调试器即可以完成在线编程、仿真、调试功能。
本方案直接使用SPCE061A精简开发板,利用SPCE061A的语音处理功能,以及其强大的处理能力,再配合SPLC501液晶模组等,很容易就可以实现带音效的贪吃蛇游戏,而且具有按键音效;非常好地体现了SPCE061A优异性能。
作为性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。
这为实现语音录入提供方便的硬件条件。
两路10精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。
另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
在此环境中,支持标准C语言,可以实现C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。
SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSPIDE)用户可以利用它对芯片进行真实的仿真;而程序的下载也是通过该接口进行下载。
下图为SPCE061A单片机的内部结构框图:3、芯片特性简介16位unSP微处理器,工作电压(CPU)VDD为3.0~3.6V,(I/O)VDDH为3.0~5.5V,CPU时钟:0.32~49.152MHz,内置2K字SRAM,内置32K字FLASH可编程音频处理,晶体振荡器,系统处于备用状态下(时钟处于停止状态),耗电仅为2uA/3.6V,2个16位可编程定时器/计数器(可自动预置初始计数值),2个10位 DAC(数/模转换)输出通道,32位通用可编程输入/输出通道,14个中断源可来自定时器A/B、时基、2个外部时钟源输入和键唤醒,具备触键唤醒的功能,使用凌阳音频编码SACM_S480可以播放压缩的语音资源,锁相环PLL振荡器提供系统时钟信号,32768Hz实时时钟,7通道10位电压模/数转换器(ADC)和单通道声音模/数转换器,声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能,具备串行设备接口,具备低电压复位功能和低电压检测功能,内置在线仿真电路接口,具有WatchDog功能。
4、关于SPCE061A精简开发板SPCE061A精简开发板(简称61板),是以凌阳16位单片机 SPCE061A 为核心的精简开发-仿真-实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为我们大学生或电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便我们学生随身携带。
使我们在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼我们的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会。
61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试。
板上的主要功能模块如下:SPCE061A单片机最小系统外围电路模块;电源输入模块;音频电路(包含MIC输入、DAC音频功放输出)模块;按键模块;I/O端口接口模块;调试、下载接口模块。
二、功能技术设计1、利用 SPCE061A 单片机、SPLC501 液晶显示模组实现带音效的手机游戏——贪吃蛇具有下述功能:完成游戏贪吃蛇的基本功能,即贪吃蛇在吃到食物后蛇身要增长,同时游戏界面上再随机出现食物,在贪吃蛇撞到墙壁或者与自身相撞时,贪吃蛇游戏结束;增加背景音乐,在游戏中可以选择打开或关闭背景音乐;增加中文菜单选项功能和按键语音特效功能。
2、技术设计:1. 贪吃蛇中出现的食物随机出现。
2. 游戏具有开始键,上、下、左、右控制键,音乐选择按键。
三、设计简介1、贪吃蛇游戏原理:在液晶屏幕上用连在一起的点表示贪吃蛇,同时在液晶屏幕上随机地给出食物。
游戏者通过键盘操作控制贪吃蛇的移动,去吃食物,吃到后食物消失,然后再随机在屏幕上给出食物同时贪吃蛇的身体增长。
游戏以吃到食物为目的,贪吃蛇不断增长身体,直到贪吃蛇撞到墙壁或者自身相撞游戏结束。
实现贪吃蛇的移动原理是根据人眼的视觉效应,在一定的间隔时间将贪吃蛇的蛇头向当前的运动方向移动一格,然后所有的蛇身依次向前移动一格,最后将蛇尾擦除。
这样人眼看起来贪吃蛇就是在不断的向前移动。
而在贪吃蛇吃到食物后,标注贪吃蛇身长属性的节数增加一,在下次贪吃蛇移动的时候多画出一节,贪吃蛇就会变长。
食物的给出,首先需要产生一个随机数,然后通过这个随机数计算得到食物的横纵座标,根据横纵座标将食物显示在液晶屏上。
操作贪吃蛇需要作人机界面接口,在这里使用简单的 1*8 键盘作为输入,液晶屏作为输出完成数据的交互。
结合凌阳的语音库,增加按键的声音效果,至此实现整体的方案。
2、硬件框图系统主要包括 SPCE061A 精简开发板-61 板、SPLC501 液晶模组、1*8 外扩键盘三个部分。
电压采用 5V 的 DC 电源,芯片的 I/O 电压为 3.3V。
SPCE061A 精简开发板是整个设计的核心,主要负责控制液晶的游戏界面输出,键盘信息的采集输入,而且按键等音效也是 SPCE061A 进行控制输出的。
SPLC501 液晶模组主要起到人机界面的作用,显示游戏的信息作为一个输出界面,1*8键盘作为游戏的输入。
3、硬件功能模块连接情况4、电气参数61板IO口电压为3.3V,供电电源电压3.3V-5.5V。
5、实验注意事项电源不能接反,注意接地,在硬件接线的时候注意关闭电源。
6、主控板电路模块分析(1)电源板电路模块分析电源部分的电路由4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。
SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺。
SPY0029 具有静态电流低、线性调整出色等特点。
下图中的VDDH3为SPCE061A 的I/O电平参考,接SPCE061A的51脚,这种接法使得I/O输出高电平为3.3V ;VDDP为PLL锁相环电源,接SPCE061A 的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A 的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A 的38脚;AVSS2接音频输出电路的AVSS2。
(2)微控制器电路控制器采用凌阳科技公司的SPCE061A,其硬件资源分配见下表。
(3)语音输出电路SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。
下图是音频输出电路图。
可以直接听喇叭输出的声音。
图中的SPY0030 也是凌阳公司的产品。
和LM386相比,SPY0030还具有下述优势的,比如LM386 工作电压需在4V以上, SPY0030仅需2.4V即可工作(两颗电池即可工作);LM386输出功率100mW以下, SPY0030约700mW。
四、操作流程1、开机后显示“凌阳科技”、“Press any Key”并且具有凌阳的Logo 在旋转;2、在按任意键或者开机持续 20 秒后自动进入菜单选项;在此菜单项,有三个按键有效,分别是Key1、Key2、Key3。
Key1为确认键,Key2为向下移动菜单,Key3为向上移动菜单(Key1、Key2、Key3为1*8键盘的从左到右一次定义的)。
选择“贪吃蛇”选项;3、选择进入游戏按确认键,则进入游戏模式,游戏设置作为扩展方案,返回上一级,则返回上级菜单。
在游戏模式下1*8键盘有五个键有效,依次为退出游戏键、向上方向控制键、向下方向控制键、向左方向控制键和向右方向控制键,按动对应方向控制按键将改变贪吃蛇的行动方向,4、游戏结束时出现如下界面,按确认键返回一级菜单。
五、常见问题1、如果在实验箱上实现这个方案的功能,有的时候液晶屏上没有显示,出现这种情况一般是由于实验箱上SPCE061A芯片的IO口被大量复用造成的,而且主要有USB模块与液晶冲突。
解决的办法就是将USB模块上的跳线拔掉即可。
2、程序代码中没有调节游戏速度功能,在程序中可以提高刷新速度改变游戏的速度。
3、程序中对液晶的驱动不需要从头写,只要把相关的文件(SPLC501液晶模组资料)添加到工程中,调用相关的API函数就可以使用液晶。
4、液晶具有32级灰度可调。
背光只要把相应的跳线连接即可。
六、结语本次课程设计是带音乐的手机游戏。
应用了所学的单片机知识及课外搜集的资料,对题目所要求的工程进行了设计。
在这次的课程设计中,用到了等元器件。
设计了单片机汇编语言等部分构成的工程。
在规定的时间内,由于技术水平有限,此设计还不够完美。
通过这次的学习,使我对单片机有了进一步的认识,并在运用和软件模拟运用上有了很大的提高。
通过学习不仅使自己的能力提高了,还提高了和同学共同协作完成的团队能力,发现自己的不足,学习同学的长处。
在增强了团队意识和协作能力的时候,也增进了我们的友谊!有了这次的设计的基础,为以后的学习打下了坚实的基础,对今后的学习充满了信心。