任永哲(2009061409)嵌入式系统课程设计报告
嵌入式课程设计报告

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

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

课程名称:嵌入式系统课程设计先修课程:操作系统、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周。
嵌入式系统设计课设报告范本

嵌入式系统设计课设报告福州大学《嵌入式系统设计课设》报告书题目:基于28027的虚拟系统姓名:学号:学院:电气工程与自动化学院专业:电气工程与自动化年级:起讫日期:指导教师:目录1、课程设计目的 (1)2、课程设计题目和实现目标 (1)3、设计方案 (1)4、程序流程图 (1)5、程序代码 (1)6、调试总结 (1)7、设计心得体会 (1)8、参考文献 (1)1、课程设计目的《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。
《嵌入式系统设计》是一门实践性很强的专业基础课,经过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。
培养大胆创造创造的设计理念,为今后就业打下良好的基础。
经过课程设计,掌握以下知识和技能:1.嵌入式应用系统的总体方案的设计;2.嵌入式应用系统的硬件设计;3.嵌入式应用系统的软件程序设计;4.嵌入式开发系统的应用和调试能力2、课程设计题目和实现目标课程设计题目:基于28027的虚拟系统任务要求:A、利用28027的片上温度传感器,检测当前温度;B、经过PWM过零中断作为温度检测A/D的触发,在PWM中断时完成温度采样和下一周期PWM占空比的修正;PWM频率为1K;C、利用按键作为温度给定;温度给定变化从10度到40度。
D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设定);当检测温度小于给定时,PWM占空比增大(增大幅度自己设定);E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比;F、把E测量的PWM占空比经过串口通信发送给上位机;3、设计方案-----介绍系统实现方案和系统原理图①系统实现方案:任务A:利用ADC模块通道A5获取当前环境温度。
任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。
嵌入式系统课课程设计

嵌入式系统课课程设计一、教学目标本课程的教学目标是让学生掌握嵌入式系统的基本概念、原理和应用,培养学生运用嵌入式系统解决实际问题的能力。
具体分为以下三个部分:1.知识目标:(1)了解嵌入式系统的基本概念、特点和分类;(2)掌握嵌入式处理器、外围设备及其接口技术;(3)熟悉嵌入式操作系统的基本原理和常用操作系统;(4)了解嵌入式系统的设计方法和开发流程。
2.技能目标:(1)能够使用嵌入式处理器和外围设备搭建简单的嵌入式系统;(2)能够编写嵌入式系统的基本程序,实现常见的功能;(3)具备嵌入式操作系统的基本编程能力;(4)能够运用嵌入式系统解决实际问题,开展创新设计。
3.情感态度价值观目标:(1)培养学生对嵌入式系统的兴趣,激发学习热情;(2)培养学生团队合作精神,提高沟通与协作能力;(3)培养学生创新意识,培育勇于探索的精神;(4)培养学生责任感,强化安全意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.嵌入式系统概述:嵌入式系统的概念、特点、分类和应用领域;2.嵌入式处理器:嵌入式处理器的结构、工作原理和性能评估;3.嵌入式外围设备:存储器、输入输出接口、定时器等;4.嵌入式操作系统:嵌入式操作系统的原理、结构和常用操作系统;5.嵌入式系统设计方法:需求分析、系统架构设计、软件设计等;6.嵌入式系统开发流程:项目立项、系统设计、编程调试、测试等;7.嵌入式系统应用案例:常见嵌入式系统的应用案例分析。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解嵌入式系统的基本概念、原理和应用,使学生掌握相关知识;2.讨论法:学生针对嵌入式系统的某个主题进行讨论,提高学生的思考和表达能力;3.案例分析法:分析实际案例,使学生了解嵌入式系统在实际应用中的工作原理和设计方法;4.实验法:让学生动手搭建嵌入式系统,亲身体验嵌入式程序的编写和调试过程。
四、教学资源本课程的教学资源包括:1.教材:选用国内权威、实用的嵌入式系统教材;2.参考书:提供相关的嵌入式系统著作,供学生拓展阅读;3.多媒体资料:制作课件、教学视频等,丰富教学手段;4.实验设备:提供嵌入式系统实验平台,让学生动手实践。
嵌入式课程设计报告毕业论文教案

嵌入式课程设计报告毕业论文教案一、教学目标通过本课程的学习,学生应该能够: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.教师演示和现场演示,帮助学生理解课程内容并进行实践操作。
嵌入式系统课程设计实验报告

