




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文) 题 目: 基于 AT89S51 单片机的电子钟的设计 系 部: 信息技术系 专 业: 电子信息工程技术 学 号: 学生姓名: 指导教师姓名: 指导教师职称: 二一年五月八日 I II 摘要 随着人类科技文明的发展,人们对于时钟的要求在不断地提高。时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向 9。本文正是基于这种设计方向,以单片机为控制核心,设计制作一个符合指标要求的多功能数字时钟。 本设计基于单片机技术原理,以单片机芯片 AT89S51 作为核心控制器,通过硬件电路的制作以及软件程序的编制 ,设计制作出一个电子时钟系统。该时钟系统主要由时钟电路模块、复位电路模块、 LED 数码管显示模块、以及键盘控制模块组成。系统具有简单清晰的操作界面,能在 4V 7V 直流电源下正常工作。能够准确显示时间(显示格式为时时: 00.00.00,刚上电时为 12.00.00,当显示到 23.59.59,即有重新从 00.00.00 开始显示),可随时进行时间调整。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。 关键词 AT89S51 单片机 电子钟 I III 目录 第一章 绪论 1 1.1 单片机的特点 . 1 1.2 单片机应用简述 . 1 1.3 电子时钟简介 . 2 1.4 电子时钟的基本特点 . 2 第二章 控制系统的硬件设计 . 3 2.1 芯片的选择 . 3 2.1.1 AT89S51 的功能概述 . 3 2.1.2 AT89S51 引脚功能说明(附引脚图) . 3 2.1.3 AT89S51 与 AT89C51 的比较 . 6 2.2 电子时钟电路设计框图 . 7 2.2.1 按键电路 . 7 2.2.2 LED 数码管显示电路 . 8 第三章 控制系统的软件设计 . 12 3.1 主程序部分 . 12 3.2 显示子程序 . 15 3.3 中断服务子程序 . 19 第四章 电路测试 . 22 4.1 硬件测试 . 22 4.2 软件测试 . 23 4.3 测试结果分析与结论 . 23 4.3.1 测试结果分析 . 23 4.3.2 测试结论 . 23 第五章 作品总结与感想 . 24 第六章 致谢 . 25 第七 章 参考文献 . 26 第八章 附录 . 27 I IV 附录一 程序清单 . 27 附录二 电路原理图 . 35 附录三 PCB 图 . 36 附录四 3D 图 . 36 附录五 元件清单 . 37 附录六 硬件实物图 . 38 1 第一章 绪论 1.1 单片机的特点 20 世纪末,单片机技术获得了飞速的发展,在其在推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使得现代电子产品性能进一步提高 1。单片机有以下特点: 1. 单片机的存储器 ROM 和 RAM 是严格区分的。 ROM 称为程序存储器,只存放程序、固定常数及数据表格。 RAM 则为数据存储器,用作工作区及存放用户数据 1 2. 采用 面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力 1; 3. 单片机的 I/O 口通常是多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或机器状态来区分 1; 4. 单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便 1。 1.2 单片机应用简述 目前,单片机正朝着高性能和多品种方向发 展趋势是进一步向着 CMOS 化、低功耗、小体积,大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。在以前,是必须由模拟或是数字电路实现的大部分功能的,而现在已经能用单片机通过软件的方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命 2。 2 1.3 电子时钟简介 时间对于人们来说总是那么宝贵,工作的忙碌性和繁杂性容易是人忘记当前时间。忘记了要做的事情,当事情不是很重要的时候这种遗忘无伤大雅。但是, 一旦是重要的事情,一时的耽误可能酿成大祸 3。 1957 年, Ventura 发明了世界上第一只电子表,从而奠定了电子时钟的基础,电子时钟也飞速的发展起来 4。现代的电子时钟的基于单片机的一种计时工具采用延时程序产生一定的时间中断,用于一秒定义,通过计数方式进行六十秒分钟进一,满六十分小时进一,满二十四小时清零,从而达到计时的功能,是人们日常生活不可缺少的工具。 1.4 电子时钟的基本特点 现在高精度的计时工具大多数采用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此,走时精度高,稳定性好, 使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用 LCD 显示器或数码管代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好 3。 3 第二章 控制系统的硬件设计 2.1芯片的选择 经过多种单片机性能的分析及现有实验设备的限制,在本设计中单片机芯片采用了AT89S51 单片机芯片。 AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机片内含 4k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程( ISP)也可用传统方法进行编程既通用 8 位微处理器于单片机芯片中, ATMEL 公司的功能强大,低价位 AT89S51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域 5。 2.1.1 AT89S51 的功能概述 AT89S51 提供以下标准功能: 4K 字节 Flash 闪速存储器, 128 字节内部 RAM, 32个 I/O 口线,看门狗( WDT),两个数据指针,两个 16 位定时、计数器,一个 5 向量两级中 断结构,一个全双工通信口,片内振荡器及时钟电路。同时, AT89S51 可降至 0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时、计数器,串行通信口及中断系统继续工作。掉电方式 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位 5。 2.1.2 AT89S51 引脚功能说明(附引脚图) Vcc: 电源电压 GND: 接地 P0 口 : P0 口是一组 8 位漏极开路型双向 I/O 口,即地址 /数据总线复用口。作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端 口写 “1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时, P0 口接收指令字节,而在程序校 4 验时,输出指令字节,校验时,要求外接上拉电阻。 5 图 2- 1 AT89S51 引脚图 P1 口 : P1 口是一个带有内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写 “1”,通过内部的上拉电阻把端 口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 Flash 编程和程序校验期间, P1 接收低 8 地址 5。 P2 口 : P2 口是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(例如执行 MOVX Ri 指令)时, P2 口线上的内容(即特殊功能寄存器( SFR)区中 P2 寄存器的内容),在整个访问期间不改变。 Flash 编程和程序校验期间, P2 亦接收高位地址和其他控制信号 5。 P3 口 : P3 口是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对 P3 口写入 “1”,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流。 P3 口除了作为一 般的 I/O 口线外,更重要的用途是它的第二功能 5。 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 5 表 2- 1 P3 口第二功能 端口引脚 第二功能 信号名称 P3.0 RXD 串行数据接收 P3.1 TXD 串行数据发送 P3.2 /INT0 外部中断 0 请求 P3.3 /INT1 外部中断 1 请求 P3.4 T0 定时 /计数器 0 的外部输入 P3.5 T1 定时 /计数器 1 的外部输入 P3.6 /WR 外部 RAM 写选 通 P3.7 /RD 外部 RAM 读选通 RST:复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 WDT 溢出将使该引脚输出高电平,设置 SFR AUXR 的 DISRT0 位(地址 8EH)可打开或关闭该功能。 DIRT0 位缺省为 RESET 输出高电平打开状态 5。 ALE/PROG:当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器, ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此可对外输出时钟或用以定时目的。要注 意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于出入编程脉冲( PROG)。如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,单片机执行外部程序时,应设置 ALE 无效 5。 /PSEN:程序储存允许( /PSEN)输出是外部程序存储器的读选通信号,当 AT89S51由外部程序存储器取指令(或数据)使,每个机器周期两次 /PSEN 有效,即输出两个脉冲。当访问外部数据存储器。没有两次有效的 /PSEN 信号 5。 EA/VPP :外部 访问允 许。欲 使 CPU 仅 访问 外部程 序存储 器( 地址为0000HFFFFH), EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 VCC 端), CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程电压 VPP5。 6 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 2.1.3 AT89S51 与 AT89C51 的比较 AT89S51 相对于 AT89C51 新增加了很多功能,性能有了较大的提升,价格基本上不 变,甚至比 89C51 更低! 3 AT89S51 具有 ISP 在线编程 功 能,这个功能的优势在于改写单片机存储器内的程序不需要 芯片从工作环境上拔出,可以在线烧写。 AT89S51 的最高工作频率为 33MHz, 89C51 的极限工作频率是 24M,就是说 89S51具有更改的工作频率,从而有了更快的计算速度。 AT89S51 具有双工 UART 串行通道。 AT89S51 内部集成看门狗计时器,不再需要像 89C51 那样外接看门狗计时器单元电路。 AT89S51 具有双数据指示器。 AT89S51 具有电源关闭标识。 AT89S51 具有 全新的加密算法,这使得对于 89S51 的解密变为不可能,程序的保密性大大加强,这样就可以有效保护知识产权不被侵犯 10。 在兼容性方面, AT89S51 向下完全兼容 51 全部字系列产品。比如 8051、 89C51 等产品。也就是说不论教科书上采用的单片机是 8051 还是 89C51 还是 MCS-51 的等等,在 89S51 上一样可以照常运行,这就是所谓的向下兼容。 3 总之,无论是比其他品牌同类产品相比,还是与同品牌产品相比都显示了 AT89S51优良的性能,更高的性价比。所以 AT89S51 芯片成为了本系统的首选。 7 2.2 电子时钟电路设计框图 电路设计框图 图 2-2 2.2.1 按键电路 设计用了 4 个按键 K1/K2/K3/S1,分别用于调时、调分、调秒及用作复位按钮,达到了时间调节的目的 。 C3C4Y1P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .3 /IN T 113P 3 .2 IN T 012P 3 .4 /T 014P 3 .5 /T 115E A /V P31X218X119R E S E T9P 3 .7 /R D17P 3 .6 /W R16P 0 .732P 0 .633P 0 .534P 0 .435P 0 .336P 0 .237P 0 .138P 0 .039P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P 3 .0 /R X D10P 3 .1 /T X D1180 51V C C40V S S20u1S1C5R 12+ 5 V+ 5 VR91KR 101KR 111KK1 S W -P BK2S W -P BK3S W -P B+ 5 V按键电路 图 2-3 晶振电路模块 复位电路模块 LED 显示电路 AT89S51 主控制模块 按键电路 8 2.2.2 LED 数码管显示电路 数码管是一种把多个 LED 显示段集成在一起的显示设备。有两种类型,一种是共阳极,一种是共阴极。共阳极就是把多个 LED 显示段的阳极接在一起,又称为公共端。共阴型就是把多个 LED 显示段的阴极连接在一起,即为公共商。阳极即 为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。数码管的显示方法可分为静态显示和动态显示,在本设计中采用的是动态显示,其原理:各个数码管的相同端连接在一起,共同占用 8 位段引管线:每位数码管的阳极连接在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来 6。 本设计由两个 LED 四位一体阴极数码管、 8 个 9012( PNP)三极管、 8 个 510 欧上拉电阻等组成,由于 LED 数码管的位电流较大,故采用三极管来驱动。 8 个电阻一端接到单片机的 P1 口,另一端分别接到三极管的基极,发射极接地,集电极与所述数码管芯片的位控制端相连。此驱动电路采用主芯片的通用口并配合三极管来实现四位数码管的动态扫描和显示驱动,具有电路结构简单、占用电路板空间小、驱动能力强、成本低等优点,其缺点是共阴极的数码管采用 PNP 三极管驱动,这样三极管的损耗比较大。位码由 P1 口输出,段码由 P3 口输出, P1 口线与 LED 之间 5.1K 的限流电阻和 PNP三极 管,显示的方式为动态显示方式。 表 2-2 字型与字段关系 显示字符 g f e d c b a 字型码 共阴极 共阳极 0 0 1 1 1 1 1 1 3FH C0H 1 0 0 0 0 1 1 0 06H F9H 2 1 0 1 1 0 1 1 5BH A4H 3 1 0 0 1 1 1 1 4FH B0H 4 1 1 0 0 1 1 0 66H 99H 5 1 1 0 1 1 0 1 6DH 92H 9 6 1 1 1 1 1 0 1 7DH 82H 7 0 0 0 0 1 1 1 07H F8H 8 1 1 1 1 1 1 1 7FH 80H 9 1 1 0 1 1 1 1 6FH 90H A 1 1 1 0 1 1 1 77H 88H B 1 1 1 1 1 0 0 7CH 83H C 0 1 1 1 0 0 1 39H C6H D 1 0 1 1 1 1 0 5EH A1H E 1 1 1 1 0 0 1 79H 86H F 1 1 1 0 0 0 1 71H 8EH 数码管驱动的意义: 第一:假如不驱动的话,单片机的高低电平仍然可以控制数码管的亮度 ,形在动态显示,但这时细心的你会发现这时的数码的亮度会比较暗,并且扫描频率很高,仍然有微小的闪动现象,因为单片机的输出的电流本身就很弱; 第二:三极管的作用是: 1、起到开关的作用,即某一时刻打开或关闭数码管,形成动态显示; 2、驱动数码管,静态显示可以不明显,动态显示的时候,效果就出来了。 10 具体电路图如下: P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .3 /IN T 113P 3 .2 IN T 012P 3 .4 /T 014P 3 .5 /T 115E A /V P31X218X119R E S E T9P 3 .7 /R D17P 3 .6 /W R16P 0 .732P 0 .633P 0 .534P 0 .435P 0 .336P 0 .237P 0 .138P 0 .039P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P 3 .0 /R X D10P 3 .1 /T X D1180 51V C C40V S S20u1R 145. 1KR 155. 1KR 165. 1KR 175. 1KR 135. 1KR 185. 1KQ290 12Q390 12Q490 12Q590 12Q690 12Q790 12R1R2R3R4R5R6R7R8dp8a1b2c3d4e5f6g7abfcgdedpabfcgdedpabfcgdedpabfcgdedpbit19bit210bit311bit412A1S M Gdp8a1b2c3d4e5f6g7abfcgdedpabfcgdedpabfcgdedpabfcgdedpbit19bit210bit311bit412A2S M GV C CR 195. 1KR 205. 1KQ890 12Q990 12图 2-4 数码管显示电路 11 整体电路图如下: C3C4Y1P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .3 /IN T 113P 3 .2 IN T 012P 3 .4 /T 014P 3 .5 /T 115E A /V P31X218X119R E S E T9P 3 .7 /R D17P 3 .6 /W R16P 0 .732P 0 .633P 0 .534P 0 .435P 0 .336P 0 .237P 0 .138P 0 .039P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728P 3 .0 /R X D10P 3 .1 /T X D1180 51V C C40V S S20u1S1C5R 12+ 5 V+ 5 VR 145. 1KR 155. 1KR 165. 1KR 175. 1KR 135. 1KR 185. 1KQ290 12Q390 12Q490 12Q590 12Q690 12Q790 12R1R2R3R4R5R6R7R8dp8a1b2c3d4e5f6g7abfcgdedpabfcgdedpabfcgdedpabfcgdedpbit19bit210bit311bit412A1S M Gdp8a1b2c3d4e5f6g7abfcgdedpabfcgdedpabfcgdedpabfcgdedpbit19bit210bit311bit412A2S M GV C CR 195. 1KR 205. 1KQ890 12Q990 12R91KR 101KR 111KK1 S W - P BK2S W - P BK3S W - P B+ 5 V图 2-5 电子钟硬件电路图 12 第三章 控制系统的软件设计 软件系统主要分为以下几个部分:主程序、显示子程序及中断服务子程序。 以动态显示作为主程序,主要是初始化部分和不断调用动态显示子程序。动态显示子程序,它被主程序不断调用,以保证稳定可靠的显示;按键查询采用中断方式;秒定时采用定时器 T0 中断方式进行,定时时间为 50MS,每 50MS 溢出一次,中断两次达 100MS。然后通过显示子程序将单元里面的十六进制数拆开为 BCD 码,送到显示缓冲区。 3.1 主程序部分 a)程序的起始地址: MCS-51 单片机复位后,( PC) =0000H,而 0003H-002BH 分别是各中断源的入口地址。所以,编程时应在 0000H 处写一条跳转指令。 b)主程序的初 始化:将要用到的 MCS-51 系列单片机内部部件或扩展芯片进行初始工作设定。流程图如下: 13 图 3-1 主程序流程图 程序如下: SECOND EQU 30H ;秒单元 MINITE EQU 31H ;分单元 HOUR EQU 32H ;时单元 HOURK BIT P2.0 ;时按键 MINITEK BIT P2.1 ;分按键 SECONDK BIT P2.2 ;秒按键 DISPBUF EQU 40H ;显示缓冲区 DISPBIT EQU 48H T2SCNTA EQU 49H T2SCNTB EQU 4AH 开始 单元初始化 显示缓冲区初始化 置定时器模式及工作方式 设置初始常数 启动定时器 14 TEMP EQU 4BH ORG 0000H LJMP START ORG 000BH ;定时器 T0 中断入口地址 LJMP INT_T0 ;主程序 START: MOV SECOND,#00H ;秒单元清 0 MOV MINITE,#00H ;分单元清 0 MOV HOUR,#12 ;上电时单元显示 12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP ;调用显示子程序 MOV TMOD,#01H ;设定时器 T0 工作方式为方式 1 MOV TH0,#3CH ;T0 置初值 MOV TL0,#0B0H SETB TR0 ;启动定时器 T0 15 SETB ET0 ;启动定时器 T0 中断允许 SETB EA ;总中断允许 3.2 显示子程序 功能:扫描 8 个数码管,数值。 流 程图如下 调用延时程序 秒单元加 1 60S 到? N 秒单元清 0 分单元加 1 60M 到? N Y Y 分单元清 0 小时单元加 1 24H 到? N Y 小时单元清 0 返回 16 图 3-2 显示程序流程图 显示程序如下: ;显示子程序 WT:JB SECONDK,NK1 ;位转移 LCALL DELY10MS ;延时 1s JB SECONDK,NK1 INC SECOND ;s+1 MOV A,SECOND CJNE A,#60,NS60 ;判断是否到 60m?判断是否到 60s?若未到,则返回;到了则跳转 NM60 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$ NK1: JB MINITEK,NK2 LCALL DELY10MS JB MINITEK,NK2 INC MINITE ;m+1 MOV A,MINITE CJNE A,#60,NM60 ;判断是否到 60m?判断是否到 60s?若未 17 到,则返回;到了则跳转 NM60 MOV MINITE,#00H ;60 分到,则分单元清 0 NM60: LCALL DISP JNB MINITEK,$ NK2: JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR ;h+1 MOV A,HOUR CJNE A,#24,NH24 ;判断是否到 60m?判断是否到 60s?若未到,则返回;到了则跳转 NM60 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$ NK3: LJMP WT DISP: MOV A,#DISPBUF ;显示小时十位值 ADD A,#8 18 DEC A MOV R1,A MOV A,HOUR MOV B,#10 DIV AB ;除以 10.,得到时间值的各位和十位 MOV R1,A ;十位送相应的显示缓冲区 DEC R1 ;指向显示缓冲区的个位 MOV A,B ;各位给 ACC MOV R1,A ;个位置送缓冲区的相应位置 DEC R1 MOV A,#10 MOVR1,A DEC R1 MOV A,MINITE ;显示分钟十位值 MOV B,#10 DIV AB MOV R1,A DEC R1 MOV A,B ;显示分钟个位值 19 MOV R1,A DEC R1 MOV A,#10 MOVR1,A DEC R1 MOV A,SECOND MOV B,#10 ;显示秒十位值 DIV AB MOV R1,A DEC R1 MOV A,B MOV R1,A DEC R1 RET 3.3 中断服务子程序 每个机器周期的长度是 12 个振荡器周期。因为实验系统的晶振是 11.0592MHz,所以定时常数的设 置可按以下方法计算: 机器周期 =1211.0592MHz 1.0857S 程序中,定时器 T0 采用方式 1=65536,因要求每 50MS 溢出一次,计数值 =( 501000) 1=5000 ,所以计数器的初值为 X=65536-50000=15536=3CB0H 20 初值寄存器的初值 TH0=3CH, TL0=B0H 置 T0 方式 1 定时,所以 TMOD=01H 功能: 50MS 执行一次完成显示数据的刷新并拆开放到显示缓冲区 .程序如下: ;中断服务子程序 INT_T0: MOV TH0,#3CH MOV TL0,#0B0H MOV A,#DISPBUF ADD A,DISPBIT MOV R0,A MOV A,R0 MOV DPTR,#TABLE ;查表 MOVC A,A+DPTR MOV P3,A ;段码送 P3 口 MOV A,DISPBIT MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A ;位码送 P1 口 INC DISPBIT 21 MOV A,DISPBIT CJNE A,#08H,KNA MOV DISPBIT,#00H 22 第四章 电路测试 4.1 硬件测试 由于在硬件电路是用通用板做的,所以在电路焊接方面是不可忽视的,只要有一处的错误,则会对检测造成很大的不便,而且电路的交线很多,对于各种锋利的引脚要注意处理,否则刺破带有封皮的导线,使得电路造成短路现象。另外还要对元器件先进行检测,如果有坏的器件要进行更换,还有就是要注意元器件的正确放置与安装以及布线的合理,便于成品电路的检测和维护 7。 在本设计中的调试过程遇到了很多的问题,回想这些问题,其实只要认真点、仔细点、思考多一点大部分是可以避免的,以下 为主要问题:电路做成后,数码管的正常显示应为 12-00-00,却显示成了 00-00-12,就是前四位和后四位调换了。解决:查出 P1口的 8 个电阻低 4 位和高 4 位接反了,拆了重新接之后,显示却变为正常显示数值12-00-00 的反面,就像一张纸的正面和反面反了下,后来想到从硬件中修改的话,改动的比较大也比较麻烦,后来决定从软件中修改,把共阴极后面代码改了,问题就得到了解决。 23 4.2 软件测试 该电子钟的功能虽少,但是程序也比较为复杂,所以在编写程序和调试程序时出现了相对较多的问题。最后,鉴于以前学过的单片机知识 ,一步一步的完成各个子程序,终于得到了最后的程序。解决了软件问题。在写中断程序和显示程序时遇到了很多的问题,如调试时显示乱码等等。但是经过努力,程序还是成功了。 4.3 测试结果分析与结论 4.3.1 测试结果分析 1.在测试中遇到 LED 数码管为不显示时,首先要仔细观察电路板是否存在漏焊、虚焊、或者元件损坏。 2.LED 数码管显示不正常,还有亮度不够,要注意观察电路是否存在短路现象。若硬件无误后,再查看烧写的程序是否正确,并对程序进行认真修改。 4.3.2 测试结论 经过了多次的反复测试与分析,可以对电路原 理及功能更加熟悉,同时提高了设计能力以及对电路的分析能力,同时在软件的编程方面得到更高的提高,对编程能 力 也得到了加强,同时对所学的只是得到了很到的提高与巩固 7。 对于初学者来说,更是有更大的益处,能理论联系实际运用,学到更多的知识,真正将这门课程所包含的知识用于实际生活中的具体创造和设计中。 24 第五章 作品总结与感想 通过这次单片机课程设计,发现了自身所学知识存在许多的不足和问题,同时也学到了不少东西,提高了动手能力。 在整个设计过程中,从设计方案的确定,到具体电路的设计,最后到总体电路的联接构建以及程 序的编写烧写,整个设计工程量的比较大的,单靠个人能力,很多方面考虑不周,有的地方甚至毫无头绪,想不出具体方案,因此,绝对不能心急,不明白的地方和其他的同学讨教,毕竟群策力办法要多些,让自己也多个机会,碰上是在不能解决的问题,就去找辅导老师,用过老师的指点,把问题彻底搞清楚并加以掌握。另外,在这次的设计过程中,我还查阅了很多相关设计的资料,通过参考和研究别人的一些设计,使得自己的设计思路更加清晰和周密,从而使设计出来的产品也更加完善和高质量。 尽管这次设计中遇到了很多问题,但是也都一一得以 解决 ,比如软件设计时 ,遇到了很多问题,但是经过向同学讨教及想老师询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家人合伙开店合同范本模板
- 二战如何签订劳动协议书
- 汽车装潢出租转让合同范本
- 养殖类技术培训合同范本
- 小儿护理查房课件
- 小儿意外伤害课件
- 兰州职业技术学院单招《英语》考前冲刺练习试题带答案详解(培优)
- 2025年标准租赁合同模板
- 难点详解京改版数学8年级上册期末试卷【培优A卷】附答案详解
- 难点解析人教版7年级数学上册期末试题完整版附答案详解
- 2025年长沙市中考物理试卷真题(含答案)
- 外科术后康复
- 口腔科主任述职报告
- 心脏骤停的急救及处理
- 营养科专案管理制度
- 达州国企考试试题及答案
- 2025四川省人力资源和社会保障厅制劳动合同书
- 2025-2030年海洋环境监测行业市场发展分析及发展前景与投资机会研究报告
- 浙江花园营养科技有限公司 年产750吨饲料级VD3油剂项目环评报告
- 渠道终端销售合同协议
- 煤矿其他从业人员培训课件
评论
0/150
提交评论