电子秒表时钟设计课程设计.doc_第1页
电子秒表时钟设计课程设计.doc_第2页
电子秒表时钟设计课程设计.doc_第3页
电子秒表时钟设计课程设计.doc_第4页
电子秒表时钟设计课程设计.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 报 告课程名称 单片机原理与应用 课题名称 电子秒表设计 专 业 电气工程及其自动化 班 级 电气1101 班 学 号 201101010124 姓 名 刘精菁 指导教师 寻大勇 2014 年 6 月 19日 湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 电子秒表设计 专业班级 电气工程及其自动化 学生姓名 刘精菁 学 号 201101010124 指导老师 寻大勇 审 批 任务书下达日期 2014年 6 月 9 日 任务完成日期 2014年 6月 19 日设计内容与设计要求设计内容:本课题以单片机为核心,利用其定时器和6段数码管,设计一个电子秒表。有以下功能:1、 开机时,显示时钟;2、 按下菜单键与选择键时进行时钟/秒表切换选择;3、 能够实现30个秒表成绩的记录。4、 有复位电路。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行单元电路及应用程序的调试;6)写出使用说明书。主 要 设 计 条 件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件;3、单片机应用系统板1套;4、制作工具1套;5、系统设计所需的元器件。 说 明 书 格 式1. 课程设计任务书2. 目录3. 说明书内容1)课题的设计要求、目的、意义2)系统总体方案选择与说明3)系统结构框图与工作原理4)各单元硬件设计说明及计算方法5)软件设计与说明(包括流程图)6)调试结果与必要的调试说明7)使用说明8)程序清单9)总结10)参考文献附录附录A 系统原理图附录B 程序清单评分表进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1王迎旭.单片机原理与应用.机械工业出版社.2004年7月2胡汉才.单片机原理及系统设计.清华大学出版社.2002年1月3潘永雄.新编单片机原理与应用.西安电子科技大学出版社.2003年2月4张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社 目 录第一章 概述711 课题的设计要求712 课题设计的目的和意义7第二章 总体设计方案821 课题设计说明822 总体设计思路8第三章 结构框图及工作原理931 系统结构框架图932 电路组成及工作原理9321 总体设计原理9322 单机片的最小系统硬件电路原理图10第4章 各单元硬件设计及计算方法1241 硬件设计12411 最小系统设计12412 数字钟外围电路设计1642 计算方法18第五章 软件设计及说明205、1 软件设计2052 流程图21第六章 调试结果与调试说明2261 调试步骤2262 调试结果22总 结23参考文献24附 录251、程序原理图262、程序清单26第一章 概述11 课题的设计要求本课题以单片机为核心,利用其定时器和6段数码管,设计一个电子时钟。要求有以下功能:1、开机时,显示时钟;2、按下菜单键与选择键能进行时钟与秒表的切换。3、能够实现30个秒表成绩的记录。4、具有复位功能。12 课题设计的目的和意义目的:通过课程设计的教学实践,进一步学习、掌握单片机应用系统的有关知识,加深了解单片机的工作原理。在教师指导下,运用工程的方法,通过一个较简单课题的设计练习,可使我们通过综合的系统设计,熟悉设计过程、设计要求、完成的工作内容和具体的设计方法,掌握必须提交的各项工程文件。初步掌握简单单片机应用系统的设计、制作、调试的方法。提高动手实践能力、提高科学的思维能力。意义:在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。第二章 总体设计方案21 课题设计说明利用MSC-51单片机实验平台、韦福汇编软件以及Protues仿真软件编程实现一个可控数字时钟,可以实现秒表、时钟以及复位等基本功能。22 总体设计思路主要设计思想是:整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LED的显示。系统设有6个按键可以对秒表的开始,计数、停止、查看成绩以及秒表与时钟的切换还可以复位时钟。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。考虑时钟显示只有4位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的显示。单片机采用AT89S51系列,这种单片机可具有足够的空余硬件资源实现其它的扩充功能。第三章 结构框图及工作原理31 系统结构框架图图3-1系统总体框架图32 电路组成及工作原理321 总体设计原理本设计实现了时钟、秒表、倒计时、时间调整四大功能。主控器为一块AT80C51单片机,分别用P2.0P2.5六个功能按键,P20P24在秒表中为开始、计数、停止、查看成绩的功能;在倒计时钟表示为数位切换、数值加、减、倒计时开始的功能;在时间调整中为数位切换、数值加、减、确定的功能。P0接口连接一个6段数共阴码管,P1.0P15连接片选端,此数码管用来显示各种时间信息;P3口连接一个1段共阴数码管显示功能选择;另外在单片机上还连接了复位电路以应对程序跑飞问题。本设计总共利用了单片机一个时钟(T0)资源,一个定时器0中断。软件的设计采用了结构化编程的思想尽可能做到让每个功能模块独立能够很好的配合按键进行操作;主程序中主要检测M_S这个全局变量的设置值以选择作为功能模块的入口,这样就很好的避免了模块之间的交接增强了了功能模块之间的独立性以及程序的可读性322 单机片的最小系统硬件电路原理图图3-2AT89S51最小系统发光二极管导通时,产生一个正向的工作电流IF,工作电流根据发光二极管的材料、功率等不同,额定电流一般在1040mA左右,发光二极管导通时的正向压降VF比较大,一般为1.53V(普通硅二极管约为0.7V)。因此在正常使用中,为了保证发光二极管在电源电压V的作用下管子的工作电流不超过额定值,必须给发光二极管串联一只限流电阻R,R的阻值可由下式算出:R(V-VF)/IF。其中V为工作电源电压,VF为发光二极管的正向压降,IF为额定工作电流。从上面原理图1可知,当单片机的P1.7输出低电平(0V)时,有正向工作电流流过发光二极管,发光二极管就亮;相反,当P1.7输出高电平(5V)时,发光二极管没有足够电压差产生工作电流,此时发光二极管不亮。因此,程序中只需交替让单片机的P1.7输出低电平“0”和高电平“1”就可以让发光二极管闪烁发光。 第4章 各单元硬件设计及计算方法41 硬件设计411 最小系统设计 AT89C51单片机 图4-1 AT89C51引脚图AT89C51单片机简介:AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。主要功能特性为:兼容MCS-51指令系统;4k可反复擦写(1000次)ISP Flash ROM;32个双向I/O口;4.5-5.5V工作电压;2个16位可编程定时/计数器;时钟频率0-33MHz;全双工UART串行中断口线;128x8bit内部RAM;2个外部中断源;低功耗空闲和省电模式;中断唤醒省电模式;看门狗(WDT)电路;灵活的ISP字节和分页编程;双数据寄存器指针。AT89S51单片机与其他品牌单片机相比有着性价比高,性能稳定的特点。(1) 51单片机的优点如果是作低成本的智能产品,51构架单片机的成本优势,还是无人能敌的。比如一片AT89S51和AT89S52单片机的批量价格大概是5元左右,STC89C52单片机的批量价格大概是6元多,这样的芯片价格是很低的。一片简单的74系列通用数字逻辑芯片还要1元左右,而一片51单片机内部集成有成千上万个晶体管开关电路。51构架已经诞生很多年了,到目前依然有着强大的生命力和实用性,从1976年51构架成功面市,多少年过去了,从90年代初全新闪存结构的AT89C51要90元一片,到现在AT89S51只要5元多一片,51依然大量的使用着。使用51单片机能够有效的控制智能产品整机的成本, 51系列还是有着无法替代的重要地位。(2) AT89S51与AT89C51的比较AT89S51相对与AT89C51新增加了很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低! AT89S51具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境上拔除,可以在线烧写。AT89S51的最高工作频率为33MHz, 89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。AT89S51具有双工UART串行通道。AT89S51内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 AT89S51具有双数据指示器。 AT89S51具有电源关闭标识。 AT89S51具有全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 在兼容性方面,AT89S51向下完全兼容51全部字系列产品。比如8051、89C51等产品。也就是说不论教科书上采用的单片机是8051还是89C51还是MCS-51等等。在89S51上一样可以照常运行,这就是所谓的向下兼容。 AT89S51与AT89C51就如同INTEL的P3向P4升级一样,虽然都可以跑Windows98,不过速度是不同的。总之,无论是比其他品牌同类产品相比,还是与同品牌产品相比都显示出了AT89S51优良的性能,更高的性价比。所以AT89S51芯片成为了本系统的首选。单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:(1)电源正常;(2)时钟正常;(3)复位正常。AT89S51的引脚如图3-1所示。在AT89S51单片机的40个引脚中,电源引脚2根,晶振引脚2根,控制引脚4根,可编程输入输出引脚32根。(1) 工作电源电源是单片机工作的动力源泉,对应的接线方法为;40脚(VCC)电源引脚,工作时接5电源,20脚(GND)为接地线。(2) 时钟电路时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下进行的,时钟电路就好比人的心脏一样重要。当采用内部时钟时,连接方法如图2-1所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。(3) 复位电路在复位引脚(9脚)持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。如图2-1所示电容C和电阻R构成了单片机上电自动复位电路。复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值。412 数字钟外围电路设计(1)单片机时钟时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路设计如图4-3所示。图4-3单片机时钟AT89S51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。(2)电源电路电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得220V电压变为12 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出5V的稳定电压。(3)按键电路按键电路如图4-4所示,按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。图4-4 按键电路P2.0口:秒表开始/时钟调整位选/倒计时调整位选。P2.1口:秒表计成绩/时钟调整加/倒计时调整加。P2.2口:秒表停止/时钟调整减/倒计时调整减。P2.3口:秒表时钟查看/时钟调整确认/倒计时确认。(4)复位电路AT89S51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 图4-5 电平复位电路(5)数码管显示电路 6段数码管段选端连在P0口,位选端接在P1.0-P1.5;单段数码管段选接P3公共端接地(共阴)。42 计算方法(1)主程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。(2)LED显示子程序数码管显示的数据存放在内存单元Disp_Tab 数组中中,位选存放在dispbit数组中。6段数码管显示采用动态扫描的方法,通过依次查询Disp_Tab与dispbit中对应的数据进行显示。第五章 软件设计及说明5、1 软件设计本设计采用c语言进行软件编写包括主程序、定时器T0中断子程序、时钟显示子程序、秒表显示子程序、倒计时显示子程序、时钟调整子程序等。单片机上电即进入main函数,在main函数中主要对全局变量M_S的值进行检测当为0、1、2、3、4的时候分别能够进入5个子程序中0:秒表、1:时钟、2:时钟、调整3:倒计时、4:功能选择菜单;0、秒表,在满足M_S=0以及KM_S=1的入口条件下进入秒表操作函数,之后一直扫描Start键,一旦Start按下则失去作用而秒表开始计时,这时在Stop键未被按下的前提下一直扫描Number按键的反应每次按下Number键则记录一次成绩。当Stop键按下则显示第一次记录的成绩,并且此时按Relook键则依次调出所存储的成绩。 1、时钟,在满足M_S=1以及KM_S=1的入口条件下一直自动运行时钟函数无按键操作。 2、调整,在满足M_S=2以及KM_S=1的入口条件下检测 Start按键进行需要调整的时钟、分钟、秒钟的选择;Number、Stop键则实现时钟、分钟、秒钟的加1减1;Relook键为确认键按下后跳进时钟运行。3、倒计时,在满足M_S=3以及KM_S=1的入口条件下检测Start键进行需要设置的时钟、分钟、秒钟的选择;Number、Stop键则实现时钟、分钟、秒钟的加1减1;Relook键为确认键按下则倒计时开始。4、主菜单,只要KM_S键按下则直接进入主菜单,在此处可任意选择秒表、时钟、时钟调整、倒计时功能。5、定时器T0中断函数,定时器初值设置为55535;每10ms进行一次中断,在中断服务函数中扫描M_S的值:0,全局变量led_m+为秒表函数提供时间变量;1、2,全局变量led_w+以及led_ww+为时钟以及时钟函数提供时间变量;3,全局变量led_m为倒计时函数提供时间变量。本设计总共使用了一个定时器T0以及定时器T0中断资源,十分节省单片机的硬件资源,为系统的升级提供了良好的空间。开始52 流程图判断M_S 3倒计时:选位,调整,确定2调整:选位,加减,确定0秒表:开始,计数,停止,查看1时钟:自动运行M_S=1,KM_S=1M_S=0,KM_S=1M_S=2,KM_S=1M_S=3,KM_S=1YY Y N N N N 4主菜单:选择时钟、秒表、倒计时、调整图5-2 加1键子程序流程框图第六章 调试结果与调试说明61 调试步骤把编好的程序(见附录)输入新建在软件keil c51里的工程里,保存,运行,显示结果为时、分之间的分隔点的闪烁体现时间精度为0.5秒,数码管显示当前的时间值,调试: 建立一个新工程,输入上面的源程序,最后编译得到一个*.hex目标文件,用编程器把*.hex写入单片机AT89S51中,然后再用Protues仿真软件进行仿真,按图(见附录)接好单片机以及外部元件。接好用下图的仿真按钮进行仿真。62 调试结果若先按下仿真按钮,数码管显示器正常从00.00.00开始运行,按下菜单键能够进行功能选择,秒表、时钟、时钟调整、倒计时按设计运行。 总 结 实际上字做课程设计之前我已经接触到了许多超越51单片机的其他微机如,stm32、AVR、msp430等等,软件方面已经编写过SD卡驱动、16位真彩TFT彩屏驱动的编写、fatfs文件系统的移植与调试以及UCGUI图形函数库的移植与使用,并且能够熟练的使用SPI、I2C、UART、RTC、SYSTICK等等资源。刚开始做51课程设计的时候略微有点轻视。不过,当我在做本设计的时候却遇到了不少的麻烦,首先是节约单片机资源的问题。我没有使用外部中断而次用普通的独立按键作为主菜单,这里就存在一个优先级设置的问题,刚开始总是不能达到预期的效果,菜单键并不能有效的中断秒表、时钟等函数的运行。经过反复的思考以及试验决定采用全局变量M_S的值作为函数入口通过与KM_S这个按键的配合解决了主菜单优先级的问题。经过两天的编写与调试终于完成了这次设计工作,另外我几乎做完了这次单片机课程设计的全部课题,做了航标灯、直流电机、步进电机、密码锁、计分器、电子琴的设计花费了不少时间,以至于我自己的设计做得不是特别的好。不过有失必有得,做了这么多课题我了解了LCD1602的使用,PCF8591这款AD-DA芯片的使用、知道了步进电机的操作时序、并且很好的运用了结构化编程的思想。不过虽然做这些课题都比较顺利,但是我也越来越清晰的意识到了一个问题,越是容易做的东西含金量不高。编程的门槛较低如果只会单片机的话并不能发挥我们专业的特点,因为据我所知不管是电类还是非电专业的学生都能在很短时间内学会单片机。而真正能够看出我们区别的还是专业理论知识的深度,如果作为一个电类学生没有很好的模拟数字电路基础没有良好的电路分析能力是远远不够的,总而言之优秀的理论基础是指引我们走向成功的必要条件。 在此还要感谢给予我帮助的老师同学!参考文献1王迎旭.单片机原理与应用.机械工业出版社.2004年7月2胡汉才.单片机原理及系统设计.清华大学出版社.2002年1月3潘永雄.新编单片机原理与应用.西安电子科技大学出版社.2003年2月4张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社附 录1、程序原理图2、程序清单#includereg51.htypedef unsigned char u8;typedef unsigned long u32;typedef unsigned int u16;sbit Start = P20; /秒表开始按键sbit Number = P21; /秒表计数按键sbit Stop = P22; /秒表停止按键sbit Relook = P23; /查看成绩按键sbit KM_S = P24;/菜单sbit KM_SS = P25; /时钟秒表切换1u8 YIDONG;u8 MM_S;u32 led_m = 0; /秒表计数变量u16 led_s = 0; /时钟计数变量u32 led_w = 0;u32 led_ww = 0; /计时器长期变量u8 M_S; /时钟秒表切换变量u8 D_S=0; /倒计标志/u8 JISHU = 0;u16 Counter30;u8 counter1=0,counter2=0;u8 start1;u8 code Disp_Tab = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /段码控制 u8codeDisp_Tab1= 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xc0; /段码控制u8 code dispbit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F; /位选控制 查表的方法控制void Shizhong(void); /时钟运行函数void Time0_Init(void); / 定时器T0初始化函数void TI_T0_Init(void); /定时器T0初始化函数void TI0_Init(void); /外部中断0初始化函数void delay(unsigned int a);/延时函数void shumaguan_show(u16 a); /数码管显示函数void Miaobiao(void); /秒表功能函数void choose(void); /功能选择函数void Look(void); /成绩查看函数void shumaguan_show1(u32 a,u8 W);/数码管闪烁函数/*定时器0初始化*/void Time0_Init(void) TMOD = 0x01;/设置定时器T0 TH0 = 0xD8; TL0 = 0xef; TR0 = 1; TF0 = 0; /清楚溢出标志位/*定时器0中断初始化*/void TI_T0_Init(void) ET0=1;/允许T0中断 EA=1;/开总中断/*定时器0中断服务函数*/void Time_0(void) interrupt 1TH0 = 0xd8;TL0 = 0xef; /定时器 T0装进初值55536 = 0xd8f0led_w+;led_ww+; switch(M_S) case 0: led_m+; if(led_m%10000=6000) led_m=led_m+4000; if(led_m=600000) led_m= 0; case 1:if(led_w = 24000000) led_w=0; case 2: if(led_w = 24000000) led_w=0;break; case 3: if(D_S=1) if(led_m%10000)=0) led_m=led_m-4000; led_m-; break; TF0 = 0;/*延时函数*/void delay(unsigned int a) unsigned int i=0,j=0;for(i=0;ia;i+)for(j=0;j123;j+);/*数码管显示*/void shumaguan_show(u32 a) u16 d;u8 LED_N6; LED_N0 = Disp_Taba/100000; /十万位数 LED_N1 = Disp_Tab1a/10000%10; /万位数 LED_N2 = Disp_Taba/1000%10; /千位数 LED_N3 = Disp_Tab1a/100%10; /百位数 LED_N4 = Disp_Taba/10%10; /十位数 LED_N5 = Disp_Taba%10; /个位数 for(d=0;d6;d+) P1 = dispbitd; P0 = LED_Nd; delay(2); /*数码管闪烁显示*/void shumaguan_show1(u32 a,u8 W) u16 d;u8 e;u8 LED_N6; LED_N0 = Disp_Taba/100000; /十万位数 LED_N1 = Disp_Tab1a/10000%10; /万位数 LED_N2 = Disp_Taba/1000%10; /千位数 LED_N3 = Disp_Tab1a/100%10; /百位数 LED_N4 = Disp_Taba/10%10; /十位数 LED_N5 = Disp_Taba%10; /个位数 for(d=0;d6;d+) if(d=W) d=W+2; P1 = dispbitd; P0 = LED_Nd; delay(2); e+;if(e=9) e=0; for(d=0;d=60) aaa = aaa+40; if(aaa%10000=6000) aaa=aaa+4000; shumaguan_show(aaa); while(KM_S=1); M_S=4; /*选择时钟/秒表函数*/void choose(void) counter2=0; counter1=0; D_S = 0;while(M_S=4) while(KM_S=0) shumaguan_show(0); /菜单键消抖 do shumaguan_show(0); if(KM_SS=0) while(KM_SS=0) shumaguan_show(0); MM_S+; if(MM_S=4) MM_S=0; /当MM_S加到3就恢复到0 P3=Disp_TabMM_S;while(KM_S=1); M_S=MM_S; /*时钟调整函数*/void Chang_SZ(void) u32 aaaa; u8 bbbb=2; u8 CIISHU=0; while(M_S=2) while(KM_S=0) shumaguan_show(0); /菜单键消抖 P3=Disp_TabM_S; do aaaa = led_w/100; if(aaaa%10

温馨提示

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

评论

0/150

提交评论