基于89c51的电子秒表毕业设计论文(编辑修改稿)内容摘要:
级别。 避免出现 CPU 执行完定时溢出中断程序后再响应外部中断程序,影响计时精度。 AT89C52 的自然优先级顺序排列如下: 中断源 最高 外部中断 0 定时 /计数器 0溢出中断 外部中断 1 定时 /计数器 1溢出中断 串行口中断 最低 数字式秒表中的两个按键采用了中断实现功能。 开始采用外部中断 INT0,暂停采用外部中断 INT1。 另外程序中还用到了定时 /计数器 0 溢出中断进行计时。 依据设计要求,暂停的外部中断 INT1 中断级别最高,计时的定时 /计数器 0 溢出中断次之,开始的外部中断 INT0 级别最低。 外部中断 0服务程序: 外部中断 0 服务程序结合外部 停止键实现数字电子秒表的停止功能,具体流程图如图。 当按下 停止键按下向 CPU发出外部中断请求, CPU转向外部中断 0 服务程序执行,停止定时器。 另外将当前显示的时间进行一次存储,存进中间寄存区。 最后中断返回。 8 外 部 中 断 0 入 口停 止 定 时 器 T 0一 次 存 储中 断 返 回 图 外部中断 0服务程序流程图 外部中断 1服务程序 外部中断 1 服务程序结合外部 停止键实现数字电子秒表的启动功能,具体流程图如图。 当按下 启动键按下向 CPU发出外部中断请求, CPU转向外部中断 1 服务程序执行,启动定时器。 另外进行二次存储,将之前进行一次存储的数码管显示数据存入最终缓存区,避免下次计时暂停时一次存储将数据掩盖,从而起到保护数据的作用。 二次存储后就中断返回。 外 部 中 断 1 入 口启 动 定 时 器 T 0二 次 存 储中 断 返 回 图 外部中断 1服务程序流程图 9 定时中断服务程序 当定时 /计数器 T0 器溢出后,向 CPU 发出中断请求信号。 CPU 跳转到定时中断程序执行,具体流程如图。 定时中断程序是一个进位程序,主要负责对 1ms 的加一。 1ms 位没有满十就 跳出中断程序,返回显示程序。 当 1ms 位满十后就对 1ms 位清零,向 10ms 位加一,同时检测 10ms 位是否满十,没有满十就跳出中断程序,返回显示程序。 如果满十就向 100ms 位加一,依次类推,最终达到 秒后归零,从零开始再次计时。 定时 /计数器 T0工作在方式 0下, TH0 和 TL0组成一个 13 位的二进制数计数器。 单片机开机或复位时,它的值为 00H,当 T0启动后,从第一个输入脉冲开始计时,每来一个脉冲计数加一,即从 0000000000000 开始计数到 1111111111111,再计数一个脉冲时 TH0和 TL0 组 成的 13 位计数器将会从 13 个 1变成 13 个 0,并产生溢出,溢出位将被送到 TF0标志位,通过溢出标志产生溢出中断请求。 显然, T0定时器在方式 0下引起一次中断所允许计数的最多脉冲个数为 213 个。 但如果定时计数器如果每次都固定从 0开始计数,到计满后,再向 CPU 发出溢出中断请求信号那是毫无意义的。 为了使定时计数器在规定的计数脉冲个数字之后(此时应小于 213 个脉冲),向 CPU 发出溢出中断请求,可采取预先向 TH0 和 TL0 中放入一个初值 X的方法,使计数器以 X值为起始值开始计数,即 X+1, X+2,„„直至计数器计满, 从 1全变为 0。 设需要计数的脉冲个数为 Y,则有: X+Y=213 在定时方式下 :定时时间间隔位 t=( 213— X) *振荡周期 *12 现在本设计要求 1ms 实现一次中断,选择定时器 T0 工作在方式 0。 所以需要根据以上条件计算出 T0的初值。 设 T0的初值为 X,则 ( 213— X) *12/12*106 =1*103 转换位十六进制数 X=7192=1110000011000B 即 TH0=0E0H(取 X的高 8位) TL0=18H(取 X 的低 5位) 由于定时 1ms 只是一个理想化的时间,其中并没有考虑到中 断后单片机执行语句所花的时间。 虽然执行语句所花的时间很短只有即微秒,但积少成多,数字秒表一秒中要溢出中断 1000 次,积累起来误差就能达到毫秒级,这对于精度到达毫秒级的数 10 字电子秒表来说是很大的误差。 所以要在后期编程时还要将单片机读程序的时间考虑进去, 在对定时器赋初值时将单片机需要执行的语句所花的时间加上,这样就能使数字电子秒表的误差达到最小。 定 时 中 断 服 务 程 序 入 口1 m s 位 加 一判 断 1 m s 位 是 否 满 1 01 m s 位 清 零 , 1 0 m s 位 加 一判 断 1 0 m s 位 是 否 满 1 01 0 m s 位 清 零 , 1 0 0 m s 位 加 一判 断 1 0 0 m s 位 是 否 满 1 01 0 0 m s 位 清 零 , 1 s 位 加 一判 断 1 s 位 是 否 满 1 01 s 位 清 零 , 1 0 s 位 加 一判 断 1 0 s 位 是 否 满 1 01 0 s 位 清 零中 断 返 回是是是是是否否否否 11 四 、硬件电路的设计与实现 (一)、 AT89C51 微处理器介绍 AT89C51 微处理器的背景 AT89C 系列单片机(微处理器)是 ATMEL 公司 1993 年开始研制生产的,优越的性能价格比使其成为颇受欢迎的 8 位单片机。 AT89C 系列与 MCS— 51系列单片机在软、硬件上相互兼容,但 AT89C 系列与 MCS— 51 系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片( AT89C2051/1051),使整个硬件电路的体积更小。 AT89C 系列单片机有四种型号: AT89C5 AT89C5 AT89C105 AT89C2051,其中AT89C2051/1051 是 ATMEL 公司 AT89C 系列的新成员。 它的较小的体积、良好的性能价格比倍受青睐,在家电产品、工业控制、计算机产品、医疗器械等应用方面成为用户降低成本的首选器件 AT89C51 单片机的功能结构 AT89C51 单片机芯片为 40个引脚, HMOS 工艺制造的芯用片采 双列 直插( DIP)方式,其引脚示意及功能分类如图 所示。 它具有如下主要特性: AT89C51 与 MCS51 兼容; 内部带 4KB可编程闪速存储器; 寿命为 1000 次擦 /写循环; 数据保留时间为 10 年; 工作电压范围为 — 6V; 令静态工作频率为 0Hz— 24Hz; 128 8 位内部 RAM。 32 条可编程 I/O线; 2个 16 位定时器 /计数器; 5个两级中断源; 可编程全双工串行 UART 通道; 12 图 AT。基于89c51的电子秒表毕业设计论文(编辑修改稿)
相关推荐
teInput() { if (() == ) { (分组名称不能为空 , 1)。 return false。 10 } return true。 } endregion region 关闭界面后,返回 DialogResult 值 /// summary /// 关闭界面后,返回 DialogResult 值 /// /summary /// param name=sender/param
登录模块 15/5/7 14:10 14:30 20 测试 测试登录模块的功能 15/5/8 13:00 13: 50 10 40 修复 修复登录模块的缺陷 15/5/12 17:00 20:00 30 30 编码 实现登录模块的异步处理 15/5/12 20:10 20:35 5 20 测试 测试登录模块异步处理的功能 15/5/13 8:00 8: 50 20 30 修复
语言文字的纯洁性和规范化,它还能为企业和求职者提供了一个伯乐选千里马的职场,博客为他们各自所需创造了一个高效的网络职场。 企业们要找适合自己的人才难度就大减少。 而求职者也不用花太多的时间在招聘现场的人群中拥挤了,随着演变, 博客的形式会越来越多样性。 系统开发目标 通过利用 C进行 、 的应用程序开发,使用 Code Behind 方式来实现,使前台界面和后台代码分离,通过利用类的继承、重用
齐齐哈尔格林环保科技开发有限公司 20 沼气排放 自卸垃圾车圾 地 磅 翻斗垃圾 翻斗垃圾 卸车平台台 翻斗垃圾 翻斗垃圾 摊 辅 碾 压 翻斗垃圾 翻斗垃圾 覆土 翻斗垃圾 翻斗垃圾 灭 虫 渗滤液收集系统 渗滤液处理系统 渗滤液 翻斗汽车 备料场 粘 土 图 3- 1富裕县富裕镇生活垃圾卫生填埋法工艺流程框图 回灌 调节池 污泥 渗滤液 渗滤液排放 生活垃圾 富裕县富裕镇垃圾处理工程可行
含水层、流砂层施工技术复杂。 对井田内煤层埋藏不深,表土层不厚,水文地质情况简单,井筒不需特殊法施工的缓斜和倾斜煤层,一般可采用斜井开拓。 根据自然地理条件、技术经济条件等因素,综合考虑城郊矿的实际情况: ( 1) 表层土较厚,淮河冲积形成,风化严重; ( 2) 地面标高平均 +30m左右 ,煤层埋藏较深,距地面垂深在 400~860m之间; ( 3) 矿井年设计生产能力为 300 万 t/a
........................................... 3 非功能需求 ........................................................................................................................... 3 外部接口需求 ..............