单片机数字时钟毕业设计论文.doc_第1页
单片机数字时钟毕业设计论文.doc_第2页
单片机数字时钟毕业设计论文.doc_第3页
单片机数字时钟毕业设计论文.doc_第4页
单片机数字时钟毕业设计论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东华宇职业技术学院山东华宇职业技术学院 高职毕业生毕业设计(论文)高职毕业生毕业设计(论文) 课题名称 单片机数字时钟设计 专业 机电一体化 班级 09 高职机电五班 学号 20092080502 姓名 陈帅 指导教师 王爱岭 毕毕业业设设计计(论论文文)任任务务书书 毕业设计(论文)题目毕业设计(论文)题目 单片机数字时钟设计 专业:专业: 机电一体化 姓名:姓名: 陈帅 毕业设计(论文)工作起止时间:毕业设计(论文)工作起止时间: 2011.10.202011.10.202012.6.12012.6.1 毕业设计(论文)的内容要求:毕业设计(论文)的内容要求:设计一个电子产品,首先了解它能实现的功能,时 钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时 的功能,给电子钟加上电自动计时,设计一个按键对时钟进行复位和三个按键对时间进 行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及 led 显示 器四个部分。单片机选用 at89c51 芯片,它无须外扩程序存储器,设计电路很简单。 由于只用了四个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔 符,采用 8 位的数码管,用常用的 74ls244 来驱动 led 数码管显示字符。 简易数字时钟可实现校时和整点报时功能,该软件采用 c 语言来实现,主要包括 主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理 图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为 60 进制,小时为 24 进制计数。可通过按键实现时钟复位和分、秒、时的校正。 指导教师(签名):指导教师(签名): 年年 月月 日日 毕业设计开题报告毕业设计开题报告 一、课题设计(论文)目的及意义 人类的生活包括:工作、学习、休息以及参与社会的多种实践活动,环环有条理, 更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是 时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要 的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念, 就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用 非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学 习、工作、娱乐带来极大的方便。 现在投入生产的大多是智能时钟,它的功能很全面,但价格有点昂贵,大多数学生 或者经济条件较差的人,想要拥有它,都有点困难。因此,在这里设计一个较简单的电 子钟,它能完成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此, 它的价格比较便宜,对于学生很实用。 二、课题设计(论文)提纲 时钟电路的核心是 at89c51 单片机,其内部带有 2kb 的可反复擦写的只读 flash 程序存储器和 128 bytes 的随机存取数据存储器(ram),无须外扩程序存储器。电脑 时钟没有大量的运算和暂存数据,现有的 128b 片内 ram 已能满足要求,也不必外扩 片 ram。系统配备 8 位 led 数码管显示和 3 个独立式按键,用 p0 口作为键盘接口电 路,p1 口和 p3 口作为段码和位码输出口,并在字段码输出口接 74ls245 芯片,用该 芯片来驱动 led 数码管显示。利用 p0.0、p0.1 和 p0.2 作为功能按键输入口。 三、课题设计(论文)思路、方法及进度安排 (1)显示方案 方案一:静态显示就是当 cpu 将要显示的字或字段码送到输出口,显示器就可以显 示出所要显示的字符,如果 cpu 不去改写它,它将一直保持下去;静态显示硬件开销 大,电路复杂,信息刷新速度慢。 方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器 的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态 显示硬件连接简单,信息刷新速度快。 由于本次设计是对时间进行显示,如采用静态显示,则所占用的 i/o 口较多,电路 较复杂,所以在此选择的是方案二,采用动态显示。 (2)键盘方案 方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数 据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件 结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以, 独立式按键常用于按键数量不多的场合。 方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上. (当接口线数量为 8 时,可以将 4 根接口线定义为行线,另 4 根接口线定义为列线,形成 4*4 键盘,可以配置 16 个按键。) 由于本设计只用了四个按键,不需要采用矩阵式键盘,所以选用第一种方案,采用 独立式键盘。 (3)计时方案 采用软件控制: 利用单片机内部的定时/计数器进行定时,配合软件定时实现时、分、秒的计时。 该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用 软件方法实现计时。 方法及进度安排: 第一周到第二周:通过搜集资料,参考文献,反复的硬件调试, 第三周到第四周:基本完成各模块的性能要求。 第五周到第六周:在研究过程中系统的部分模块属电子系统中常用模块的可以直接 采用,但需要结合连接电路进行适当调试,以达到最佳效果。 四、课题设计(论文)参考文献; 1.朱永金等主编,单片机应用技术 ,中国劳动社会保障出版社。 2.彭冬明.韦友春主编,单片机实验教程 ,理工大学出版社。 3.朱家建主编,单片机原理及应用,机械工业出版社。 4.胡汉才主编, 单片机原理及接口技术 ,清华大学出版社。 5.张伟主编,单片机原理及应用 ,机械工业出版社。 6.谭浩强.c 程序设计m.北京:清华大学出版社,1999 7.陈娟.无刷直流电机的电梯门控制系统研究d.吉林:吉林大学,2006 8.顾明.无刷直流电机控制系统设计d.大连:大连理工大学,2006 9.杨帆.具有 pid 自整定功能的温度控制器研究与实现d.大连:大连理工大学, 2006 10.姚剑峰.基于 pwm 技术的电动机模拟器d.天津:天津大学,2006 11.宋健,姜军生,赵文亮,孙学岩.基于单片机的直流电机 pwm 调速系统j.农业 化研究,2006 山东华宇职业技术学院毕业论文设计 i 目目 录录 摘 要 .1 第 1 章 绪 论 .2 1.1 电子钟的发展史.2 1.2 设计的目的与意义.2 1.3 设计的基本思路与主要内容.3 第 2 章 时钟系统的整体设计 .4 2.1 系统功能要求4 2.2 整体方案.4 第 3 章 硬件设计与分析 .6 3.1 硬件设计原理.6 3.2 各单元电路介绍6 3.2.1 at89c51 单片机介绍 6 3.2.2 单片机最小应用系统 .6 3.2.3 显示电路 .8 3.2.4 键盘及其接口 9 3.3 系统原理图.11 第四章 软件设计 .12 4.1 主程序的设计.12 4.2 键输入程序.13 4.3 显示程序.14 4.4 延时程序.15 2.5 中断程序.16 第 5 章 调试与运行 .19 5.1 电路仿真.19 山东华宇职业技术学院毕业论文设计 ii 5.2 调试和运行.20 第 6 章 结 论 .21 致 谢 .22 参考文献 .23 附录一 系统原理图 .24 附录二 元件清单 .25 附录三 程序清单 .26 单片机数字时钟设计 姓名: 陈帅 学号: 20092080502 班级:09 高职机电五班 指导教师:王爱岭 摘要:摘要:单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器 cpu、随机存取存储器 ram、只读存储器 rom、i/o 接口、定时器/计数器以及串行通信 接口等待集成在一块芯片上,构成一个完整的微型计算机,故又把它称为单片微型计算 机。 当今信息科技高速发展,使用方便、低成本电子设备已逐步成为我们日常生活中电 子产品的主力军。用软件代替硬件的电子设备能大大地节省成本,且有利于资源的节约, 因此,以软代硬的设计必将成为我们现代设计的主流。 本设计是利用 mcs-51 系列单片机内部的定时器/计数器进行中数年定时,配合软件 延时实现时、分、秒的计时。该方案节省硬件成本,且能够使设计者在定时/计数器的 使用、中数年及程序设计方面得到锻炼和提高,因此本系统将采用软件方法实现计时。 关键词关键词: : 单片机 数码管 程序设计 第第 1 章章 绪绪 论论 1.1 数字时钟的发展史数字时钟的发展史 电子钟有着很长的历史,从民国 19 年的电钟,研制始於 60 年代中期的国内电晶 体、半导体管钟,到研制始於 70 年代末的石英电子钟,再到今天我们所用的智能电子 钟。以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、 走时精确度不高等缺点。如今无论是外观,还是在功能上,电子钟都有了很大的改进。 虽然世界绝大多数钟表都是中国制造,但钟表对于国内市场来说只是个小行业, 2003 年总盘子不过才 100 多亿,但不是没有前景。近年来,市场在急剧膨胀。根据国 外的统计数据显示,发达国家人均一生拥有手表 23 块,发展中国家 12 块,而目前中国 的城镇人口人均拥有量不多于 6 块,空间很大。比如彩电一般是一个家庭一台,手表则 是每人一块,但从销售量来看,光 tcl 一家公司两个月的彩电销量可以接近 300 万台, 而我们手表每年总共才卖 200 多万只。所以绝对不是市场潜力不够的问题,而是我们应 该如何去做的问题。 1.2 设计的目的与意义设计的目的与意义 人类的生活包括:工作、学习、休息以及参与社会的多种实践活动,环环有条理, 更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是 时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要 的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念, 就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用 非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学 习、工作、娱乐带来极大的方便。 现在投入生产的大多是智能时钟,它的功能很全面,但价格有点昂贵,大多数学生 或者经济条件较差的人,想要拥有它,都有点困难。因此,在这里设计一个较简单的电 子钟,它能完成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此, 它的价格比较便宜,对于学生很实用。 1.3 设计的基本思路与主要内容设计的基本思路与主要内容 设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计 时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计 时,设计一个按键对时钟进行复位和三个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及 led 显示 器四个部分。单片机选用 at89c51 芯片,它无须外扩程序存储器,设计电路很简单。 由于只用了四个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔 符,采用 8 位的数码管,用常用的 74ls244 来驱动 led 数码管显示字符。 简易数字时钟可实现校时和整点报时功能,该软件采用 c 语言来实现,主要包括 主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理 图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为 60 进制,小时为 24 进制计数。可通过按键实现时钟复位和分、秒、时的校正。 第第 2 章章 简易数字时钟系统的整体设计简易数字时钟系统的整体设计 2.1 系统功能要求系统功能要求 以单片机技术为核心,充分应用各种外围电路元器件,设计一个通过显示器显 示时间(时、分、秒)的电子钟。要求: 1、上电时,时、分、秒显示为00时、00分、00秒,并以秒为单位开始计时; 2、运行状态下,按动控制按扭s-set,对秒进行调整; 3、运行状态下,按动控制按扭 m-set,对分进行调整; 4、运行状态下,按动控制按扭 h-set,对小时进行调整。 5、当数字时钟运行到正点时,实现自动报时功能。 6、当按下 t-set 键是实现小时由 24 进制和 12 进制的相互转换。 2.2 整体方案整体方案 电子钟的电路图主要由单片机(at89c51) 、键盘电路、驱动显示电路和 led 显示器四部分组成,它主要实现时钟的显示,以及对时、分、秒进行调整,即实现调时 的功能。其数字钟系统整体结构如图 2-1 所示。 七 段 数 码 管 at89c51 驱 动 led 显示器 位 选 按 键 图图 2-1 电子钟系统整体结构电子钟系统整体结构 (1)显示方案 方案一:静态显示就是当 cpu 将要显示的字或字段码送到输出口,显示器就可以显 示出所要显示的字符,如果 cpu 不去改写它,它将一直保持下去;静态显示硬件开销 大,电路复杂,信息刷新速度慢。 方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器 的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态 显示硬件连接简单,信息刷新速度快。 由于本次设计是对时间进行显示,如采用静态显示,则所占用的 i/o 口较多,电路 较复杂,所以在此选择的是方案二,采用动态显示。 (2)键盘方案 方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数 据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件 结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以, 独立式按键常用于按键数量不多的场合。 方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上. (当接口线数量为 8 时,可以将 4 根接口线定义为行线,另 4 根接口线定义为列线,形成 4*4 键盘,可以配置 16 个按键。) 由于本设计只用了四个按键,不需要采用矩阵式键盘,所以选用第一种方案,采用 独立式键盘。 (3)计时方案 采用软件控制: 利用单片机内部的定时/计数器进行定时,配合软件定时实现时、分、秒的计时。 该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用 软件方法实现计时。 第第 3 章章 硬件设计与分析硬件设计与分析 3.1 硬件设计原理硬件设计原理 时钟电路的核心是 at89c51 单片机,其内部带有 2kb 的可反复擦写的只读 flash 程序存储器和 128 bytes 的随机存取数据存储器(ram),无须外扩程序存储器。电脑 时钟没有大量的运算和暂存数据,现有的 128b 片内 ram 已能满足要求,也不必外扩 片 ram。系统配备 8 位 led 数码管显示和 3 个独立式按键,用 p0 口作为键盘接口电 路,p1 口和 p3 口作为段码和位码输出口,并在字段码输出口接 74ls245 芯片,用该 芯片来驱动 led 数码管显示。利用 p0.0、p0.1 和 p0.2 作为功能按键输入口。 3.2 各单元电路介绍各单元电路介绍 3.2.1at89c51 单片机介绍 at89c51 是一个低电压,高性能 cmos 8 位单片机,片内含 2k bytes 的可反复 擦写的只读 flash 程序存储器和 128 bytes 的随机存取数据存储器(ram),器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs51 指令系统,片内 置通用 8 位中央处理器和 flash 存储单元,所以说 at89c51 是一个功能强大的单片机。 at89c51 是一个低功耗高性能单片机,它有 40 个引脚,32 个外部双向输入/输出 (i/o)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通 信口,at89c51 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器 和 flash 存储器结合在一起,特别是可反复擦写的 flash 存储器可有效地降低开发成本。 同时 at89c51 的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统 的唤醒方式有 ram、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状 态。省电模式中,片内 ram 将被冻结,时钟停止振荡,所有功能停止工作,直至系统 被硬件复位方可继续运行。 3.2.2 单片机最小应用系统 时钟电路和复位电路是单片机最小应用系统中必不可少的。 单片机时钟电路图,如图 3-1 所示:xtal1 和 xtal2 分别为反向放大器的输入和 输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外 部时钟源驱动器件,xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发 器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 图 3-1 单片机时钟电路图 复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是 从复位开始的,当在单片机的 rst 引脚引入高电平并保持 2 个机器周期时,单片机内 部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态) 。 实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是上电与按键 均有效的复位。由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图 3-3 所示: 图图 3-3 上电复位电路上电复位电路 上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位如上图所示。 上电瞬间 rst 引脚获得高电平,随着电容 c1 的充电,rst 引脚的高电平将逐渐下降。 3.2.3 显示电路 一、七段 led 显示器的原理 显示器是单片机应用系统常用的设备,包括 led、lcd 等。led 显示器由若干个 发光二极管组成。七段 led 通常构成字型“8”,还有一个发光二极管用来显示小数点。 每段 led 分别引出一个电极,电极的名为 a、b、c、d、e、d、g、dp,其中 dp 是小数 点段的引出电极。当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的 二极管导通,就能显示出对应字符。 说明:在该设计中,没有用到电极(dp) ,而是用单位的数码管来显示分隔符,其 七段 led 显示器如图 3-4 所示 图 3-4 七段 led 显示器 二、动态显示 本设计共用了八位 led 显示器,因此采用动态显示方式。所谓动态显示就是一位 一位的轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。 虽然在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭 时的余晖,我们看到的却是多个字符“同时“显示。显示器亮度既与点亮时的导通电流有 关,也与点亮时间长短和时间间隔有关。 显示器的位数不大于 8 位,则控制显示器公共极电位只需要一个 i/o 接口,称为扫 描口或字位口,控制各位 led 显示器所显示的字型也需要一个 8 位接口,称为段数据 口或字型口。图 3-5 为驱动显示电路框图。 图 3-4 驱动显示电路框图 74ls244 是我们常用的芯片,用来驱动 led 或者其他的设备 当 8051 单片机的 p1 口总线负载达到或超过 p1 最大负载能力时,必须接入 74ls244 等总线驱动器。 当片选端/ce 低电平有效时,dir=“0”,信号由 b 向 a 传输;(接收) 3.2.4 键盘及其接口 键盘是由若干个按键组成的,它是单片机最简单的输入设备。通过键盘输入数据或 命令,就可实现简单的人机对话。 一、按键的抖动现象 按键就是一个简单的开关。当按键按下时,相当于开关闭合;当按键松开时,相当 于开关断开。按键在闭合和断开时,触点会存在抖动现象。按键抖动时间一般为 5ms10ms,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响。消 除的方法很多,本设计采用软件延时的方法来消除抖动。当单片机检测到有按键按下时 先定时,然后再检测按键的状态,若仍是闭合状态则认为真的有键按下。当检测到按键 释放时,亦需要做同样的处理。 二、按键电路 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片 机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每 个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常 用于按键数量不多的场合。 该设计只用了三个按键,来实现功能控制。在运行状态下,按动控制按扭s-set, 可对秒进行调整;按动控制按扭m-set,可对分进行调整;按动控制按扭h-set,可对 时进行调整;因此采用独立式键盘方式,设计起来比较简单。如图3-6所示 图3-5 键盘电路 3.3 系统原理图 at89c51的p1口接入三个按键,对时、分、秒进行调整。p0口输出字段码,控制 要显示的字符,外接74ls245芯片,驱动led显示。p3口输出字位码,去控制要显示的 位,其原理图如图3-6所示。 a7a7 a6a6 a5a5 a4a4 a3a3 a2a2 a1a1 a0a0 s7 b7 b6 b5 b4 b3 b2 b1 b0 s6 s5 s4 s3 s2 s1 s0 b0 b1 b2 b3 b4 b5 b6 b7 s0 s1 s2 s3 s4 s5 s6 s7 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 s-set m-set h-set a0 2 b0 18 a1 3 b1 17 a2 4 b2 16 a3 5 b3 15 a4 6 b4 14 a5 7 b5 13 a6 8 b6 12 a7 9 b7 11 ce 19 ab/ba 1 u2 74ls245 图 3-6 电子钟原理图 当接入电源时,数字电子钟以秒为单位开始计时。运行状态下,按下控制按键 s- set,对秒进行调整;按下 m-set 调整分钟;按下 h-set 对小时进行调整。这样通过 三个按键,分别对时、分、秒进行调整,从而实现调时。 第第 4 章章 软件设计软件设计 在软件设计中,整个程序的主框架是以定时 1s 计算的方式来实现电子钟。定时 1s 的程序段,使用动态显示程序实现延时,既完成了延时,也完成了数字的显示。在计算 程序中,使对应于时、分、秒的变化量按照 60 进制和 24 进制进行计算,动态显示程序 直接引用这些变量,达到显示的数字也随之不断变化,即完成了电子钟的功能。 其软件功能模块主要有键输入程序、中断程序、显示程序,以及延时程序。 需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样 用程序来确定出 1s 的时间精度是很有限的,所以整个时钟的精度不太高。 4.1 主程序的设计主程序的设计 初始化将时、分、秒各单元的内容清空,置 t0 为计数器方式 1,分别给计数器的 高 8 位和低 8 位赋计数初值,启动 t0 工作。键入一个按键,如执行此动作,秒值加 1,否则重新键如按键。 主程序模块:主程序流程图,如图 4-1 所示 初始化 键输入 开始 键执行 结束 图图 4-1 主程序流程图主程序流程图 4.2 键输入程序键输入程序 键输入程序用于调整时间。以秒为例,按下按键 s-set,判断 s-set 是否真的被 按下,若没有键按下,转到 a1 程序段,再次键入按键,重新判断。若按键按下了,则 调用延时程序,消除抖动现象秒值加 1,当秒值大于 60 时,秒清零,进行下一次计时, 同时分加一,并转到 j0 显示。此过程循环执行,其程序流程图如图 4-2 所示: 显示 s-set 是否按下 否按下 秒值加 1 秒60 ? 清零 n 调用延时 y y n 图 4-2 键输入程序流程图 a1:lcall display;调用延时程序 jnbs_set,s1;判断按键是否按下 jnbm_set,s2 jnbh_set,s3 ljmpa1 s1: lcalldelay;去抖动 jbs_set,a1 incsecond;秒值加 1 mova,second cjnea,#60,j0;判断是否加到 60 秒 movsecond,#0 ;秒清 0 ljmpj0 j0:jbs_set,a1 lcall display ;调用显示 sjmpj0 4.3 显示程序 显示其时、分、秒的数值,和两个分隔符。以显示秒为例,当 p3.7 输入高电 平时,秒的个位所对应的字段码点亮,显示其秒的个位;当秒有十位输入时,p3.6 输 入高电平,秒所十位对应的字段码点亮,显示其秒十位。其程序流程图如图 4-3 所示: 取字段码 取字位码 显示秒个位 显示秒十位 调用延时 图 4-3 显示程序流程图 display:mova,second ;显示秒 movb,#10 divab clrp3.6 movc a, a+dptr ;取字段码 movp0, a lcalldelay ;调用延时 setbp3.6 ;显示秒十位 mova,b clrp3.7 movc a,a+dptr ;取字段码 movp0,a lcall delay ; 调用延时,去抖动 setbp3.7 ;显示秒个位 clrp3.5 4.4 延时程序 按键抖动时间一般为 5ms10ms,因此延时 10ms,其流程图如图 4-4 所示: #10 送 r6 #250 送 r7 返回 (r6)=(r7) ? y n 图 4-4 延时程序流程图 delay:movr6,#10 ;延时 10ms d1:movr7,#250 djnzr7,$ djnzr6,d1 ret 2.5 中断程序 中断程序主要用于控制显示的字符。当秒值大于 60 时,秒清零,重新计数, 分值加 1,秒、分同时显示;当分值大于 60 时,分清零,重新计数,小时加 1,秒、分、 时同时显示,当小时大于 23 时,一天的计时完毕,秒、分、时均清零,进行第二天的 计时。此任务循环执行。其程序流程图如图 4-5 所示: 秒加 1 秒59? 小时23? 分59? 秒清 0,分加 1 小时清 0 分清 0,时加 1 n y y y n n 图 4-4 中断程序流程图 display: mova,second ;显示秒 movb,#10 divab clrp3.6 movc a, a+dptr movp0, a lcall delay ;调用延时 setbp3.6 ;显示秒的十位 mova,b clrp3.7 movc a,a+dptr movp0,a lcall delay setbp3.7 ;显示秒的个位 clrp3.5 movp0,#40h;显示分隔符 lcall delay setbp3.5 mova,minute ;显示分钟 movb,#10 divab clrp3.3 movc a,a+dptr movp0,a lcall delay setbp3.3 ;显示分的十位 mova,b clrp3.4 movc a,a+dptr movp0,a lcall delay setbp3.4 ;显示分个位 clrp3.2 movp0,#40h;显示分隔符 lcall delay setbp3.2 mova,hour;显示小时 movb,#10 divab clrp3.0 movc a,a+dptr movp0,a lcall delay setbp3.0 ;显示时的十位 mova,b clrp3.1 movc a,a+dptr movp0,a lcall delay setbp3.1 ;显示时的个位 ret 第第 5 章章 调试与运行调试与运行 5.1 电路仿真电路仿真 此设计的电路在单片机仿真软件proteus.professional.7.1中进行仿真,仿真电路 如图 5-1 所示: a7a7 a6a6 a5a5 a4a4 a3a3 a2a2 a1a1 a0a0 s7 b7 b6 b5 b4 b3 b2 b1 b0 s6 s5 s4 s3 s2 s1 s0 b0 b1 b2 b3 b4 b5 b6 b7 s0 s1 s2 s3 s4 s5 s6 s7 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 s-set m-set h-set a0 2 b0 18 a1 3 b1 17 a2 4 b2 16 a3 5 b3 15 a4 6 b4 14 a5 7 b5 13 a6 8 b6 12 a7 9 b7 11 ce 19 ab/ba 1 u2 74ls245 图 5-1 电子钟仿真电路图 5.2 调试和运行 在 keil (单片机汇编) c51 软件中编写好的程序,将程序放入单片机仿真软件中, 结合硬件电路进行调试与运行。 通过按键对时间进行调整。如显示时间为 14-30-22,既是 14 点 30 分 22 秒,通 过以下调整则可实现。 (1)按动 s-set 键,将秒调到 22; (2)按动 m-set 键,将分调到 30; (3)按动 h-set 键,将时调到 14。 则将时间调到了所要显示的时间 14-30-22,通过此方法可将时间调整到任何 需要显示的时间。 第第 6 章章 结结 论论 因为单片机的种类多,而型号杂,也是我们学习中的困难,所以就 mcs51 系列 的产品来说,就是一个典型的学习方法。对于类似汇编的单片机编程过程,也是一个十 分有趣的过程。为了更好的说明,我以上介绍先从应用电路切入,同时介绍它们的使用 方法,以便能快速掌握它们的应用。 通过本次的课程设计,我学会了单片机的一般设计过程,通常都要进行系统扩展与 配置,因此,要完成一个单片机的设计工作,必须依次做到下述工作:1、硬件电路的 设计、组装与调试;2、应用软件的编写、调试;3、完整应用软件的调试、固化和脱机 运行。而在进行硬件系统设计时我们应当尽量做到:1、尽可能的选择典型电路,并符 合单片机的常规使用方法;2、在充分满足系统功能要求前提下,留余地以便于二次开 发;3、硬件结构设计应与软件设计方案一并考虑;4、整个系统相关器件要力求性能的 匹配;5、硬件上要有可靠性与抗干扰设计;6、充分考虑单片机的带载驱动能力。所以 我用单片机编写了上面的程序,因为基础知识学的不怎么好,如有错误之处,还望老师 理解,并加以批改。通过这次设计使我对单片机有了更深入的了解。培养了我的动手实 践能力。 致致 谢谢 本文从拟定题目到定稿,经历了很长一段时间。在本论文完成之际,首先要向我的 导师王老师致以诚挚的谢意。在论文的写作过程中,王老师给予我许许多多的帮助,王 老师不厌其烦地为我讲解毕业设计中繁琐的问题,并且多次提出宝贵意见,使我的毕业 设计能够更完整,更充实。 同时,还要感谢三年中孜孜不倦的为我们讲课的老师们,是他们毫无保留地将他们 的知识传授给我们,才使得今天的我能够顺利的完成我的毕业设计,感谢山东华宇职业 技术学院,是这里给我提供了良好的学习环境和生活环境,让我的大学生活丰富多彩, 让我对今后的生活更加充满了信心。 另外,衷心感谢我的同窗同学们,在我毕业论文写作中,与他们的探讨交流使我受 益颇多;同时,他们也给了我很多无私的帮助和支持,我在此深表谢意! 最后,向我亲爱的家人和朋友表示深深的谢意,他们给予我的爱、理解、关心和支 持是我不断前进的动力。 “惧怀逸兴思斗志,欲上青天揽日月。 ” 参考文献参考文献 1.朱永金等主编,单片机应用技术 ,中国劳动社会保障出版社。 2.彭冬明.韦友春主编,单片机实验教程 ,理工大学出版社。 3.朱家建主编,单片机原理及应用,机械工业出版社。 4.胡汉才主编, 单片机原理及接口技术 ,清华大学出版社。 5.张伟主编,单片机原理及应用 ,机械工业出版社。 6.谭浩强.c 程序设计m.北京:清华大学出版社,1999 7.陈娟.无刷直流电机的电梯门控制系统研究d.吉林:吉林大学,2006 8.顾明.无刷直流电机控制系统设计d.大连:大连理工大学,2006 9.杨帆.具有 pid 自整定功能的温度控制器研究与实现d.大连:大连理工大学, 2006 10.姚剑峰.基于 pwm 技术的电动机模拟器d.天津:天津大学,2006 11.宋健,姜军生,赵文亮,孙学岩.基于单片机的直流电机 pwm 调速系统j.农业 化研究,2006,1:102106 山东华宇职业学院 1 山东华宇职业学院 2 附录一附录一 系统原理图系统原理图 a7a7 a6a6 a5a5 a4a4 a3a3 a2a2 a1a1 a0a0 s7 b7 b6 b5 b4 b3 b2 b1 b0 s6 s5 s4 s3 s2 s1 s0 b0 b1 b2 b3 b4 b5 b6 b7 s0 s1 s2 s3 s4 s5 s6 s7 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 s-set m-set h-set a0 2 b0 18 a1 3 b1 17 a2 4 b2 16 a3 5 b3 15 a4 6 b4 14 a5 7 b5 13 a6 8 b6 12 a7 9 b7 11 ce 19 ab/ba 1 u2 74ls245 山东华宇职业学院 3 附录二附录二 元件清单元件清单 序号序号名称名称型号规格型号规格数量数量 1单片机单片机at89c511 片片 2译码驱动器译码驱动器74ls2451 片片 3led 数码管数码管7seg-mpx8-cc-blue1 个个 4按键按键button3 个个 5导线导线若干若干 山东华宇职业学院 4 附录三附录三 程序清单程序清单 s_set bitp1.0;数字钟秒控制位 m_setbitp1.1;分钟控制位 h_set bitp1.2;小时控制位 secondequ30h minuteequ31h hour equ32h tcnt equ34h org00h sjmpstart org0bh ljmpint_t0 start: movdptr,#table movhour,#0;初始化 movminute,#0 movsecond,#0 movtcnt,#0 movtmod,#01h ;置 t0 为计数器方式 1 movth0,#(65536-50000)/256;定时 50 毫秒 movtl0,#(65536-50000)mod 256

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论