系统设计总结报告
空调系统设计总结

空调系统设计总结空调系统作为现代建筑中不可或缺的一部分,为人们提供了舒适的室内环境。
其设计过程涉及众多因素,需要综合考虑建筑特点、使用需求、能源效率等多个方面。
以下是对空调系统设计的一个全面总结。
一、设计前的准备工作在开始空调系统设计之前,需要对建筑进行详细的了解和分析。
这包括建筑的用途(是住宅、商业办公还是工业厂房等)、建筑面积、层数、朝向、围护结构的热工性能等。
同时,还需要收集当地的气候数据,如温度、湿度、太阳辐射等,以确定空调系统的负荷计算参数。
此外,与业主和建筑设计师的沟通也至关重要。
了解业主对室内环境的要求,如温度、湿度的控制范围,以及对系统运行成本和维护管理的期望。
与建筑设计师协调空调设备的布置位置,确保不影响建筑的美观和使用功能。
二、负荷计算空调系统的负荷计算是设计的基础。
它主要包括通过围护结构传入的热量(如外墙、屋顶、窗户等)、室内人员、设备和照明的散热量,以及新风负荷等。
准确的负荷计算能够确保空调系统的容量合理,既满足使用需求,又避免过度配置造成能源浪费。
在负荷计算中,需要采用合适的计算方法和软件工具。
常用的计算方法有稳态传热计算和动态模拟计算。
稳态传热计算适用于简单的建筑结构和稳定的室内外条件,而动态模拟计算则能更准确地反映建筑在不同季节和时间段的负荷变化情况。
三、系统形式的选择根据建筑的规模、用途和使用特点,选择合适的空调系统形式。
常见的空调系统形式有:1、分体式空调系统:适用于小型住宅和独立房间,安装灵活,成本较低。
2、多联机空调系统:可以同时满足多个房间的空调需求,具有节能、灵活控制等优点,适用于中小型商业建筑。
3、中央空调系统:包括冷水机组+风机盘管系统和全空气系统。
冷水机组+风机盘管系统适用于办公、酒店等建筑,能够实现单独房间的温度调节;全空气系统适用于大空间场所,如商场、体育馆等,能够提供较大的送风量和较好的空气品质。
在选择系统形式时,需要综合考虑初投资、运行费用、维护管理难度、室内舒适度等因素。
水温控制系统设计与报告总结

水温控制系统摘要:本系统以MSP430F149超低功耗MCU为核心,以DS18B20为温度传感器进行温度检测,采用电热棒进行加热。
该控制系统可根据设定的温度,通过PID算法调节和控制PWM波的输出,控制电磁继电器的通断时间从而控制水温的自动调节。
该系统主要包括MSP430F149单片机控制器模块、DS18B20测温模块、键盘模块、继电器控制模块及LCD12864液晶显示模块等构成。
具有电路结构简单、程序简短、系统可靠性高、操作简便等特点。
关键词:MSP430 DS18B20 PID算法PWM LCD12864目录一、任务及要求 (1)1.1设计任务 (1)1.2要求 (1)1.2.1基本要求 (1)1.2.2发挥部分 (1)二、方案设计与论证 (2)2.1 温度检测电路方案选择 (2)2.2显示电路的方案选择 (2)2.3加热和控制方案选择 (2)2.4控制算法选择与论证 (3)三、系统硬件电路设计 (3)3.1系统结构框图 (3)3.2控制器模块 (3)3.3温度检测电路设计 (4)3.4加热控制电路设计 (5)3.5键盘及显示电路设计 (5)3.6电源电路设计 (6)四、软件设计 (6)4.1 PID算法设计 (6)4.2程序流程图 (8)4.2.1主程序框图 (8)4.2.2 LCD12864程序流程图 (9)4.2.3 PID程序流程图 (10)4.2.4 DS18B20水温检测程序流程图 (11)五、系统测试及分析 (12)5.1系统调试 (12)5.1.1控制模块的调试 (12)5.1.2 温度检测模块 (12)5.1.3 继电器的检测 (12)5.2测试结果及分析 (12)5.2.1测试仪器 (12)5.2.2测试方法 (13)5.2.3测试结果 (13)六、设计总结 (14)七、附录 (15)附录1 仪表器件清单 (15)附录2 水温控制系统原理图 (16)附录3 程序设计 (17)一、任务及要求1.1设计任务该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算输出控制加热装置以实现水温控制的全过程。
数据库系统设计报告及项目总结3400字

