单片机课程设计参考数字电子秒表优质资料.doc
《单片机课程设计参考数字电子秒表优质资料.doc》由会员分享,可在线阅读,更多相关《单片机课程设计参考数字电子秒表优质资料.doc(51页珍藏版)》请在咨信网上搜索。
单片机课程设计参考数字电子秒表优质资料 (可以直接使用,可编辑 优质资料,欢迎下载) 物理与电子信息学院 单片机与接口技术课程设计报告 设计题目: 数字电子秒表 专业: 电子信息工程 班 级: Bnnnnnnn 姓 名:张三、王五 教师评语: 成绩 评阅教师 日期 课程设 计 划 任 务 书 电子信息工程 系电子信息工程专业 学生姓名张三班级Bnnnnnnn学号Bmmmmmm 学生姓名 李四 班级 Bnnnnnnn 学号Bmmmmmm 学生姓名 王五 班级 Bnnnnnnn 学号Bmmmmmm 课程名称:单片机原理与接口技术 设计题目:数字秒表 课程设计内容与要求: 课程设计开始日期20 年月日指导教师 课程设计结束日期 20 年月日 数字秒表 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到 0.001s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。另外硬件部分设置了查看按键,可以对秒表上一次计时时间进行保存,供使用者查询。 本设计的数字电子秒表系统采用 AT89C52 单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED 数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位 LED 显示,显示时间为 0~99.999秒,计时精度为 0.001 秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在 WAVE 中调试运行,硬件系统利用 PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。 关键词:AT89C51;数字秒表;显示 Digital Stopwatch ABSTRACT Abstract 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.001s 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 multi-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 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 language 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 observed on theactual working condition. Keyword:LED display;High-precision stopwatch;STC89C52 KEY WORDS:AT89C51,Digital stopwatch,Display 目 录 前言3 1 系统总体方案设计3 1.1 设计内容3 1.2 设计要求4 1.3 设计思路及描述4 2 系统硬件电路的设计5 2.1 AT89C51单片机简介5 2.1.1 AT89C51提供的标准功能5 2.1.2 AT89C51引脚功能5 2.2 晶振与复位电路8 2.3 显示电路9 2.3 按键11 3 系统软件结构设计12 3.1 主程序设计12 3.2 定时器T0中断服务程序12 结 论13 参考文献13 谢辞14 附 录15 前 言 秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。 有关计时钟表的发展历史,大致可以分为三个演变阶段。一、从大型钟向小型钟演变。二、从小型钟向袋表过渡。三、从袋表向腕表发展。 每一阶段的发展都是和当时的技术发明分不开的。 1088年,当时我国宋朝的科学家苏颂和韩工廉等人制造了水运仪象台,它是把浑仪、浑象和机械计时器组合起来的装置。它以水力作为动力来源,具有科学的擒纵机构,虽然几十年后毁于战乱,但它在世界钟表史上具有极其重要的意义。 1656年,荷兰的科学家惠更斯应用伽利略的理论设计了钟摆,第二年,在他的指导下年轻钟匠S.Coster制造成功了第一个摆钟。1675年,他又用游丝取代了原始的钟摆, 本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。本设计的数字秒表采用AT89C51单片机为主要器件,利用其定时器的原理,结合LED数码管以及外部中断电路来设计计时器。将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。 1系统总体方案设计 1.1 设计内容 用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。 1.2 设计要求 了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。 要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。 1.3设计思路及描述 近年来随着科学技术的发展,单片机的应用范围越来越广,也成为很多专业的必修课。本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。 本文简单阐述了基于单片机的秒表设计。本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。本设计的数字秒表采用AT89C51单片机为主要器件,利用其定时器的原理,结合LED数码管以及外部中断电路来设计计时器。将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。当按下一个开始键时,开始显示数字,即计时开始,再按下暂停键时,暂停计时并显示刚才的结果,这个时候如果再按开始键,则继续计时,也就是显示的数字包括刚才的数据。按下清零键时,数据清零。系统总体框图如图1-1所示。 图1-1 系统总体框图 2系统硬件电路的设计 2.1AT89C51单片机简介 AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable 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 空闲状态维持低功耗和掉电状态保存存储内容 2.1.1 AT89C51提供的标准功能 4k 字节FLASH 闪速存储器,128 字节内部RAM,32 个I/O 口线,2 个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 降至0Hz 的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。 2.1.2 AT89C51引脚功能 (1)Vcc:电源电压 (2)GND:地 (3)P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用。作为输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 (4)P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1 接受低8 位地址。 (5)P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位四肢的外部数据存储器(例如执行MOVX @DPTR指令)时,P2 口送出高8 位地址数据,在访问8 位地址的外部数据存储器(例如执行MOVX @ Ri指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2 寄存器的内容),在整个访问期间不改变。Flash 编程和程序校验时,P2 也接收高位地址和其他控制信号。 (6)P3 口:P3 是一个带有内部上拉电阻的8 位双向I/O 口,P3 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 (7)RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。 (8)ALE/:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC 指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。 (9):程序存储允许输出是外部程序存储器的读选通型号,当AT89C51 由外部存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出现。 (10)EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—0FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件使用12V编程电压Vpp。 (11)XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 (12)XTAL2:振荡器反相放大器的输出端。AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体或陶瓷谐振器及电容C1和C2接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf±10Pf,而如使用陶瓷谐振器建议选择40Pf±10Pf。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端XTAL2则悬空。 (13)掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc 恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。AT89C51 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字符,要对整个芯片的EPROM 程序存储器写入一个非空字节,必须使用片擦除的方法将整个存储器的内容清楚。 图2-1 AT89C51引脚管脚图 2.2 晶振与复位电路 左边为复位电路、右边为12M的晶振电路,这两块与单片机组成最小系统。 关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 单片机系统里都有晶振。全称叫做晶体振荡器,他结合单片机内部电路产生所需的时钟频率,单片机晶振提供的时钟频率越高,单片机运行的速度就越快,单片机接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 单片机晶振的作用是为系统提供基本的时钟信号,晶振通常和锁相环电路配合作用,以提供系统所需的时钟频率。 图2-2复位与晶振电路 2.3 显示电路 单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。这里我们采用的是发光二管LED。 发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。 它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。 图2-3 LED数码管内部结构与外形 (1)共阳数码管 共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 (2) 共阴数码管 共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 本次设计中,采用的是共阴极数码管。将共阴极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平,去控制数码管。 LED显示器工作方式有两种:静态显示方式和动态显示方式。 (1)静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89C51单片机可用的I/O端口才32个呢,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。 (2)数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低,如表2-1,为数码管显示的16进制代码。 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 表2-1 8段共阴(阳)极数码管显示数表 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。 由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。 2.3 按键 按下键盘上独立键中的P3.4键,开始计时。按下P3.5键,即暂停计时。此时若继续按下P3.4键,则继续计时,在此前数据基础上计时。按下P3.6键,则表示清零,数码管前四位均显示0。 图2-4 简单的按键接口 3系统软件结构设计 3.1 主程序设计 本系统程序主要模块由主程序、定时中断服务程序、延时程序组成。主程序主要是对定时器赋初值,开总中断、定时器溢出中断。 3.2 定时器T0中断服务程序 当T0溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行,当中断次数为2时为10ms。具体流程如图3-1所示。 图3-1 定时器T0中断服务程序 结 论 本文主要从硬件方面说明设计的总体思路和设计的实现过程,能够实现秒表的基本功能.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;再焊接过程中稍不注意就会出现管脚的错位,有些在硬件测试过程中才检查出来。 在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使作者明白要把所学到的理论转化为实践需要一段努力学习的过程;在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。 通过此次课程设计我们有了更深的认识,只有在设计制作的过程中不断的学习才能有更新的进步.不论在什么地方,什么岗位我门都要以学为主.学以学以置用.才能把我们的工作做的更好. 参考文献 [1] 陈小忠主编《单片机接口技术实用子程序》人民邮电出版社 1999年 [2] 张毅刚编著《新编MCS-51单片机应用设计》哈尔滨工业大学出版社 2000年 [3] 张大明主编《单片机微机控制应用技术》机械工业出版社 [4] 何立民编著《MCS51系列单片机应用系统设计》北京航空航天大学出版社 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 :796~800 [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 :107~114 谢 辞 本论文是在导师的精心指导下完成的。感谢导师在论文的选题、实验方案的确定、实验的进行以及最后的论文撰写整个过程中给予我细心的指引和教导,使我对本课程设计有了初步的了解,并最终完成此次课程设计。导师渊博的知识、敏锐的学术思维、严谨的治学态度、求实的科学态度和工作作风以及创新的工作精神,令我终身受益,是我毕生学习的典范,值此论文完成之际,谨向张娟梅老师致以崇高的敬意和衷心的感谢! 附 录 附录一:系统总体电路图 附录二:程序清单 #include<reg52.h> #define uint unsigned int #define uchar unsigned char void delay(uint); //延时程序 sbit k1=P3^4; //定义开始键 sbit k2=P3^5; //定义暂停键 sbit k3=P3^6; //定义清零键 sbit dula=P2^6; sbit wela=P2^7; 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=0; k=0; l=0; //数码管显示0 TMOD=0x01; //设置定时器为模式1 TH0=(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,l); //数码管显示 } } void delay(uint z) { uint x,y; for(x=100;x>0;x--) for(y=z;y>0;y--); //延时 } void exter0() interrupt 1 //定时器溢出中断 { TH0=(65536-5000)/256; //重装计时初值 TL0=(65536-5000)%256; tt++; if(tt==2) { tt=0; i++; //溢出两次,0.01秒位加1 if(i==10) { i=0; j++; //0.01秒位到10,0.1位加1 } if(j==10) { j=0; k++; //0.1秒位到10,1秒位加1 } if(k==10) { k=0; l++; //1秒位到10,10秒位加1 } if(l==10) { l=0; //10秒位到10,清零 } } } void display(uchar i,uchar j,uchar k,uchar l) { dula=1; P0=table[i]; //显示数值 dula=0; wela=1; P0=0xf7; //0.01秒位显示 wela=0; delay(1); dula=1; //数值显示 P0=table[j]; dula=0; wela=1; P0=0xfb; //0.1秒位显示 wela=0; delay(1); dula=1; //数值显示 P0=table[k]|0x80; //始终在1秒位后面显示小数点 dula=0; wela=1; P0=0xfd; //1秒位显示 wela=0; delay(1); dula=1; P0=table[l]; //数值显示 dula=0; wela=1; P0=0xfe; //10秒位显示 wela=0; delay(1); } 单片机课程设计报告 设计课题:秒表设计 专业班级:10级电子信息科学与技术4班 学生姓名:马飞 杨悬悬 夏婷婷 董静静 对应学号:080210198 080210227 080210248 080210257 指教教师:郭玉 设计时间:2012 年6月7日 目录 一、课程设计目的和意义和主要功能 1、目的意义 2、主要功能 二、方案设计与论证 1、时钟电路 2、按钮电路 3、显示电路 4、单片机 5、参数计算 三、硬件电路设计 1、STC89C52RC单片机的简单介绍 2、接口电路 3、硬件连线图 四、软件设计:数字秒表流程图、数字秒表源程序 五、性能分析 六、结论和心得 附件(源程序) 电子秒表设计 摘要:本次设计主要是用STC89C52RC设计一个2位的数码作为“秒表”。主要是利用单片机的定时器/计数器定时和计数原理来设计简单的计时器系统,拥有正确的启动停止、时间调整、清零功能,启动停止清零通过键盘按键控制,并同时可以用数码管显示数字0-59,每秒自动加1,能正确地进行计时。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序等,并在keil中调试运行,硬件系统利用单片机开发板能来实现,简单且易于观察,在现实生活中应用广泛,具有现实意义。 关键字:单片机 定时器 启动 停止 清零 时间调整 数码管 键盘 一、 课程设计目的和意义和主要功能 1、目的意义 1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。 2、 掌握定时器、外部中断的设置和编程原理。 3、 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 2、主要功能 显示时间为0-59秒,每1秒自动加1,另外设计一个“启动”键、一个“停止”键和一个“清零”键。能用按钮实现秒表启动、停止、清零功能 二、 方案设计与论证 1、方案设计 本设计要求进行计时并在数码管上显示时间,分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。 (1)、时钟电路 常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。 时钟电路如图所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。 (2)、按钮电路 主要由S1 S2 S3三个按键组成,因为开发板自己默认的键盘是矩阵式,而我们的设计中只需要用到三个按键,考虑到按键个数比较少,我们将开发板上的J11跳冒由原来的右边调整到左边,让键盘变成独立式。按钮电路中的“启动”按键由键盘上的S1控制,按钮电路中的“停止”按键由键盘上的S2控制,按钮电路中的“清零”按键由键盘上的S3控制。 (3)、具体按键说明 按“启动”按键,开始计数,数码管显示从00开始每秒自动加1;按“停止”按键,系统暂停计数,数码管显示当时的计数,并且再次按“启动”键后就会继续计时;按“清零”按键,系统暂停计数,数码管显示00,并且再次按“启动”就会重新计时。 3、显示电路 所用的数码管有共阴和共阳之分,本此设计使用的数码管是共阴极,数码管位控制有P2口控制。由于电路内部已经有74HC138译码器,译码器的A、B、C赋值0~7,因此输出端分别是Y0-Y7置“0”,如p2=0,则Y0=0,及选通第一个数码管,所以当我们要显示某一个数码管时,只要将P2口赋相应的值即可。因为秒表只需用两个数码管,我们选用的是第一个和第二个数码管,及分别给P2口送0和1.而数码管显示的数字段码由P0口控制,每次需要显示的数- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 参考 数字 电子 秒表 优质 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文