嵌入式系统原理及应用课程设计
嵌入式课程设计

嵌入式课程设计
嵌入式课程设计是指在大学或研究生教育阶段,学生通过嵌入式系统设计的课程,进行实践性的学习和探索,提高学生的嵌入式系统设计能力以及软硬件开发和应用技能。
嵌入式课程设计包括理论学习、实验设计和开发工程三个阶段。
在理论学习阶段,学生需要学习相关的计算机科学和电子学知识,了解嵌入式系统的组成、结构和工作原理。
在实验设计阶段,学生需要设计和实现嵌入式系统的硬件和软件,并进行调试和测试。
开发工程阶段,学生需要应用所学知识,设计和开发复杂的嵌入式系统,实现实际应用场景的功能需求。
嵌入式课程设计不仅可以有效提高学生的实践能力,还可以培养学生的团队协作精神和创新思维能力。
针对不同的学科和专业,嵌入式课程设计可以涵盖多个领域,比如电子、计算机、通信、自动化等多个领域,为学生未来的职业发展提供有力的支持和保障。
《嵌入式系统应用》课程标准

《嵌入式系统应用》课程标准一、课程概要二、课程定位本课程是电子信息工程技术专业的一门核心必修课,是培养学生专业技能的重要组成部分。
在人才培养方案中,本课程支撑学生熟悉嵌入式系统开发的基本理论和工作原理,基本掌握嵌入式应用系统的设计方法,具有初步的嵌入式产品的维护、设计和开发能力,能够利用 Keil—MDK—ARM软件进行嵌入式微控制器的仿真和调试。
三、教学目标(一)知识目标1.了解嵌入式系统相关知识;2.掌握嵌入式C语言的编程特点;3.了解STM32标准外设库编程的特点;4.掌握STM32微控制器GPIO、定时器、PWM输出、中断、串口、AD转换器、DMA控制器等外设的编程方法;5.掌握STM32微控制器驱动彩色LCD显示、WIFI模块以及与物联网云平台的连通方法。
6.通过以上学习初步掌握嵌入式应用系统的设计思路和设计方法。
(二)能力目标1.能设计嵌入式应用系统控制程序;2.能进行嵌入式系统的程序调试;3.具有初步的嵌入式电子产品设计能力;4.具有较强的思考、分析和解决问题的能力;(三)素质目标1.培养学生严谨、细致、规范的职业素质;2.培养学生团队协作、表达沟通能力;3.培养学生跟踪新技术、创新设计能力;4.培养技术标准意识、操作规范意识、服务质量意识等。
四、课程设计本课程以培养目标为起点,选取“帆板角度测量与控制装置”作为整个课程的项目载体,将课程内容分解成10个能力模块,每一个模块对应一个具体的实训项目,每一个实训项目分解成若干个知识技能点,形成了以模块化实训项目为骨架、以技能知识点为内容的实践导向结构化课程内容体系。
在教学设计方面,以项目为驱动,突出实践性、知识性、职业性,体现“教、学、做合一”的设计理念。
实训项目导向的结构化课程内容设计如图1所示。
图1 实践导向的结构化课程内容设计五、教学内容安排六、教学实施(一)教学团队本课程负责人由具备较高专业技术水平、教学经验丰富、教学特色鲜明、具有副高以上专业技术职务的教师担任,并建立职称、学历、年龄等结构合理的专兼结合的“双师型”教学团队,每40人的标准班配备1名任课教师。
嵌入式linux开发课程设计