数据库系统设计报告及项目总结3400字随着信息化时代的到来,各种企业和机构都在使用数据库系统来管理和存储数据,从而更好地进行业务流程管理和决策支持。
本文将介绍一个数据库系统设计报告及项目总结,分享我们小组在这个项目中所遇到的一些挑战和解决方案,以及项目的总体效果和未来的展望。
一、项目背景和目标本项目是为某家医院开发和设计的一个数据库系统,目的是帮助该医院更好地管理和存储患者和医疗数据,并提供一些决策支持功能。
在该项目中,我们制定了以下目标:1. 收集和整理该医院的所有患者和医疗数据;2. 设计一个数据模型,以更好地存储和管理这些数据;3. 开发一个可靠的数据库系统,可以查询、修改、删除和添加数据;4. 实现一些决策支持功能,例如患者诊断历史记录、药品使用情况分析等。
二、数据库系统设计在设计数据库系统时,我们考虑了以下几个方面:1. 数据库结构和数据模型我们采用了关系型数据库模型,在该模型下,我们根据业务流程和数据分析结果,设计了以下几个表:- 患者表(patient_table):存储患者的基本信息,例如姓名、年龄、性别、联系方式;- 就诊表(visit_table):存储每次患者就诊的信息,例如就诊日期、医生姓名、诊断结果等;- 药品表(drug_table):存储医院所有药品的信息,例如药品名称、使用方法、库存情况等。
2. 数据库安全性和可扩展性为了保证数据库系统的安全性和可扩展性,我们采取了以下措施:- 设计了不同的用户角色和权限,例如管理员、医生、药房管理员等;- 设计了数据库备份和恢复功能,以防止数据丢失和损坏;- 使用了虚拟化技术,以实现系统的快速扩展和部署。
三、解决方案在项目开发和实施过程中,我们遇到了以下几个挑战,并采取了相应的解决方案:1. 数据库性能优化由于该医院的患者和医疗数据太多,数据库读写速度非常慢,我们采取了以下几个措施:- 优化数据库索引和查询语句;- 使用分片技术,将数据分散到不同的物理服务器上,以提高数据库并发能力;- 采用高速缓存技术,以缓存常用数据,加快数据库读写速度。
物联网系统设计总结报告

