单片机课程动静态显示设计方案_第1页
单片机课程动静态显示设计方案_第2页
单片机课程动静态显示设计方案_第3页
单片机课程动静态显示设计方案_第4页
单片机课程动静态显示设计方案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1 单片机课程动静态显示设计方案 一、设计任务与要求 计背景 随着科学技术的发展和电子技术产业结构调整,单片机开始迅速发展,由于家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。单片机以其芯片集成度高、处理功能强、可靠性高等优点,成功应用于工业自动化、智能仪器仪表、家电产品等领域。 近些年,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的, 人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试。 课程设计目的 通过 单片机原理与应用 课程设计,使学生掌握单片机及其扩展系 统设计的方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展系统设 2 计和应用的理解 计要求 1、主电路系统由秒信号发生器、 “ 时、分、秒 ” 计数器、译码器及显示器、校时电路、整点报时电路组成 2、秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入 “ 秒计数器 ” , “ 秒计数器 ” 采用 60 进制计数器,每累计 60 秒发出一个 “ 分脉冲 ” 信号,该信号将作为 “ 分计数器 ” 的时钟脉冲。 “ 分计数器 ” 也采用 60 进制计数器,每累计 60 分钟,发出一个 “ 时脉冲 ” 信号,该信号将被送到 “ 时计数器 ” 。 “ 时计数器 ” 采用 24 进制计时器,可实现对一天 24 小时的累计 3、译码显示电路将 “ 时 ” 、 “ 分 ” 、 “ 秒 ” 计数器的输出状态菁七段显示译码器译码,通过六位 段显示器显示出来 4、校时电路时用来对 “ 时 ” 、 “ 分 ” 、 “ 秒 ” 显示数字进行校对调整的 二、总体方案设计 路的总体原理框图 根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图 1 所示 单片机 数码管显示 晶振 3 图 1 硬件电路方框图 现时钟计时的基本方法 利用 列单片机的可编程定 时 /计数器、中断系统来实现时钟计数。 (1) 计数初值计算 : 把定时器设为工作方式 1,定时时间为 50计数溢出 20 次即得时钟计时最小单位秒,而 100 次计数可用软件方法实现。 假设使用 T/式 1, 50时, 2 则初值 X 满足( 216 1/1212 s =50000 s X=15536 0011110010110000 32) 采用中断方式进行溢出次数累计 ,计满 20 次为秒计时( 1 秒); (3) 从秒到分和从分到时的计时是通过累加和数值比较实现。 子钟的时间显示 电子钟的时钟时间在六位数码管上进行显示,因此,在内部 设置显示缓冲区共8 个单元。 7H 36H 35H 34H 33H 32H 31H 30H 时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位 子钟的时间调整 电子钟设置 3 个按键通过程序控制来 完成电子钟的时间调整。 A 键按一次调整时,按第二次调整分钟,第三次推出时间调整; 时间调整器 4 B 键对小时或分钟进行加一; C 键对小时或分钟进行减一; 体方案介绍 时方案 利用 片机内部的定时 /计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时 /计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。 制方案 和 外接由八个 码管 (成的显示器,用作 段码输出口, 作八个 码管的位控输出线, 外接四个按键 A、B、 C 构成键盘电路。 一种低功耗,高性能的 位微型计算机。它带有 8K 编程和擦除的只读存储器( 该器件采用 高密度非易失性存储器技术制造,与工业上标准的 80 80指令系统及引脚兼容,片内 成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的 I/O 便可完成 ,所以本设计中采用此的设计方案。 三、数字钟的硬件设计 5 小系统 片分析 片机引脚图如下: 图 3 脚图 片机是标准的 40 引脚双列直插式集成电路芯片,其各引脚功能如下: +5V 电源。 地。 位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。 接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟 时,用于接外部时钟脉冲信号。 : 为一个 8 位漏极开路双向 I/O 口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入 “ 1” ,使 止,以避免锁存器为 “ 0” 状态时对引脚读入的干扰。 6 : 是一个内部提供上拉电阻的 8 位双向 I/O 口,它不再需要多路转接电路此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写 “ 1” ,使输出驱动电路的 止。 : 电路比 电路多了一个多路转接电路 又正 好与 一样。可以作为通用的 I/O 口使用,这时多路转接电路开关倒向锁丰存器 Q 端。 : 特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为 I/O 口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置 “ 1” ,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表 3示。 脚 兼用功能 行通讯输入( 行通讯输出( 部中断 0( 部中断 1( 时器 0 输入 (时器 1 输入 (部数据存储器写选通 部数据存储器写选通 33 端口引脚兼用功能表 振电路 右图所示为时钟电路原理图,在 片内部有一个高增益反相放大器,其输入端为芯片引脚 出端为引脚 在芯片内部, 间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲 经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。 7 图 3振电路 码显示模块设计 显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管 示器、液晶 示器、 示器等。 示器是现在最常用的显示器之一,如下图所示。 图 3示器的符号图 发光二极管( 特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式 示器件(半导体显示器)。分段式显示 器( 码管)由 7 条线段围成 8 字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。 阴之分。图是共阳式、共阴式 码管的原理图和符号 。 8 图 3阳式、共阴式 码管的原理图和数码管的符号图 系统采用动态显示方式,用 来控制 码管的段控线,而用 来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存 在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。 四、系统软件设计 件设计分析 在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时 秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功能。 9 程序清单 30H 2 0000H ;程序开始 0003H ;关外中断 0 000 ;定时器 断程序入口 ;跳至 行 0013H ;关中断 1 001 ;定时器 断程序入口 ;跳至 行 0023H ;关串行中断 9H,92H,82H,00H,90H,08H,0共阳段码表 012 34567 89不亮 A- 9H,92H,82H,00H,90H,08H ; 显示数 0 1 2 3 4 5 6 7 8 9 不亮 C - A ; 内存数 0 1 2 3 4 5 6 7 8 9 000 ;,启动时显示 2013 年 06 月 07 日、 号)用 10 05H,01H,01H,00H,01H,00H,0B 07H,00H,06H,00H,03H,01H,00H,02H,0 14H ;1 毫秒延时 19H ;20 毫秒延时 20H ;8 毫秒 *32= 程序开始 ; ;整点报时用 A,#10H B,79H A,78H 08H 主程序开始 T ;上电显示年月日及班级学号 00H ;清 00存单元 80H ; 00H ; ; ; 20H,#00H ;清 20H(标志用) 70 ;放入 熄灭符 数据 11H ;设 16 位定时器 11 0 ;50时初值( 时用) 3 ;50时初值 0 ;50时初值( 烁定时用) 3 ;50时初值 ;总中断开放 ;允许 断 ;开启 时器 14H ;1 秒定时用计数值( 5020) 70H ;显示单元为 70以下主程序循环 ;调用显示子程序 _ ;为 0 时转时间调整程序 ;秒表功能, 键调时时作减 1 加能 ;秒表 08H, ;为 1 时跳回 B ; ;等待键释放 05H, 50H 50H,#0 ;- - 51H,#0 ;黑 ;分加 1 ;分减 1 ;进入时调整 05H ;消抖 ;进入时调整 ;转到时 间调整程序 ;消抖 ;等键 释放 53H ; 12 A, ;分数据放入 A C ;清进位标志 A,#60H, ;小于 60 分时返回 ;大于或等于 60 分时分计时单元清 0 ;消抖 ;等键 释放 53H ; 以下秒表功能 /时钟转换程序 ;按下 进行功能转换 B _ 03H 03H, 60H ;显示秒表数据单元 60H,#00H 61H,#00H 62H,#00H 63H,#00H 64H,#00H 65H,#00H 0 ;10时初值() 0 ;10时初值 _ 70H ;显示时钟数据单元 _ 以下秒表暂停 清零功能程序 ;按下 停或清 0,按下 出秒表回到时钟计时 B _ _ 13 _ B _ B _ _ 60H,#00H 61H,#00H 62H,#00H 63H,#00H 64H,#00H 65H,#00H B _ B _ _ 以下键等待释放时显示不 会熄灭用 _ _ _ _ 1 秒计时程序 ;断服务程序 ;累加器入栈保护 ;状态字入栈保护 ;关 断允许 ;关闭定时器 A,#0 ;中断响应时间同步修正 A, ;低 8 位初值修正 ;重装初值(低 8 位修正值) A,#3 ;高 8 位初值修 正 A, ;重装初值(高 8 位修正值) ;开启定时器 14 ;20 次中断未到中断退出 14H ;20 次中断到( 1 秒)重赋初值 07H 71H ;指向秒计时单元( 71 ;调用加 1 程序(加 1 秒操作) A, ;秒数据放入 A( 2 位十进制数组合) C ;清进位标志 A,#60H, ;小于 60 秒时中断退出 ;大于或等于 60 秒时对秒计时单元清 0 77H ;指向分计时单元( 76 ;分计时单元加 1 分钟 A, ;分数据放入 A C ;清进位标志 A,#60H, ; ;小于 60 分时中断退出 ;大于或等于 60 分时分计时单元清 0 ;正点报时 08H 79H ;指向小时计时单元( 78 ;小时计时单元加 1 小时 A, ;时数据放入 A C ;清进位标志 A,#24H, ; ;小于 24 小时中断退出 ;大于 或等于 24 小时小时计时单元清 0 72H,76H ;中断退出时将分、时计时单元数据移 73H,77H ;入对应显示单元 74H,78H ; 75H,79H ; ;恢复状态字(出栈) ;恢复累加器 ;开放 断 ;中断返回 ;闪动调时程序 秒表功能程序 ;断服务程序,用作时间调整时调整单元闪烁指示或秒表计时 ;中断现场保护 03H, ;=1 时秒表 #0 ;装定时器 时初值 #3 _ ;未到退出中断( 50断 6 次) 15 06H ;重装 定时用初值 02H ;定时到对闪烁标志取反 02H, ;02H 位为 1 时显示单元 熄灭 72H,76H ;02H 位为 0 时正常显示 73H,77H 74H,78H 75H,79H ;恢复现场 ;中断退出 01H, ;01H 位为 1 时,转小时熄灭控制 72H,7 ;01H 位为 0 时, 熄灭符 数据放入分 73H,7 ;显示单元( 72 将不显示分数据 74H,78H 75H,79H ;转中断退出 72H,76H ;01H 位为 1 时, 熄灭符 数据放入小时 73H,77H ;显示单元( 74小时将不显示 74H,7 75H,7 ;转中断退出 A,#0 ;中断响应时间同步修正 ,重装初值( 10 A, ;低 8 位初值修正 ;重装初值(低 8 位修正值) A,#0 ;高 8 位初值修正 A, ;重装初值(高 8 位修正值) ;开启定时器 61H ;指向秒计时单元( 71 ;调用加 1 程序(加 1 秒操作) C A, ;加 1 后为 00, C=0 ;加 1 后不为 00, C=1 ;大于或等于 60 秒时对秒计时单元清 0 63H ;指向分计时单元( 76 ;分计时单元加 1 分钟 A, ;分数据放入 A C ;清进位标志 A,#60H, ;小于 60 分时中断退出 ;大于或等于 60 分时分计时单元清 0 65H ;指向小时计时单元( 78 16 ;小时计时单元加 1 小时 ;恢复状态字(出栈) ;恢复累加器 ;中断返回 ; ; 加 1 子 程 序 A, ;取当前计时单元数据到 A ;指向前一地址 A ;A 中数据高四位与低四位交换 A, ;前一地址中数据放入 A 中低四位 A,#01H ;A 加 1 操作 A ;十进制调整 ;移入 存器 A,#0 ;高四位变 0 ;放回前一地址单元 A, ;取回 暂存数据 ;指向当前地址单元 A ;A 中数据高四位与低四位交换 A,#0 ;高四位变 0 ;数据放入当削地址单元中 ;子程序返回 ;分减 1 子 程 序 ; A, ;取当前计时单元数据到 A ;指向前一地址 A ;A 中数据高四位与低四位交换 A, ;前一地址中数据放入 A 中低四位 A ;A 减 1 操作 3,A ;移入 存器 A,#0 ;高四位变 0 C ;清进位标志 A,#0 09H ;大于等于 0 9 A, ;取回 暂存数据 ;指向当前地址单元 A ;A 中数据高四位与低四位交换 A,#0 ;高四位变 0 ;数据放入当削地址单元中 ;子程序返回 ; A,#59H A, ;移入 存器 17 A,#0 ;高四位变 0 时减 1 子 程 序 A, ;取当前计时单元数据到 A ;指向前一地址 A ;A 中数据高四位与低四 位交换 A, ;前一地址中数据放入 A 中低四位 ;00 减 1 为 23(小时) A ;A 减 1 操作 ;移入 存器 A,#0 ;高四位变 0 C ;清进位标志 A,#0 ;时个位大于 9 为 9 09H ;大于等于 0 9 A, ;取回 暂存数据 ;指向当前地址单元 A ;A 中数据高四位与低四位交换 A,#0 ;高四位变 0 ;时十位数数据放入 ;子程序返回 A,#23H A, ;时个位小于 0A 不处理 A,#0 ;高四位变 0 ;个位移入 清零程序 ;对计时单元复零用 A ;清累加器 ;清当前地址单元 ;指向前一地址 ;前一地址 单元清 0 ;子程序返回 ;时钟时间调整程序 ;当调时按键按下时进入此程序 ;关定时器 断 ;关闭定时器 ;调用 1 秒延时程序 ;消抖 ;键按下时间小于 1 秒,关闭显示(省电) 06H ;进入调时状态,赋闪烁定时初值 70H,#00H ;调时时秒单元为 00 秒 18 71H,#00H ;允许 断 ;开启定时器 ;为 0(键未释放),等待 00H ;键释放,分调整闪烁标志置 1 ;等待键按下 ;有键按下,延时 ;消抖 _ ;按下时间大于 转调小时状态 77H ;按下时间小于 加 1 分钟操作 ;调用加 1 子程序 A, ;取调整单元数据 C ;清进位标志 A,#60H, ;调整单元数据与 60 比较 ;调整单元数据小于 60 转 环 ;调整单元数据大于或等于 60 时清 0 C ;清进位标志 ;跳转到 环 ;省电( 显示)状 态。开 断 ;开启 时器(开时钟) ;无按键按下,等待。 ;消抖 ;是干扰返回 待 ;等待键释放 ;返回主程序( 据显示亮) 00H ;分闪烁标志清除(进入调小时状态) 01H ;小时调整标志置 1 ;等待键释放 ;等待按键按下 ;有键按下延时 ;消抖 ;按下 时间大于 退出时间调整 79H ;按下时间小于 加 1 小时操作 ;调加 1 子程序 A, C A,#24H, ;计时单元数据与 24 比较 ;小于 24 转 环 ;大于或等于 24 时清 0 操作

温馨提示

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

评论

0/150

提交评论