1、 本科毕业设计(论文)(20 届)基于单片机的多功能电子跑表所在学院专业班级 电子信息科学与技术学生姓名指导教师完成日期目录摘要 .IIAbstract .III第一章 绪论 .11.1 单片机的概述 .11.1.1 单片机的发展和定义 .11.1.2 单片机的特点 .1第二章 材料选择与设计思路 .22.1 材料选择 .22.1.2 单片机的选择 .22.1.2 LED 显示 .22.1.3 键盘 .32.2 设计思路 .3第三章 主要技术的设计 .53.1 主要技术 .53.2 主要的设计方案 .53.2.1 定时器 .53.2.2 显示 .83.2.3 键盘 .93.2.4 利用定时中断
2、进行显示和查键 .9第四章 电路 .124.1 复位电路 .124.2 元件及其作用 .124.3 I/0 接口 .13第五章 程序 .145.1 程序流程图 .145.1.1 秒表的计时功能 .145.1.2 秒表的倒计时功能流程图 .155.2 程序 .16第六章 总结 .17参考文献 .18附录 .19基于单片机的多功能电子跑表摘要 采用单片机技术制作一个具有到计时功能和多次数据计时并回显的多功能跑表。我们采用 51 单片机做为核心!单片机具体型号为 SST89E516RD2 是 SST 公司 8 位微处理器 FlashFlex51 系列的成员,是采用先进的闪存 CMOS 半导体技术设计
3、和制造,这些器件是采用 8051 的指令集,并和标准的 8051 控 制 器 管 脚 兼 容 。 芯片内部带有 16/24/40/72Kbyte 的片内 FLASH EEPROM 存储器,使用了 SST 公司专利的 CMOS 闪存技术,存储器被分成两块独立的程序存储器,第一块(BLOCK0)占用 8/16/32/64Kbyte 的内部程序存储器空间,第二块( BLOCK0)占用 8Kbyte 的内部程序存储器空间。8Kbyte 的第二块 FLASH 可以映射到 8/16/32/64Kbyte 空间的低地址,还可以被隐藏和当成类似 EEPROM 的独立的数据存储器。本次设计采用 SST89E51
4、6RD2 为核心加上必要的电路,再用共阴 7 段数码管 4 个进行显示输出,用按键控制功能选择,因为 SST89E516RD2 电源是 4.50V - 5.50V 操作,工作频率 040MHz 所以我们采用 5V 电源进行供电。设计分为(1)功能描述(2)系统构建和材料选择(3)制作方案和制作流程图(4)程序设计(5)电路。如何应用单片机技术是我的毕业设计的核心!随着科学技术的不段发展,单片机技术已经成为现在智能化的高科技技术产品的核心和基础。单片机知识对于即将毕业的我们有着很重要的意义。关键词:单片机,多功能电子跑表,共阴 7 段数码管Microcontroller-based Multi-
5、Function Electronic StopwatchAbstractSCM technology can be used to make a memory of multiple sets of data and time when the record is complete data set can display memory! We use 51 microcontroller as the core! SCM specific model for the SST89E516RD2 SST company is 8-bit microcontroller FlashFlex51
6、family members,Flash memory is the use of advanced design and manufacturing CMOS semiconductor technology, these devices are using the 8051 instruction set, and the standard 8051 pin-compatible controller. With 16/24/40/72Kbyte chip FLASH EEPROM memory chip, using the SSTs proprietary CMOS flash mem
7、ory technology, memory is divided into two independent program memory, the first one (BLOCK0) occupation 8/16/32 / 64Kbyte internal program memory space, the second block (BLOCK0) occupied 8Kbyte internal program memory space. 8Kbyte of the second block can be mapped to a FLASH 8/16/32/64Kbyte low a
8、ddress space can also be hidden and as similar to the independent data EEPROM memory.The design uses SST89E516RD2 the core with the necessary circuitry, and then common cathode 7-segment 4 to display the output, with the key control option because SST89E516RD2 power is 4.50V - 5.50V operation, so th
9、e frequency of 0 40MHz We supply with 5V power supply.Design is divided into (1) Features (2) systems engineering and material selection (3) production programs and production flow chart (4) programming (5) circuit (6) production in kind。How to use microcontroller technology is the core of my gradua
10、tion! not of science and technology with the development of intelligent single chip technology has become a high technology products are now the core and foundation. SCM knowledge is about to graduate we have very important significance.Keywords:SCM ;multifunctional;electronic stopwatch第一章 绪论1.1 单片机
11、的概述1.1.1 单片机的发展和定义在一片集成电路芯片上集成微处理器、存储器、I/O 接口电路,从而构成了单芯片微型计算机,即单片机。又称:微控制器。单片机技术发展过程可分为三个主要阶段: 单片机的初级阶段 1974 年1978 年,Intel 公司推出了 MCS-48 系列单片机 。8 位 CPU、1K 字节 ROM、64 字节 RAM、27 根 I/O 线和 1 个 8 位定时/ 计数器。特点是:存储器容量较小,寻址范围小(不大于 4K) ,无串行接口,指令系统功能不强。 高性能阶段 1980 年,Intel 公司推出了 MCS-51 系列单片机:8 位 CPU、4K 字节 ROM、128
12、 字节 RAM、4 个 8 位并口、1 个全双工串行口、2 个 16 位定时/计数器。寻址范围 64K,并有控制功能较强的布尔处理器。结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51 已成为公认的单片机经典机种。 微控制器化阶段 1982 年,Intel 推出 MCS-96 系列单片机。芯片内集成: 16 位CPU、 8K 字节 ROM、232 字节 RAM、5 个 8 位并口、1 个全双工串行口、2 个 16 位定时/ 计数器。寻址范围 64K。片上还有 8 路 10 位 ADC、1 路 PWM 输出及高速 I/O 部件等。特点是:片内面向测控系统外围电路增强,使单
13、片机可以方便灵活地用于复杂的自动测控系统及设备。 “微控制器” 的称谓更能反应单片机的本质。1.1.2 单片机的特点控制性能和可靠性,高实时控制功能特别强,其 CPU 可以对 I/O 端口直接进行操作,位操作能力更是其它计算机无法比拟的。另外,由于 CPU、存储器及 I/O 接口集成在同一芯片内,各部件间的连接紧凑,数据在传送时受干扰的影响较小,且不易受环境条件的影响,所以单片机的可靠性非常高。第二章 设计思路与材料选择2.1 设计思路为了实现秒表的计时,需要利用单片机实现百分之一秒(10ms)的中断,在中断程序中实现数字的变化,并动态显示出来。显示采用的是动态扫描的方法。动态扫描的方法其实很
14、简单,就是轮流点亮各数码管,同时把各数码管所需要的字符送到对应的 I/O 口;而中间需要有一定的延时,原因是单片机每一条指令执行的时间很短,如果切换得太快的话,发光二极管都来不及反应,在编程上可以加上一个延时子程序来解决。设置按键 1.2.来控制计时的启/停和倒计时模式下初值的设定,按键 3 来控制连续8 次计时和倒计时模式的转换,采用软件消抖方式进行处理。采用复位电路对单片机进行重置。2.2 材料选择电子跑表其实就是一个单片机的最小系统,单片机、晶振、复位电路、键盘输入电路、显示电路构成了这个最小系统。以下是我们对该最小系统的基本部件的分析选择。2.2.1 单片机的选择本次设计对单片机的数据
15、存储和数据的处理要求都不高,所以选择的单片机要求也不太高 STT 公 司 的 SST89E516RD 与 805 的 软 件 完 全 兼 容 , 开 发 工 具 兼 容 ,封 装 与 引 脚 兼 容 。 其 内 部 RAM 共 有 1Kbyte( 256Byte + 768Byte)256Bytes 寄 存 器 /数 据 RAM, 内 含 两 块 高 性 能 SuperFlash 存 储 器( EEPROM) 8K/16K/32K/64Kbyte 的 主 存 储 块 + 8Kbyte 的 次 存 储 块 ( 每 个块 的 扇 区 大 小 都 是 128Byte) 用 SoftLock 可 以
16、独 立 地 对 每 个 块 进 行 安 全 加 锁 。实 现 应 用 中 再 编 程 ( IAP: In-Application-Programming) 两块可同时操作。在 IAP 过 程 中 可 实 现 存 储 器 的 覆 盖 , 支 持 中 断 响 应 。 支 持 最 大 64KByte 外 部程 序 和 数 据 存 储 空 间 P1 的 5、 6、 7 等 三 个 引 脚 可 驱 动 大 电 流 ( 每 个 可 达 16mA) 3 个 16 位 定 时 /计 数 器 ( T0, T1, T2) 全 双 工 增 强 型 串 行 通 讯 口( UART) 帧 错 误识 别 自 动 地 址
17、识 别 ,10 个 中 断 源 , 4 个 优 先 级 ,提 供 4 个 外 部 中 断 输 入 ,带 内部 可 编 程 看 门 狗 ( WDT) ,可 编 程 计 数 器 阵 列 ( PCA) ,4 个 8 位 I/O 口( 32 个 I/O 引 脚 ) 和 1 个 4 位 口 , 共 36 个 I/O。 这 款 51 单 片 机 具 备 我们 本 次 设 计 所 需 要 的 所 有 功 能 , 同 时 他 也 是 市 面 上 常 见 的 一 款 单 片 机 , 所 以 我 们选 择 它 作 为 本 次 设 计 的 单 片 机 。2.2.2 LED 显示通 常 把 数 码 管 、 符 号 管
18、 、 米 字 管 共 称 为 笔 画 显 示 器 ; 而 把 笔 画 显 示 器 和 矩 阵管 统 称 为 字 符 显 示 器 。 因 为 我 们 这 里 采 用 的 7 段 数 码 管 所 以 我 们 详 细 介 绍 一 下数 码 管 的 分 类 : 数 码 管 可 以 按 字 高 、 颜 色 、 结 构 、 各 发 光 段 的 连 接 方 式 等 进 行分 类 。 按照各发光段的连接方式分,数码管可分为共阳极和共阴极两种。所谓的共阳方式就是笔画显示器各段发光管的阳极是公共的,而阴极是互相隔离的。所谓的共阴方式就是笔画显示器各段发光管的阴极是公共的,而阳极是互相隔离的LED 显示的原理。如图
19、 2.1 所示为七段 LED 数码管的原理图,通过该图可以很容易地看出共阳极和共阴极的七段 LED 管的工作原理的不同点。对于共阴极的数码管,所有发光二极管的阴极共连后接地,而阳极引出脚用于控制 LED 是否点亮。若阳极引出脚接地,则 LED 被熄灭;若阳极 引 出 脚 接 高 电 平 , 则 LED 被 点 亮 。图 2.1 7 段数码管的原理图共阳极的 LED 正好相反,所有发光二极管的阳极共连后接高电平,而阳极引出脚用于控制 LED 是否点亮。若阴极引出脚接高电平,则 LED 被熄灭;若阴极引出脚接地,则 LED 被点亮。因此共阳极和共阴极所需要的字型码正好相反。这里我们选用的是共阴数码
20、管进行本次设计。2.2.3 键盘外部指令对单片机的输入一般都是通过键盘等输入器件来实现的,而键盘的设计以及编程。方法在本设计中将会重点介绍。在设计中,是利用键盘来实现秒表的启停控制及功能的选择。第三章 主要技术的设计3.1 主要技术 单片机电子跑表需要解决的三个最主要的核心技术是:如何使用单片机的的定时器。如何实现动态扫描显示。如何写键盘的输入控制程序。3.2 主要的设计方案3.2.1 定时器单片机中定时器的使用是一项重要的内容,也是一项基本的内容。由于内容太多就不详细介绍了,在后面的设计中将会穿插说明。这里我们利用单片机百分之一秒(10ms)的中断,在中断程序中实现数字的变化并动态显示出来,
21、从而实现秒表的计时。以下是具体的程序实现:程序:定 义/定 义 共 阳 极 字 符 编 码 表uchar code TABLE10=0xa0,0xf9,0xc4,0xd0,0x99,0x92,0x82,0xf8,0x80,0x98;uint m;/计 数 值uint LED0,LED1,LED2,LED3; /各 位 的 数 值uchar ms;/用 于 表 示 数 码 管 显 示 位 及 计 算 是 否 10ms 到 设 定 定 时 器 T0 的 工作 方 式TMOD=0x01;/T0 方 式 1 计 时 1msTL0=0x18;TH0=0xfc;EA=1;/开 中 断 , 启 动 定 时
22、器ET0=1;TR0=1;动 态 显 示 字 符 的 子 程 序void display(void)switch (ms%4)case 0:P3=0xfe;/点 亮 百 分 一 秒 位 的 LED 数 码 管P1=tableLED3; /输 出 百 分 一 秒 位 数 值P1_7=1;break;case 1:P3=0xfd;P1=tableLED2;/点 亮 十 分 一 秒 位 的 LED 数 码 管P1_7=1;/输 出 十 分 一 秒 位 数 值break;case 2:P3=0xfb;/点 亮 秒 位 的 LED 数 码 管P1=tableLED1; /输 出 秒 位 数 值P1_7=0;/点 亮 小 数 点 位break;case 3:P3=0xf7;/点 亮 十 秒 位 的 LED 数 码 管