物联网系统设计总结报告1. 简介物联网系统是将各类智能设备、传感器、软件系统等通过互联网进行连接和通信,实现设备之间的信息交互和协同工作。
本报告旨在对物联网系统设计过程进行总结和反思,以期提出改进和优化的建议。
2. 设计过程2.1 需求分析在物联网系统设计前,我们首先进行了详细的需求分析。
通过与客户沟通和调研市场需求,我们确定了系统的主要功能和特性,包括远程监控、数据采集、报警提示等。
同时,我们也针对不同用户和应用场景,确定了不同的需求优先级。
2.2 架构设计基于需求分析的结果,我们进行了整体的系统架构设计。
首先确定了系统的总体框架和模块划分,然后对各模块进行详细设计。
在设计过程中,我们注重模块之间的松耦合和可扩展性。
同时,我们也充分考虑了系统的稳定性和可靠性。
2.3 技术选型在设计过程中,我们需要选择合适的技术和平台来支持物联网系统的实现。
根据需求分析的结果和系统架构设计的要求,我们选择了适合的硬件设备、通信协议和开发工具。
同时,我们也进行了技术评估和风险分析,以确保所选技术在实际应用中的可行性和可靠性。
2.4 开发与测试在技术选型完成后,我们开始进行系统的开发和测试工作。
根据系统设计的要求,我们进行了模块开发、集成测试和系统测试。
在开发过程中,我们遵循了软件工程的开发流程,并进行了代码质量管理和版本控制。
同时,我们也注重了系统的性能和安全性的测试。
2.5 部署与运维在开发和测试完成后,我们进行了系统的部署和上线工作。
我们将系统部署到目标环境中,并进行了系统的验收测试。
同时,我们也建立了系统的运维流程和监控机制,以确保系统能够稳定运行并及时响应问题。
3. 设计总结经过对物联网系统设计过程的总结和反思,我们得出以下几点经验教训:3.1 细化需求分析在需求分析阶段,我们需要更加细致地了解用户需求,并充分考虑不同用户和应用场景的差异。
通过更深入的调研和多方面的讨论,我们能够更加准确地捕捉到用户需求和期望,从而为系统设计和开发提供更好的参考。
python银行管理系统设计报告总结

python银行管理系统设计报告总结银行作为现代金融行业的重要组成部分,对于日常的资金保管、贷款还款、账户管理等方面起着关键作用。
为了提高银行的效率和便利性,许多银行开始引入信息技术,其中Python银行管理系统是一种常见的解决方案。
本文将对Python银行管理系统的设计和实现进行总结和回顾。
## 1. 引言银行管理系统是一个复杂的系统,涵盖了许多不同的功能,如账户管理、贷款管理、交易处理等。
这些功能需要设计和实现以满足客户和银行内部运营的各种需求。
Python作为一种强大的编程语言,提供了许多功能和库,可以方便地开发银行管理系统。
## 2. 系统架构Python银行管理系统基于客户-服务器模型构建。
客户端通过图形用户界面(GUI)与服务器进行交互,服务器则负责处理客户端的请求并维护银行的数据库。
## 3. 功能模块Python银行管理系统包含以下几个核心功能模块:### 3.1 账户管理账户管理模块用于管理银行客户的账户信息。
它包括开户、销户、查询余额、修改密码等功能。
通过该模块,客户可以方便地管理自己的账户信息。
### 3.2 贷款管理贷款管理模块用于处理客户的贷款需求。
客户可以通过该模块提交贷款申请,并查看已有贷款的状态和还款计划。
该模块还提供了自动还款和贷款计算器等实用功能。
### 3.3 交易处理交易处理模块用于处理客户的资金交易。
客户可以通过该模块进行存款、取款、转账等操作。
该模块还提供了交易记录查询和账单打印等功能,方便客户对资金流动进行跟踪和管理。
### 3.4 管理员功能管理员功能模块用于管理银行系统的整体运营。
管理员可以通过该模块管理客户信息、配置系统参数、生成报表等。
该模块还提供了安全管理功能,包括登录认证和日志记录等。
## 4. 技术实现为了实现Python银行管理系统,我们使用了以下几个主要的技术:### 4.1 Python编程语言Python是一种简单易学且功能强大的编程语言,具有丰富的库和工具。
论文系统设计思想总结

