嵌入式微控制器课程设计报告
嵌入式课程设计报告完整版

目录前言 (2)一、U-Boot分析 (3)1、引导程序U-Boot第一阶段分析 (3)2、引导过程 (4)3、程序流程图 (8)二、程序设计 (8)三、心得体会 (9)前言ARM嵌入式处理器已被广泛应用于消费电子厂品、无线通信、网络通信和工业控制等领域。
在嵌入式操作系统中,Linux、Vxworks、WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁剪性更是一支独秀。
在嵌入式系统中,如何实现在ARM平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。
BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader 来完成。
比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
一、U-Boot分析嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot, blob 和vivii等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大,U-Boot 对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,XScale等诸多常用系列的处理器;U-Boot引导程序分为Stage1和Stage2量大部分,Stage1中主要包括设备初始化、中断设置、时间设置和储存器初始化等工作,并且采用汇编语言实现,而一些通用功能大多采用C语言实现,放在Stage2中。
1、引导程序U-Boot第一阶段分析Stage1的代码在CPU/arm920t/start.s中定义,它包括从系统上电后在0x00000000地址开始执行的部分。
嵌入式课程设计报告

调试工具
使用GDB等调试工具进行程序调试, 可实现断点设置、变量查看、堆栈跟
踪等功能。
版本控制工具
使用Git等版本控制工具进行代码管理 ,实现多人协作开发、版本回溯等功 能。
性能分析工具
使用Valgrind等性能分析工具进行程 序性能分析,可实现内存泄漏检测、 函数调用关系分析等功能。
课程设计总结与展望
总结本次课程设计的经验教训和收 获,展望嵌入式系统未来的发展趋 势和应用前景。
02
硬件平台选择与搭建
常见嵌入式硬件平台比较
ARM平台
高性能、低功耗,广泛应用于智能手机、 平板电脑等移动设备。
PowerPC平台
高性能、高可靠性,适用于工业控制、航 空航天等高端应用设备、 数字电视等领域。
07
总结与展望
本次课程设计收获总结
理论与实践结合
通过本次课程设计,深入理解了 嵌入式系统的基本原理,同时将 理论知识应用于实际项目中,实 现了理论与实践的有机结合。
技能提升
在课程设计过程中,掌握了嵌入 式系统开发的基本技能,包括硬 件设计、软件编程和调试技术等 。
团队合作
与团队成员紧密合作,共同完成 了课程设计的任务,提高了团队 协作和沟通能力。
05
系统实现过程与代码展示
关键模块代码实现技巧分享
模块化设计
将系统划分为多个独立的功能模块,每个模块具有明 确的接口和功能,便于代码的管理和复用。
高效算法选择
针对系统需求,选择合适的算法和数据结构,以提高 代码执行效率。
代码优化
通过减少冗余代码、提高代码可读性和可维护性,降 低系统资源消耗。
系统集成测试方法论述
嵌入式课程设计报告
嵌入式系统课程设计报告

嵌入式系统课程设计报告一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本概念、原理和设计方法,能够运用嵌入式系统进行实际项目的开发和实现。
具体来说,知识目标包括了解嵌入式系统的定义、特点、分类和应用领域;掌握嵌入式系统的硬件和软件组成及工作原理;熟悉嵌入式操作系统的基本概念和常用操作系统。
技能目标包括能够使用嵌入式系统开发工具和平台进行程序设计和调试;具备嵌入式系统硬件电路的设计和调试能力;能够运用嵌入式系统进行实际项目的开发和实现。
情感态度价值观目标包括培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力和责任感。
二、教学内容根据课程目标,本课程的教学内容主要包括嵌入式系统的基本概念、原理和设计方法。
具体包括以下几个方面:1. 嵌入式系统的定义、特点、分类和应用领域;2. 嵌入式系统的硬件组成,如处理器、存储器、输入输出接口等;3. 嵌入式系统的软件组成,如固件、操作系统、应用程序等;4. 嵌入式操作系统的基本概念和常用操作系统;5. 嵌入式系统的设计方法和开发流程;6. 嵌入式系统硬件电路的设计和调试方法;7. 嵌入式系统在实际项目中的应用和案例分析。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
通过多样化的教学方法,激发学生的学习兴趣和主动性。
具体教学方法如下:1. 讲授法:通过讲解嵌入式系统的基本概念、原理和设计方法,使学生掌握相关知识;2. 讨论法:通过分组讨论和课堂讨论,培养学生的思考能力和团队合作精神;3. 案例分析法:通过分析实际项目案例,使学生了解嵌入式系统在实际中的应用和设计方法;4. 实验法:通过实验操作和调试,锻炼学生的动手能力和实际问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选用权威、实用的嵌入式系统教材,为学生提供系统的学习资料;2. 参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系;3. 多媒体资料:制作课件、教案等多媒体教学资料,提高课堂教学效果;4. 实验设备:准备嵌入式系统开发板、仿真器等实验设备,为学生提供实践操作的机会。
嵌入式课程设计实训报告

