1、专科毕业设计(论文)设计题目: 简易电子钟的设计 系 部: 信息工程系 专 业: 电子信息工程 班 级: 电信 姓 名: 学 号: 指导教师: 职 称: 20 11 年 6 月 南京2摘 要近年来随着计算机在社会领域的渗透和大规模集成电路地发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,一次特别适合于与控制有关的系统,越来越广泛地应用于各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及正对具体应用对象特点的软件结合,以作完善。本次做的电子时钟是以 89C51 为核心,结合相关的元器件(LED 数码显示器、锁存/译码
2、/驱动器等) ,再配以相应的软件,达到制作简易数字钟的目的,其硬件部分难点在于元器件的选择、布局及焊接。关键词 单片机 89C51 软件 硬件 LED 数码显示器 锁存/译码/驱动器3Abstract With the computer in the social sphere in recent years, the penetration and development of large scale integrated circuits, microcontroller applications are continually deepening, because of its powe
3、rful function, small size, low power consumption, cheap, reliable, easy to use and so on , one particularly suited to and control of the system, more and more widely used in various fields, often microcontroller as a core component to use, in accordance with the specific hardware architecture, and i
4、s the object of the characteristics of the specific application software combine to make perfect. The electronic clock is done 89C51 core, combined with the components (LED digital display, latch / decoder / driver, etc.), which together with the corresponding software, to create simple digital cloc
5、k purposes, the hardware The difficulty is the choice of components, layout, and welding. Keywords microcontroller 89C51 hardware software LED digital display latch / decoder / driver 4目 录1 引言 12 题目 22.1 课程设计要求 22.1.1 功能定义 .22.1.2 2 段闹铃设置: 22.2 课程设计目的 33 单片机的发展历史 .33.1 三大阶段 .33.2 单片机的发展历程 .43.2.1 第一
6、阶段(1976-1978):单片机的控索阶段 43.2.2 第二阶段(1978-1982):单片机的完善阶段 .43.2.3 第三阶段(1982-1990):单片机向微控制器发展的阶段 .53.2.4 第四阶段(1990-):微控制器的全面发展阶段 .54 单片机的应用 .54.1 单片机的应用领域 54.1.1 家用电器领域 .54.1.2 办公自动化领域 .64.1.3 智能产品领域 .64.1.4 测控系统 .64.1.5 智能接口 .64.1.6 商业营销领域 .74.1.7 工业自动化 .74.1.8 汽车电子与航空航天电子系统 74.2 单片机的特点 .75 数字钟的构成 75.1
7、 数字钟的构成 75.2 89C51 单片机的简介 95.2.1 主要性能参数: 95.2.2 管脚说明 95.3 LED 数码管 .126 电路设计 1256.1 晶体振荡器与 AT89C51 的接法 126.2 数码管显示电路 136.3 按键功能的实现 137 程序设计内容 .147.1 程序设计方案 147.2 C 语言设计流程 157.2.1 主流程 .157.2.2 CLOCK 状态下的按钮处理模块 177.2.3 秒表状态下的按键处理模块 .187.2.4 设置定时状态下的按键处理模块 .198 调试过程 .198.1 Proteus 中.hex 文件的导入 .198.2 实物程
8、序的烧写 20111 引言20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快,工作的忙碌和繁杂很容易让人们忘记当前的时间,一时的耽误可能会酿成大错。目前,单片机正朝着高性能和多品种方向发展,进一步向着 CMOS 化、低功耗、小体积、大容量、高新能、低价格等几个方面发展。单片机的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。之前必须通过数字电路、模拟电路实现的大部分功能,现在已能用单片机来实现。单片机模块中最常见的是数字钟
9、,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且具有更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛应用于各个私人、公共场所,成为人们日常生活中必不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟地精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且扩展了钟表原先的报时功能,如:定时自动报警、时间程序自控制、秒表功能等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。222 题目 2.1 课程设计要求系统共有 3
10、 个大功能:时钟、秒表 和 2 个闹铃。2.1.1 功能定义时钟:系统启动后,直接处于时钟状态下,默认初始时间: 12:00(为小时和分钟) 。时钟自然运行,自动刷新。调整时间:按 Key2 键,小时+1,满 24 回零;按 Key3 键,分钟+1,满 60回零。功能切换:按 Key1 键,进入设闹铃 1 状态,显示“ON01” 。无按键,继续刷新显示时间。秒表:显示:高 2 位显示秒,低 2 位显示百分之一秒(即 10ms) ,超过 60 秒不处理。暂停:在秒表运行时,按 Key2 键;继续:在秒表暂停或停止时,按 Key2 键;复位:在秒表运行或暂停时,按 Key3 键,秒表停止,秒数清零
11、。退出:在秒表状态下,按 Key1 键,退出秒表,回到时钟状态,显示时钟。2.1.2 2 段闹铃设置:进入:在时钟状态下,按 Key1 键,进入设闹铃 1 状态,显示“ON01” 。在设闹铃 1 状态下,按 Key1 键,进入设闹铃 2 状态,显示“ON02。33退出:在设闹铃 2 状态下,按 Key1 键,进入秒表状态,显示秒表。设置:在设置闹铃状态下,按 key2 键,对应的闹铃时间的小时+1,按 key2键,对应的闹铃时间的分钟+1,每次按键后都必须刷新显示设置的时间。无按键:刷新显示“ON01”或“ON02”或正在设置的闹铃时间。响应:在任何状态下,只要预设的 2 个闹铃时间中的任何一
12、个到了,蜂鸣器报警 5 秒钟,5 秒钟后停止。2.2 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)通过对课题设计方案的分析、选择、比较,熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤;(4)掌握计数器、加法器、半导体数码管显示器与译码器的使用;(5)了解数字钟的工作原理。3 单片机的发展历史3.1 三大阶段单片机诞生于 20 世纪 70 年代末,经历了 SCM、MCU、SoC 三大阶段。1、SCM 即单片机微型计算
13、机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。 “创新模式”获得成功,奠定了 SCM 与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel 公司功不可没。442、MCU 即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展 MCU 的重任不可避免地落在电气、电子技术厂家、从这一角度来看,Intel 逐渐淡出 MCU 的发展也有其客观因素。在发展
14、 MCU 发展,最著名的厂家当数 Philips 公司。Philips 公司以其在嵌入式应用方面的巨大优势,将 MCS-51 从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记 Intel 和 Philips 的历史功绩。3、单片机是嵌入式系统的独立发展之路,向 MCU 阶段发展的重要因素,寻求应用系统在芯片上的最大化解决;因此专用单片机的发展自然形成了 SoC 化趋势。随着微电子技术、IC 设计、EDA 工具的发展,基于SoC 的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片机应用系统。单片机作为微型计算机的
15、一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。3.2 单片机的发展历程3.2.1 第一阶段(1976-1978):单片机的控索阶段以 Intel 公司的 MCS-48 为代表。MCS-48 的推出实在工控领域的控索,参与这一控索的公司还有 Motorola、Zilog 等,都取得了满意的效果。这就是SCM 的诞生时代, “单片机”一词即由此而来。3.2.2 第二阶段(1978-1982):单片机的完善阶段Intel 公司在 MCS-48 基础上推出了完善的、典型的单片机系列 MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。(1)完善的
16、外部总线。MCS-51 设置了经典的 8 位单片机的总线结构,55包括 8 位数据总线、16 位地址总线、控制总线及具有很多机通信功能的串行通信接口。(2)CPU 外围功能单元的集中管理模式。(3)体现工控特性的位地址空间及位操作方式。(4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。3.2.3 第三阶段(1982-1990):单片机向微控制器发展的阶段Intel 公司推出的 MCS-96 系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着 MCS-51 系列的广泛应用,许多电气厂商竞相使用 80C51 为内核,将许
17、多测控系统中使用的电路技术、接口技术、多通道 A/D 转换部件、可靠性技术等应用到单片机中,增强了外围电路功能,强化了智能控制的特征。3.2.4 第四阶段(1990-):微控制器的全面发展阶段随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的 8 位/16 位/32 位通用型单片机,以及小型廉价的专用型单片机。4 单片机的应用下面大致介绍一些 51 单片机典型的应用领域和应用特点。4.1 单片机的应用领域4.1.1 家用电器领域目前国内各种家用电器已普遍采用单片机控制取代传统的控制电路,如洗衣机、电冰箱、空调机、微波炉、电饭煲、电视机、录像机及其他视频音像设备66的
18、控制器。4.1.2 办公自动化领域现代办公室中所使用的大量通信、信息产品多数都采用了单片机,如通用计算机系统中的键盘、磁盘驱动器、打印机、绘图仪、复印机、电话、传真机及考勤机等。4.1.3 智能产品领域单片机微处理器与传统的机械产品相结合,使用传统机械产品结构简化、控制智能化,构成新一代的机电一体化的产品。例如传真打字机采用单片机,可以取代近千个机械器件;缝纫机采用单片机控制,可执行多功能自动操作、自动调速,控制缝纫花样的选择。51 单片机还可以应用于智能仪表,用单片机微处理器改良原有的测量、控制仪表,能使仪表数字化、智能化、多功能化、综合化,而测量仪器中的误差修正、线性化等问题也可迎刃而解。
19、4.1.4 测控系统使用单片机微处理器可以设计各种工业控制系统、环境控制系统、数据控制系统,例如温室人工气候控制、水闸自动控制、电镀生产线自动控制、汽轮机电波调节系统等。在目前数字控制系统的简易控机中,采用单片机可提高可靠性,增强其功能,降低成本。4.1.5 智能接口微电脑系统,特别是较大型的工业测控系统中,除外围装置(打印机、键盘、磁盘、CRT)外,还有许多外部通信、采集、多路分配管理、驱动控制等接口。这些外围装置与接口如果完全由主机进行管理,势必造成主机负担过重,降低执行速度,而如果采用单片机进行接口的控制和管理,单片机微处理器与主机可以并行工作,这样就大大地提高了系统的执行速度。在大型数
20、据采集系统中,用单片机对模拟/数字转换接口进行控制不仅可提高采集速度,还可对数77据进行预先处理,如数字滤波、线性化处理、误差修正等。在通信接口中采用单片机可对数据进行编码译码、分配管理、接受/发送控制等。4.1.6 商业营销领域在商业营销系统中广泛使用的电子秤、收款机、条形码阅读器、仓储安全检测系统、商场保安系统、空气调节系统、冷冻保鲜系统等,目前已纷纷采用单片机构成专用系统,主要由于这种系统有明显的抗病菌侵害、抗电磁干扰等高性能的保证。4.1.7 工业自动化工业过程控制、过程监测、工业控制器及几点一体化控制系统等,这些系统除一些小型工控制器外,许多都是以单片机为核心的单机或多机网络系统,如
21、工业机器人的控制系统就是由中央控制器、感觉系统、行走系统、擒拿系统等节点构成的多机网络系统。4.1.8 汽车电子与航空航天电子系统通常这些电子系统中的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统以及运行监视器等,都要构成冗余的网络系统。4.2 单片机的特点单片机是微型机的一个主要分支,在结构上的最大特点是把 CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。885 数字钟的构成5.1 数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,由于计数的起始时间不可能与标准时间一致,故需要在电路
22、上加一个校时电路,同时标准的 1MHZ 时间信号必须做到准确稳定,通常使用石英晶体振荡器电路构成数字钟。(1) 晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的 12MHZ 的方波信号,可保证数字钟的走时准确及稳定,不管是指针式的电子中还是数字显示的电子钟都使用了晶体振荡器电路。(2) 时间计数器电路时间计数器电路由分个位和分十位计数器,时各位和时十位计数器电路构成,分个位和分十位计数器为 60 进制计数器,时各位和时十位计数器为 24 位进制计数器。(3) 译码驱动器译码驱动器电路将计数器输出的 8421BCD 码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电
23、流。(4) 数码管数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为 LED 数码管。数字钟的工作原理图如图 1 所示:99时显示器时译码器时显示器时译码器分显示器分译码器分显示器分译码器振荡器 89C51图 1 数字钟的工作原理图5.2 89C51 单片机的简介AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存储器(PEROM)和 128 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通
24、用 8 位中央处理器(CPU)和 Flash 存储单元,功能加大 AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。5.2.1 主要性能参数:与 MCS-51 产品指令系统完全兼容 4k 字节可重擦写 Flash 闪速存储器1000 次擦写周期全静态操作:0Hz-24MHz三级加密程序存储器1288 字节内部 RAM101032 个可编程 I/O 口线2 个 16 位定时/计数器6 个中断源可编程串行 UART 通道低功耗空闲和掉电模式5.2.2 管脚说明VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8
25、TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向
26、 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个TTL 门电流。当 P3 口
27、写入“1”后,它们被内部上拉为高电平,并用作输入。1111作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0 (外部中断 0) P3.3 /INT1 (外部中断 1) P3.4 T0 (记时器 0 外部输入) P3.5 T1 (记时器 1 外部输入) P3.6 /WR (外部数据存储器写选通) P3.7 /RD (外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RS
28、T:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁
29、止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方1212式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: X
30、TAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 5.3 LED 数码管agdefbcdpa7b6c4d2e1f9GND3GND8g10dp5图 2 7 段数码管数码管(如图 2 所示)使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA
31、峰值电流 100mA 上面这只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。数码管使用注意事项说明:(1)数码管表面不要用手触摸,不要用手去弄引角;(2)焊接温度:260 度;焊接时间:5S(3)表面有保护膜的产品,可以在使用前撕下来。13136 电路设计6.1 晶体振荡器与 AT89C51 的接法晶体振荡器与 89C51 的接法如图 3 所示,XTAL1 和 XTAL2 脚接到 12MHZ 的晶体振荡器上,与两个 10PF 的电容并联,并接低电平。图 3 晶体振荡器与 89C51 的连接6.2 数码管显示电路数码管与 89C51 的接法如图 4 所示,数码管的 A、B、C、D
32、、E、F、G 分别连接到 89C51 的 P0.0P0.6 引脚上,P0.7 控制数码显示管上中间的两亮点。XTAL1 X1XTAL2 X21414图 4 数码管与 89C51 的连接6.3 按键功能的实现用 AT89C51 的并行口 P3.2、P3.3、P3.4 分别接 K1、K2、K3 三个控制按钮,具体如图 5 所示。图 5 按键与 89C51 的连接7 程序设计内容7.1 程序设计方案本系统共有 3 大功能,考虑定义 4 种状态,可以用枚举类型来定义,便于将来扩展。如typedef enum /枚举类型:4 种状态/CLOCK, /时钟状态/SET_RING1, /设置闹铃 1 状态/
33、SET_RING2, /设置闹铃 2 状态/MIAOBIAO_RUN, /秒表状态/STATE; /定义了枚举类型名称STATE status /定义了变量在这 4 种状态下,不同按键动作,代表不同的操作。4 种状态之间用 Key1键负责切换。15157.2 C 语言设计流程7.2.1 主流程Yes开始 main()1. 变量置初值2. 2 个定时器设置工作状态3. 启动常规 50ms 定时器T0,不启动秒表定时器 T1判断系统状态“CLOCK”状态下按键处理模块“秒表”状态下按键处理模块“设置定时”状态下按键处理模块定时时间是否到响铃秒表状态CLOCK 状态 设定时状态秒表状态主程序如下:v
34、oid main(void) sound=1;TH0=0x3c;TL0=0xb4;TMOD=0x11;TR0=1;ET0=1;1616TR1=0;ET1=1;EA=1;status=CLOCK;dingshi_time0.hour=0;dingshi_time0.min=0;dingshi_time1.hour=0;dingshi_time1.min=0;while(1) /程序循环 switch(status)case CLOCK:key_process_clock(); / 处理时钟状态下的按键和显示/break;case SET_RING1:case SET_RING2:key_proc
35、ess_set_dingshi(); /处理设置定时状态下的按键和显示/break;case MIAOBIAO_RUN:key_process_miaobiao_run(); /处理秒表状态下的按键和显示/break;if(hour=dingshi_time0.hour) /定时响铃/uchar code ziwei=0x10,0x20,0x40,0x80;uchar *h,*m;uchar hour=12,min=0,sec=0,h_ding,m_ding,count=0,ms_50,ms_10,miaobiao_sec;sbit dp=P07;sbit k1=P32;sbit k2=P33
36、;sbit k3=P34;sbit sound=P23;sfr ZIXING=0x80; /p0 口输出字形sfr ZIWEI=0xa0; /P2 口输出字位typedef enum /枚举类型:4 种状态/CLOCK,SET_RING1,SET_RING2,MIAOBIAO_RUN,STATE;STATE status;typedef struct /定时时间的数据结构/uchar hour;uchar min;DINGSHI_TIME;DINGSHI_TIME dingshi_time2;#define NO_KEY -1 /定义一下方便使用#define KEY_1 1#define K
37、EY_2 2#define KEY_3 32525bit show_on_flag;/#定时器 T0 中断服务程序#/Timer0() interrupt 1 TH0=0x3c;TL0=0xb4; /50msms_50+;if(ms_50=20) sec+;ms_50=0; if(sec=60) sec=0;min+; if(min=60) min=0;hour+;if(hour=24) hour=0; /#定时器 T1 中断服务程序#/Timer1() interrupt 3 TH1=0xd8;TL1=0xf4; /10msms_10+;if(ms_10=100) miaobiao_sec+;ms_10=0; if(miaobiao_sec=60) miaobiao_sec=0;/#数码管显示#/show(uchar time_high,uchar time_low) uchar m;uint n,k;k=time_high*1000/10+time_low;for(m=0;m4;m+)ZIXING=zixingk%10;if(ms_5010)dp=0;ZIWEI=ziweim;for(n=0;n500;n+);ZIXING=0xff;for(n=0;n100;n+);