论文系统设计思想总结论文系统设计是指在实施论文工作时,利用计算机和网络技术,建立一个基于Web的论文管理和加工系统。
通过论文系统设计,可以实现论文的在线提交、审稿、修改和发布等一系列功能。
本文从需求分析、系统架构、功能模块、技术选型等方面对论文系统设计的思想进行总结。
首先,需求分析是论文系统设计的第一步。
在开展系统设计前,我们需要充分了解用户的需求,明确系统的功能和性能要求。
需求分析可以通过问卷调查、用户访谈、市场调研等方法进行,以确保系统设计符合用户的实际需求。
其次,系统架构是论文系统设计的关键。
针对需求分析的结果,我们需要制定一个合理的系统架构。
常见的系统架构包括客户端-服务器架构、分布式架构等。
根据实际情况,我们可以选择使用一种或多种系统架构,以实现系统的高可用性、高性能和可扩展性。
再次,功能模块是论文系统设计的核心。
根据论文系统的需求,我们可以将系统功能分解为若干个模块,每个模块负责一个具体的功能或业务逻辑。
例如,我们可以设计论文提交模块、审稿模块、修改模块、发布模块等功能模块。
每个模块之间通过接口进行交互,确保系统的稳定运行和功能完备。
最后,技术选型是论文系统设计的重要环节。
根据系统需求和功能模块的设计,我们需要选择合适的技术来支持系统的实现。
常见的技术包括Java、PHP、ASP等编程语言,MySQL、Oracle等数据库管理系统,Tomcat、Apache等Web服务器等。
选择合适的技术可以提高系统的性能、稳定性和安全性。
总之,论文系统设计是一个复杂而繁琐的过程,需要从需求分析、系统架构、功能模块、技术选型等方面综合考虑。
只有在全面了解用户需求的基础上,选择合适的系统架构和技术,设计合理的功能模块,才能实现一个功能完备、性能稳定的论文管理和加工系统。
通过论文系统设计,可以提高论文的易读性和易用性,提高学术界论文交流的效率。
学生信息管理系统设计报告

学生信息管理系统设计报告随着信息技术的发展,学生信息管理系统在学校管理中起着越来越重要的作用。
本文将就学生信息管理系统的设计进行详细的阐述,以期提供一个高效、便捷、安全的学生信息管理系统。
一、背景介绍学生信息管理系统是指通过计算机技术和数据库管理系统,对学生的基本信息、课程信息、成绩信息等进行管理、查询和统计的系统。
它可以提高学校管理的效率,减少工作量,提供及时准确的信息服务。
二、系统功能1. 学生基本信息管理:包括学生的姓名、性别、年龄、出生日期、籍贯、联系方式等基本信息的录入、查询、修改和删除。
2. 课程信息管理:包括课程的名称、学分、授课教师、上课时间等信息的录入、查询、修改和删除。
3. 成绩信息管理:包括学生的学号、课程名称、成绩等信息的录入、查询、修改和删除。
4. 学生选课管理:包括学生的选课操作、选课结果查询和退选操作。
5. 教师信息管理:包括教师的姓名、性别、年龄、联系方式等信息的录入、查询、修改和删除。
三、系统设计1. 数据库设计:建立学生信息、课程信息、成绩信息、教师信息等数据库表,确保数据的准确性和一致性。
2. 用户权限管理:对不同用户设置不同的权限,保证信息的安全性和保密性。
3. 界面设计:设计简洁明了的用户界面,方便用户进行操作和查询。
4. 数据录入和修改:通过表单的方式进行数据的录入和修改,确保数据的完整性和准确性。
5. 数据查询和统计:提供灵活多样的查询和统计功能,方便用户根据需要获取信息。
6. 数据备份和恢复:定期进行数据备份,确保数据的安全性和可靠性。
四、系统实施1. 硬件环境:搭建适合的服务器和数据库环境,确保系统的稳定性和可靠性。
2. 软件环境:选择适合的开发工具和数据库管理系统,确保系统的高效性和易用性。
3. 数据导入和验证:将学生、课程、教师等信息导入系统,并进行验证和测试,确保数据的准确性和完整性。
4. 系统测试和优化:对系统进行全面测试,发现和修复bug,优化系统的性能和用户体验。
管理信息系统设计报告总结

