基于ds12c887的实时日历时钟设计书内容摘要:
符号 引脚说明 编号 符号 引脚 说明 1 VSS 电源地 9 D2 数据口 2 VDD 电源正极 10 D3 数据口 3 VO 液晶显示器对比度调整端 11 D4 数据口 4 RS 数据 /命令选择端 (H/L) 12 D5 数据口 5 R/W 读 /写选择端 (H/L) 13 D6 数据口 6 E 使能信号 14 D7 数据口 7 D0 数据口 15 BLA 背光源 正 极 8 D1 数据口 16 BLK 背光源 负 极 表 1602字符型 LCD引脚 1602字符型 LCD与单片机的连接接口说明如下: ( 1)液晶 2端为电源; 1 16端为背光电源。 ( 2)液晶 3端为液晶对比度调节端,通过一个 10K电位器接地来调节液晶显示对比度。 首次使用时,在液晶的上电状态下,调节至液晶上面一行显示出黑色小格为止。 ( 3)液晶 4端为向液晶控制器写数据 /写命令选择端,接单片机的。 ( 4)液晶 5端为读 /写选择端只向其写入命令和显示数据。 ( 5)液晶 6端为使能信号,是操作时必须的信号,接单片机的。 图 1602LCD电路图 电路原理图及说明 控制电路 图 所示为本设计的单片机部分的电路原理图。 图 实时日历时钟显示系统单片机部分电路原理图 图 中, U1 为单片机芯片 AT89C51,它工作 时钟。 P0 端口用作地址 /数据复用总线 AD[ 0~7],和日历时钟芯片相连。 P1端口用作数码管的段码接口,由于本设计的显示不会出现小数点,因此只使用了 a、b、 c、 d、 e、 f、 g,而没有使用 dp(小数点)段。 P2端口的 在反相之后为日历时钟芯片提供 片选信号,需要反相是因为该片选信号为低电平有效。 单片机的 ( /RD)、 ( /WR)引脚和日历时钟芯片的读、写引脚直接相连,它们均为低电平有效。 单片机的 ALE 引脚将和日历时钟芯片的锁存输入引脚直接相连,作为地址锁存,可实现数据和地址线的时分复用。 日历时钟电路 日历时钟芯片部分的电路图。 图 实时日历时钟显示系统片选及日历时钟芯片部分电路原理图 图 中,日历时钟芯片 DS12C887,在本设计中,将其 MOT 引脚接地,选择 Intel 总线时序模式。 在以 Intel 总线时序模式工作时,它和 51 单片机的接口完全兼容,因此将它的地址 /数据复用线 AD0~AD锁存输入 ALE、读输入 DS、写输入 W/R 和 51 单片机的对应引脚直接相连。 DS12C887 的方波输出 SQW 和中断申请 /IRQ 在本设计中不使用。 三 软件设计 软件设计分两部分:时钟部分以及显示部分。 时钟部分软件设计 DS12C887 的内存空间 DS12C887 的内存空间共 128 个字节,其中 11 个字节专门用于存储时间、星期、日历和闹钟信 息; 4 个字节专门用于控制和存放状态信息;其余 113 个字节为用户可以使用的普通 RAM 空间。 图 为日历时钟芯片 DS12C887 的内存空间映射示意图。 图 日历时钟芯片 DS12C887 内存空间映射示意图 地址 0x000x09 共 10 个寄存器分别存放的是秒、秒闹钟、分钟、分闹钟、小时、时闹钟、星期、日、月和年信息,地址 0x32 为世纪信息寄存器(解决了“两千年问题”)地址0x0A~0x0D 四个寄存器分别为寄存器 A、 B、 C、 D,它们用于控制和存放某些状态信息;其余的 113 字节 地址空间是留给用户使用的普通内存空间。 根据此地址映射关系(见图 11)和芯片选的设置(由单片机的 端口反相后提供)可以得到每个特定寄存器在程序中的地址,即为 0x0100 加上图 11 中的地址偏移。 比如,日信息寄存器的地址为 0x0107,控制寄存器 B 的地址为 0x010B 等。 在所有的 128 字节中,寄存器 C 和 D 为只读寄存器,寄存器 A 的第 7 位属于只读位,秒字节的高阶位也是只读的,其余字节均为可直接读写字节。 时钟、日历信息可以通过读取合适的内存字节获得;时钟、日历和闹钟可以通过写合适的内存字节进行设置或初始化。 对应时钟、日历和闹钟的 10 个寄存器字节可以是二进制形式或者 BCD 码形式,在写这些寄存器时,寄存器 B 的 SET 位必须置 1。 寄存器 A 字节的内容如下: MSB LSB UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 UIP: 更新( UIP)位用来标志芯片是否即将进行更新。 当 UIP 位为 l 时,更新即将开始; 当它为 0 时,表示在至少 244μ s 内芯片不会更新,此时,时钟、日历和闹钟信息 可以通过读写相应的字节获得和设置。 UIP 位为只读位并且不受复位信号( RESET)的影响。 通过把寄存器 B 中的 SET 位设置为 1 可以禁止更新并将 UIP 位清 0。 DV0, DV1, DV2: 这 3 位是用来开关晶体振荡器和复位分频器。 当 [DV0 DV1 DV2]=[010]时,晶体振荡器开启并且保持时钟运行; 当 [DV0 DV1 DV2]=[11X]时,晶体振荡器开启,但分频器保持复位状态。 RS RS RS1.、 RS0: 作用: 1)设置周期中断允许位 (PIE); 2)设置方波输出允许位 (SQWE); 3) 两位同时设置为有效并且设置频率; 4)全部禁止。 寄存器 B 字节的内容如下: MSB LSB SET PIE AIE UIE SQWE DM 24/12 DSE SET 当 SET=0,芯片更新正常进行; 当 SET=1,芯片更新被禁止。 SET 位可读写,并不会受复位信号的影响。 PIE: 当 PIE=0,禁止周期中断输出到 IRQ。 当 PIE=1,允许周期中断输出到 IRQ。 AIE: 当 AIE=0,禁止闹钟中断输出到 IRQ。 当 AIE=1,允许闹钟中断输出到 IRQ。 UIE: 当 UIE=0,禁止更新结束中断输出到 IRQ。 当 UIE=1,允许更新结束中断输出到 IRQ。 此位在复位或设置 SET 为高时清 0。 SQWE: 当 SQWE=0, SQW 脚为低; 当 SQWE=1, SQW 输出设定频率的方波。 DM: DM=0,二进制; DM=1, BCD。 此位不受复位信号影响。 24/12: 此位为 1 时, 24 时制;为 0 时, 12 小时制。 DSE: 夏令时允许标志。 在四月的第一个星期日的 1∶ 59∶ 59AM,时 钟调到 3∶ 00∶ 00AM;在十月的最后一个星期日的 1∶ 59∶ 59AM,时钟调到 1∶ 00∶ 00AM。 寄存器 C 字节的内容如下: MSB LSB IRQF PF AF UF 0 0 0 0 IRQF 当有以下情况中的一种或几种发生时,中断请求标志位( IRQF)置高: PF=PIE=l AF=AIE=l UF=UIE=1 U I EUFA I EAFP I EPFI R Q F IRQF 一旦为高 IRQ 脚 输出低。 所有标志位在读寄存器 C 或复位后清 0。 PF:周期中断标志。 AF:闹钟中断标志。 UF:更新中断标志。 BIT0~BIT3 第 0 位到第 3 位无用,不能写入,只读,且读出的值恒为 0。 寄存器 D 字节的内容如下: MSB LSB VRT 0 0 0 0 0 0 0 VRT 当 VRT=0 时表示内置电池能量耗尽,此时 RAM 中的数据的正确性就不能保证了。 BIT6~ BIT0 第 0 位 到第 6 位无用,只读,且读出的值恒为 0。 芯片 DS12C887 的 113 字节普通 RAM 空间为非易失性 RAM 空间,它不专门用于某些特别功能,而是可以在微处理器程序中作为非易失性内存空间使用。 程序流程 程序流程如图 所示。 图 系统程序流程图 四 设计结果 基于 DS12C887 的实时日历时钟显示系统的总程序 // // 程序描述 : 程序 // // 头文件包含 // include include include include include uchar xdata *ds_addr=0x0000。 //set ds12c87 date and time ram address // // 初始化程序 // // // void _init (void) // // // 函数功能 : 初始化 // 入口参数 : 无 vb // 返回参数 : 无 // 全局变量 : 无 // 调用模块 : // void main(void) { *(ds_addr+10)=0x20。 *(ds_addr+11)=0x22。 lcd_init()。 date_init()。 while(1) { data_pro()。 //datapro()。 data_hl()。 key()。 } } // /*void delay(uchar ms) { uchar i。 while(ms) { for(i=0。 i i++) { _nop_()。 _nop_()。 _nop_()。 _nop_()。 } } }*/ // // End Of File // // // 程序描述 :LCD 字符型子程序 // 说 明 : // (1)调试使用的工作晶振 Fosc=12MHz。 // (2)LCD 的接口方式 :直接控制方式。 // (3)LCM 的数据线和控制线可以和单片机的任意 I/O 口相连。 // (4)每次读 /写 LCD 操作之前 ,应首 先检测忙标志 BF,确认 BF=0 后 ,访问过程才能进行 // //。基于ds12c887的实时日历时钟设计书
相关推荐
Proteus 不仅是模拟电路、数字电路、模/数混合电路的设 计与仿真平台,更是目前世界最先进、最完整的多种型号微控制器系统的设计与仿真平台。 它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统 测试 与功能验证到形成 PCB 的完整电子设计与研发过程。 Proteus 产品系列也包含了革命性的 VSM 技术
(三) Chebyshev 逼近法 窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义 上对所给理想频率特性的逼近。 由数值逼近理论可知,对某个函数 f(x)的逼近一般有以下三种方法:插值法 (Interpolating Way) 最小平方逼近法 (Least Square Approaching Way) 一致逼近法 (Consistent Approaching Way)
建立销售办事处,在加强销售覆盖率的同时,把DSP 技术支持规模迅速扩大,并实现技术信息本地化。 技术信息本地化是体现他们在中国进行调整的标志性措施,它将使 ADI 在新产品的设计上加入中国因素,通过设计部门与中国现场服务工程师进行信息沟通、汇总,实际上是把他们在发达国家的市场策略引入中国。 驱动世界一流的跨国公司进行中国调整的因素很多,一是中国 DSP 市场在全球重要性日益明显,二是他们
:1P 1. 02P 1. 13P 1. 24P 1. 35P 1. 46P 1. 57P 1. 68P 1. 79R S T10P 3. 011P 3. 112P 3. 213P 3. 314P 3. 415P 3. 516P 3. 617P 3. 718X T A L 219X T A L 120GND40V C C39P 0. 038P 0. 137P 0. 236P 0. 335P 0.
种类型图像开发专用的压缩算法是当前研究的热点。 当对其有损压缩 (大压缩比 )后发到地面后,有些细节就丢失了,而这些细节往往正是我们关心的,因此在对这类图像压缩时,必须采用特殊的算法以保证在压缩后能保留这些细节。 另外,对于指纹这样的特殊图像如何在压缩后保存其完整特征也是一个重要的研究方向。 因此,在图像压缩方面投入一定的资金和人力,进行深入的研究,将有助于提高我国在高科技领域方面的国际竞争力
》报告 第 7 页 Z 形扫描 游程编码 DCT 系数量化后,构成一个稀疏矩阵,用 Z( Zigzag)形扫描将其变成一维数列,将有利于 游程编码。 Z 形扫描的顺序如图 34。 图 35 Z 形扫描顺序图 游程编码是一种统计编码,该编码属于无损压缩编码,是栅格数据压缩的重要编码方法。 游 程编码 的基本原理是:用一个符号值或串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。