嵌入式linux开发课程设计一、课程目标知识目标:1. 理解嵌入式Linux系统的基本概念、原理和架构。
2. 掌握嵌入式Linux开发环境的搭建与使用。
3. 学习嵌入式Linux内核配置、编译与移植方法。
4. 掌握常见的嵌入式Linux设备驱动编程技术。
技能目标:1. 能够独立搭建嵌入式Linux开发环境。
2. 熟练运用Makefile、交叉编译工具链进行代码编译。
3. 能够编写简单的嵌入式Linux设备驱动程序。
4. 学会分析并解决嵌入式Linux开发过程中的常见问题。
情感态度价值观目标:1. 培养学生对嵌入式系统开发的兴趣,提高学习积极性。
2. 培养学生的团队协作意识,增强沟通与表达能力。
3. 培养学生勇于克服困难,面对挑战的精神。
分析课程性质、学生特点和教学要求:本课程为高年级专业课程,要求学生具备一定的C语言基础和计算机硬件知识。
课程性质为理论与实践相结合,注重培养学生的实际动手能力。
针对学生特点,课程目标设定了明确的知识点和技能要求,旨在使学生能够掌握嵌入式Linux开发的基本方法,为后续项目实践和职业发展奠定基础。
课程目标分解为具体学习成果:1. 学生能够阐述嵌入式Linux系统的基本概念、原理和架构。
2. 学生能够自主搭建嵌入式Linux开发环境,并进行简单的程序编译与运行。
3. 学生能够编写简单的嵌入式Linux设备驱动程序,并实现相应的功能。
4. 学生能够针对嵌入式Linux开发过程中遇到的问题,提出合理的解决方案,并进行实际操作。
二、教学内容1. 嵌入式Linux系统概述- 嵌入式系统基本概念- 嵌入式Linux的发展历程- 嵌入式Linux系统的特点与优势2. 嵌入式Linux开发环境搭建- 交叉编译工具链的安装与配置- 嵌入式Linux文件系统制作- 常用开发工具的使用(如Makefile、GDB)3. 嵌入式Linux内核与驱动- 内核配置与编译- 内核移植方法- 常见设备驱动编程(如字符设备、块设备、网络设备)4. 实践项目与案例分析- 简单嵌入式Linux程序编写与运行- 设备驱动程序编写与调试- 分析并解决实际问题(如系统性能优化、故障排查)教学内容安排与进度:1. 嵌入式Linux系统概述(2课时)2. 嵌入式Linux开发环境搭建(4课时)3. 嵌入式Linux内核与驱动(6课时)4. 实践项目与案例分析(8课时)本教学内容基于课程目标,结合教材章节内容,注重理论与实践相结合,旨在培养学生的实际动手能力和解决问题的能力。
电子信息工程专业嵌入式系统设计课程的优秀教案范本

电子信息工程专业嵌入式系统设计课程的优秀教案范本一、引言在当今数字时代,嵌入式系统设计变得越来越重要。
作为电子信息工程专业的学生,掌握嵌入式系统设计的知识和技能至关重要。
本教案旨在通过精心设计的课程内容和教学方法,帮助学生全面理解和掌握嵌入式系统设计的基本概念和实践技巧。
二、课程目标本课程的目标是让学生:1. 理解嵌入式系统设计的基本概念和原理;2. 学会使用主流的嵌入式开发平台和工具;3. 掌握嵌入式系统设计中的常用编程语言和算法;4. 能够独立设计、实现和调试简单的嵌入式系统。
三、教学内容和安排1. 嵌入式系统设计概述- 嵌入式系统的定义和特点- 嵌入式系统的应用领域和发展趋势- 嵌入式系统设计流程和方法2. 嵌入式硬件平台和工具- 常用的嵌入式硬件平台介绍(例如Arduino、Raspberry Pi等) - 嵌入式系统设计所需的硬件组件和接口- 嵌入式系统开发工具和集成开发环境(IDE)的使用3. 嵌入式软件开发基础- 嵌入式系统的基本软件架构- 常用嵌入式操作系统和实时操作系统的介绍- 嵌入式系统编程语言(例如C、C++)的基础知识4. 嵌入式系统设计实践- 基于硬件平台的嵌入式系统设计案例分析- 嵌入式系统的硬件和软件设计与调试流程演示- 学生进行小组项目实践,完成一个简单的嵌入式系统设计任务四、教学方法和教学资源1. 授课方式:- 理论授课结合实例分析,深入浅出地讲解嵌入式系统设计的基本概念和原理;- 实践操作,通过演示和示范实现嵌入式系统设计的过程,引导学生掌握实践技巧;- 小组活动和讨论,培养学生的团队合作和问题解决能力。
2. 教学资源:- 提供教材和参考书籍,包括嵌入式系统设计的基础知识和案例分析;- 提供在线学习平台,供学生自主学习和讨论;- 提供实验室设备和软件工具,支持学生进行实践操作和项目设计。
五、评估方式和考核要求1. 平时表现:学生参与课堂讨论,完成作业和实验报告。
嵌入式简单课程设计教案