管理信息系统设计报告总结
一、管理信息系统设计报告总结
管理信息系统(MIS)设计报告总结是对该系统的一次重要的总
结报告。
报告总结包括系统设计概要,系统设计重点,技术方法,设计结果,项目绩效,责任分配,实施计划等内容。
1、系统设计概要
系统设计概要分析了系统设计过程中的背景框架、功能需求、设计思路和计划的实现等内容,总结了本次系统设计的目的、原因、内容及重要性。
2、系统设计重点
系统设计重点突出了本次系统设计实施的重点,只有将重点突出,系统设计方案才能对系统有实际意义,从而实现系统的安全性、可靠性和灵活性。
3、技术方法
系统设计报告总结了运用的技术方法,从而帮助我们在设计中充分利用技术工具,实现系统功能,满足用户的具体需求。
4、设计结果
系统设计报告总结了本次系统设计的结果,可以为我们提供参考,得出有效的解决方案,及时发现系统存在的不足,以保证系统的完善性和可维护性。
5、项目绩效
系统设计报告总结了本次系统设计的项目绩效。
这可以为我们提
供参考,同时根据项目绩效考核我们的设计实施情况,不断完善技术架构,得出有效解决方案。
6、责任分配
系统设计报告总结了本次系统设计的责任分配情况,根据不同的工作任务,将责任划分给不同的人完成,让相关工作能够有条理的进行。
7、实施计划
系统设计报告总结了本次系统设计的实施计划,明确了系统实施的起止时间、项目负责人、实施步骤等,要求相关方面按计划进行,从而保证系统的有效落地。
综上所述,管理信息系统设计报告总结是对本次系统设计的重要参考报告,其中包含的相关信息对系统设计的规范性、完整性、实施性都有重要的意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题20:命令小车按预置地图{3,5,3,5,3,6,3}行驶的过程中,发现右转运动函数void turnright(int i)
{int c=1;
PORTB=0xF5;
v=wangle[i];
问题16:两个焊点距离非常近,用导线接比较麻烦且容易出错。
解决方案:直接用焊锡将两点连起来即可,注意焊锡不要过多。
问题17:焊点之间需要用导线连接,但是把导线与焊点连接起来时容易焊不上,也很容易造锡将两焊点连接起来。
问题18:有一排并列的焊点需要相接,用导线连接的话,容易导致相邻焊点接触,造成短路。
系统设计总结报告
一、所遇问题及解决方案
问题1:不能正常打开ICCAVR软件。
解决方案:由于用ICCAVR软件要进行破解,需要用到破解软件,因此要想正常运行ICCAVR就要先正确使用其破解软件。
问题2:我们自己写了一个源程序,仅仅有一个主函数,函数体中是空语句。程序如下:
void main()
{
;
}
用ICCAVR进行编译,结果出现了错误。
另外,我们也体会到了创新与可行性要并重。有时一个看似非常有创新非常好的创意,但却并不一定能应用到实践中。一切都要以实际情况量力而行。
解决:把在其他实验桌上找到的一个新下载器接上后,发现左指示灯正常点亮,Avrstudio不再显示找不到串口,成功连接到电脑。
问题13:我们用ICC创建了一个名为model的工程并写好一个命名为model的用于试验的小程序编译无误,当我们准备使用Avrstudio的在线仿真功能进行试验时,在启动Avrstudio后打开了一个名为model的以.c结尾的文件,但打开后点击Build却得到了很多报错信息,无法下载。找不到这个model的文件。
问题14:使用Avrstudio的在线仿真功能时,学生先写了一个关于输出低电平的简单程序,仅包含输出端口的初始化和电平的输出,然后把输出端口与LED连接。但仿真的过程中发现LED未被点亮。
解决:首先,断开单片机端口与LED的连接,把VCC直接逐一接到各LED上,发现的确有几个LED失灵。
但是在将输出端口改到各工作正常的LED上并reset之后,LED仍不能按照预定要求被点亮。
int c2=1;
int c3=1; /*用于全局使能shift长度确定*/
int c4=1;
显然d的初值有误,改为int d=1;再重新下载,仿真,mapinput()函数得以正常执行。
问题23:使用按键输入地图的过程中,连续出现最后按下run键后小车不动的现象,有几次又按了几下run键后小车突然走了,不过所行驶的地图不是“输入的地图。
问题5:第一次使用delay函数,在编译时总是出现错误。
解决方法:经同学提醒才知道这是老师着重指出的一个问题,我们需要自己编写一个延时函数;在cv中使用延时函数是必须在头文件中指出包含此函数所在的文件。
问题6:相邻焊点很容易短路。
解决方法:相邻焊点短路是由于焊点过大或形状不规则所致,焊接时应充分利用烙铁使焊锡融成球状,并使焊锡用量尽可能合适。
我们意识到这个问题后,仔细的分析了出现这个问题的原因,我们认为原因是团队的分工不够明确。之后我们项目系统分成了几个模块,每个同学负责其中的一个或多个模块,提前完成自己任务的同学还可以去帮助其他同学。这样分工之后我们的工作效率有了明显的提升,而且因为有了自己明确的任务,组员的积极性也得到了极大的提高。
三、课程设计的心得体会
总的说来,我们的课程设计可以总结为一句话:“山重水复疑无路,柳暗花明又一村。”其过程真可谓一波三折。
从开课选题热情高涨跃跃欲试,到中期困难重重迷茫无助,再到后期迎难而上锲而不舍,最后功夫不有心人最终成功,真是经历的太多太多,但是却从中也收获了很多。
有一段时间,我们遇到了前所未有的困难,几乎没有了继续下去的勇气,但是通过团队的努力,相互帮助,密切配合,终于挺过了难关。我们体会到只有艰苦奋斗,团结一致才能克服困难。这段时间,确实很辛苦,其间不知挥洒了多少汗水,但却很充实。
解决:我们用ICC重新进行编译,仍然显示无错误,但在Avrstudio中打开后点击Build还是得到报错信息。查阅实验讲义后我们知道了应该在Avrstudio中打开以.cof结尾的文件才能去点击Build烧入程序。但我们在model工程所在的文件夹中找不到以.cof结尾的文件又查阅实验讲义后我们才意识到应该把以.c结尾的源文件“add to project”然后再进行编译、连接,才会得到以.cof结尾的文件。我们按照上述方法进行操作后,下载器的右指示灯正常闪亮了一段时间,程序得以成功烧入。
解决方案:尽量是需要连起来的点靠近一点,用焊锡直接相连。如果不允许靠的很近,就用焊锡焊成一导线连接。
问题19:在forward等四个运动函数中,我们原本通过中断,在相应执行时间到达后直接对PORT端口进行一次性电平操作,同时执行对全局变量v的修改以控制下一个中断到达的时间;然后到相应下一个执行时间后直接对PORT端口进行一次性电平操作而不考虑前一个操作,同时执行另一个对全局变量v的修改以控制再下一个中断到达的时间。另外还有一个小程序模块用来通过LED的亮与灭来标示v的当前数值(v在地图中只有两个可能值)但烧入程序后发现单个运动函数LED的亮与灭不符合原定设计。
还有在团队一起工作讨论时,一定要保持轻松自由的气氛,这样大家的观点可以毫无保留的说出来,轻松幽默的讨论也会激发我们相处很多特别好的想法。
我们的团队工作到现在已经基本结束了,我们为此付出了很多,但也有了很大的收获,知道了团队应如何提高效率,如何讨论效果更好等等,更重要的是在这一段时间中,我们一起努力,一起面对困难,学会了团队合作,更获得了最珍贵的友谊。
解决方案:原因是未将其添加到工程。将源程序添加到创建的工程中即可。
问题3:在ICCAVR中进行编译后,未生成“.cof”文件。
解决方案:原因是未将源程序保存为“.c”格式。只要将其保存为“.c”格式即可。
问题4:向ICCAVR中输入AVR课本上的一些源程序时,发现不能正常编译。
解决方案:因为课本上的程序是针对CV的,而CV与ICCAVR的源程序不兼容。需要将CV中的程序移植到ICCAVR中才能正常编译。
解决:首先,我们直接用VCC与LED相连来测试LED是否有故障。LED经测无误后,我们使用Avrstudio对这一实验程序进行在线仿真,通过对该程序的单步运行,发现每次执行完一个运动函数后,程序未等到下一个中断到达的时间,随后就直接去执行下一个运动函数,从而直接在此改变了全局变量v的值,因而LED的亮与灭不可能符合原定的设计。于是我们开始设计这个关键的控制语句,最后想出了一个低技术但十分有效的办法——使用while(cx)(//x代表某个数字以区分各控制变量)。用一个cx来控制各个运动函数的执行时间,一个c3,每个运动函数先把总行驶函数对应的cx调为0,之后执行自身,到点执行完毕后会自动把该运动函数对应的cx调为0来停止执行并把总行驶函数对应的cx调为1。之后总行驶函数执行下一个运动函数。目前用暂用c来代表cx.
问题7:焊完后的焊锡表面发钨。
解决方法:经过几次焊接后,我们发现焊锡发钨的主要原因是焊完一点后,我们急于使它冷却,用嘴去吹。发现这个现象之后,我们采用使其自然冷却的方法解决了这个问题。
问题8:使用后发现电烙铁头有被氧化现象。
解决方法:合理的使用松香以及用焊锡保护都可以解决这个问题。
问题9:PORTA接LED后,编程PORTA=0x00使LED全亮不成功。
while(c)
{
if(turningnode)
{turningnode=0;
PORTB=0x00;
c=0;};}
c3=1;}
不能运行。该运动函数被执行期间没有LED点亮。
解决:我们先是怀疑右转运动函数本身有误,但该程序经反复检查证明无误。随后对整个程序进行检查,发现各个行进标识符与各个运动函数的对应关系错位了:本应是3,4,5,6依次对应前后左右运动函数,实际写为4,5,6,7依次对应前后左右运动函数,而预置地图中根本没有7!自然该行进标识符对应的运动函数被执行期间也就不会有LED点亮。当然其他运动函数执行期间也有错误,只是我们数错了LED数,没有发现。于是我们把对应关系改回到3,4,5,6依次对应前后左右运动函数,LED的亮与灭立即符合地图设计。
然后,我们又对单片机的I/O端口的操作进行了检查,发现我们对I/O端口的初始化有误,应该从DDRA=0x00改为DDRA=0xFF。修改程序并重新下载后,LED被正常点亮。
问题15:面包板上许多元件引脚需要接地或VCC,接线非常麻烦,且很易出错。
解决方案:在面包板上选择一排孔单独作为地或VCC,焊上插针,并将其引脚焊接起来,接地的引脚用插线直接连接即可。
问题21:在对按键输入部分调试的过程中,因为使用了基于中断的状态机法消抖,有10ms的延时,无法直接对后面的输入模块进行调试。
解决:经老师点拨指导,用设置断点的方法(后来这一方法多次发挥了关键作用)成功跳过这一大关,我们开始对后面的输入模块进行调试。
问题22:在下载整个完整的程序之后,我们先直接按下enter键,然后是run键,以命令小车按预置地图行驶。(试验阶段先用LED代替)但使用Avrstudio进行在线仿真发现,
问题11:八个按键程序调用有问题。
解决方法:在程序调用过程中,反复调用接口函数会出现错误,所以我们将此过程改为一次调用按键程序,并将结果赋值到一个变量中解决了这个问题。
问题12:用实验室为每个实验桌所配备的下载器与电脑的串口、单片机的JTAG接口连接后,下载器的左指示灯不亮,Avrstudio显示找不到串口,无法连接到单片机。
完成的运动函数如下:void forward(int i)
{int c=1;
v=(wlongth[i] /velocity);(wlongth[i]是路程信息)