毕业设计(论文)-基于UCGUI图形系统的机械时钟的实现.doc_第1页
毕业设计(论文)-基于UCGUI图形系统的机械时钟的实现.doc_第2页
毕业设计(论文)-基于UCGUI图形系统的机械时钟的实现.doc_第3页
毕业设计(论文)-基于UCGUI图形系统的机械时钟的实现.doc_第4页
毕业设计(论文)-基于UCGUI图形系统的机械时钟的实现.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

滁州职业技术学院信息工程系 2015 届嵌入式系统工程嵌入式系统工程专业毕业论文 姓 名: xxxxxxx 班 级: 嵌入式系统工程班 设计课题: 基于 UCGUI 图形系统的机械时钟的实现 指导教师: xxxxx 2014 年 12 月 5 日 摘要 摘要 这个项目是用ucgui来编写的一个时钟程序,其中涉及到了ucgui的安装以及使用, ucgui是指计算机与其使用者之间的图形化对话接口。用它可以更好的实现人机的对话。根 据时钟流程这个思路来进行编写代码,这样可以使编程的效率提高,也可以保持一个清晰的 思路,为后续的错误的修改提供了较好的保证。本项目主要就是介绍了时钟代码的编写和时 钟在ucgui中的编译和生成的步骤和仿真结果以及涉及到的相关知识的介绍。 Abstract This project is to use ucgui to write a clock procedures, which involves the installation and use of ucgui, ucgui refers to dialogue graphical interface between a computer and its users. It can better realize the man-machine dialogue. I according to the clock process the idea to write code, so that we can raise the efficiency of programming, also can let me keep a clear train of thought, for the subsequent error modification provides a good guarantee. This project is mainly introduced the clock code to write and clock in ucgui compile and generate the steps and the results of simulation and involves the introduction of relevant knowledge. 目录 I 目录 第一章.UC/GUI 简介 .1 第二章 UCGUI 开发平台的搭建以及使用 .3 2.1 VC6.0 的安装以及使用 .3 2.1.1 Vc6.0 的安装.3 2.1.2 Vc6.0 的使用.4 2.1.3 ucgui 在 vc6.0 中的使用.11 2.2 仿真器 .12 第三章 编写前的知识储备.15 3.1 初始化和转义字符 .15 3.2 其他的必要显示函数和画图函数 .15 第四章 机械时钟的实现.21 4.1 机械时钟的原理图 .21 4.2 机械时钟的算法流程图和代码 .21 4.3 运行结果图 .26 第五章 总结.27 遇到的问题及解决方法 .27 致谢.28 参考文献.28 滁州职业技术学院嵌入式系统工程专业毕业论文 1 第一章.C/GUI 简介 C/GUI 是一种用于嵌入式应用的图形支持软件。它被设计用于为任何使用一个图形 LCD的应用提供一个有效的不依赖于处理器和LCD 控制器的图形用户接口。它能工作于单任 务或多任务的系统环境下。C/GUI 适用于使用任何LCD 控制和CPU 的任何尺寸的物理和虚 拟显示。它的设计是模块化的,由在不同的模块中的不同的层组成。一个层,称作LCD 驱动 程序,包含了对LCD 的全部访问。C/GUI 适用于所有的CPU,因为它100%由的ANSI 的C 语 言编写的。 C/GUI 很适合大多数的使用黑色/白色和彩色LCD 的应用程序。它有一个很好的颜色 管理器,允许它处理灰阶。C/GUI 也提供一个可扩展的2D 图形库和一个视窗管理器,在 使用一个最小的RAM 时能支持显示窗口。 C/GUI 的功能特性如下: 1 .任何8/16/32 位CPU;只需要一个与ANSI 兼容的C 编译器。 任何控制器支持(如果有合适的驱动程序)的任何(单色的,灰度级或者彩色)LCD。 在较小显示屏上,可以不要LCD 控制器工作。 使用配置宏可以支持任何接口。 显示屏大小可配置。 字符和位图可能是写在LCD 上的任一点,而不仅仅局限于偶数的字节的地址。 程序对大小和速度都进行了最优化。 允许编译时的切换以获得不同的优化。 对于较慢的LCD 控制器,LCD 能够被存储到内存当中,减少访问的次数使其最小,从而得 到非常高的速度。 清晰的结构。 支持虚拟显示;虚拟显示能够比实际的显示表现更大尺寸的内容。 2.图库 支持不同颜色深度的位图。 有效的位图转换器。 滁州职业技术学院嵌入式系统工程专业毕业论文 2 绝对没有使用浮点运算。 快速线/点绘制(没有使用浮点运算)。 非常快的圆/多边形的绘制。 不同的绘画模式。 3.字体 为基本软件提供了不同种类的字体: 4*6,6*8,6*9,8*8,8*9,8*16,8*17,8*18,24*32,以及8,10,13,16 等几种高度 (以象素为单位)的均衡字体。 可以定义和简便地链接新的字体。 只有用于应用程序的字体才实际上与执行结果链接,这样保证了最低的ROM占用。 字体可以分别在X 轴和Y 轴方向上充分地缩放。 提供有效的字体转换器,任何在你的主系统(即Microsoft Windows)上的有效字体都可 以转换。 4.字符串/数值输出程序 程序支持任何字体的十进制,二进制,十六进制的数值显示。 程序支持任何字体的十进制,二进制,十六进制的数值编辑。 5.视窗管理器(WM) 完全的窗口管理器包括剪切在内。一个窗口的外部区域的改写是不可能的。 窗口能够移动和缩放。 支持回调函数(可选择用法)。 WM 使用极小的RAM(大约每个窗口20 字节)。 6.可选择用于PC外观的控件 控件(窗口对象)有效。它们一般自动运行,并且易于使用。 7.触摸屏和鼠标支持 对于比如按钮控件之类的窗口对象,C/GUI 提供触摸屏和鼠标支持。 8.P C工具 模拟器及观察器。 位图转换器。 字体转换 滁州职业技术学院嵌入式系统工程专业毕业论文 3 第二章 ucgui 开发平台的搭建以及使用 2.1 Vc6.0 的安装以及使用 2.1.1 Vc6.0 的安装 (1)先将 VC+6.0 安装包在一个目录下(一个文件夹下) ,这样安装完 VC+6.0 就会自 动识别到,并且安装 (2)解压 VC6.0 后,双击文件夹下的 setup.exe,如图所示,依次点击【下一步】 图 2-1 (3)选择【typical】 图 2-2 滁州职业技术学院嵌入式系统工程专业毕业论文 4 (4)VC6.0 安装成功! 图 2-3 .2 Vc6.0Vc6.0 的使用的使用 (1)启动 Visual C+ 6.0 安装完毕之后从开始 i 菜单中可以启动 VC6 ,启动之后的界面如图,左侧停靠窗口为 工程资源管理器,用于从不同角度对工程资源进行查看和快速定位,下侧为信息输出窗口、 调试信息、查找信息等都会从该窗口输出,主要显示区显示程序代码或者资源。 图 2-4 滁州职业技术学院嵌入式系统工程专业毕业论文 5 (2)建立新工程 从“File”菜单选择“New”,切换到“Project”标签,根据需要选择工程类型,初学 者可以选择简单的 “Win32 Console Application”来学习基本 C+ 语法,在右侧输入工 程的名称及存储位置,点击“OK”,系统会启用向导来给用户生成程序框架以便快速进入开 发,作为初学者,选择 “An Empty Project”手动来添加工程文件,点击“Finish”结束 向导,界面如图所示。 图 2-5 (3)为工程添加代码文件 滁州职业技术学院嵌入式系统工程专业毕业论文 6 继续选择“File”菜单下的“New”,本次切换到“Files”标签,根据需要选择要添加 到工程里的文件类型,选择其中的 C+ Source File,右侧输入文件名称及对应的扩展名 .c pp 。 当代码文件添加完毕后,可以从左侧工程资源管理器的“FileView”文件视图查看当前 的各类资源文件,“ClassView”则从类和函数的角度查看代码并可以通过双击快速定位。 如果硬盘上已有代码文件,则可以通过 “Project”菜单项来将现有资源文件添加到当 前工程。在“FileView”的对应文件上按“Del”键,则可以将文件从工程中移除(注:仅 从工程中移除,并非从硬盘上删除文件)。 图 2-6 (4)书写程序代码 双击“FileView”中的代码文件可以直接进入代码编辑状态,根据需要输入代码。如果 代码书写较乱,可以使用 “Edit”菜单“Advanced”子菜单中的“Format Selection”进 行格式化,快捷键 Alt+F8 。 滁州职业技术学院嵌入式系统工程专业毕业论文 7 如果对编辑区域字体不满意,可以在“Tools”菜单“Options”对话框中选择“Format ”标签对源代码窗口字体进行定制。 图 2-7 (5)编译并运行程序 代码书写完毕,可以在“Build”或者“Build”工具栏上依次点击“Compile .”“Bu ild .”“Excute .”来对程序进行编译、连接和运行,并观察程序运行结果。 滁州职业技术学院嵌入式系统工程专业毕业论文 8 图 2-8 (6)程序的错误修改 滁州职业技术学院嵌入式系统工程专业毕业论文 9 如果编译或者连接过程中出现错误,底部信息提示窗口会提示错误所在行以及错误的类 型,双击即可定位到相应的代码处进行修改,尔后重新编译连接运行,重复此过程直到程序 功能达到要求没有错误。 图 2-9 (7)单步调试 如果需要单步跟踪每个语句的执行过程并观察运行结果,可以使用单步调试。 首先在你希望程序运行停止的语句上点击工具栏图标设置断点(Break Point),然后 可以使用 “Go”按钮(快捷键 F5)来启动应用程序,此时程序会在运行到断点处的时候暂 停,你可以使用“Debug”工具栏上的“Setp Over”(快捷键 F10)“Step Into”“Stop Debugging”来分别进行单步运行、进入函数内部单步运行和停止调试,如果你希望直接运 行到下一个断点处,则再次点击“Go”即可。 单步运行时,当前代码所在函数内部的变量的值变化情况会在底部的“Auto”标签中显 示,用户也可以直接把鼠标放到想要查看值的变量名上来查看当前值。 滁州职业技术学院嵌入式系统工程专业毕业论文 10 图 2-10 (8)生成可执行文件并发布 在编码、调试程序的功能完成之后,接下来进入程序的发布过程,以 DEBUG 模式编译 的程序附加了很多调试信息,而且没有经过优化,所以速度慢体积大,当程序功能完备在交 给实际用户使用之前,应该以 RELEASE 模式重新编译。 点选“Build”菜单中的“Batch Build”即可选择编译模式。 Debug 和 Release 模式编译生成的文件默认会分别放置在工程目录的 Debug 和 Release 文件夹下,只需要将生成的 exe 文件及程序操作需要的附属文件交给用户即可,C+ 代码 及工程无需交付。 滁州职业技术学院嵌入式系统工程专业毕业论文 11 图 2-11 2.1.3 ucgui 在 vc6.0 中的使用 (1)打开 vc6.0 选着【文件】 【打开工作空间】 图 2-12 (2)打开工作空间后找到【ucgui324】 【文件类型】选着所有文件然后选 着待.dsw 的文件打开 滁州职业技术学院嵌入式系统工程专业毕业论文 12 图 2-13 (3)选着.dsw 后会在工作区间出现 ucgui 的目录选着 fileview 图 2-14 (4)必要时可以把 application 中三个文件删掉,即可在 main.c 中编写代码 图 2-15 2.2 仿真器 C/GUI的PC仿真器允许你在Windows下编译相同的“C”源程序。PC使用一个本地编译 器(一般是微软所提供的)并建立一个用于你自己应用的可执行文件。这样做可能完成: 在你的PC上进行用户接口设计(不需要硬件支持) 滁州职业技术学院嵌入式系统工程专业毕业论文 13 调试你的用户接口程序 建立你的应用的演示,可以用于描述用户接口 在Visual C+ 环境下模拟演示 : 根目录包括微软Visual C+工作区(Simulation-Trial.dsw)及项目文件 (Simulation-Trial.dsp)。双击工作区文件可以打开微软IDE。 Visual C+工作区的目录结构如下图所示。 图2-16 编译演示程序: 位于应用目录下的演示程序源文件是一个“ready-to-go”仿真,意思是你仅仅需要建 立和启动它。请注意,如果需要建立可执行文件,你必须先安装微软Visual C+(6.0或以 上的版本)。 第一步:双击Simulation-Trial.dsw 文件打开Visual C+工作区。 第二步:在菜单中选择“Build/Rebuild All” (或按“F7”键)重建项目。 第三步:在菜单中选择“Build/Start Debug/Go” (或按“ F5”键)开始仿真。 演示项目开始运行,在任意时候可能通过单击右键并选择“Exit”退出。 编译范例程序: 目录“Sample”包括“ready-to-go”范例程序,可以示范 C/GUI的不同特性及提供它 们的典型应用的例子。为了建立这些可执行文件,它们的C源代码必须加入项目中。通过下 面的步骤很容易做到: 滁州职业技术学院嵌入式系统工程专业毕业论文 14 第一步:双击Visual C+工作区的“Application”文件夹。演示文件会出现在它下 面。 第二步:选择“Application”文件夹下的所有文件,按下“Delete”键将它们删除。 这些文件并不是真是被删除了,只是从项目中移走。 第三步:现在你有了一个空的“Application”文件夹。在其上面单击右键,选择需 加入的文件加入到文件夹,出现一个对话框。 第四步:双击“Sample”文件夹,选择里面的一个范例文件。你的工作区目录应该 如下图所示。当然,文件名可以不一样;在这里,很重要的一件事是“Application”文件 夹只能包含你所想编译的范例的C文件,而不能是其它种类的文件。 图2-17 第五步:在菜单下选择“Build/Rebuild All”(或按“F7”键)重建范例文件。 第六步:在菜单中选择“Build/Start Debug/Go” (或按“F5”键)开始仿真。上面所 选择范例的仿真结果如下图所示: 图 2-18 滁州职业技术学院嵌入式系统工程专业毕业论文 15 第三章 编写前的知识储备 3.1 初始化和转义字符 初始化 C/GUI 程序GUI_Init()初始化LCD 和C/GUI 的内部数据结构,在其它C/GUI 函数运行之前 必须被调用。这通过将下面一行放入你的程序序列的开始来做到: GUI_Init(); 如果忽略了这个调用,整个图形系统将不会得到初始化,从而无法准备下一步的动作。 转义字符 转义字符是一种特殊的字符常量。转义字符以反斜线开头,后跟一个或几个字符。 转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。 转义字符中小于32的字符代码称为控制字符。控制字符被定义为ASCII码的一部分。 字符代码10 表示n 换行,改变当前文本坐标到下一行 反斜线符 单引号符 ddd 13位八进制数所代表的字符 xhh 12位十六进制数所代表的字符 3.2 其他的必要显示函数和画图函数 1. void GUI_Clear(void); 含义:清除当前视窗。 备注:如果没有定义视窗,当前视窗为整个显示区。这样的话,整个显示区 滁州职业技术学院嵌入式系统工程专业毕业论文 16 都会被清除。 2.void GUI_DispChar(U16 c); 含义:在当前视窗使用当前字体在当前文本坐标处显示单个字符。 参 数:C : 显示的字符 备注:字符是否有效取决于所选择的字体,如果在当前字体中该字符无效,则不会有任 何显示。 3void GUI_DispCharAt(U16 c, I16P x, I16P y); 含义:在当前视窗使用当前字体在指定坐标处显示单个字符。 参数: C::显示的字符 X: 写到客户窗口经X轴坐标(以像素为单位) Y: 写到客户 窗口经Y轴坐标(以像素为单位) 备注:字符是否有效取决于所选择的字体,如果在当前字体中该字符无效,则不会有任 何显示。 4void GUI_DispString(const char GUI_FAR *s); 含义:在当前视窗的当前坐标,使用当前字体显示作为参数的字符串。 参数:s 显示的字符串 备注:字符串包括控制字符“n”。该控制字符把当前文本坐标移到下一行的开始处。 5void GUI_DispStringAt(const char GUI_FAR *s, int x, int y); 含义:在当前视窗,使用当前字体在指定坐标显示作为参数的字符串。 参数:s 显示的字符串 x 写到客户视窗的X轴坐标(以像素为单位) y 写到客户视窗的Y轴坐标(以像素为单位) 6.char GUI_GotoXY(int x, int y); 含义:对当前视窗文本坐标的X坐标和Y坐标两部分同时设置。 7.char GUI_GotoX(int x); 含义:只对当前视窗文本坐标的X坐标部分进行设置,Y坐标保持不变。 8char GUI_GotoY(int y); 含义:只对当前视窗文本坐标的Y坐标部分进行设置,X坐标保持不变。 参数:x 新的X轴坐标(以像素为单位,0为视窗左边界) 滁州职业技术学院嵌入式系统工程专业毕业论文 17 y 新的Y轴坐标(以像素为单位,0为视窗顶部边界) 返回值:通常为0。如果返回数值非0,则当前文本坐标超出视窗范围(到了右边或下 边),这样紧接着的写操作可能被忽略。 9.int GUI_SetTextMode(int TextMode); 含义:按照指定的参数设置文本模式。 参 数 TextMode 设置的文本模式,可以是文本模式标识的任意组合 参数TextMode允许的数值(可以用“OR(或|)”进行组合) GUI_TEXTMODE_NORMAL 设置正常文本,这是默认的设置,该数值等同于0 GUI_TEXTMODE_REVERSE 设置反转文本 GUI_TEXTMODE_TRANSPARENT 设置透明文本 GUI_TEXTMODE_XOR 反相显示的文本 10void GUI_DispDec(I32 v, U8 Len); 含义:在当前视窗的当前文本坐标,使用当前字体显示一个十进制数值,指定显示字符 的数量。 参数: v 用于显示的数值。最小值为:-2147483648(-231)最大值为: 2147483647(231-1) Len 显示的数字的数量(最大为9) 备注:如果数值为负,则会显示一个减号。 11void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len); 含义:在当前视窗的当前文本坐标,使用当前字体显示十进制数值,指定显示字符的数 量。 参数: v 用于显示的数值。最小值为:-2147483648(-231),最大值为: 2147483647(231-1)x 写入客户视窗的X坐标(以像素为单位) y 写入客户视窗的Y 坐标(以像素为单位) Len 显示的数字的数量(最大为9)备注:如果数值为负,则 会显示一个减号。 12.选择字体 C/GUI 提供不同的字体,总会有其中的一种被选中。可以通过调用函数 GUI_SetFont() 滁州职业技术学院嵌入式系统工程专业毕业论文 18 图3-1 13const GUI_FONT * GUI_SetFont(const GUI_FONT * pNewFont) 图 3-2 含义:设置用于文字输出的字体 参数:pFont 所选择及使用字体的指针 返回值 返回先前所选择字体的指针,这样你可以在稍后一点恢复原先使用的字体 图 3-3 滁州职业技术学院嵌入式系统工程专业毕业论文 19 图 3-4 14GUI COLOR GUI GetBkColor(void); 含义:返回当前背景颜色 15. GUI COLOR GUI_SetBkColor(GUI COLOR Color); 含义:设置当前背景颜色。 16void GUI_ClearRect(int x0, int y0, int x1, int y1); 含义:在当前视窗的指定位置通过向一个矩形区域填充背景色来清除它。 参数: x0 左上角X坐标 y0 左上角Y坐标 x1 右下角X坐标 y1 右下角Y坐标 17void GUI_DrawPoint(int x, int y); 含义:在当前视窗使用当前尺寸笔尖绘一个点。 参数: x 点的X坐标 y 点的Y坐标 18void GUI_DrawLine(int x0, int y0, int x1, int y1); 含义:在当前视窗的指定始点到指定终点绘一条直线。 参 数:x0 X轴开始坐标 y0 Y轴开始坐标 x1 X轴结束坐标 y1 Y轴结束坐标 备注:如果线的一部分是不可见的,因为它不在当前视窗内,或者如果当前视窗的一部 分是不可见的,由于裁剪的原因,这些部分将不会绘出。 19void GUI_DrawCircle(int x0, int y0, int r); 含义:在当前视窗指定坐标以指定的尺寸绘制一个圆。参数: x0 在客户视窗中圆心的 X轴坐标(以像素为单位) y0 在客户视窗中圆心的Y轴坐标(以像素为单位) r 圆的半 径(直径的一半),最小值:0(结果是一个点),最大值:180 滁州职业技术学院嵌入式系统工程专业毕业论文 20 备注:该函数不能处理超过180的半径,因为那样将使用到导致溢出错误的整数运算。 20void GUI_DrawArc (int xCenter, int yCenter, int rx, int ry, int a0, int a1); 含义:在当前视窗的指定坐标按指定尺寸绘一段圆弧,一段圆弧就是一个圆的一部分轮 廓。 参数: xCenter 客户视窗中圆弧中心的水平方向坐标(以像素为单位)yCenter 客户 视窗中圆弧中心的垂直方向坐标(以像素为单位)rx X轴半径(像素)。ry Y轴半径(像素) a0 起始角度(度)a1 终止角度(度) 备注:现在不使用参数ry,取而代之的是参数rx,处理的参数rx/ry不能超过180,因为 那样将使用到导致溢出错误的整数运算。 滁州职业技术学院嵌入式系统工程专业毕业论文 21 第四章 机械时钟的实现 4.1 机械时钟的原理图 时钟表设计思想: 第一步,确定秒钟的走时。将圆等分成 60 份每过一 秒,秒钟要转 1/60 个圆,亦即一 等份。 第二步,确定分钟的走时。将圆等分成 60 份每过一 分,分钟要转 1/60 个圆,亦即一 等份。分钟自己走的再加秒钟的,才是分钟此时 的位置。 第三步,确定时钟的走时。将圆等分成 12 等分.每过一时,时钟走一等份。得加上分钟, 秒钟的走时,才是此刻时钟的位置。时钟走动与系统时间联系:每过一秒画出秒针,并除去 前一秒的秒针,分针秒针同样可用。画线函数与时间联系使用变量 4.2 机械时钟的算法流程图和代码 。 图 4-1 滁州职业技术学院嵌入式系统工程专业毕业论文 22 #include GUI.H #include math.h void DrawArcScale(void) int x0 = 150; int y0 = 120; int i,j=0; int Hour=00,Sec=00, Min=00; unsigned num=12,11,10,9,8,7,6,5,4,3,2,1; GUI_Init(); GUI_SetBkColor(GUI_LIGHTBLUE); GUI_Clear(); /绘画表盘 GUI_SetColor(GUI_LIGHTRED); GUI_SetPenSize(5); GUI_DrawArc( x0,y0,100, 100,0, 360 ); GUI_SetFont( for (i=0; i= 59; i+) int x,y,x4,y4; float a,e; a= (i*6)*3.1415926/180; e= (90+i*6)*3.1415926/180; x =90*cos(a)+x0; y =-90*sin(a)+y0; x4 =80*cos(e)+x0-5; y4 =-80*sin(e)+y0-8; GUI_SetColor(GUI_BLUE); if (i%5 = 0) 滁州职业技术学院嵌入式系统工程专业毕业论文 23 GUI_SetPenSize( 5); GUI_DrawPoint(x,y); GUI_DispStringAt(const char *)numj,x4,y4); j+; else GUI_SetPenSize( 3 ); GUI_DrawPoint(x,y); while(1) int j=0,x1,y1,x2,y2,x3,y3; float b,c,d; for(i=0;i60*60*12,Sec59;i+) b= (90-i*6)*3.1415926/180; c= (90-i*6/60)*3.1415926/180; d= (90-i*6/60/12)*3.1415926/180; x1 =80*cos(b)+x0; y1 =-80*sin(b)+y0; x2 =75*cos(c)+x0; y2 =-75*sin(c)+y0; x3 =50*cos(d)+x0; y3 =-50*sin(d)+y0; 滁州职业技术学院嵌入式系统工程专业毕业论文 24 GUI_SetPenSize(3); GUI_SetColor(GUI_YELLOW); GUI_DrawLine( x0, y0, x2, y2); GUI_SetPenSize(5); GUI_SetColor(GUI_LIGHTMAGENTA); GUI_DrawLine( x0, y0, x3, y3); /秒针 +Sec; GUI_Delay(1); GUI_SetColor(GUI_GREEN); GUI_DispDecAt(Sec,165,55,2); GUI_SetPenSize(2); GUI_DrawLine( x0, y0, x1, y1); GUI_SetColor(GUI_LIGHTBLUE); GUI_DrawLine( x0, y0, x1, y1); GUI_SetPenSize(3); GUI_DrawLine( x0, y0, x2, y2); GUI_SetPenSize(5); GUI_DrawLine( x0, y0, x3, y3); if(j=60*12,Min=60) /时针 j=0; Min=0; +Hour; GUI_SetColor(GUI_GREEN); GUI_DispDecAt(Hour,117,55,2); 滁州职业技术学院嵌入式系统工程专业毕业论文 25 if(Hour=24) Hour=0,Min=0; GUI_SetColor(GUI_GREEN); GUI_DispDecAt(Hour,117,55,2); GUI_DispDecAt(Min,142,55,2);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论