版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要沈阳工程学院课程设计报告摘要以应用为中心、以计算机为基础的嵌入式技术,是当今发展最快、应用最广、最有发展前景的主要技术之一。嵌入式技术已经被广泛应用于工业控制、移动通信、信息家电、医疗仪器、汽车电子、航空航天等各个领域。在各种嵌入式处理器中,ARM以体积小、低功耗、低成本、高性能等优点,获得许多半导体厂商的支持,在嵌入式应用领域取得巨大的成功。软件方面,LCD液晶显示屏是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统,因而被使用频繁。本文主要研究了日历电子钟的设计。采用LPC2103,六个键分别用来调节时间和日期。用LPC2103显示,整个设计元器件少,简介美观,并且具有模
2、块化。关键词嵌入式系统、日历电子钟、LPC2103目录沈阳工程学院课程设计报告目录摘要1.目录2.第一章绪论3.1.1 设计题目3.1.2 设计目的3.1.3 设计器材3.1.4 任务分析3.第二章设计原理4.2.1 设计原理简述4.2.2 嵌入式操作系统的概述42.2.1 嵌入式操作系统的特性42.2.2 嵌入式操作系统的分类42.2.3 嵌入式操作系统的特点5第三章系统设计6.3.1 系统需求分析6.3.1.1 课程设计内容.6.3.1.2 课程设计要求.6.3.2 硬件设计6.3.2.1 ARM处理器6.3.2.2 ARM硬件结构7.3.3 软件设计103.3.1 启动Keil1.1第四
3、章系统代码1.4第五章系统调试215.1 硬件检测215.2 功能调试21结论I主要参考资料(文献)I绪论沈阳工程学院课程设计报告第一章绪论1.1 设计题目日历电子钟设计。1.2 设计目的1、本次课程设计的主要目的是实现日历,电子钟的显示以及调整,充分调动学生的积极性和创造性,重视学生实际动手能力的培养;2、了解并掌握掌握相关专业课程知识和设计能力;3、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技术;4、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;5、加深对专业课的理解,强化学生的逻辑思维能力和动手能力,巩固良好的编程习惯,掌握工程软件设计的基本方法,为
4、将来工作的学习打下坚实基础。1.3 设计器材本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:硬件要求:LPC教学开发板一块。软件配置:windowsXP。1.4 任务分析由于网络与通信技术的发展,嵌入式系统在经历了近20年的发展历程后,又进入了一个新的历史发展阶段,即从普通的低端应用进入到一个高,低端并行发展,并且不断提升低端应用技术水平的时代,具标志是近年来32位MCU的发展。时钟的特性:带日历和时钟功能;提供秒,分,小时,月,年和星期;可调节数字。通过LPC开发板来显示并调节日历和时间数值。设计原理沈阳工程学院课程设计报告第二章设计原理2.1 设计原理简述实时时钟提供一套计数器,
5、在系统工作时对时间进行测量。RTC消耗的功率非常低,这使其合适于由电池供电的,CPU不连续工作的系统。在设计过程中,需要有定时报警功能。当RTC的当前时间与报警时间相匹配时,就会引发中断。关于闰年的计算,RTC执行一个简单的位比较,观察年计数器的最低2位是否为00如果为0,那么RTC认为这一年为闰年。RTC认为所有能被4整除的年份都为闰年。闰年对RTC的影响只是改变2月份的长度,日期和年的计数值。2.2 嵌入式操作系统的概述嵌入式系统是集成电路发展过程中的一个标志性成果,它把计算机直接嵌入到应用系统中,融合了计算机软/硬件技术、通信技术和微电子技术,是一种微电子产业和信息技术产业的最终产品。微
6、电子产业是许多国家优先发展的产业。以超深亚微米工艺和IP核复用技术为支撑的系统芯片技术是国际超大规模集成电路发展的趋势和21世纪集成技术的主流。2.2.1 嵌入式操作系统的特性随着计算机技术和产品向其它行业的广泛渗透,由于嵌入式系统具有小巧、高度自动化、响应速度快的特点,因而非常适应信息家电和现代控制设备的需要嵌入式技术成为了一个研究热点。嵌入式系统,是将计算机直接嵌入至系统中,是信息IT的最终产品。它根据应用的要求,将操作系统和功能软件集成于计算机硬件系统中,实现软件与硬件一体化。2.2.2 嵌入式操作系统的分类嵌入式操作系统是随着嵌入式系统的发展出现的。从应用范围角度大致可以设计原理沈阳工
7、程学院课程设计报告分为可分为专用型(如Ucos、WindowsCE、VxWorks嵌入式Linux等)和通用型(如PalmOSSymbian)的嵌入式操作系统等。从实时性的角度大致可以分为实时嵌入式操作系统和一般嵌入式操作系统。2.2.3 嵌入式操作系统的特点嵌入式操作系统是对通用操作系统的继承和发展,具有操作系统的基本功能,包括指令执行、任务调度、存储器管理、设备管理和中断处理等。但是,由于嵌入式系统的硬件环境和程序运行需求有很大限制,所以嵌入式操作系统又有如下并不同于一般操作系统的特点。(1)资源限制。嵌入式操作系统一般只有64MB内存,而且非易失性FLASH通常也就32MB,因此,操作系
8、统运行时,就不能像在PC上那样使用资源了。(2)安全性限制。在嵌入式领域,系统在运行之后一般都不能在短时期内停机或者重启,因此死机、蓝屏是绝对不允许的。(3)可移植性。在设计过程中常采用通用的程序设计语言和运行支撑环境,尽量不用与系统的底层相关性强的语言。系统设计沈阳工程学院课程设计报告第三章系统设计3.1 系统需求分析3.1.1 课程设计内容采用LPC嵌入式开发板,控制其上的LCD液晶屏显示日历和日期,并可以对其修改。3.1.2 课程设计要求(1)熟悉LPC开发板平台。(2)熟悉LCD液晶屏的工作原理。(3)熟悉RTC原理。(4)时间可调,走时准确,有报时功能3.2 硬件设计3.2.1 AR
9、M处理器ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。(1) ARM处理器系列ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列Intel的XscaleIntel的StrongARMARM11系列,其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。(2) ARM处理器特点1、体积小、低功耗、低成本、高
10、性能;2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;系统设计沈阳工程学院课程设计报告3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定。(3)指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%40%以上的存储空间,同时具备32位代码的所有优点。3.2.2 ARM硬件结构飞利浦半导体推出了一系列非常方便使
11、用ARM核心的嵌入式芯片。飞利浦半导体部门现在已经成为一家独立的公司,采用了新的名称NXP。智林测控的Z2101/03开发板分别使用NXP的ARM嵌入式处理器LPC2101/03两种芯片。LPC2101/2102/2103基于一个支持实时仿真的ARM7TDMI-SCPU,并带有8kB和32kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。这可以使得中断服务程序和DSP算法中重要功能的性能较Thumb模式提高30%。对代码规模有严格控制的应用可使用16位Thumb模式将代码规,K降低超过30%,而性能的损失却很小。由于LPC2101/2
12、102/2103非常小的尺寸和极低的功耗,它们非常适合于那些将小型化作为主要要求的应用,多个UART、SPI至ijSSP和2个I2C总线组成的混合串行通信接口和片内2kB/4kB/8kB的SRAM一起作用,可使得LPC2101/2102/2103非常适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。而多个32位和16位的定时器、一个经改良后的10位ADC、PWM特性(通过所有定时器上的一个输出匹配来实现)和32个快速GPIO(含有多达9个边沿或电平有效的外部中断管脚)使它们特别适用于工业控制和医疗系统。开发板实物图如下所示:系统设计沈阳工程学院课程设计报告图3
13、.1开发板实物图ARM的主要特性如下:(1) 16/32位ARM7TDMI-S处理器,极小型LQFP48封装(2) 2kB/4kB/8kB的片内静态RAM,8kB/16kB/32kB的片内Flash程序存储器,128位宽的接口/加速器使其实现了70MHz的高速操作。(3)通过片内Boot-loader软件实现在系统/在应用编程(ISP/IAP)。Flash编程时间:1ms,可编程256字节,单个Flash扇区擦除或整片擦除只需400mso(4)EmbeddedICERT通过片内RealMonitor软件来提供实时调试。(5) 10位的A/D转换器含有8个模拟输入,每个通道的转换时间低至2.44
14、s,专用的结果寄存器使中断开销降到最低。(6) 2个32位的定时器/外部事件计数器,具有7路捕获和7路比较通道。(7) 2个16位的定时器/外部事件计数器,具有3路捕获和7路比较通道。(8)低功耗实时时钟(RTC),有独立的供电电源和专门的32kHz时钟输入。(9)多个串行接口,包括2个UART(16C550),2个快速I2C总线(400kbits/s)以及带缓冲和可变数据长度功能的SPI和SSP(10)向量中断控制器,可配置优先级和向量地址。(11)多达32个可承受5V的通用I/O口。(12)高达13个边沿或电平有效的外部中断管脚。(13)通过可编程的片内PLL(可能的输入频率范围:10MH
15、z25MHz)可实现最大为70MHz的CPU时钟频率,设置时间为100us。(14)片内集成的振荡器,工作在1MHz25MHz的外部晶体下。(15)节电模式包括空闲模式、RTC有效的睡眠模式和掉电模式。系统设计沈阳工程学院课程设计报告(16) CPU运行电源电压范围:3.0V至U3.6V(3.3V1世),I/O口可承受5V电压;(17)通过外设功能的单独使能/禁止和调节外设时钟来实现功耗的最优化。(18)通过外部中断或RTC将处理器从掉电模式中唤醒。ARM结构框图如下所示:ARM管脚排列如下图所示:T锚也KEStT-KST卜也N障旧NWHNTO匕WIK'llim/ADl'tfC
16、APi】EHJ.<LNEid¥M£Mu卜由I*LnSIMtil色鼾为fl灯NRT眈1vssFIJIvdi砌PlII即嚣,WigMIKADOSMmajOrtATOI.M5Mmin珪源5国Lt温前方MAT02MJ&ADOKAMOTO4H.liRSdE,uniId闻队X0I甲琳葡廿EFP品-L9MTV=孑E-ixridRv工2MHrrsrcAPLisciiV5S脚I<DCD1花IMIW川nuNlMDIftmTlMADIIPOIIWI'MATI&'WIJ土CtrSTAlXTALi系统设计沈阳工程学院课程设计报告图3.3ARM管脚排列3.3
17、 软件设计很多人都很很熟悉Keil的C51开发环境,当看到KeilforARM的开发环境时,你会发现一切是那么熟悉,我们几乎不用关心汇编语言,可以直接进入C语言编程。我们所要学习和了解的主要内容是熟悉片上设备的用法。KeiluVision调试器可以帮助用户准确地调试ARM器件的片内外围功能(I2C、CAN、UART、SPI、中断、I/O口、A/D转换器、D/A转换器和PWM模块等功能)。ULINKUSB-JTAG转换器将PC机的USB端口与用户的目标硬件相连(通过JTAG或OCD),使用户可在目标硬件上调试代码。通过使用KeiluVisionIDE/调试器和ULINKUSB-JTAG转换器,用
18、户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。支持Philips、SamsungAtmel、AnalogDevices、SharpsST等众多厂商ARM7内核的ARM微控制器。KeilforARM的开发环境运行界面如下图所示:10图3.4KeilforARM用户界面系统设计沈阳工程学院课程设计报告3.3.1 启动Keil进入Keil开发环境,Keil会自动加载上次开发的项目。现在我们可以在Keil环境中使用ARM的编译器了,所以在建来新项目前,我们要注意一下当前编译器是什么,点击Project项的弹出窗口点击“Folders/ExtensionS',勾选UseRealVi
19、ewCompiler,我们使用ARM公司的最新发行的编译器RealVfiew。点击主菜单的Projcet项的NewProject。弹出文件对话窗如下所示:11系统设计沈阳工程学院课程设计报告图3.5弹出会话窗选择新项目的文件夹,输入新项目名称,点击保存。出现设备选择窗口,找到NXP(foundedbyPhilips)分类,点击前面的加号“+”展开,选择我们开发板对应的CPU型号,例如LPC2103,如下图所示:图3.6设备选择窗口YrtiUhr;KXPbyFhllluuDevice;LPC2U9Toolsetjlfil口LPC21总ALTC2154O1.PC21MLFCEJ3eLPCE141L
20、PC2J42口LPC2144口LPC2Ue口LPC214SLPCZIM1.PC221OLPC22121PT22H口1PT7FTT1选择后设备如下图所示:5IbUll7TalI-6be±edhlth-perfinance33-bitKISC时tmll如绯omchlpFlashRO*TlthTnrQntaiPr4crantns(I部)anIyolObltwith14channels,USB&0Full加世cdDevicIfoI!AKIs*one*ithlullnt>deninterfice.TvoI2CscrlilinttrfaicipTwoJP!serialImerfAi
21、esIre32-blfttiters,(htch时,TlierPTlunit,ItilTl*tC!*ik*lth力pH,修*】biti#yy傥修5,trownoutdetectcircuitCrneralparposrZ/0pins.CPUclockupto60KEk,OnnchlpcrysttloscillatorandCn-c.定J.滑楷助|图3.7设备选择12系统设计沈阳工程学院课程设计报告点击“确定”按钮,弹出对话框,这是在询问是否需要把启动代码拷贝到目标文件夹并添加到项目中,我们选择“是",这时候,开发环境已经为我们建立了一个只包含启动代码的空项目,对话框如下图所示:图3.
22、8弹出对话框我们看到这个项目目前只包含一个汇编文件Startup.s是启动代码,除非非常必要,否则我们不必修改这个文件,我们只要写C语言就可以了,这是Keil环境做的方便之处。13系统代码沈阳工程学院课程设计报告第四章系统代码1.RTC.C程序:#include<LPC2103.H>#include"TFT018.h"#include<stdio.h>#defineBP2(1<<14)#defineBUZZER(1<<7)#defineBP9(1<<2)#defineLED(1<<3)unsignedi
23、ntdata,data2;/引入相关芯片的头文件/发光管接在P0.3引脚#defineLED(1<<3)#defineFPCLK60000000/*|TYPEDEFINE*/*typedefcharS8;typedefunsignedcharU8;typedefshortS16;typedefunsignedshortU16;typedefintS32;typedefunsignedintU32;typedeflonglongS64;typedefunsignedlonglongU64;typedefunsignedcharBIT;typedefunsignedintBOOL;ch
24、ars20;charz20;/intq=0;/intp=1;inti=0;判断响的次数intFLAG=-1;enumweekdaysun,mon,tue,wed,thu,fri,sat;enumweekdayweek=mon;/*|nubertostring*/*|RealtimeInitial*/*/voidRTCInit(void)14沈阳工程学院课程设计报告系统代码/*PCONP|=0x00000200;/RTC使能,默认为1使能,对其供电CCR=0x00000002;/CCR时钟控制寄存器CIIR=0x00000000;/ciir计数器增量中断使能寄存器AMR=0x000000FC;/
25、AMR报警屏蔽寄存器ILR=0x00000003;/ILR中断位置寄存器/PREINT=FPCLK/32768-1;/PREFRAC=FPCLK-(FPCLK/32768)*32768;CCR=0x00000011;)*|Setcurrenttime*/voidSetNow(void)CCR=0x00000002;/开始设置计数器禁止进行初始化YEAR=2014;MONTH=1;DOMHOURMINSECCCR)=10;=0;=0;=0;=0x00000011;/完成设置启动/*voidDecStr(char*s,intd)signedchart20,i=0,l=0;if(d=0)s0=
26、9;0"s1=0;return;)while(d>0)ti+=d%10;d/=10;)si-=0;for(;i>=0;i-)si=tl+'0')*/*|Delayns*/voidDelayNS(U32dly)U32i;for(;dly>0;dly-)15系统代码沈阳工程学院课程设计报告for(i=0;i<5000;i+);)/*|ADCInitial|*/voidADCInit(void)PINSEL1|=3<<14;/P0.2选接到AD0.0)voiddly()intj,i;for(i=0;i<=65531;i+)for(j
27、=0;j<=20;j+);)/*voidTime1_init(void)T1TC=0;/定时器1的初值设置为0T1PR=99;设置定时器分频为100分频,得600000HzT1MCR=0x649;/设置T1MR0、T1MR1、T1MR2、T1MR3匹酉己后继续计数,并产生中断标志T1MR0=600000设置0.5s匹配值/T1MR1=600000;/设置1.04配值/T1MR2=600000*1.5;/设置1.5sE配值/T1MR3=600000*2.5;/设置2.5sE配值T1TCR=0x01;启动计数*/voidDELAY(longn)/延时程序longi;for(;n>0;n
28、-)for(i=0;i<50000;i+);/*voidset()if(IOPIN&BP2)!=BP2)判断开关是否按下;开关未按下时P0.14弓唧为高电while(p)if(q=1)sprintf(s,"%4u",YEAR);LCD_PutString(30,50,s,Green,Blue);YEAR-;DELAY(200);p=0;/*Time0_init(20,1000);16系统代码沈阳工程学院课程设计报告IOCLR=LED;DELAY(200);Time0_init(6000,12000);IOCLR=LED;DELAY(200);IOSET=LED
29、;PINSEL0=(PINSEL0&0xFFFF3FFF);*/voidRTC_ISR(void)_irq在ADS开发环境中,中断服务程序要这样定义void_irqEINT1_ISR(void)注意irq前面是两个下划线/FLAG=-FLAG;修改标志变量ILR=0x02;清除中断标志VICVectAddr=0;/向量中断地址清0,中断结束2.报警设置:voidSetAlarm(void)/CCR=0x00000002;/时间计数器被禁止,此时准备进行初始化ALYEAR=2014;ALMON=1;ALDOM=6;ALHOUR=22;ALMIN=0;ALSEC=0;CCR=0x00000
30、001;/RTC使能,对晶体振荡器的信号开始计数voidRTC_Init(void)/PCONP|=0x00000200;/RTC使能,默认为1使能,对其供电CCR=0x00000010;/时间计数器被禁止,此时准备进行初始化CIIR=0x00000000;/设置计数器增量中断,0为禁止增量中断AMR=0x000000FC;/分钟、秒值与报警寄存器比较ILR=0x00000002;/消除中断标志。此句必须写,防止以前的中断标志导致初始化后立即发生中断。PREINT=FPCLK/32768-1;PREFRAC=FPCLK-(FPCLK/32768)*32768;VICIntSelect=VICI
31、ntSelect&(-(1<<13);/*RTC中断使用IRQ向量中断;此语句可省略,因为VICIntSelect默认为0,即所有中断源都是IRQ中断*/VICVectCntl0=0x20|13;/设置为IRQ通道1VICVectAddr0=(unsignedlong)RTC_ISR;/irq执行服务程序地址VICIntEnable=1<<13;中断使能氐行RTC_ISRCCR=0x00000001;/RTC使能,对FPCLK或晶体振荡器的信号开始17系统代码沈阳工程学院课程设计报告计数)3.主函数:intmain(void)/charz20;unsignedi
32、ntADC_Data;/记录AD转换的参数/IODIR=LED;/设用LED控制口为输出/IOCLR=LED;intt;/BacklightOn();背光onLCD_Init();/屏幕显示位置LCD_Clear_Screen(Blue);SetNow();ADCInit();/ad入口RTC_Init();/SetNow();SetAlarm();/*进行ADC模块设置*/ADCR=(1<<1)|/SEL=8,选择通道1(60000000/1000000-1)<<8)|/CLKDIV=Fpclk/1000000-1,转换时钟为1MHz(0<<16)|/BU
33、RST=0,软件控制转换操作(0<<17)|/CLKS=0,使用11clock转换(1<<21)|/PDN=1,正常工作模式(0<<22)|/TEST1:0=00,正常工作模式(1<<24)|/START=1,直接启动ADC转换(0<<27);/直接启动ADC转换时,此位无效DelayNS(10);ADC_Data=ADGDR;/读取ADC结果,并清除DONE标志位/改过PINSEL0=(PINSEL0&0xFFFF3FFF)(2<<14);/Font=0;/LCD_PutString(15,0,"LPC
34、2101-03开发板”,Cyan,Blue);/LCD_PutString(50,16,"RTC实验”,Red,Yellow);/Font=1;0/LCD_PutString(38,32,"Version2.0",Green,Blue);/LCD_PutString(10,94,"智林测控技术研究所”,Yellow,Blue);/LCD_PutString(36,111,"",Magenta,Blue);for(;)ADCR|=1<<24;/进行第一次转换18系统代码沈阳工程学院课程设计报告while(ADGDR&
35、0x80000000)=0);/等待转换结束ADCR|=1<<24;/再次启动转换while(ADGDR&0x80000000)=0);/等待转换结束ADC_Data=ADGDR;/读取ADC结果ADC_Data=(ADC_Data>>6)&0x3ff;ADC_Data=ADC_Data*3300;/参考电压3.3vADC_Data=ADC_Data/1024;4 .清屏设置:if(IOPIN&BP9)=BP9)sprintf(s,"%4u",YEAR);LCD_PutString(30,50,s,Green,Blue);YE
36、AR-;DELAY(50);)elseif(FLAG=1)for(t=0;t<3;t+)LCD_Clear_Screen(Red);DELAY(20);LCD_Clear_Screen(Green);DELAY(20);LCD_Clear_Screen(Blue);)一一FLAG=-FLAG;)5 .年月日进行设置:if(ADC_Data/100)=0)sprintf(s,"%4u",YEAR);LCD_PutString(30,50,s,Green,Blue);YEAR+;DELAY(50);/控件没有展开左边除掉右边按纽区域的矩形)elseif(ADC_Data/
37、100)=6)sprintf(s,"%2u",MONTH);LCD_PutString(70,50,s,Green,Blue);if(MONTH<12)MONTH+;elseMONTH=0;DELAY(50);elseif(ADC_Data/100)=10)sprintf(s,"%2u",DOM);/LCD_PutString(95,50,s,Green,Blue);switch(MONTH)19系统代码沈阳工程学院课程设计报告case2if(YEAR%4=0&&YEAR%100!=0)|(YEAR%400=0)if(DOM>
38、28)DOM=0;eIseif(DOM>27)DOM=0;break;case4:if(DOM>29)DOM=0;break;case6:if(DOM>29)DOM=0;break;case9:if(DOM>29)DOM=0;break;case11:if(DOM>29)DOM=0;break;week+;DOM+;DELAY(50);6 .时分秒进行设置:elseif(ADC_Data/100)=16)sprintf(s,"%2u",HOUR);LCD_PutString(40,70,s,Green,Blue);if(HOUR<23)H
39、OUR+;elseHOUR=0;DELAY(50);elseif(ADC_Data/100)=19)sprintf(s,"%2u",MIN);LCD_PutString(65,70,s,Green,Blue);if(MIN<59)MIN+;elseMIN=0;DELAY(40);elseif(ADC_Data/100)=24)sprintf(s,"%2u",SEC);LCD_PutString(90,70,s,Green,Blue);SEC=0;DELAY(50);elsesprintf(s,"%4u:%2u:%2u”,YEAR,MONT
40、H,DOM);LCD_PutString(-50,50,s,0xF800,0xFFE0);sprintf(s,"%2u:%2u:%2u”,HOUR,MIN,SEC);LCD_PutString(40,70,s,0xF800,0xFFE0);sprintf(s,"todayisxingqi%2u",week=(week%7);/LCD_PutString(62-(SEC+2),94,s,Yellow,Blue);/LCD_PutString(0-(SEC+2),94,"",Blue,Blue);LCD_PutString(1+SEC,111,&q
41、uot;madebysunlijia",Magenta,Blue);LCD_PutString(0+SEC,111,".",Blue,Blue);Font=0;7 .闰年的设置:if(YEAR%4=0&&YEAR%100!=0)|(YEAR%400=0)LCD_PutString(30,16,"ALeapyear",Red,Yellow);if(MONTH=2)Font=0;LCD_PutString(30,30,"ALeapmoon",Red,Yellow);/runyueelseLCD_PutString
42、(30,30,"ALeapmoon",Blue,Blue);/qudiaoelseLCD_PutString(30,16,"ALeapyear”,Blue,Blue);LCD_PutString(30,30,"ALeapmoon",Blue,Blue);20系统调试沈阳工程学院课程设计报告第五章系统调试5.1 硬件检测将所需要的各项器件进行装配,装配完毕后调试。5.2 功能调试将写好的程序烧进板子上,灯亮,开始调试由于没能及时对结果取图作证,因此这里用示例图代替说明。如5-1所示己口日S3旧YEARMONTHDAYB808口口HOURMINUT
43、ESECOND图5-1用此图来说明。(1) 年,月,日,时,分,秒分别连接一个管脚,各由一个按钮控制,按键可以调节其数值。(2) 滚动字幕,由"LCD_PutString(1+SEC,111,"madebysunlijia",Magenta,Blue);LCD_PutString(0+SEC,111;”,Blue,Blue)”这段语句控制,可以调节它而位置和颜色。(3) 关于闰年的显示,通过:“if(YEAR%4=0&&YEAR%100!=0)|(YEAR%400=0)if(DOM>28)DOM=0;elseif(DOM>27)DOM=0;"来判断;case4:if(DOM>29)DOM=0;break;case6:if(DOM>29)DOM=0;break;case9:if(DOM>29)DOM=0;break;case11:if(DOM>29)DOM=0;break;week+;DOM+;DELAY(50);判断并修改(4)关于数值的位置和颜色调整,21系统调试沈阳工程学院课程设计报告LCD_PutString(40,70,s,Green,Bl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高级经济师金融测试卷(含答案及解析)
- 2026年北京市考面试真题及答案解析
- 2026一级注册建筑师《建筑结构、建筑物理与设备》真题及答案解析
- 中国数字内容行业融资趋势分析与企业营销创新策略研究报告
- 2026年幼儿园班本课程光和影总结
- 幼儿园教师资格证面试
- 2026年幼儿园服装设计手工制作
- 2026年幼儿园打击乐公开课课件
- 高平市2025年数学三年级下学期期末考试试题(含答案)
- 2026年绘本课程我要上幼儿园
- 铁路装卸安全课件
- 麻袋装填护坡施工方案
- 销售配件管理制度大全
- 中暑热衰竭电解质紊乱护理查房
- DGTJ08-2240-2017 道路注浆加固技术规程
- 药品技术转移管理制度
- 【鄂尔多斯】2024年内蒙古鄂尔多斯职业学院人才引进39人笔试附带答案详解
- 2024衡阳蒸湘区中小学教师招聘考试试题及答案
- DB32-T 4910-2024 大水面生态渔业资源监测与资源量评估技术规范 湖泊与水库
- DB52T 1161-2016 贵州省旅游购物场所等级划分与评定
- NB-T35026-2022混凝土重力坝设计规范
评论
0/150
提交评论