嵌入式简单课程设计教案一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成和功能。
2. 学习嵌入式编程的基本语法和常用指令。
3. 了解嵌入式系统的应用领域和发展趋势。
技能目标:1. 能够使用嵌入式开发环境,进行简单的程序编写和调试。
2. 学会使用嵌入式系统的输入输出接口,实现基本的功能控制。
3. 培养学生动手操作、问题解决和团队协作的能力。
情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识。
2. 增强学生的责任心和自信心,使其在嵌入式学习过程中保持积极态度。
3. 培养学生遵守实验规程,养成良好的实验习惯,注重团队合作。
课程性质:本课程为实践性较强的学科,结合理论教学和实验操作,培养学生对嵌入式系统的认识和实际操作能力。
学生特点:六年级学生,具备一定的计算机基础,好奇心强,喜欢动手实践,但注意力集中时间较短。
教学要求:注重理论与实践相结合,以学生为主体,引导他们主动探索、实践,提高解决问题的能力。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。
二、教学内容1. 嵌入式系统基本概念:介绍嵌入式系统的定义、组成、特点和应用领域,对应教材第一章内容。
2. 嵌入式编程基础:讲解嵌入式编程的基本语法、数据类型、运算符和常用指令,对应教材第二章内容。
3. 嵌入式系统开发环境:介绍嵌入式开发环境搭建、编译器使用和程序下载,对应教材第三章内容。
4. 嵌入式系统输入输出接口:学习嵌入式系统的GPIO、中断、定时器等接口的使用,对应教材第四章内容。
5. 嵌入式系统应用实例:分析典型的嵌入式系统应用案例,如温度控制、智能家居等,对应教材第五章内容。
教学安排和进度:第一周:嵌入式系统基本概念第二周:嵌入式编程基础第三周:嵌入式系统开发环境第四周:嵌入式系统输入输出接口第五周:嵌入式系统应用实例及实验操作教学内容注重科学性和系统性,结合教材章节安排,确保学生能够逐步掌握嵌入式系统的相关知识。
基于嵌入式的课程设计

基于嵌入式的课程设计一、课程目标知识目标:1. 学生能理解嵌入式的概念及其在现实生活中的应用。
2. 学生能掌握嵌入式系统的基本组成部分及工作原理。
3. 学生能了解嵌入式编程的基本方法和技巧。
技能目标:1. 学生能运用所学知识,设计简单的嵌入式系统电路。
2. 学生能编写简单的嵌入式程序,实现特定功能。
3. 学生能通过实际操作,培养动手能力和团队协作能力。
情感态度价值观目标:1. 学生对嵌入式技术产生浓厚的兴趣,提高学习的积极性和主动性。
2. 学生在课程学习中,培养良好的学习习惯和探究精神。
3. 学生通过嵌入式课程的学习,认识到科技对社会发展的推动作用,增强社会责任感和创新意识。
课程性质:本课程为实践性较强的学科,旨在让学生在实际操作中掌握嵌入式技术的基本知识和技能。
学生特点:六年级学生具备一定的逻辑思维能力和动手操作能力,对新鲜事物充满好奇心。
教学要求:结合学生特点,采用项目驱动的教学方法,引导学生主动探究,注重培养学生的实践能力和团队协作精神。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程和应用领域,结合课本第一章内容,让学生对嵌入式系统有一个全面的认识。
2. 嵌入式系统硬件:讲解嵌入式系统的基本硬件组成,如微控制器、传感器、执行器等,结合课本第二章,分析各部分功能及相互关系。
3. 嵌入式系统软件:介绍嵌入式编程的基本知识,如C语言编程、汇编语言编程等,依据课本第三章,让学生掌握嵌入式程序设计的方法。
4. 嵌入式系统设计与实践:结合项目案例,引导学生进行嵌入式系统电路设计、编程和调试,参考课本第四章,培养学生动手能力和实际问题解决能力。
5. 嵌入式系统应用:分析嵌入式系统在实际应用中的案例,如智能家居、物联网等,结合课本第五章,让学生了解嵌入式技术的广泛应用。
教学安排和进度:第一周:嵌入式系统概述第二周:嵌入式系统硬件第三周:嵌入式系统软件第四周:嵌入式系统设计与实践第五周:嵌入式系统应用教学内容与课本紧密关联,确保科学性和系统性。
《嵌入式系统及应用》课程介绍

