单片机 课程设计.doc

上传人:飞****2 文档编号:60093767 上传时间:2022-11-13 格式:DOC 页数:28 大小:347KB
返回 下载 相关 举报
单片机 课程设计.doc_第1页
第1页 / 共28页
单片机 课程设计.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《单片机 课程设计.doc》由会员分享,可在线阅读,更多相关《单片机 课程设计.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 洛 阳 理 工 学 院 课 程 设 计 说 明 书课程名称 单片机原理与课程设计 设计课题 数字秒表 专 业 自动化 班 级 B 姓 名 路晓敏 2013年 6 月 21 日 课 程 设 计 划 任 务 书电 气 工 程 与 自 动 化 系 自 动 化 专业 学生姓名 路晓敏 班级 B 学号B 课程名称: 单片机原理与接口技术 设计题目:数字秒表 课程设计内容与要求: 设计(论文)开始日期 2013 年6月10日 指导教师 张娟梅 董红政 设计(论文)结束日期 2013 年6月21日 指导教 董红政 张娟梅 2013 年 6 月 21 日 电气工程与自动化 系 自动化 专业 学生姓名 路晓敏

2、 班级 B 学号 B 课程名称:单片机原理与接口技术 设计题目:数字秒表 课程设计篇幅: 图 纸 张 说明书 页指导教师评语:数字秒表摘 要近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到 0.001s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。另外硬件部分设置了查看按键,可以对秒表上一次计时时间进行保存,供使用者查询。 本设计的数字电子秒表系统采用 AT89C52 单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED 数码管以及外部中断电路来设计计时器。

3、将软、硬件有机地结合起来,使得系统能够实现五位 LED 显示,显示时间为 099.999秒,计时精度为 0.001 秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在 WAVE 中调试运行,硬件系统利用 PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。

4、关键词:AT89C51,数字秒表,显示Digital StopwatchABSTRACTAbstract With the rapid development of science and technology in recent years SCMapplications are constant-depth manner. In this paper based on single chip design ofdigital electronic stopwatch. The main characteristics of this design timing accuracy of0.0

5、01s to solve the traditional result of a lack accuracy due to timing errors and unfairand is a variety of sports competitions one of the essential equipment. In addition thehardware part of the set View button on the stopwatch can be the last time to save time foruser queries. The design of the mult

6、i-function stopwatch system uses STC89C52 microcontrolleras the central device and use its timer / counter timing and the count principles combinedwith display circuit LED digital tube as well as the external interrupt circuit to design atimer. The software and hardware together organically allowing

7、 the system to achieve twoLED display shows the time from 0 to 99.999 seconds Timing accuracy of 0.001 secondsBe able to correctly time at the same time to record a time and the next time after the lasttime the time to search.automatically added a second in which software systems usingassembly langu

8、age programming including the display program timing interrupt serviceexternal interrupt service routine delay procedures key consumer shaking proceduresand WAVE in the commissioning operation hardware system uses to achieve PROTEUSpowerful simple and easy to observe the cut in the simulation can be

9、 observed on theactual working condition. Keyword:LED display;High-precision stopwatch;STC89C52KEY WORDS: AT89C51,Digital stopwatch,Display 目录概 述1第1章 系统总体方案设计21.1 设计内容21.2 设计要求21.3 设计思路及描述2第2章 系统硬件电路的设计42.1 89C51单片机简介42.1.1 89C51提供的标准功能42.1.2 89C51引脚功能42.2 晶振与复位电路72.3 显示电路82.3 按键11第3章 系统软件结构设计123.1

10、主程序设计123.2 定时器T0中断服务程序12结论14谢 辞15参考文献16附录17前 言秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。有关计时钟表的发展历史,大致可以分为三个演变阶段。一、从大型钟向小型钟演变。二、从小型钟向袋表过渡。三、从袋表向腕表发展。每一阶段的发展都是和当时的技术发明分不开的。1088年,当时我国宋朝的科学家苏颂和韩工廉等人制造了水运仪象台,它是把浑仪、浑象和机械计时器组合起来的装置。它以水力作为动力来源,具有科学的擒纵机构,虽然几十年后毁于战乱,但它在世界钟表史上具有

11、极其重要的意义。1656年,荷兰的科学家惠更斯应用伽利略的理论设计了钟摆,第二年,在他的指导下年轻钟匠S.Coster制造成功了第一个摆钟。1675年,他又用游丝取代了原始的钟摆,本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。本设计的数字秒表采用AT89C51单片机为主要器件,利用其定时器的原理,结合LED数码管以及外部中断电路来设计计时器。将软硬件结合起来,使得系统能实现099.99秒的计时,计时精度位0.01秒。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续

12、计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。第1章 系统总体方案设计1.1 设计内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。1.2 设计要求了解8051芯片的的工作原理和工作方式 ,使用该

