基于proteus软件的单片机数字时钟系统设计与仿真内容摘要:
入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因 7 此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在SFR8EH 地址上置 0。 此时, ALE只有在执行 MOVX, MOVC 指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA将内部 锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要 求的宽度。 8 实时时钟电路 DS1302 工作原理 DS1302 的结构及工作原理 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 ~。 采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302 内部有一个 31 8的用于临时性存放数据的 RAM 寄存器。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 引脚功能及结构 图 3 DS1302 芯片 图示表出 DS1302 的引脚排列 ,其中 Vcc1为后备电源, VCC2为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1或 Vcc2两者中的较大者供电。 当 Vcc2大于 Vcc1+ 时, Vcc2给 DS1302 供电。 当 Vcc2小于 Vcc1时, DS1302由 Vcc1供电。 X1 和 X2是振荡源,外接 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高 电平来启动所有的数据传送。 RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单 9 字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。 上电运行时,在 Vcc≥ 之前, RST必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ), SCLK 始终是输入端。 DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式 , 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31个字节,命令控制字 为 FEH(写 )、FFH(读 )。 10 MAX7219 工作原理简介 MAX7219 是 MAXIM 公司 生产的串行输入 /输出共阴极 数码管显示 驱动芯片,一片 MAX7219 可驱动 8 个 7 段(包括小数点共 8段)数字 LED、 LED 条线图形显示器 、 或 64个分立的 LED发光二级管。 该芯片具有 10MHz 传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有 LED 的段电流。 它的操作很简单, MCU只需通过 模拟 SPI三线 接口就可以将相关的指令写入 MAX7219的内部指令和数据寄存器 ,同时它还允许用户 选择多种译码方式和译码位。 此外它还支持多片 7219 串联方式,这样 MCU就可以通过 3根线(即 串行 数据线、 串行 时钟线和芯片选通线)控制更多的数码管显示。 图 4 DS1302 芯片 MAX7219 的外部引脚分配 11 图 5 MAX7219 的内部引脚分配 各引脚的功能为: DIN:串行数据输入端 DOUT:串行数据输出端,用于级连扩展 LOAD:装载数据输入 CLK:串行时钟输入 DIG0~DIG7: 8 位 LED 位选线,从共阴极 LED 中吸入电流 SEG A~SEG G DP 7段驱动和小数点驱动 ISET: 通过一个 10k 电阻和 Vcc 相连,设置段电流 12 MAX7219 内部的 寄存器 如图所示 , 主要有: 译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。 编程时只有正确操作这些寄存器, MAX7219 才可工作。 图 6 MAX7219 内部的相关寄存器 分别介绍如下: (1) 译码控制寄存器( X9H) 如图所示 , MAX7219 有两种译码方式: B译码方式和不译码方式。 当选择不译码时, 8个数据为分别一一对应 7 个段和小数点位; B 译码方式是 BCD 译码,直接送数据就可以显示。 实际应用中可以按位设置选择 B译码或是不译码方式。 13 图 7 MAX7219 的译码控制寄存器 (2) 扫描界限寄存器( XBH) 如图所示,此寄存器用于设置显示的 LED 的个数( 1~8),比如当设置为 0xX4时, LED 0~5 显示。 图 8 MAX7219 的扫描界限控制寄存器 (3) 亮度控制寄存器 ( XAH) 共有 16 级可选择,用于设置 LED 的显示亮度,从 0xX0~0xXF (4) 关断模式寄存器( XCH) 共有两种模式选择,一是关断状态,(最低位 D0=0)一是正常工作状态( D0=1)。 14 数码管介绍 数码管的分类 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“ 8”可分为 1位、 2位、 4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。 共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管。 共阳极数码管在应用时应将公共极 COM接到 +5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。 当某一字段的阴极为高电平时,相应字段就不亮。 共阴 极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。 共阴极数码管在应用时应将公共极 COM接到地线 GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。 当某一字段的阳极为低电平时,相应字段就不亮。 ( 1) 数码管驱动方式的分类 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 ( 2) 静态显示驱动 静态驱动也称直流驱动。 静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O端口进行驱动,或者使用如 BCD码二 十进制译码器译码进行驱动。 静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O端口多,如驱动 5个数码管静态显示则需要 5 8= 40根 I/O端口来驱动,要知道一个 89S51单片机可用的I/O端口才 32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 ( 3) 动态显示驱动 15 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电各自独立的 I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数码管的 COM端,就使各个数码管轮流受控显示,这就是动态驱动。 在轮流显示过程中,每位数码管的点亮时间为 1~ 2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管 实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O端口,而且功耗更低。 数码管的应用 数码管是一类显示屏 通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字。 可以显示、时间、日期、温度等所有可以用数字代替的参数。 由于它的价格便宜使用简单,所以在电器特别是家电领域应用极为广泛,如:空调、热水器、冰箱等等。 绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏。 数码管使用 的电流与电压 电流:静态时,推荐使用 1015mA;动态时, 16/1动态扫描时,平均电流为45mA,峰值电流 5060mA。 电压:当选择红色时,使用 ;当选择绿色时,使用。 16 电子时钟 系统设计流程 P r o t e l D X P 与 P r o t e u s电 路 设 计源 程 序 设 计生 成 目 标 代 码基 于 P r o t e u s 仿 真 图 9 基于 Proteus 的单片机系统设计流程。基于proteus软件的单片机数字时钟系统设计与仿真
相关推荐
电平时,外部程序存储器地址为( 0000H- FFFFH)不管是否有内部程序存储器。 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1( 19):反向振荡器放大器的输入及内部时钟工作电路 的输入。 XTAL2( 18):来自反向振荡器的输出。 MCS51 的中断源 引起终端的原因,或者能发出中断申请的来源,称为中断源。 中断可以认为设定
响的成份,最高频率约为。 但 声 音信号本身冗余度 是比较大的,少数辅音清晰度下降并不明显影响语句的可懂度。 一个正常人 声音 的频率一般在 40Hz~ 4000Hz的范围内,成年男子的 声 音频率较低,妇女和儿童的 声 音频率较高。 电话 声音 频率范围在 60Hz~3400Hz左右。 现代的 声音 合成或识别系统中,需将 声音 频率的上限提高到 10kHz左右。 根据奈奎斯特采样定律
擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平 10ms 来完成。 在芯片擦除操作中,代码阵列全被写“ 1”且在任 何非空存储字节被重复编程以前,该操作必须被执行。 AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU停止工作。 但 RAM、定时器、计数器、串口和中断系统仍在
页 个重要的单片机开发平台 , 其界面友好 , 操作也不复杂 , 用户极为庞大。 Keil C 与 Proteus在各自的环境下都可以进行一定程度仿真调试。 然而 Keil C只能对程序进行调试 , 不能看到硬件的运行结果 , 因此并不直观 ; 而 Proteus软件在对单片机系统进行仿真调试的时候只能对硬件做出改动 , 不能直观的了解程序运行的情况 , 难以对程序中存在的不足和错误进行修改。
时序 和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉 冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频 率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲 频率一定要控制在步进电机允许 的范围内。 ( 2) 89C51 单片机 Atmel公司生产的 89C51单片机是一种低功耗 /低电压‘高性能的 8位单片机, 它采用 CMOS
P2.0P2.1P2.2P2.3D7D6D5D4D3D2D1D0P 3 . 4P 3 . 5P 3 . 6P 3 . 2P 3 . 2P 3 . 1P 3 . 0 图 32 AT89C52 芯片 1) AT89C52 介绍 AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes