欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    单片机原理课程设计(论文)-单片机数字时钟的设计.doc

    • 资源ID:3915818       资源大小:879KB        全文页数:16页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理课程设计(论文)-单片机数字时钟的设计.doc

    单片机原理单片机原理 课课 程程 设设 计计 论论 文文 题目题目: : 单片机数字时钟的设计单片机数字时钟的设计 学 生 姓 名: ywh 学号:070108041124 学 部 (系): 信息学部 专 业 年 级: 07 自动化 4 班 指 导 教 师: 职称或学位: 20102010 年年 0707 月月 1111 日日 华中科技大学文华学院课程设计(论文) 2 目录目录 第一章第一章 设计要求设计要求3 第二章第二章 单片机简介单片机简介.3 2.1 概述.3 2.2 单片机的发展历程4 2.3 时钟的特性4 第三章第三章 系统原理与硬件设计系统原理与硬件设计.5 3.1 硬件选择5 3.2 单片机的构成5 3.3 AT89C52 单片机的引脚说明6 3.4 LED 简介.7 第四章第四章 软软件件设设计计9 第五章第五章 调试过程及数据分析调试过程及数据分析.13 5.1 硬件调试13 5.2 KEIL 调试14 5.3 开发板调试.14 第六章第六章 结论与总结结论与总结.15 参考文献参考文献16 华中科技大学文华学院课程设计(论文) 3 第一章第一章 设计要求设计要求 题目:数字时钟的设计 1、 任务简介: 时钟在生产、生活中具有相当重要的作用。数字式时钟直接用数字显示时间, 读数直观,并且具有一定的实用功能。本设计要求利用单片机完成一个数字时 钟的设计。 2、 设计要求: (1) 系统硬件设计:利用单片机实验板完成设计要求(已有) ; (2) 系统软件设计:完成控制软件的编写与调试; (3) 功能要求: 1) 6 位数码管显示小时、分钟,秒(例如:18:30:30) ; 2) 可通过键盘调校当前时间; 3) 具有整点提示功能(例如蜂鸣器鸣响半分钟) ,具有整点报时功能(例如十 点响十声) ; 4) 1 个 LED 每秒闪烁一次,指示秒针动作; 5)具有定时功能,可通过键盘设定及查询定时时间;定时时间到,有蜂鸣器提 示。 第二章第二章 单片机简介单片机简介 2.1 概述概述 随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型 计算机,给人类生活带来了极大的方便。走入家庭,从洗衣机、微波炉到音响、 汽车,到处都可以见到单片机应用的踪影。如果说微型计算机技术的出现使现 代科学研究得到了质的飞跃,那么也可以毫不夸张的说:“单片机技术的出现 则是给现代工业测控领域带来了一次新的工业革命” 。目前,单片机以其可靠性 高和智能性等特点被广泛应用到工业控制系统、数据采集系统、智能化仪器仪 华中科技大学文华学院课程设计(论文) 4 表、办公自动化等领域中,并已经进入家庭,因此,单片机技术的开发和应用 水平已经逐步成为一个国家自动化发展水平的标志之一。 2.2 单片机的发展历程单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的 机种,特别适用于工业控制领域。1971 年微处理器研制成功不久,就出现了单 片机,但最早的单片机是 1 位的,处理能力有限。单片机的发展共分四个阶段: 第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16 位定时器/ 计数器,片内 ROM、RAM 容量加大,直到现在仍被广泛应用,是目前应用数量较 多的单片机。 、32 位单片机推出阶段,以满足不同的用户需要。纵观单片机几 十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功 耗、低价格、外围电路内装化以及内存储器容量增加和 FLASH 存储器化方向发 展。 2.3 时钟的时钟的特性特性 省电(关闭显示)功能(2)以 24h(小时)计时方式(3)白来整点报时, 晚上 22 点后不报时(4)用六位 LED 数码管显示时、分、秒(5)使用按键开 关可实现时分调整、秒表功能转换(6)使用按键开关可实现时分调整、时钟功 能转换等功能。 这里用到中断,50ms 的产生一次。然后累加到 20 次,秒表就加 1.。每 60 秒分值加 1。 每 60 分时加 1,每 24 小时日加 1. 华中科技大学文华学院课程设计(论文) 5 第三章第三章 系统原理系统原理与硬件设计与硬件设计 3.1 硬件硬件选择选择 (1)单片机的选择 选用 AT89C52 单片机,并配备 12MHz 晶振,复位电路 采用上电复位。 (2)显示电路选择 采用软件译码动态显示,P3.0-P3.3 作数码管的位选 口。P1.0-P1.6 作数码管的段选口。考虑直接用单片机 I/O 口作位选时驱动功 率不够, (3)电源选择 采用直流 5V 电源供电。 (4)选择器的选择 74ls04。 (5)CTC89c52 单片机是一种低功耗,高性能的片内含有 4KB 可编程/擦除 只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的 8 位 COMS 微控制器,使用高密度,非易失存储技术制造,并且与 AT89C52 引脚和指令系统完全兼容。芯片上的 FLASH 允许在线编程或采用通用 的非易失存储编程器对存储器重复编程。 3.2 单片机的构成单片机的构成 AT89c51 单片机是在一块芯片中集成了 CPU、RAM、ROM、定时器/计数器和 多种功能的 I/O 线等一台计算机所需要的基本功能部件,AT89C52 单片机单片 机内包含下列几个部件: (1) 一个 8 位 CPU; (2)一个片内振荡器及时钟电路; (3)4K 字节 ROM 程序存储器; (4)256 字节 RAM 数据存储器; (5)两个 16 位定时器/计数器; (6)可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路; (7)32 条可编程的 I/O 线(四个 8 位并行 I/O 端口) ; (8)一个可编程全双工串行口; (9)具有五个中断源、两个优先级嵌套中断结构。 其内部机构框图如图 2.2 所示: 华中科技大学文华学院课程设计(论文) 6 图 3-1 MCS-51 单片机内部机构框图 3.3 AT89C52 单片机的引脚说明单片机的引脚说明 AT89c52 单片机采用 40 条引脚双列直插式器件,引脚除 5V( 40 脚) 和电源地( 20 脚)外,其功能分为时钟电路、控制信号、输入/输出三大部 分,逻辑框图及引脚图分别如图 2.4(a)(b)所示 (a) (b) 图 3-2 AT89c52 单片机逻辑图与引脚图 AT89C52 单片机的内部硬件结构中除了程序存储器由 FLASH 取代了 87C51 单片机的 EPROM 外,其余部分完全相同,其管脚说明如下: (1)VCC:供电电压 (2)GND:接地 (3)时钟电路 XTAL1(19 脚)芯片内部振荡电路(单级反相放大器)输入端。 华中科技大学文华学院课程设计(论文) 7 XTAL2(18 脚)芯片内部振荡电路(单级反相放大器)输出端。 (4)控制信号 RST(9 脚)复位信号:时钟电路工作后,在此引脚上将出现两个机器周期 的高电平,芯片内部进行初始复位,P0 口P3 口输出高电平,将初值 07H 写入 堆栈指针。 ALE(30 脚)地址锁存信号:当访问外部存储器时,P0 口输出的低 8 位地 址由 ALE 输出的控制信号锁存到片外地址锁存器,P0 口输出地址低 8 位后,又 能与片外存储器之间传送信息。另外,ALE 可驱动 4 个 TTL 门。 (29 脚)片外程序存储器读选通:低电平有效,作为PSENPSENPSEN 程序存储器的读信号,输出负脉冲,将相应的存储单元的指令读出并送到 P0 口, 可驱动 8 个 TTL 门。PSEN /Vpp(30 脚):当为高电平且 PC 值小于 0FFFH 时,CPU 执行内部EAEA 程序存储器程序;当为低电平时,CPU 仅执行外部程序存储器程序。EA 3.4 LED 简介简介 LED 数码管根据 LED 的接法不同分为共阴和共阳两类,了解 LED 的这些特 性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异 外,编程方法也是不同的。图 2.7(a)是共阴和共阳极数码管的内部电路图,它 们的发光原理是一样的,只是它们的电源极性不同而已。 将多只 LED 的阴极连在一起即为共阴式,而将多只 LED 的阳极连在一起即 为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段 即会发光。当然,LED 的电流通常较小,一般均需在回路中接上限流电阻。假 如我们将“b“和“c“段接上正电源,其它端接地或悬空,那么“b“和“c“段发光, 此时,数码管显示将显示数字“1”。而将“a“、“b“、“d“、“e“和“g“段都接上 正电源,其它引脚悬空,此时数码管将显示“2”。其它数字的显示原理与此类 同。 LED 的 7 段数码管利用单只 LED 组合排列成“8”字型的数码管,分别引出 它们的电极,点亮相应的点划来显示出 0-9 的数字。在这次的设计中采用的均 是共阴极的 LED 显示,当 I/O 口输出为高电平的时候,对应段就被点亮。LED 数码管的结构图如图 2.7(b)所示。 华中科技大学文华学院课程设计(论文) 8 (a) (b) 图 3-3 LED 分类结构图和结构图 这次设计的显示部分采用 AT89c51 单片机动态扫描完成, 在多数的应用场 合中,我们并不希望使用多 I/O 端口的单片机,原则上是使用尽量少引脚的器 件。在没有富余端口的情况下,应通过优化设计程序和扩展电路达到预期的目 的。动态扫描的频率有一定的要求,频率太低,LED 将出现闪烁现象。如频率 太高,由于每个 LED 点亮的时间太短,LED 的亮度太低,肉眼无法看清,所以 一般均取几个 ms 左右为宜,这就要求在编写程序时,选通某一位 LED 使其点亮 并保持一定的时间,程序上常采用的是调用延时子程序。 LED 显示电路 (1) 静态显示电路 LDE 显示器工作在静态显示时,其公共阳极(或阴极) 接 VCC(或 GND) ,一 直处于显示有效状态,所以每一位的显示内容必须由锁存器加以锁存,显示各 位相互独立。 (2) 动态显示电路 将所有位的段选线的同名端联在一起,由一个 8 位 I/O 口控制,形成段选 线的多位复用。而各位的公共阳极或公共阴极则分别由相应的 I/O 口线控制, 实现各位的分时选通,即同一时刻只有被选通位是能显示相应的字符,而其他 所有位都是熄灭的。由于人眼有视觉暂留现象,只要每位显示间隔足够短,则 会造成多位同时点亮的假象。这就需要单片机不断地对显示进行控制,CPU 需 华中科技大学文华学院课程设计(论文) 9 要不断地进行显示刷新,动态显示电路参见图 2.8,图 2.8 中是扩展了五位的 LED 数码管显示,用一个 74LS04 作为五个 LED 的段选输入,采用动态显示的方 式连接。类似地,16 位的 LED 数码管显示也可以用这种方法来实现。 图 3-4 五位 LED 数码管的动态显示 第四章第四章 软件设计软件设计 程序如下:程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code SEG710=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar ACT8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位选 uchar deda, sec=50,min=59,hour=6; /deda 计时器 0 计数多少次是一秒的控制变量 sbit led1 = P10; / 用 p1.0 口控制 led 灯 华中科技大学文华学院课程设计(论文) 10 uchar num1; /led 灯的计数器变量 uchar cnt,m; void delayms(uint) ; sbit fmq=P35;/P3.5 是蜂鸣器的控制端口 /*/ void init(void)/开定时器 0 和 1,并置初值 TMOD=0x11; TH0=-(50000/256); TL0=-(50000%256); ET0=1; /允许 T0 中断 TR0=1; TH1=-(1000/256); TL1=-(1000%256); ET1=1; TR1=1;/启动 EA=1;/开中断 /*/ void di() /蜂鸣器子程序 uchar i; for (i=0;i=20) /计数 20 次为一秒 deda=0;sec+; if(m0)di();-m; 华中科技大学文华学院课程设计(论文) 12 if(sec=60)sec=0;min+; if(min=60)min=0;hour+;m=hour; if(hour=24)hour=0; /*/ void delayms(uint xms) /蜂鸣器延时 uint i,j; for(i=xms;i0;i-) for(j=100;j0;j-); /*/ void delay(uint k) uint data i,j; for(i=0;i59)min=0;delay(300);break; /键盘控制的进位 case 0xf7:if(+hour23)hour=0;delay(300);break; default:break; 第五章第五章 调试过程及数据分析调试过程及数据分析 5.1 硬件调试硬件调试 硬件调试的调试比较困难。因为是调试所以不能对元件进行焊接,只能把 各个元件用导线连接起来。调试的整体过程是:各个系统逐个调试,各部分调 试成功后再进行组装后的整体调试。 调试过程包括: 1. 显示部分的调试 问题:数码管的显示不稳定,不停的闪烁。 分析:没有考虑到干扰及环境的制约。于是我们把在面包板上连好的电路 焊接在印刷板上,并采用电容滤波尽可能去除纹波和干扰。 2. 控制部分的调试 问题:按下按键后数据有时正常有时又不正常,数据的加减不稳定。 分析:根据分析有两个问题可以导致此种现象,一是按键接触不良可能有 短路,二是程序部分有问题。用万用表测量后发现按键按下后不稳定,更换质 华中科技大学文华学院课程设计(论文) 14 量更好的按键后故障即排除。 5.2 KeiL 调试调试 启动 Keil 软件,选择“Project”菜单下的“New Project”命令,输入项 目的文件名,选择存储路径,点击“保存”按钮。 在“Select Device”窗口中选择“Atmel”下的“AT89C51” 芯片,单击 “确定”按钮。展开“Project Workspace”窗口中的“Target 1”, 右击 “Target 1” ,选择“Options for Target Target 1 ”,选择“Target”选 项在 Keil (MHZ)右边输入“12m” 。选择“Debug”选项,选择“Use Keil Monitor-51 Driver” 。单击“Settings”按钮,串口选择“COM1”,波特率选择 “38400” ,单击“OK”按钮。 右击“Source Group 1” ,选择“Add files to Group Source Group 1,在文件类型中选择“Asm Source file”,找到将要编译的程序,单击 “ADD”按钮,然后再单击“CLOSE”按钮。单击“Rebuild all target files”,在“Build”窗口中观察编译结果,根据提示修改程序,直到没有错误 出现。 5.3 开发板调试开发板调试 根据程序的设计在开发板上分别连接好各个端口的连接线,用串口线把计 算机和试验箱的仿真头连接好。 单击 Keil 软件上的“Start/Stop Debug Session”按钮,再单击“RUN” 按钮,运行程序。观察试验箱上出现的效果,分析程序的对错,直到调试出正 确的结果。 华中科技大学文华学院课程设计(论文) 15 第六章第六章 结论结论与总结与总结 经过一周的努力,顺利完成了基于AT89S52AT89S52单片机控制的单片机数字时钟 的设计,所完成的工作主要包括以下几个方面: (1)准备阶段的工作 准备阶段的工作主要包括:查阅国内外相关文献,了解单片机微控制器的主 要作用,发展过程及发展趋势和使用方法,了解用LED数码管显示电子时钟日历 的工作原理、分析LED显示系统。详细了解了AT89c51单片机应用中的数据转换 显示、数码管显示原理、动态扫描显示原理。 (2)系统硬件设计 本次的设计基于AT89c52单片机的LED显示系统主要由AT89c52单片机处理器 控制、位扫描控制电路、端码显示驱动电路及与计算机的接口电路组成。此外 还包括一些基本的电路如电源电路,晶振电路,及接口电路。 (3)系统软件设计 根据LED显示管控制器的功能和系统硬件电路,进行系统软件设计。本系统 软件设计采用模块化设计,即控制系统中的各个功能块都按照模块化方式进行 程序设计。软件由读取时间的子程序和显示刷新子程序两部分组成,读取时间 的子程序完成初始化工作,同时负责进行显示,按要求读出显示数据,显示刷 新子程序将时间信号(时、分、秒) (4)实验过程总结 通过本次实验对单片机知识有了更深入的了解,将其运用到了实际中来, 达到了将知识应用于实践的目的。在实验中,我也遇到了很多挫折,不过我都 和同伴一一克服了,大家齐心协力解决了问题,使我明白了和他人共同合作的 华中科技大学文华学院课程设计(论文) 16 重要性。在以后的道路上我们也必须深刻认识到团队合作的精神,投入今后的 发展之中。 在进行程序设计的时候,在确保语句无误之后,时钟显示还是有问题,经 过老师的指导不断改正,还是出现这样、那样的问题,不过我们都坚持了下来, 仔细进行修改和测试,才最终完成了设计任务。 成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至 放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才 会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 在此特别感谢在实验中老师对我的指导以及一些同学对我的帮助。 参考文献参考文献 【1】单片机 C 语言程序设计.新余:新余高专 【2】李光飞等.单片机 C 程序设计实例指导.北京: 北京航空航天大学出版社 【3】戴佳 戴卫恒.51 单片机 C 语言应用程序设计实例精讲.北京: 电子工业出版社 【4】周润景等基于 PROTEUS 的电路及单片机系统设计与仿真. 北京: 北京航空航天大 学出版社 【5】孙育才,王荣兴,孙化芳.新型 AT89S52 系列单片机及其应用. 北京:清华大学出版 社 【6】胡汉才. 单片机原理及系统设计M. 北京:清华大学出版社 【7】张毅刚. MCS-51 单片机应用设计. 哈尔滨工业大学出版社

    注意事项

    本文(单片机原理课程设计(论文)-单片机数字时钟的设计.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开