一、实训目的通过本次嵌入式课程设计实训,使学生掌握嵌入式系统设计的基本原理和方法,提高学生的实际操作能力和创新意识,培养学生的团队协作精神。
同时,通过实训,使学生熟悉嵌入式系统的硬件平台、软件开发环境,掌握嵌入式编程语言,了解嵌入式系统的调试和测试方法。
二、实训内容本次实训以设计一个简单的温室环境监测系统为例,主要包括以下几个方面:1. 系统需求分析温室环境监测系统主要实现对温室内部光照、温度、湿度的实时监测,并根据监测结果自动调节环境参数,确保温室内的作物生长环境稳定。
系统需具备以下功能:(1)实时监测光照、温度、湿度等环境参数;(2)根据预设阈值,自动调节环境参数;(3)通过LCD显示屏实时显示监测数据;(4)通过串口通信将数据传输至上位机;(5)具有按键控制功能,如开关报警、手动调节等。
2. 硬件平台设计本次实训采用STM32系列微控制器作为核心控制单元,结合DS18B20数字温度传感器、DHT11数字湿温度传感器、光敏电阻、LCD显示屏、蜂鸣器、按键等外围设备,构建温室环境监测系统硬件平台。
3. 软件设计(1)系统初始化:初始化微控制器,配置相关外设参数,设置中断优先级等。
(2)数据采集:通过ADC读取光敏电阻的模拟值,计算光照强度;通过DS18B20和DHT11传感器读取温度和湿度数据。
(3)数据处理:对采集到的数据进行处理,如温度、湿度阈值判断,光照强度阈值判断等。
(4)环境参数调节:根据预设阈值,自动调节加热装置、风扇等设备,以实现环境参数的自动调节。
(5)数据显示:通过LCD显示屏实时显示光照、温度、湿度等数据。
(6)串口通信:通过串口将数据传输至上位机。
(7)按键控制:实现报警功能、手动调节等功能。
4. 系统调试与测试在系统开发过程中,对硬件平台和软件进行调试和测试,确保系统稳定运行。
主要测试内容包括:(1)硬件测试:检查各外设是否正常工作,如传感器、显示屏、按键等。
(2)软件测试:测试系统功能是否满足需求,如数据采集、处理、显示、通信等。
嵌入式课程设计报告