嵌入式系统开发课程设计实验报告实验题目:矩阵LED字符显示控制系统设计指导老师:***班级:计算机科学与技术系1201班姓名:一、实验题目矩阵LED字符显示控制系统设计二、实验目的1.掌握无操作系统下的硬件软件设计原理和方法;2.进一步熟悉ARM 处理器的基本结构、指令集、存储系统以及基本接口编程;3.熟悉嵌入式系统各部件的硬件初始化过程以及基本IO控制方法。
4.掌握矩阵LED 的应用原理三、实验内容1.利用sys_init初始化程序,利用串口实现PC和开发板的数据通信;2.理解S3C2410X 处理器的点阵屏应用程序3.修改应用程序,实现下面功能(1)当程序运行时显示一个LOG标志(自定义)(2)从串口输入学生姓名的字符串,并在矩阵LED上显示出来,并向左循环移动。
(名字的汉字字库自己设计)(3)实现名字的向右循环移动和闪烁移动4.附加题:利用网口实现客户端或服务器端应用程序,并进行数据传输。
四、实验环境硬件:Embest EduKit-IV 平台,ULINK2 仿真器套件,PC 机;软件:μVision IDE for ARM 集成开发环境,Windows 98/2000/NT/XP。
五、实验原理硬件部分1.点阵屏的结构电路图1点阵屏的结构电路图上QL1-QL16为行驱动信号,每个信号控制一行, LR1~LR16 是点阵屏的列驱动信号,每一个信号控制一列。
当行信号为高电平而列信号为低电平,对应的LED 就会亮。
2,S3C2410与点阵屏的连接图2 S3C2410ARM 处理器与两片CD4094连接得到16位行选信号图以上电路可以通过S3C2410GPIO 口把CPU 的并行数据(16位两个字节的数据)打入到两个CD4094芯片中并锁存起来变成LL1-LL16的行选信号。
LL1LL8LL7LL9LL16LL153.点阵屏的保护电路图3 点阵屏的保护电路图为了保护LED屏加了对应的电阻实现行限流作用,即LL1-LL16变为RQ1-RQ16 4.LED的驱动加入行驱动电路的目的是实现LED灯的驱动。
嵌入式课程设计报告