《嵌入式系统及应用》课程介绍一、课程简介1.1 课程背景随着科技的不断发展,嵌入式系统越来越广泛地应用在各个领域,如智能家居、汽车电子、医疗设备等。
对嵌入式系统的理解和掌握成为了现代工程技术人才必备的核心能力。
1.2 课程目标本课程旨在帮助学生全面了解嵌入式系统的基本原理和应用,掌握嵌入式系统的设计与开发技术,为日后从事相关工作打下坚实的基础。
二、课程内容2.1 嵌入式系统概述介绍嵌入式系统的定义、特点、分类和应用领域,培养学生对嵌入式系统的整体认识。
2.2 嵌入式系统硬件设计涵盖嵌入式系统的硬件基础知识、电路设计、单片机系统设计等内容,让学生掌握嵌入式系统硬件设计的基本原理和技术。
2.3 嵌入式系统软件设计包括嵌入式系统的嵌入式操作系统、驱动程序设计、实时操作系统等内容,使学生了解嵌入式系统软件设计的关键技术和方法。
2.4 嵌入式系统应用案例分析通过案例分析,引导学生应用所学知识解决实际问题,提高学生的实际应用能力。
三、课程特色3.1 结合理论与实践本课程注重理论与实践相结合,通过理论讲解和实际操作相结合的教学方式,使学生既能够理解嵌入式系统的基本原理,又能够熟练掌握操作技能。
3.2 强调创新能力培养本课程旨在培养学生的创新思维和解决问题的能力,通过课程设计和项目实践,激发学生的创新潜能。
3.3 实用性强本课程内容贴近实际工程应用,注重培养学生的实际操作能力和解决问题的能力,使学生能够在工程实践中运用所学知识。
四、教学方式4.1 理论授课以讲授和课堂讨论的方式,阐述嵌入式系统的基本理论和概念。
4.2 实验操作通过实验操作,让学生亲自动手进行嵌入式系统的设计和开发,提高实际操作能力。
4.3 项目实践结合实际项目,让学生团队合作,应用所学知识解决实际问题,锻炼学生的工程实践能力。
五、教学评估通过课堂作业、实验报告、小组项目和期末考试等方式,对学生的知识掌握情况和能力水平进行全面评估。
六、实习实训6.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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统原理及应用课程设计报告题目:电子时钟的设计与实现班级:文专电0931*****学号:************试验台号:10指导老师:***程序成绩:报告成绩:总成绩:优良中及格不及格2012年2月25日一.课程设计目的通过该课程设计将嵌入式系统原理及应用课程中所学的处理器和接口等技术应用于实际设计中。
通过中断、PWM定时器、串口、SIO、GPIO等技术在实验平台上进行综合设计,在理论和实验的基础上进一步提高综合设计能力。
二. 课程设计内容及功能要求1. 通过一个PWM定时计数器,采用定时中断的功能,设计能够在LED上进行时分秒显示的时钟;2. 通过键盘实现对钟的功能;3. 实现闹钟的功能,闹钟的时间由键盘输入进行设定;4. 将时钟在超级终端上显示;时间的设定可以通过超级终端实现;三.功能实现1.总体功能框图2.详细设计:(将所设计的各部分的功能程序框图及相关程序代码进行详细的描述)①.#include"uhal.h"#include"myuart.h"#include"KeyBoard.h"#include"Timer.h"#include"Isr.h"#include"44b.h"#include "Zlg7289.h"#include "def.h"#include "lcd320.h"int Timer3INTCount=0;int hour = 0 ;int minute = 0 ;#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihostingint main(void){int clock_h = 23 ;int clock_m = 59 ;int clock_s = 0 ;int key ;int val=0;ARMTargetInit(); //开发版初始化Zlg7289_Reset();Init_Timer3(100,16,40000,20000);INTS_OFF();//Disable interrupt in PSRSetISR_Interrupt(INT_TIMER3_OFFSET, Timer3_ISR,0);Open_INT_GLOBAL();Open_INT(BIT_TIMER3);INTS_ON();//Enable interrupt in PSRStart_Timer3();Uart_Printf("\n");//lcd屏*************lcd屏*****************lcd屏**********LCD_Init();LCD_ChangeMode(DspTxtMode);//转换LCD显示模式为文本显示模式//lcd屏*************lcd屏*****************lcd屏**********while(1){//****************对钟************************//while(!(rPDATG&ZLG7289_KEY)) //有按键按下时进入while死循环,松开时跳出{key=Zlg7289_ReadKey(); //按键值赋给key 。
// Stop_Timer3() ; //防止中断影响键盘扫描,关掉中断。
Delay(100); //延时防止时序错误。
if( key == 18 | key == 10 | key == 2 ) //对钟键按下是。
{if( key == 18) //秒设置,键盘3按下时扫描值为18{Delay(1000);Delay(1000);Delay(1000); //延时让数码管频率显示可见。
Delay(1000);Delay(1000);Delay(1000);Timer3INTCount = Timer3INTCount + 1 ;if(Timer3INTCount>59)Timer3INTCount = 0 ;}if( key == 10 ) //秒设置,键盘2按下时扫描值为10{Delay(1000);Delay(1000);Delay(1000); //延时让数码管频率显示可见。
Delay(1000);Delay(1000);Delay(1000);minute = minute + 1 ; //分钟加一if(minute > 59 ) //分钟大于59时清零minute = 0 ;// Timer3INTCount = 0 ; //秒清零}if( key ==2 ) //原理同分钟{Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);hour = hour + 1 ;if(hour > 23 )hour = 0 ;// Timer3INTCount = 0 ;}Delay(1000);LED_Display(Timer3INTCount , minute , hour); //在数码管显示时分秒Uart_Printf("%d:%d:%d\n",hour,minute,Timer3INTCount); //在超级终端显示时分秒}//闹钟设置*************闹钟设置****************闹钟设置*************** else if( key ==1 key == 9| key == 17 ) //原理参照对钟设置{if( key == 1){Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);clock_h = clock_h + 1 ;if( clock_h > 23 )clock_h = 0 ;}if( key ==9 ){Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);clock_m = clock_m + 1 ;if( clock_m > 59 )clock_m = 0 ;}if( key == 17 ){Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);Delay(1000);}Delay(1000);LED_Display(clock_s , clock_m , clock_h);Uart_Printf("%d:%d:%d\n",hour,minute,Timer3INTCount);}else ;//闹钟设置*************闹钟设置****************闹钟设置***************// Start_Timer3();}//闹钟判断*************闹钟判断****************闹钟判断***************while( hour == clock_h & minute == clock_m &key != 1 & key != 9 & key != 17 &key != 2 & key != 10 & key != 18 ) // 闹钟时间到且闹钟启动时,进入下面的闹钟显示{// Uart_Printf(" time is over ! geting up now \n ");LCD_printf(" time is over ! geting up now \n ");Delay(1000);LED_Display(clock_s , clock_m , clock_h);}//闹钟判断*************闹钟判断****************闹钟判断***************Uart_Printf("%d:%d:%d\n",hour,minute,Timer3INTCount);Delay(1000);LED_Display(Timer3INTCount , minute , hour);// Uart_Printf("\r%d ",rTCNTO3);Delay(1000); Delay(1000); Delay(1000);Delay(1000); Delay(1000); Delay(1000);}}②.#include "Timer.h"#include "44b.h"#include "def.h"#include "ZLG7289.h"extern Timer3INTCount , hour , minute ;void Init_Timer3(U8 prescaler1,U8 divider3,U16 countb3,U16 compb3) { U8 div;switch(divider3){case 2: div=0x00;break;case 4: div=0x01;break;case 8: div=0x02;break;case 16: div=0x03;break;default: div=0x00;}//prescaler1 is for timer2&3//Fre(Timer)=MCLK/(prescaler+1)/dividerrTCFG0&=~(0xff<<8);rTCFG0|=(prescaler1<<8);//All interrupt,select MUX input for TimerNrTCFG1&=~(0x0f<<24|0x0f<<12);rTCFG1|=(div<<12);rTCMPB3=compb3;rTCNTB3=countb3;rTCON|=(0x01<<19);//Auto reload}void Start_Timer3(void){ rTCON|=(0x01<<17);//Manual UpdaterTCON&=~(0x01<<18);//Inverter offrTCON|=(0x01<<16);//Start Timer3rTCON&=~(0x01<<17);//Must clear Manual update bit}void Stop_Timer3(void){rTCON&=~(0x01<<16);//Stop Timer3void Timer3_ISR(void){Timer3INTCount++;if(Timer3INTCount>59) //秒累加到59时清零{Timer3INTCount=0;minute = minute + 1 ;}if(minute > 59) //分钟累加到59时清零{minute = 0 ;hour = hour + 1 ;}if(hour>23) //小时累加到23时清零{hour=0 ;}// LED_Display(Timer3INTCount , minute , hour); // Uart_Printf("\r%d ",Timer3INTCount);}③.#include "44b.h"#include"uhal.h"#include "zlg7289.h"#include "def.h"int Zlg7289SIOBand;int Zlg7289SIOCtrl;void Zlg7289_Reset(){ZLG7289_ENABLE();WriteSDIO(ZLG7289_CMD_RST);ZLG7289_DISABLE();Delay(20);}unsigned int Zlg7289_ReadKey(){unsigned int key;ZLG7289_ENABLE();WriteSDIO(ZLG7289_CMD_RDKEY);key=ReadSDIO();ZLG7289_DISABLE();return key;}void LED_Display(unsigned int value , unsigned int m , unsigned int h) { unsigned char LED[8];int i ;if(value>9999)return;//无用////////////////秒显示*****************************for(i=0;i<2;i++){LED[i]=value%10; // 分离秒个位value=value/10; // 分离秒十位if(value==0)break;}ZLG7289_ENABLE();Delay(5);WriteSDIO(ZLG7289_CMD_HIDE);WriteSDIO(~(0xff<<(i+1)));Delay(1);for(;i>=0;i--) //八位循环显示{WriteSDIO(ZLG7289_CMD_DATA0|i);WriteSDIO(LED[i]);Delay(1);}////////////////秒显示*****************************// 分钟显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafor(i=3;i<5;i++){LED[i]=m%10; // 分离分钟个位m=m/10; // 分离分钟十位if(m==0)break;}ZLG7289_ENABLE();Delay(5);WriteSDIO(ZLG7289_CMD_HIDE);WriteSDIO(~(0xff<<(i+1)));Delay(1);for(;i>=0;i--) //八位循环显示{LED[2] = 10 ;LED[5] = 10 ;WriteSDIO(ZLG7289_CMD_DATA0|i);WriteSDIO(LED[i]);Delay(1);}// 分钟显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa// 小时显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa LED[7] = 0 ;for(i=6;i<8;i++){LED[i]=h%10; // 分离小时个位h=h/10; // 分离小时十位if(h==0){i=7 ;break;}}ZLG7289_ENABLE();Delay(5);WriteSDIO(ZLG7289_CMD_HIDE);WriteSDIO(~(0xff<<(i+1)));Delay(1);for(;i>=0;i--) //八位循环显示{LED[2] = 10 ; //时钟横杠显示LED[5] = 10 ; //时钟横杠显示WriteSDIO(ZLG7289_CMD_DATA0|i);WriteSDIO(LED[i]);Delay(1);}// 小时显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLG7289_DISABLE();}四.总结(1)任务要求:①把时钟设置中调整原小时1键改成0键,把原调整分钟2键改成.键,把原调整秒3键改成ENTER键②把闹钟设置中调整原小时4键改成num键,把原调整5键改成/键,把原显示闹钟6键改成*键(2)调整后的程序为//****************对钟************************//while(!(rPDATG&ZLG7289_KEY)) //有按键按下时进入while死循环,松开时跳出{key=Zlg7289_ReadKey(); //按键值赋给key 。