课程名称:嵌入式系统课程设计先修课程:操作系统、C语言程序设计一、目标和任务《嵌入式系统课程设计》是计算机学生专业实践课程,是学习《嵌入式系统及设计》课程后必需实践教学步骤。
课程设计是检验学生是否掌握相关专业课程知识关键手段,以学生为主体,充足调动学生主动性和发明性,重视学生实际动手能力培养。
经过本课程设计使学生加深了解、巩固课堂教学和平时试验内容,使学生初步含有linux应用开发系统分析、系统设计、系统实现和测试实际能力,强化学生知识实践意识、提升动手能力,发挥学生想象力和创新能力,从而培养工程应用型人才。
二、教学基础要求1、学习态度:要有勤于思索、刻苦钻研学习精神和严厉认真、一丝不苟、有错必改、精益求精工作态度,主动查阅整理分析相关参考文件,精心设计、认真编码、确保质量。
对弄虚作假者,课程设计成绩一律按不及格记,并依据学校相关要求给处理。
2、学习纪律:要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课。
特殊情况不能上课者,必需请假,凡未请假或未获准假私自不上课者,均按旷课论处。
3、课程目标:掌握linux应用开发基础理论知识和基础方法技能,概念清楚正确,系统分析、系统设计、系统实现、系统测试符合软件工程相关规范,结构合理,程序运行良好,课程设计汇报撰写规范,答辩中回复问题正确。
4、课程设计汇报:根据《东华理工大学长江学院课程设计汇报规范》和《嵌入式系统课程设计》任务书要求,认真设计、撰写好课程设计汇报,总结课程设计收获和心得体会,立即提交电子和纸质材料。
三、课程设计内容(一)关键设计内容1、系统分析、总体设计、概要设计、具体设计、系统实现和测试。
2、系统运行和维护。
3、撰写课程设计汇报。
4、课程设计答辩:课题叙述和回复问题。
(二)参考选题1.系统移植类:(1)嵌入式WinCE移植(2)嵌入式Linux2.6内核移植(3)嵌入式Web服务器BOA在开发板上移植(4)使用BusyBox构建根文件系统移植(5)嵌入式QT移植(6)嵌入式引导程序UBoot移植2. QT编程类:(1)基于QT手机通讯录管理(2)基于QT手机日历程序(3)基于QT手机计算器程序(4)基于QT手机秒表程序(5)基于QT电子词典程序(6)基于QT电子相框程序3. 驱动编程类:(1)Led跑马灯程序(2)按键驱动程序(3)嵌入式类Minicom串口程序4. 其它类:可选择其它自己感爱好和嵌入式相关题目四、时间安排《嵌入式系统课程设计》安排在第六学期进行,时间1周。
嵌入式课程设计报告毕业论文教案

嵌入式课程设计报告毕业论文教案一、教学目标通过本课程的学习,学生应该能够:1.了解嵌入式系统设计的基本原理和流程2.掌握基本的嵌入式硬件和软件开发技术3.能够使用开发板和相关工具进行嵌入式系统的设计和开发4.掌握常用的接口协议和通信方式,包括串口通信、SPI、I2C、CAN等5.能够设计和开发基本的嵌入式应用程序,如LED灯的控制、按键的检测、温度传感器的读取等二、教学内容及安排1.嵌入式系统概述内容:介绍嵌入式系统的定义、特点、应用领域、市场和发展趋势等内容。
时间:2学时2.嵌入式系统设计流程内容:介绍嵌入式系统设计的主要步骤和流程,包括需求分析、硬件设计、软件设计、测试和调试等内容。
时间:4学时3.嵌入式开发环境搭建内容:介绍嵌入式开发环境的基本配置和使用,包括Keil C51软件、ST-LINK下载器、ST-FLASH工具等。
时间:4学时4.嵌入式硬件设计内容:介绍嵌入式硬件设计的基本原理和方法,包括硬件选型、电路原理图设计、PCB布局和焊接等内容。
时间:10学时5.嵌入式软件设计内容:介绍嵌入式软件设计的基本原理和方法,包括汇编语言、C语言、编译、调试和下载等内容。
同时讲解如何使用方案手册和数据手册加速学习。
时间:16学时6.嵌入式应用程序设计内容:介绍嵌入式应用程序的设计和开发,包括LED灯的控制、按键的检测、温度传感器的读取、串口通信、SPI/I2C接口的应用等内容。
时间:14学时7.嵌入式系统测试和调试内容:介绍嵌入式系统的测试和调试方法,包括硬件测试、软件测试、仿真测试和调试工具等内容。
时间:4学时三、教学方法1.理论教学与实践结合,提高学生的实际操作能力。
2.讲授代码编写方法,由浅入深、由简到难地进行讲解。
3.组织实验、调试和考试等考核环节,促进学生知识的巩固和提高。
4.引导学生通过网络、图书馆等途径自主学习和获取嵌入式技术知识,培养学生的自主学习和创新能力。
四、教学手段1.教师演示和现场演示,帮助学生理解课程内容并进行实践操作。
嵌入式课程设计报告样本

