资源描述
沈阳航空航天大学北方科技学院课程设计说明书课设题目金属工件质量监测及统计系统设计沈阳航空航天大学北方科技学院课程设计任务书课程设计题目金属工件质量监测与统计系统设计教 研 室 工学一部 专业测控技术与仪器班级11测I捽2 学号 B14140228 姓名课程设计时间:2014年J2 月29日至2015年1月16 日课程设计的内容及要求:1 .内容采用单片机和传感器实现金属工件的高度质量监测, 当高度符合标准时, 产品合格指示灯亮,相应合格产品数量累加。当金属工件高度不合格时,给 出声光报警提示。2 .技术指标(1)金属工件高度检测。(2)给出高度合格灯光指示和合格产品数目的自动累加,LED显示:XXX 个。(3)给出高度不合格产品的声光报警提示。3 .要求(1)制定设计方案,并绘制出系统工作框图。(2)绘制电路原理图,并将传感器、单片机实验箱、电源等硬件正确可 靠地连接。(3)用单片机实验箱进行程序设计与系统调试。(4)撰写一篇6000字到8000字的课程设计报告。指导教师 年月日目 录摘 要 40 绪论 50.1研究的背景及意义 50.2本课题的主要内容及任务 51.1 设计方案 61.2 电涡流传感器测厚原理 62 硬件系统设计 72.1 硬件设计方案 72.2 单片机最小系统 82.3 显示电路设计 122.4 A/D转换电路 123 软件系统设计 133.1 主程序设计 133.2 A/D转换子程序设计 153.3 报警电路子程序设计 163.4 显示电路子程序 174 调试与分析 17参考文献 17课设总结 19附录1原理图 20附录2程序 21金属工件质量监测及统计系统设计俞文浩 沈阳航空航天大学北方科技学院摘要本文阐述的是金属工件质量监测及统计系统设计, 本课题利用电涡流传感器、 单片机技术实习对金属工件的监测和统计, 广泛应用于工业当中, 可以提高产品质量和生产效率。本课题的目的是把合格的工件统计出来, 不合格的工件做报警处理, 能够实现对金属工件高速、高分辨率的自动监测系统。根据传感器和LED显示就能够知道有多少个工件高度符 合,从而实现了统计的目的。关键词:电涡流传感器;LED显示;单片机0 绪论0.1 研究的背景及意义厚度是工业生产中最常见和最基本的工业参数之一, 是与人类的生活、 工作关系最密切的物理量, 也是各学科与工程研究设计中经常遇到和必须精确测量的物理量。 所以厚度的测量问题是一个经常遇到的问题。 厚度测量方法有很多: 简单的厚度测量可以用卷尺或直尺来完成,要求精度高的用游标卡尺来完成,一些金属的厚度还可以用传感器来测量,具体用什么方法测厚要根据所测物体的大小、 形状、 材质以及测量精度来定。 在进行金属的厚度测量时, 经常遇到金属表面有非金属涂层或油污等杂质使接触测量不准确或无法进行, 而且在工业现场的在线测量也使得接触式测量变得困难, 这就使得非接触式测量的优点显现出来。 电涡流传感器是20 世纪 70年代以来得到迅速发展的一种传感器, 它利用电涡流效应进行工作。由于结构简单、灵敏度高、频响范围宽、不受油污等介质的影响,并能进行非接触测量, 可用广泛用来检测金属材质的厚度。 随着在线检验精度和效率要求的不断提高, 对测量金属板材设备提出了越来越高的要求。 所以今天对测量金属板材设备的要求实际上是对高精度自动化测量设备的要求。近年来,精密测量技术发展迅速, 成果喜人。 例如在线测量技术, 已可进行加工状态的实时测量与显示, 及时检测加工是否出现异常状况, 从而可大幅度提高生产效率。 面对我国高速发展的电子测量仪器市场, 电子测量仪器有关企业将加快技术进步和市场开发的步伐,努力做好国内外市场的开拓工作, 真正把中国的电子测量仪器产业做强、做大,将更多、更好、更新的电子测量仪器产品提供给广大用户。总之, 测量技术必须实现高精度化, 同时也要求实现高速化和高效率化, 因此, 非接触测量和高效率测量也必然成为新世纪精密测量技术的重要发展方向随着大规模集成电路、 计算机技术的迅速发展, 以及人工智能在测试技术方的广泛应用, 传统电子测量仪器在原理、 功能、 精度及自动化等方面都发生了巨大的变化,逐步形成了一种完全突破传统概念的新一代测试仪器智能仪器。目前, 不仅大多数传统电子仪器已有相应换代的智能化产品, 而且还出现了一些全新的仪器类型和测试系统,仪器智能化已成为现代电子仪器发展的主流方向。单片机自 20世纪 70 年代问世以来,作为微计算机一个很重要的分支,应用广泛,发展迅速,已对人类社会产生了巨大的影响。 尤其是美国 Intel 公司生产的MCS51 系列单片机, 由于其有集成度高、处理功能强、系统结构简单、价格低廉、易于使用等优点,在我国已得到广泛的应用,在智能仪器仪表、 工业检测控制、电子电力、 电机一体化方面取得了令人瞩目的成果。由于单片机的飞速发展,从而产生了各式各样的以单片机为核心的测量仪器。0.2 本课题的主要内容及任务本课题主要以单片机为中心, 设计电涡流式传感器测量电路、 单片机系统电路及相应的软件系统, 实现金属工件的测量、 厚度合格检验及其超标报警。 厚度合格检验时的设定厚度和误差等级设置,通过LED显示计数,给出检验时超标与否的指示灯提示及蜂鸣超标 报警提示。设计测厚仪的硬件电路系统, 包括模拟电路部分(传感器及其测量电路、信号 调理电路等)和数字电路部分(单片机系统的硬件电路、键盘电路及LED显示电路等)。设计单片机软件系统实现测厚仪设定功能和完成系统联调本次设计的电涡流式金属板材 测厚仪应符合以下技术指标:1键盘设定厚度“测量”或厚度合格“检验”的功能选择; 厚度合格检验时的设定对应电压和误差等级设置。2金属板材的厚度测量。电压测量范围:2.9-3.1V ,测量精度可达0.1vo厚度测量个数采用LED显示:。网实现厚度的合格 检验功能,给出厚度合格检验合格指示或不合格指示(超厚指示或超薄指示)及其蜂鸣报警提示。基于此任务,本课题中利用电涡流传感器进行金属工件的厚度测量,其内容主要分为软件和硬件两部分。在遵循软硬件相结合的原则下,先熟悉软件环境,然后进行硬 件电路设计,再根据设计的硬件进行软件编程,进行模块化设计,并对各模块进行调试。1系统方案及工作原理1.1 设计方案针对本课题的设计任务,进行分析得到:本次设计用电涡流传感器进行厚度测量, 将 测得的距离变化转换为电信号,通过 A/D转换,转换为能供单片机直接识别的数字信号。 单片机将得到的信号进行处理,如果满足测量范围,正常输出信号,通过LED显示。如果 不满足,则通过发光二极管显示来表示具体情况。该电涡流测厚度的设计,总体上大致可分为一下几个部分组成:电涡流检测部分,A/D转化部分,单片机处理部分,LED显示部分,键盘输入部分,不同颜色二极管发光报警部分。LED显示电涡流传感器 1 A/D转换电路 一 单片机 THrMiI二极管发光报警超量程图1工作流程图1.2 电涡流传感器测厚原理高频反射式电涡流传感器测厚度的原理图如下2所示。这时金属板材中涡流环的损耗与金属板材的厚度h成正比。由于金属板材中的涡流是由发射线圈产生的电磁场所激励, 所以是根据能量守恒定律,涡流损耗功率P的变化,必然影响到发射线圈所建立起来的磁 感应强度B,这时,金属板材接收线圈感应到由发射线圈所建设起来的、并受金属板材厚 度变化所影响的这个感应强度B,在接收线圈中就感应出与B变化相对应的感生电动势E, 从而实现了对金属板材厚度的测量。传感器和基准面的距离x是固定的,将被测物体放在 基准面上以后,可测量出涡流传感器与被测物体间的距离d,于是可以求出被测物体的厚度卜=乂7。当工件高度质量标准时,输出电压保持恒定,当输出电压波动,说明工件高度 变化,通过传感器输出电压的测量,即可知工件高度的变化情况。从而实现高度的标准化 监测。电涡流传感器金属板材工作平台图2高频反射涡流传感器测量厚度原理图此类传感器适宜金属板材的厚度测量,且特性曲线接近线性,可根据测量时的精度要 求对其进行分段线性化,分段越多测量精确度越高。2硬件系统设计2.1 硬件设计方案在仪器设计时,一方面要考虑控制任务较多,接口复杂,另一方面也要考虑成本问题。 综合这两方面的因素,选用了 MCS-51系列中的89C52单片机作为核心元件。该硬件部分 主要是信号测量电路和单片机系统电路两部分组成。 电涡流传感器测量电路的输出信号通 过A/D转换电路输入到单片机中,同时单片机外接按键电路控制单片机的程序运行以及参 数设定,使得仪器按要求工作。最后的结果用外接的LED显示再配合蜂鸣器和发光二极管达到报警功能,使得仪器更加人性化。在设计测厚仪时,利用电涡流传感器测量电路输出 电压作为初始信号。为了能将电压信号转换成数字信号进行处理显示,需要接A/D转换器ADC0809而ADC0809勺工作电压为05V,大于传感器输出电压,所以还需要接差放电 路。完成数字信号的转换后对信号进行处理就可以用单片机配合软件编程来完成。本系统的硬件系统框图如图3所示。LED显不键盘输入放大电路图3硬件系统框图2.2 单片机最小系统dTZtt5MlIC1ADHNUSfiRiOfiR5THOLTKIi我皿ALETT*25*13*工叱*1嘘J不抬piim riraw a rjirrco*12pi2 而rpi j船3河|Ri 4力通Kg矿PI JEY图4单片机最小系统- P0口: P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为 输出口用时,每位能驱动8个TT出辑门电路,对端口写“ 1”可作为高阻抗输入端用。在访 问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8位)和数据总线复用, 在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时, 输出指令字节,校验时,要求外接上拉电阻50- P1 口: P1是一个带内部上拉电阻的8位双向I /O 口,P1的输出缓冲级可驱动 4个TT出辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作 输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一 个电流(TTL)。Flash编程和程序校验期间,P1接收低8位地址。P2 口: P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动4个 TTL逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输 入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个 电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行 MOVX DPTR令) 时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行 MOVXgRI指令) 时,P2 口线上的内容(也即特殊功能寄存器区 R2寄存器的内容),在整个访问期间不 改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。- P3 口: P3 口是一组带有内部上拉电阻的 8位双向I/O 口。P3 口输出缓冲级可 驱动4个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输 入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流。P3口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 1所示:表1 P3 口第二功能P3.0RXD用行输入口P3.1TXD用行输出口P3.2INTO外部中断0P3.3INT1外部中断1P3.4T0计数器0外部输入P3.5T1计数器1外部输入P3.6WR外部数据存储器写选通P3.7RD外部数据存储器读选通P3 口同时为闪速编程和编程校验接收一些控制信号 RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片 机复位。 ALE/PROG当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉 冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输 出固定的正脉冲信号, 因此它可对外输出时钟或用于定时目的。 要注意的是: 每当访问外部数据存储器时将跳过一个ALE 脉冲。对 F1ash 存储器编程期间,该引脚还用于输入编程脉冲( PRO)G。如有必要,可通过对特殊功能寄存器(SFR区中的8EH单元的DO位置位,可禁止 ALE操作。该位置位后,只有一条 MOVW口 MOVC旨令ALE才会被激活。止匕外,该引脚会 被微弱拉高,单片机执行外部程序时,应设置ALE 无 。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由 外部程序存储器取指令(或数据)时,每个机器周期有两次 PSEN,即输出两个脉冲。在 此期间,当访问外部数据存储器,这两次有的 PSENB号不出现。EA /VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH, EA 端必须保持低电平(接地) 。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源 Vpp,当然这必须是该器件 是使用 12V 编程电压 Vpp 。 XTAL1振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 振荡器反相放大器的输出端。 Vcc 电源电压 GND 地2、 时钟电路:单片机工作的时间基准,决定单片机工作速度。时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。AT89S51单片机时钟频率范围: 0 33MHz。C130PXTAL1Y1 q卜晶振早M89S51XTAL2C230d图5 时钟电路3、复位电路:确定单片机工作的起始状态,完成单片机的启动过程。图6复位电路手动单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。 按键产生复位信号,完成单片机启动,确定单片机的初始状态。通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”2.3显示电路设计显示电路作为常用的现场人机接口,尤其是作为测量数据的智能仪表,显示电路的设 计是不可缺少的。作为温湿度测量系统, 显示电路的设计也不例外。在本设计系统中, 不 仅要显示测量的温湿度值,而且还有不同的温湿度报警参数,故而显示器的设计是十分必 要的。显示器是最常用的输出设备。显示器件使用最多的是发光二极管显示器(LED和液晶显示器(LCD。因为它们都具有结构简单、耗电少、价格低廉、接口简单、寿命长等优 点,广泛应用于智能仪表场合,尤其是单片机系统中大量应用。考虑到使用环境的特点(工 作温度、光线等),在本设计中我们选用LED数码管显示。AT89C51片机的P3 口。通过 位选信号送点亮相应的发光二极管。实现LED数码管的动态显示。AT89C51单片机的P1口作为LED显示器的字型码输入口。点亮的发光二极管显示出相应的数字。LED是一种图形点阵液晶显示器,它主要由行驱动器 /列驱动器及128X64全点阵液 晶显示器组成14。可完成图形显示,也可以显示 8X2个(16X 16点阵)数字或8X4个 (16X 16点阵)汉字。LED接P3 口必须接上拉电阻,P3 口才能输入高电平,LED正常工g XTM1-KTAL2.一i 5pg iaW EZWfl Pl3 3r周网 由也3ZWA 吨了清CTpnMpiE口用和5口F 空领MdPS 7用吗州第博D P31ITKD HJ%wrn P3 hT1.Sfl tn. JT42.4 A/D转换电路图7 显示电路传感器与A/D转换器连线如图8所示10SCLSDAA0A1A2AINOAIN1AIN2AIN3AOUT12T7EXTOSCVREFAGNDPCF85911234151413P0.0/AD0 P0.1/AD1 P0.2/AD2 P03/AD3 P0.4/AD4P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A152122232425262728图8 A/D转换电路3软件系统设计3.1主程序设计开始之后立即进入主程序,系统初始化之后开始高度检测,由于电涡流传感器无法仿 真,只能模拟,所以规定的高度一定有一个对应的电压,由于可能有误差, 所以规定了一 个电压范围2.9v-3.1v ,在范围内就是高度合格,然后计数,不在电压范围内就不合格, 开始报图9主程序框图报警子程序图11报警电路子程序框图图12 显示电路子程序4调试与分析由于电涡流传感器不能直接仿真,所以只能模拟,本课设是有规定的高度检测,因为 高度对应一个电压值,由于有误差,所以规定一个电压范围 2.9v-3.1v ,被测金属工件电 压在规定电压范围内就技术,不在规定范围内就报警。参考文献1钱显毅.传感器原理与应用.东南大学出版社.2008.72冯建华 赵亮.单片机应用系统设计与产品开发.人民邮电出版社.2004.113卢胜利郝立果丁峰边琰.单片机原理与应用技术实践.机械工业出版社.2009.54常喜茂孔英会付小宁.C51基础与应用实例.电子工业出版社.2009.15谭浩强.C程序设计.清华大学出版社.2005.76 康华光. 电子技术基础(模拟部分) . 高等教育出版社.2006.17 康华光. 电子技术基础(数字部分) . 高等教育出版社.2006.18 江思敏 陈明 . Protel 电路设计教程 . 清华大学出版社 .2008.39 孙余凯 吴鸣山 项绮明 . 传感器应用电路300 例 . 电子工业出版社 .2008.310 邦田 .电子电路使用抗干扰技术.人民邮电出版社社.1994.6课设总结在本次课程设计中, 通过上网查资料, 到图书馆借阅图书等方法了解了单片机电路的设计方法,并通过使用 Protuse 软件成功仿真出来了,在仿真过程中, 通过自己调试, 将电路连接成果并且成功仿真出来了。 在课程设计这段时间里, 使我对以前的知识有了更加深刻的了解, 将以前学习的数字电路和智能仪器联系起来, 并且将他们都应用于实际当中,最终完成了设计任务。 通过本次课设, 让我了解到要完成一个设计任务, 可以将任务分成几个功能模块,分开完成。 这样可以提高设计效率,并且将设计难度简化了。当所有功能模块都能达到预定的功能时, 再将其组合在一起, 最终完成我所要完成的设计任务。 在课设过程中, 通过不同功能的电路组合在一起就可以实现我所想要得到的功能, 这些都使我受益匪浅。在仿真过程中,通过自己连接电路图,使用仿真软件,使我对Keil 、 proteus和 protel 等软件的运用更加熟练了,找寻各种器件也更加的快速,这样可以更加快速的完成电路图, 并且对如何测量各种数据也都有了了解。 在上网查资料和阅读相关书籍的时候, 使我学到了很多在课堂上没有学到的知识, 并且将这些知识应用与实际中了, 这次课程设计给了我一次很好的实践会,给我再下学期做毕设设计奠定了基础。2015 年 1 月 16 日完成 心RST雨3附录1原理图rTqlr-5-l-Ll-LaPI 012Pig;P12M3P14P15P1.6P17POlAM POUAOT P01W2 P0JW3 PG4ylM 闻辆的 空!1KM P07OW.WS 电解IP22*O kW” P?* 甲2 工W3 RMWI 器淋WP3W3O1.1 JO 总即迎 畤城而咫均D R3SHRWR 由除D-4L.3J11L1I31513附录 2 程序#include #include #define fosc 11.0592/ 晶振频率/ 定时 2ms#define time0 2#define time1 50/ 定时 50ms#define uchar unsigned char#define uint unsigned int#define AddWr 0x90/写数据地址#define AddRd 0x91/读数据地址sbit Sda=P2A0;定义总线连接端口sbit Scl=P2Al;sbit Wei1=P2A4;/位选1sbit Wei2=P2A5;/位选2sbit Wei3=P2A6;/ 位选3sbit Wei4=P2A7;/ 位选4sbit PassLED=P3A7;/合格指示灯sbit WarnLED=P3A6;/蜂鸣器/ 字型码缓冲区uchar LEDbuf4;uchar Position;bit T1up;/ 字位/ 定时器 1 的标志uint timer0,timer1;/ 临时变量,用于计算定时void display(void);/ 显示函数void Update( uchar a,uchar b, uchar c,uchar d) ;/ 更新数据unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,/8 段码显示 0-90xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,;void Delay_1ms(uint i);/1ms 延时void Initial_main();/主函数初始化uchar ReadADC(unsigned char Chl);/读 AD 转换值bit KeyRealse;/KeyRealse按键松开标志uint Count;/ 合格个数void main(void)/主程序uint ADtemp;/保存 AD 转换后的值Initial_main();WarnLED=1;PassLED=1;Count=0;Update(0,0,0,0);while(1)/初始化/合格数初始化为0if(TestKey=0)&(KeyRealse=1)/检测测试按键是否按下Delay_1ms(100);if(TestKey=0) KeyRealse=0;ADtemp=ReadADC(2);ADtemp=ReadADC(2);ADtemp= ADtemp*50/256 ;/延时防抖/检测测试按键是否按下/按键标志清零/ 进行AD 转换/ 进行AD 转换/百分比if(ADtemp=29)& (ADtemp=31)/高度合格 Count+;/合格数增加1Update(ADtemp/10%10+10,ADtemp%10,Count/10%10,Count%10);PassLED=0;/ 合格灯亮起Delay_1ms(500);/ 延时 1 秒PassLED=1;/ 合格灯灭/更新数字显 else Update(ADtemp/10%10+10,ADtemp%10,Count/10%10,Count%10);示/更新数字显WarnLED=0;/报警灯亮起Delay_1ms(500);/ 延时 1 秒/报警灯熄灭WarnLED=1;if(TestKey=1) KeyRealse=1;/ 按键标志置位void Initial_main() TMOD = 0x11;/ T0 , T1 工作方式 1/*2ms 定时设置 */timer0 = 65536-time0*1000*fosc/12;TH0=(timer0/256);/定时器th0 , tl0 初值输入TL0=(timer0%256);TR0=1;/ 定时器0 触发位置位,开始定时ET0=1;/定时器0 开中断EA = 1;/开总中断/ 从第一位数码管开始Position = 0x00;void Delay_1ms(uint i)/1ms 延时 uint x, j;for(j=0;ji;j+)for(x=0;x7)Position=0;/*void Start(void)Sda=1;_nop_();Scl=1;_nop_();Sda=0;_nop_();Scl=0;/*停止 IIC 总线*/void Stop(void)Sda=0;_nop_();Scl=1;_nop_();Sda=1;_nop_();Scl=0;/*void Ack(void)Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();/*非应答 IIC 总线*/void NoAck(void)Sda=1;_nop_();Scl=1;_nop_();Scl=0;_nop_(); /*发送一个字节unsigned char BitCounter=8;unsigned char temp;dotemp=Data;Scl=0;_nop_();if(temp&0x80)=0x80)Sda=1;elseSda=0;Scl=1;temp=Data1;Data=temp;BitCounter-;while(BitCounter);Scl=0;/*读入一个字节并返回*/unsigned char Read(void)unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;doScl=0;_nop_();Scl=1;_nop_();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1)temp1=temp1;temp=temp1;BitCounter-;while(BitCounter);return(temp);/*读取 AD 模数转换的值,有返回值*/unsigned char Data;Start();/ 写入芯片地址Send(AddWr);Ack();Send(0x40|Chl);/ 写入选择的通道,本程序只用单端输入,差分部分需要自行添加/Chl 的值分别为0、 1、 2、 3,分别代表1-4 通道Ack();Start();Send(AddRd);/读入地址Ack();Data=Read();/ 读数据Scl=0;NoAck();Stop();return Data; /返回值/* 定时器 0 用于定时程序中所需时间 */void time0_int(void) interrupt 1 using 1/定时2msEA=0;/ 关总中断TH0 = (timer0/256);/定时器tl0 , th0 初始/开中断/数码管显示TL0 = (timer0%256);EA=1;display();
展开阅读全文