《嵌入式系统应用》课程设计报告课题名称:基于嵌入式的web服务器的远程控制程序设计专业:电子信息工程班级:121801姓名:沈荣彬郑彦勋颜丁炜赖佛金郭晓婷蒋钧任学号:121820120026 121820120019121820120016 121820120033121820120003 121820120007 指导老师:刘莎日期:2015.12.30仰恩大学电子系基于嵌入式的web服务器的远程控制程序设计一、设计目的嵌入式系统课程设计是本专业在学习完 C 语言、LINUX 操作系统、嵌入式系统原理与接口设计、嵌入式操作系统原理之后的专业课程设计,属于专业课内容。
通过课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。
随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受, 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。
用户使用Web 浏览器, 通过以太网远程访问内置Web 服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令。
在整个系统的实现过程中, 嵌入式Web 服务器起着十分重要的作用。
二、设计内容及要求1.web服务程序,并修改相对应程序,通过web 服务程序来实现打开网页的功能1、编写web服务程序index.html,利用下载功能将文件下载到目标机的/usr/myfiles的文件夹下2、修改led驱动程序,并重新编译下载驱动程序,注册。
3、编写用户程序2.将编译好的程序下载,并运行。
在浏览器中输入192.168.0.50/index.html.通过点击浏览器来打开百度网页。
三、实现过程3.1、课题总体设计硬件平台选择:基于嵌入式 Web 服务器的远程控制系统主要由嵌入式Web 服务器以及被控制的现场设备组成。
服务器通过交换机或调制解调器与 Internet 互联网连接,用户端只需在已联网的计算机上通过网页浏览器访问该远程服务器的 IP 地址,即可使用该服务器并实现对设备的远程控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告基于触摸屏的电子计算器班级:20090614学号:2009061409姓名:任永哲2012年10月1. 题目基于触摸屏的电子计算器2. 系统简介嵌入式系统的计算器已经受广大人民的欢迎,他越来越多的人提供了便利。
本系统使用ADS1.2的开发环境,在UP-net3000实验平台实现其具体功能。
嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。
从软件角度来看,嵌入式系统具有不可修改性、系统所需配置要求较低、系统专业性和实时性较强等特点。
很显然本计算器也有如上的几个重要特点。
本系统的界面由图形来设计的,是一个基于触摸屏的电子计算器,不仅能实现计算器的简单的加法、减法、除法、乘法、平方法,还能通过触摸屏以及键盘的输入对计算器进行控制。
根据基本的功能可以分为三个重要模块:核心计算模块,输入模块,输出模块。
输入模块可以分为两种类型,小键盘输入和触摸屏输入信息(包括符号和数字)。
核心计算模块主要负责对输进来的数字的计算,根据小键盘和触摸屏上的符号获得值,再根据这个参数值不同做相应的处理,最终可以实现所述的基本计算功能。
输出模块主要由LED数码管和触摸屏LCD来输出结果。
不管选择输入模块哪一个方式,在输出模块的两个主要显示方式都会运行,也就是说不仅能在屏幕上显示结果,也能通过LED 数码管来显示其结果。
3. 系统设计一、系统核心算法本系统是支持小键盘,LED和触摸屏的简单计算器,我做的是小键盘和LED显示的模块。
不管是什么模块都要用到核心计算算法,算法的思想为如下:(1)写数字函数。
设置一个m_second的参数,每当按下按键或触摸某个数字时会用一个m_second的参数来存值,值到出现符号键为止他会反复做m_second = m_second*10 + 数字这个操作,最后的结果也当然存到m_second这个参数里。
(2)写小数点运算函数:跟数字函数类同,不一样的是多了个小数点运算。
用m_coff 参数来设定小数点参数。
也就是说当点击“.”或小数点触摸屏的时候做如下操作,直到出现符号键为止反复做m_second = m_second + 数字*m_coff和m_coff *= 0.1等操作。
(3)把(1)(2)功能用if语句来合并。
如果想要输入整数型的数字则做(1)操作,若果要输入浮点型的数字则做(2)操作。
(4)写符号函数。
设定m_first,m_coff参数,他在一个运算里面始终是加数,相反m_second始终是被加数。
每次完成一次运算后默认把最终结果赋值给m_first,这样系统就可以满足有记忆功能的特点。
当每次按下符号键或触摸屏上的符号时就会根据不同的符号功能来处理计算:m_first 符号=m_second。
加法,减法,乘法,平方法类似。
由于除法的特殊性除法要考虑的因素就多了点,如果要被除的数字小于等于0.000001的时候他就显示错误,其余情况正常计算。
(5)本系统默认有记忆功能,也就是说计算完一次运算后他还保留原先的值。
设m_first值为0,m_second是被计算的值。
每次算完一次运算后最终计算得出来的值存到m_first里,并把m_second和m_coff值复位,分别写成初始值0.0和1.0,这样他们才能改变为要写入的数字。
(6)当把所述的函数写完后为了方便用switch语句来分辨符号,设置一个m_operator参数,他是switch语句里的表达式,常量表达式当然分为“+”,“-”,“*”,“∕”,“s”。
根据不同的符号进入case,完成具体的计算。
void Calculate(){ switch(m_operator){case '+':m_first +=m_second;break;case '-':m_first -=m_second;break;case '*':m_first *=m_second;break;case '/':if(fabs(m_second)<= 0.000001){ m_display = "除数不能为零";return;}m_first /=m_second;break;case 's':m_first *=m_first;break;}m_second=0.0;m_coff = 1.0;UpdateDisplay(m_first); }根据思想可以设计出如下几个核心函数:计算函数Calculate( ),OnButton0( )到OnButton9( )的数字函数,平方函数OnButtonSqrt( ), 反函数OnButtonSign( ), 乘法OnButtonMutiply( ), 减法函数OnButtonMinus( ),加法函数OnButtonAdd( ), 除法函数OnButtonDiv( ), 清零函数OnButtonClear( ), 小数点函数OnButtonPoint( )。
二、小键盘模块设计Zlg7289芯片驱动17键的键盘,进入keyboard.c可以设置数字按键0到9的值为11,2,10,18,1,9,17,0,8,16。
符号键可以设置成“小数点”为19,“+”为24,“-”为21,“*”为20,“%”为12,“=”为26,“清零”为4。
首先设一个key值,定义为键盘输入进去的值,key=Zlg7289_ReadKey( ),进行判断,大体分为两种情况。
第一种在小键盘上按下数字键后根据如上设置的数字,不同的值对应不同的显示。
伪代码为if(key==值){Buffer='数字';Uart_Printf("%c\n",Buffer);OnButton数字();}第二种根据不同的符号按键的出来的key值来进行判断,对应的值对应不同运算结果。
伪代码为if(key==值){Buffer='符号';Uart_Printf("%c\n",Buffer);OnButton符号函数();}三、LED模块设计利用键盘驱动函数来实现LED模块设计。
从ZLG7298ZLG7289读取键值的方法为如下:开启zlg7298,用zlg7298.h里的zlg7298—ENABLE()控制。
接下来要发送读取键值命令,运用WriteSDIO(data)函数。
向同步串口发送完数据后读取按键值,由ReadSDIO( )函数来实践。
从同步串口读取数据后要关闭zlg7298,由zlg7298—DISABLE()函数来完成。
当判断有键按下后从zlg7298读取键值,按键值有效后通过键盘映射表得到按键值用GetKey( )函数实现基本数字输入,得到按键值。
驱动共阴极LED,LED数码管有八位的显示管,使zlg7289占有同步串口后然后从个位数到千万位依次在0到7的数码管上显示。
写到每个数码管的读取数字应当为sum/位数%10。
当判断有键按下后从zlg7298读取键值,按键值有效后通过键盘映射表得到按键值根据如上思想可以写出函数,为UpdateDisplay(int sum)。
四、触摸屏的理解完成以上的三个主要模块后对触摸屏进行研究,由于分工明确,这部分的内容只是后来两个大模块加在一起后对系统进行优化和修改的时候所理解的。
该系统是在基于ucos-ii系统内核的基础上完成电子计算器的开发,因此首先要编写一个电子计算器的任务,定义获取触摸位置的结构体和结构体指针,接着用strChar2Unicode(Num_Button_0_Caption_16, Num_Button_0_Caption_8)函数来将字符型转换为unicode型的字符,定义按钮的坐标位置,CreateButton函数来创建一个按钮控件并用DrawButton函数来在LCD屏幕上画出按钮。
当发生触摸动作时,系统首先进行获取坐标值的操作,接下来通过函数IsInRect2( )判断触摸的坐标在哪一个按钮区域内。
调用函数OnButton0()来响应这次操作。
4. 系统实现一、核心算法的实现:通过各种符号来实现对应的计算,计算函数实现完后开始写实现数字的函数:数字项:void OnButton数字(){If( m_coff == 1.0)m_second = m_second*10 + 数字;else{m_second = m_second + 数字*m_coff;m_coff *= 0.1;}UpdateDisplay(m_second);}平方函数void OnButtonSqrt(){m_second = sqrt(m_second);}加法函数void OnButtonAdd(){ Calculate();m_operator='+';}减法,乘法,除法的实现方法类似于加法的函数,把m_operator='符号'代码行的符号改成对应的减法,乘法,除法就可以实现。
清空函数void OnButtonClear(){ m_first=0.0;m_second=0.0;m_operator = '+';m_coff = 1.0;}运算浮点运算void OnButtonPoint(){m_coff = 0.1 ;}完成系统设计后根据思想写代码,系统小键盘和LED模块的设计流程图具体为如下:图1 系统流程图二、LED模块实现根据上面所设计到的思想,写出函数。
由于数码管上显示的是字符型,必须得把得出来的值强行转换成字符型。
每次写入一个数据后要有一定时间的延时。
具体的代码如下:void UpdateDisplay(int sum) //LED数字显示{ZLG7289_ENABLE();Delay(5);WriteSDIO(ZLG7289_CMD_DATA0|0);//数码管以方式0译码,第一个数码管亮WriteSDIO(sum%10);//显示个位Delay(1);//延时//键值大于9显示10位WriteSDIO(ZLG7289_CMD_DATA0|1);//发送十位数据WriteSDIO((unsigned char)(sum/10%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|2);//发送百位数据WriteSDIO((unsigned char)(sum/100%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|3);//发送千位数据WriteSDIO((unsigned char)(sum/1000%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|4);//发送万位数据WriteSDIO((unsigned char)(sum/10000%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|5);//发送十万位数据WriteSDIO((unsigned char)(sum/100000%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|6);//发送百万位数据WriteSDIO((unsigned char)(sum/1000000%10));Delay(1);WriteSDIO(ZLG7289_CMD_DATA0|7);//发送千万位数据WriteSDIO((unsigned char)(sum/10000000%10));Delay(1);WriteSDIO(ZLG7289_CMD_HIDE);//使一、二两位数码管显示ZLG7289_DISABLE();//zlg7289放弃同步串口控制权Delay(5000);}三、小键盘模块实现小键盘输入:定义一个pMsg并赋值WaitMessage(0),pMsg->Message可以分为触摸屏的OSM_TOUCH_SCREEN参数和小键盘的OSM_KEY参数。