嵌入式课程设计报告一、课程设计目1.1 掌握linux开发环境搭建;1.2巩固嵌入式交叉编译开发思想;1.3掌握嵌入式GUI软件设计技。
,.二、课程设计规定输入信号为 1 路AV 视频信号,规定系统能对 1 路输入信号进行实时采集,数字化解决,压缩,存储,要保证一定录像质量. 依照设计题目规定,选取拟定ARM 芯片型号,视频采集芯片型号,完毕系统硬件设计和程序设计.三、课程设计内容设计原理ARM10 系列微解决器为低功耗32 位RISC 解决器,最合用于对价位和功耗要求较高消费类应用.ARM10 系列微解决器重要应用领域为:工业控制,Internet 设备,调制解调器设备,移动电话等各种多媒体和嵌入式应用.视频监控系统总体设计一方面需要对系统进行总体规划,将系统划提成几种功能模块,拟定各个模块实现办法.整个视频监控系统采用C/S 构造,从主体上分为两某些:服务器端和客户端.服务器端重要涉及S3C4510 平台上运营采集,压缩,传播程序,客户端是PC 机上运营接受,解压,回放程序.视频监控终端从摄像头捕获实时视频信息,压缩之后通过以太网传播到视频监控服务器上.视频图像采集和打包发送在服务器端完毕,图像接受解包和回放将在客户端完毕. 采集图像数据压缩打包发送接受系统硬件设计系统采用模块化设计方案,重要涉及如下几种模块:主控制器模块,储存电路模块,外围接口电路模块,电源和复位电路,S3C4510 主控器模块主控器模块是整个系统核心,采用S3C4510B 解决器.Samsung 公司S3C45 10B 是基于以太网应用系统高性价比16/32 位RISC 微控制器,内含一种由ARM 公司设计16/32 位ARM7TDMI RISC 解决器核,ARM7TDMI 为低功耗,高性能16/32 核,系统存储电路模块主控器还需某些外围存储单元如Nand Flash,和SDRAM.Nand Flash 中包括Lin ux Bootloader,系统内核,文献系统,应用程序以及环境变量和系统配备文献等;S DRAM 读写速度快,系统运营时把它作为内存单元使用.外围电路模块外围电路重要是如下几种电路,复位电路图,电源电路图以及JTAG 电路,三、课程设计设备及工具硬件:UP-NETARM2410-S嵌入式实验仪、PC机、ov511摄像头;软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMR-LINUX开发环境。
嵌入式课程设计报告