13、芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。1.3 设计思路及描述近年来随着科学技术的发展,单片机的应用范围越来越广,也成为很多专业的必修课。本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。本设计

14、的数字秒表采用AT89C51单片机为主要器件,利用其定时器的原理,结合LED数码管以及外部中断电路来设计计时器。将软硬件结合起来,使得系统能实现099.99秒的计时,计时精度位0.01秒。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。系统总体框图如图1-1所示。图1-1 系统总体框图第2章 系统硬件电路的设计2.1 89C51单片机简介AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable

15、 and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。主要性能: u 与MCS-51 微控制器产品系列兼容。 u 片内有4KB可在线重复编程的快闪擦写存储器 u 存储数据保存时间为10年 u 宽工作电压范围:Vcc可为2.7V到6V u 全静态工作:可从0Hz至16MHz u 程序存储器具有3级加密保护 u 128*8位内部RAM u 32条可编程I/O线 u 两个16位定时器/计数器 u 中断结构具有5个中断源和2个优先级 u 可编程全双工串行通道 u 空闲状态维持低功耗和掉电状态保存存

16、储内容2.1.1 89C51提供的标准功能4k 字节FLASH 闪速存储器,128 字节内部RAM,32 个I/O 口线,2 个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 降至0Hz 的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。2.1.2 89C51引脚功能(1)Vcc:电源电压(2)GND:地(3)P0 口:P0 口是一组8 位漏极开路型双向I/O

17、口,也即地址/数据总线复用。作为输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。(4)P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信

18、号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1 接受低8 位地址。(5)P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位四肢的外部数据存储器(例如执行MOVX DPTR指令)时,P2 口送出高8 位地址数据,在访问8 位地址的外部数据存储器(例如执行MOVX RI 指令)时,P2 口线上的内容(也即特殊功

19、能寄存器(SFR)区中R2 寄存器的内容),在整个访问期间不改变。Flash 编程和程序校验时,P2 也接收高位地址和其他控制信号。(6)P3 口:P3 是一个带有内部上拉电阻的8 位双向I/O 口,P3 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。(7)RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。(8)AL

20、E/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC 指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。(9)PSEN:程序存

21、储允许输出是外部程序存储器的读选通型号,当89C51 由外部存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。(10)EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12v 的编程允许电源Vpp,当然这必须是该器件使用12v 编程电压Vpp。(11)XT

22、AL1:振荡器反相放大器及内部时钟发生器的输入端。(12)XTAL2:振荡器反相放大器的输出端。89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体或陶瓷谐振器及电容C1和C2接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2 虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf10 Pf,而如使用陶瓷谐振器建议选择40Pf10Pf。用户也可

23、以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端XTAL2 则悬空。(13)掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc 恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。89C51 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字符,要对整个芯片的EPROM 程序存储器写入一个非空字节,必须使用片擦除的方法将整个存储器的内容

24、清楚。图2-1 89C51引脚管脚图2.2 晶振与复位电路左边为复位电路、右边为12M的晶振电路,这两块与单片机组成最小系统。关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。单片机系统里都有晶振。全称叫做晶体振荡器,他结合单片机内部电路产生所需的时钟频率,单片机晶振提供的时钟频率越高,单片机运行的速度就越快,单片机接的一切指令的执行都是建立在单片机

25、晶振提供的时钟频率。单片机晶振的作用是为系统提供基本的时钟信号,晶振通常和锁相环电路配合作用,以提供系统所需的时钟频率。图2-2 复位与晶振电路2.3 显示电路单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(58、88点阵等)。这里我们采用的是发光二管LED。发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极

26、管。在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。按发光二极管单元连接方式分为共阳极数码管和

27、共阴极数码管。(1)共阳数码管共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。(2) 共阴数码管共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。本次设计中,采用的是共阴极数码管。将共阴极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平,

28、去控制数码管。(a)符号和引脚 (b)共阳极接法 (c)共阴极接法 图2-3 LED数码管内部结构与外形LED显示器工作方式有两种:静态显示方式和动态显示方式。(1)静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89C51单片机可用的I/O端口才32个呢,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持

29、显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。(2)数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数

30、码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低,如表1,为数码管显示的16进制代码。表2-1 8段共阴极数码管显示数表动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相

31、应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。2.3 按键按下键盘上独立键中的P34键,开始计时。按下P35键,即暂停计时。此时若继续按下P34键,则继续计时,在此前数据基础上计时。按下P