嵌入式课程设计报告嵌入式课程设计报告一、设计目的和背景嵌入式系统在现代社会中起着越来越重要的作用,它们广泛应用于各个领域,如消费电子、汽车、医疗保健等。
本次课程设计旨在让学生深入了解嵌入式系统的设计原理和方法,并通过实践项目,提高学生的实际操作能力。
二、设计内容和方法本次课程设计的内容是一个智能家居控制系统。
该系统能够通过无线网络实现对家居设备的远程控制,如灯光、温度、窗帘等。
设计方法主要包括硬件设计和软件设计两个方面。
硬件设计部分主要包括选择合适的微控制器作为控制核心,选取各类传感器和执行器,以及设计电路板进行组装。
在此基础上,还需设计无线通信模块,以实现远程控制的功能。
软件设计部分主要包括嵌入式系统的编程和通信协议的设计。
编程部分可采用C语言或其他嵌入式开发语言,通过编写相应的控制程序实现各个功能模块的控制。
通信协议设计部分需要考虑数据传输的安全性和稳定性,可采用常见的无线通信协议,如Wi-Fi、蓝牙等。
三、设计结果和实现效果通过本次课程设计,我成功实现了一个智能家居控制系统的功能。
通过手机APP或电脑端软件,我可以远程实现对家居设备的控制,如开关灯光、调节温度、控制窗帘等。
同时,该系统还具备一定的安全性,用户可以通过身份验证来确保系统的安全性。
四、设计过程中的问题和解决方案在设计过程中,我遇到了一些问题,如硬件的选型和软件的编写。
对于硬件的选型,我需要根据系统的需求和预算来选择合适的微控制器和传感器。
对于软件的编写,我需要理解各个功能模块的工作原理,并编写相应的控制程序。
我通过查阅资料和与同学、老师的交流解决了这些问题。
通过分析和比较不同的硬件和软件方案,我最终选择了适合我项目需求的方案。
五、设计总结和展望本次课程设计使我对嵌入式系统的设计有了更深入的了解,提高了我的实际操作能力。
通过实践项目,我学会了如何选择合适的硬件和软件方案,并成功实现了一个功能完备的智能家居控制系统。
未来,我希望能继续深入研究嵌入式系统的设计,探索更多有意义的项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统设计与综合实验设计报告设计题目:简易数字电压计专业:班级:设计者:学号:指导教师:时间:目录一系统设计要求 (3)1.1设计目的 (3)1.2设计内容 (3)1.3设计要求 (3)二、系统总体设计方案 (4)2.1设计思想 (4)2.2系统组成 (4)2.3工作原理说明 (4)2.4方案设计 (4)三、系统硬件设计 (6)3.1系统硬件设计方案 (6)3.2系统硬件连线图 (6)四、系统软件设计 (8)4.1 ADC0808转换模块 (8)4.2 LCD显示模块 (9)4.3 主程序 (9)4.4 程序算法分析 (9)4.5关键程序段说明 (10)五、系统调试及结论 (11)5.1.调试方法 (11)5.2.设计、调试过程中重点问题及解决方法 (11)5.3.运行结果及结论 (12)5.3.1运行结果 (12)5.3.2结论 (15)六、设计体会 (16)七、参考文献 (17)八、源程序 (17)8.1 main主程序 (18)8.2 LCD显示程序 (25)8.3 字模程序 (31)一、系统设计要求1.1、设计目的通过数字电压表的设计,使同学们进一步掌握:(1)AT89C51汇编语言程序的设计和调试;(2)信号电压的数字测量方法;(3)AD0808转换器的基本工作原理和应用;(4)微机基本应用系统的设计方法;1.2、设计内容设计一个基于单片机控制的简易数字电压表,利用A/D实现多通道采样模拟电压值,该数字电压表可以测量0~5V的3路输入电压值,并在LCD显示器上3路同时显示四位数的电压值或单路选择显示四位数的电压值(或在四位LED数码管上轮流显示或单路选择显示电压值)。
测量最小分辨率为0.019V,测量误差约为士0.02V。
通过按键任意设置电压上下限值,当电压超过上下限值时,LED或者蜂鸣器报警。
设计相应的A/D、键盘、显示接口电路,可在线键盘参数设置、定时检测、显示、报警。
1.3设计要求(1)针对实验装置已有条件,设计电压测量原理线路;(2)编制相应的测试软件,实现电压测量;(3)实际上机调试,完成综合试验;(4)编写设计说明书(含原理图,程序及说明,实验方法,过程及结果)。
二、系统总体设计方案2.1设计思想⑴根据设计要求,选择AT89C51单片机为核心控制器件。
⑵A/D转换采用ADC0808实现,与单片机的接口为P0口和P1口的引脚。
⑶电压显示采用LCD显示器。
⑷LCD显示器的输入,由并行端口P2产生2.2系统组成整个系统由AT89C51、LCD显示器、ADC0808、晶振组成2.3工作原理说明3路数字电压表主要利用A/D转换器,其过程为如下:先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成比例关系运算得到相应的模拟电压值,然后把模拟值通过LCD显示出来。
设计时假设待测的输入电压为3路,电压值的范围为0—5v,要求能在4位LCD显示器上同时显示或单路显示。
测量的最小分辨率为0.019v。
根据系统的功能要求,控制系统采用AT89C51单片机,A/D转换器。
当输入电压为5V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196V(5/255)。
ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择3路进行转换。
如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对3路输入电压进行测量。
LCD显示器显示采用软件译码动态显示。
通过按键选择可以修改显示数据的上下限2.4 设计方案硬件电路设计由5个部分组成; A/D转换电路,AT89C51单片机系统,LCD 显示系统、时钟电路以及测量电压输入电路。
硬件电路设计框图如图2-1所示图2-1 数字电压表系统硬件设计框图三、系统硬件设计3.1系统硬件设计方案系统硬件连线图如图3.2所示,本系统设计比较简单,数据处理量较小,选用AT89C51作为系统核心部分,显示部分用LCD显示器显示相应的电压数据,用虚拟仪器里的电压表可以观察显示对应LCD显示器的显示电压值,通过计算可以观察显示的电压和实际电压是否一致,并可以计算绝对误差的大小单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。
CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路[1]。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图3-1所示。
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了30pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。
3.2硬件连线图硬件连线图如图3-2,整个系统由A/D转换电路,AT89C51单片机系统,LCD 显示系统、时钟电路以及测量电压输入电路图3-2 硬件连线图四、系统软件设计4.1 ADC0808转换模块A/D转换子程序用于对ADC0808中的3路输入模拟电压进行A/D转换,并将转换的数值存入3个相应的存储单元中,如图4-1所示。
A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。
A/D转换流程图(图4-1)图4-1 A/D转换流程图4.2 lcd显示模块显示子程序采用动态扫描实现四位LCD显示器的数值显示,在采用动态扫描显示方式时,要使得LCD显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,为了能够产生比较好的显示效果,本系统显示模块LCD的采用300kHz 的频率。
在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现定时,通过软件延时程序来实现延时。
4.3主程序程序流程图(图4-2)图4-2 主程序程序流程图4.4 程序算法分析程序开始开辟相应空间用于存放lcd显示器字型码。
初始化显示设计者的专业、班级、学号姓名。
用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成比例关系运算得到相应的模拟电压值,然后把模拟值通过LCD显示出来4.5.关键程序段说明显示程序:四位LCD显示器,先在左半边屏写入yy 列地址, lie 显示列数, xx 行地址,然后在右半边屏写入yy 列地址, lie 显示列数, xx 行地址,通过调用事先写好的要写入子的字模,在lcd显示屏上显示要显示的字。
五、课程设计及调试中遇到的问题及解决方法5.1调试方法利用proteus仿真,对程序反复进行编译,结合单步调试方法。
5.2设计、调试中遇到的重点问题及解决方法1)开始设计时,没有用到上拉电阻,直接用LCD显示器的DB引脚与AT89C51的P2口相连,后来通过翻网上查资料才知道使用上拉电阻与LCD显示器连接,是LCD显示器得到正确使用2)设计三个通道测电压时,在通道三上设计采集正弦的电压,由于正弦的幅值随周期一直在变化,不能静态显示,于是只能将对正弦电压的采集改成直流采集,若想对正弦电压进行测量,只能将仿真暂停,实现对正弦某个时间点的电压采集测量显示(正弦某个点测量如图5-1)3)LCD显示电压值时,当显示的电压值超过电压表的量程时,通道一的显示总会出现闪烁的问题,最开始以为是频率或者是延时的问题,后来通过检查程序,发现是在显示程序模块调用显示钱,出现清空程序而导致显示闪烁,将清空程序删除后,显示正常。
4)测量显示时,显示的量程不能达到5v,通过修改编译程序是问题得到解决5)调用显示子程序,还无法实现实时监测。
因为若在中断中调用了显示,显示的延时占用过长系统时间,会发生中断时序错乱,从而导致无法及时读取计数值。
5.3.运行结果及结论5.3.1运行结果1、通道三正弦某个点测量,实际值1.29v,测量值1.31v,绝对误差0.02v,如图5-1图5-1 正弦某个时间点的测量值2、LCD的初始化(显示设计者的专业班级、学号、姓名),如图5-2图5-2 LCD初始化3、通道一、二、三的电压值,实际值分别3.25v、2.20v、1.65v,测量值分别为3.25v、2.19v、1.64v,绝对误差分别为0v、0.01v,0.01v,如图5-3图5-3通道一、二、三的电压值4、通过按键改变量程上下限,按键改变下限为1v,按键改变上限为4v(初始化量程为0-5v),如图5-4图5-4 通过按键改变量程上下限5、通过按键改变量程上下限,而使显示的电压值超出上下限,通过显示“超上限”、“超下限”进行报警,量程为1-4v时,通道三为0.06v,超出下限1v;量程为1-3v时,通道一为3.45v,超出量程上限3V如图5-5图5-5 电压显示值超出量程范围内5.3.2结论程序调试完全正确后,利用proteus进行仿真,LCD显示相应的电压,基本符合设计要求六、设计体会从一开始的源代码编写我已经感觉到这次课程设计的重要与必要,所以我很认真的完成了这次的任务,设计过程中感觉到单片机知识的不足与欠缺,不过通过查资料和思考,最终还是成功完成了本次设计。
经过一段时间的努力,基于单片机的简易数字电压表基本完成。
但设计中的不足之处仍然存在。
这次设计是我第二次设计电路,并用Proteus实现了仿真。
在这过程中,我对电路设计,单片机的使用等都有了新的认识。
通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。
基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。
在实际应用工作应能好,测量电压准确,精度高。
系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。
本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。
通过本次设计,我对单片机这门课有了进一步的了解。
无论是在硬件连接方面还是在软件编程方面。
本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。
设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。
通过这次设计,对它的工作原理有了更深的理解。
在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。