32、36键,则表示清零,数码管前四位均显示0。图2-4 简单的按键接口第3章 系统软件结构设计3.1 主程序设计本系统程序主要模块由主程序、定时中断服务程序、延时程序组成。主程序主要是对定时器赋初值,开总中断、定时器溢出中断。3.2 定时器T0中断服务程序当T0溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行,当中断次数为2时为10ms。具体流程如图3-1所示。 图3-1 定时器T0中断服务程序结论本文主要从硬件方面说明设计的总体思路和设计的实现过程,能够实现秒表的基本功能.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原

33、理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;再焊接过程中稍不注意就会出现管脚的错位,有些在硬件测试过程中才检查出来。在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使作者明白要把所学到的理论转化为实践需要一段努力学习的过程;在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。通过此次课程设计我们有了更深的认识,只有在设计制作的过程中不断的学习才能有更新的进步.不论在什么地方,什么岗位我门都要以学为主.学以学以置用.才能把我们的工作做的更好.谢 辞本论文是在导师的精心指导下

34、完成的。感谢导师在论文的选题、实验方案的确定、实验的进行以及最后的论文撰写整个过程中给予我细心的指引和教导,使我对本课程设计有了初步的了解,并最终完成此次课程设计。导师渊博的知识、敏锐的学术思维、严谨的治学态度、求实的科学态度和工作作风以及创新的工作精神,令我终身受益,是我毕生学习的典范,值此论文完成之际,谨向张娟梅老师致以崇高的敬意和衷心的感谢!参考文献1 陈小忠 主编单片机接口技术实用子程序 人民邮电出版社 1999年2 张毅刚 编著新编MCS-51单片机应用设计 哈尔滨工业大学出版社 2000年3 张大明主编 单片机微机控制应用技术 机械工业出版社4 何立民编著MCS51系列单片机应用系

35、统设计 北京航空航天大学出版社 1999年5 赵晓安主编MCS-51单片机原理及应用 天津大学出版社 2001年6 杨素行 主编模拟电子技术基础简明教程 高等教育出版社 1999年7 房小翠 主编单片微型计算与机电接口技术国防工业出版社 2001年8 吴金戌 沈庆阳 郭庭吉8051单片机实践与应用清华大学出版社 2002年9 Kai E, Sawata S, Lkebukuro K et al. Detection of PCR product in solution using surface plasmon resonance .Analytical Chemistry, 1999.7.1

36、 :796800 10 Verghese G C, Lang H, Casey L F. Analysis of instability in electrical machines .IEEE Trans on IA, 1986, 22 :853-864 11 Richard Blanchard, James Harden.Mosfets control more power in the same-sized package .Electronic Design, 1982, 12 :107114 附录附录一:系统总体电路图附录二:程序清单#include#define uint unsi

37、gned int#define uchar unsigned charvoid delay(uint); /延时程序sbit k1=P34;/定义开始键sbit k2=P35;/定义暂停键sbit k3=P36;/定义清零键sbit dula=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar tt,i,j,k,l;void display(uchar i,uchar j,uchar k,uchar l); /数码管显示数void main()tt=0;i=0;j=

38、0;k=0;l=0;/数码管显示0TMOD=0x01; /设置定时器为模式1TH0=(65536-5000)/256; /给定时器赋定时初值TL0=(65536-5000)%256;EA=1; /开总中断ET0=1; TR0=0; while(1) if(k1=0) /判断是否按下开始键delay(10); /消抖if(k1=0) TR0=1;if(k2=0) /判断是否按下暂停键delay(10); /消抖if(k2=0) TR0=0;if(k3=0) /判断是否按下清零键 delay(10); if(k3=0) i=0;j=0;k=0;l=0; TR0=0;/清零display(i,j,k

39、,l); /数码管显示void delay(uint z)uint x,y;for(x=100;x0;x-)for(y=z;y0;y-); /延时void exter0() interrupt 1 /定时器溢出中断TH0=(65536-5000)/256; /重装计时初值TL0=(65536-5000)%256;tt+;if(tt=2)tt=0;i+; /溢出两次,0.01秒位加1if(i=10)i=0;j+; /0.01秒位到10,0.1位加1if(j=10)j=0;k+; /0.1秒位到10,1秒位加1if(k=10)k=0;l+;/1秒位到10,10秒位加1if(l=10)l=0;/10

40、秒位到10,清零void display(uchar i,uchar j,uchar k,uchar l)dula=1;P0=tablei; /显示数值dula=0;wela=1;P0=0xf7;/0.01秒位显示wela=0;delay(1);dula=1;/数值显示P0=tablej;dula=0;wela=1;P0=0xfb; /0.1秒位显示wela=0;delay(1);dula=1; /数值显示P0=tablek|0x80; /始终在1秒位后面显示小数点dula=0;wela=1;P0=0xfd; /1秒位显示wela=0;delay(1);dula=1;P0=tablel; /数值显示dula=0;wela=1;P0=0xfe; /10秒位显示wela=0;delay(1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