单片机课程设计-简单的万年历(编辑修改稿)内容摘要:
过 DS1302 能够准确的计时,时间可调并在液晶上显示出来。 ( 2) 通过 DS18B20 能够实时、准确的检测当前环境温度。 ( 3) 利用单片机自身功能实现闹钟。 第第 二二 章章 、 总总 体体 方方 案案 论论 证证 与与 设设 计计 本系统以 AT89S52 单片机为控制核心,通过与 DS1302 和 DS18B20 通信获取实时时间和实时环境温度,并将得到的数据通过 1602 液晶显示出来,同时通过相应的按键调整相应的值。 因此本设计可分为一下模块:显示模块、实时时间计算模块、实时环境温度采集模块、报警模块、设置模块(时间设置模块、最高温度设置模块、闹 钟设置模块)。 下面对各个模块逐一进行论证分析: 液晶显示模块 方案( 1) :数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。 要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计应采用动态显示方式。 由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于 20 毫秒,占用系统资源大,而且显示的个数和字型有限,在本设计中不易采用。 方案( 2): 1602 液晶也叫 1602 字符型液晶 它 是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。 每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。 1602 的驱动电路带有 11 条指令,可以很方便的控制液晶的现实效果如:清屏、左移右移、光标显示。 而且 1602 显示的字符在下一条指令为到来之前不会改变,也就是能够维持显示的字符, 1602 液晶占用的系统资源也少。 综合比较上述两种方案,应采用 1602 液晶组成本设计的显示模块。 实时时间计算模块 方案 ( 1): AT89S52 单片机内部带有定时 /计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用 的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且如果单片机掉电无法继续进行计时,所以使用不便。 方案( 2): DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态 RAM,采用 SPI 三线接口与 CPU 进行通信,并可采用突发方式一次传送多个字 4 4 节的时钟信号和 RAM 数据。 实时 时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。 工作电压宽达 ~。 采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。 利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。 综合上述两种方案,宜采用方案 (2)实现实时计时功能。 实时环境温度采集模块 方案( 1): 热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化. 通 过一定的电路可以将周围环境的温度变化转化成电压的变化,通过 AD 转化器件将信号传输给单片机进行分析,从而测出当前环境温度,但误差大,不稳定,对环境要求较高。 方案( 2): DS18B20 是美国 DALLAS 公司生产的数字温度传感器, 采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 测量温度范围宽,测量精度高 ,在使用中不需要任何 外围元件,支持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温,供电方式灵活 DS18B20 可以通过内部寄生电路从数据线上获取电源。 因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。 因此非常适合本系统使用。 综上比较上述两种方案,宜采用方案( 2)构成本设计的实时温度采集模块。 、报警模块 此模块采用无源蜂鸣器实现,只要编写相应的程序即可实现发出不同频率的声音。 、设置模块 因设置模块只需编写相应的程序外加相应的按键即可实现,实 现方法较简单,在此不再论述。 5 5 第第 三三 章章 、 总总 体体 方方 案案 组组 成成 框框 图图 时间计算模块 (DS1302) 实时温度采集模块 ( DS18B20) 设置模块 (独立按键) 显示模块 ( 1602 液晶) AT89S52 报警模块(蜂鸣器) 6 6 第第 四四 章章 、 系系 统统 硬硬 件件 设设 计计 、 LCD 显示模块设计 ( 1) 1602 液晶功耗较小可直接与单片机接口相接,电源直接与电源电路相接,使用单片机的 P0 口和 P2 口与 1602 进行通信。 ( 2) 1602 相应功能特性介绍 +5V 电压,对比度可调 内含复位电路 提 供各种控制命令 ,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有 80 字节显示数据存储器 DDRAM 内建有 160 个 5X7 点阵的字型的字符发生器 CGROM 8 个可由用户自定义的 5X7 的字符发生器 CGRAM ( 3) 1602 引脚介绍 ( 4) 1602 液晶 11 条指令介绍 7 7 功能: 1 清除液晶显示器,即将 DDRAM 的内容全部填入 “ 空白 ” 的字符码 20H。 2 光标归位,即将光标撤 回液晶显示屏的左上方。 3将地址计数器 (AC)的值设为 0; 功能: 1 把光标撤回到显示器的左上方。 2 把地址计数器 (AC)的值设置为 0。 3 保持 DDRAM 的内容不变 ; 功能:设定每次写入 1 位数据后光标的移位方向,并且设定每次写入的一个字符是否 移动。 参数设定的情况如下所示: 位名 设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移 1个字 功能:控制显示器开 /关、光标显示 /关闭以及光标是否闪烁。 参数设定的情况如下: 位名 设置 D 0=显示功能关 1=显示功能开 8 8 C 0= 无光标 1=有光标 B 0=光标不闪烁 1=光标闪烁 功能:使光标移位或使整个显示屏幕移位。 参数设定的情况如下: S/C R/L 设定情况 0 0 光标左移 1格,且 AC 值减1 0 1 光标右移 1格,且 AC 值加1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动 (非常重要的指令) 功能:设定数据总线位数、显示的行数及字型。 参数设定的情况如下: 位名 设置 DL 0=数据总线为 4 位 1=数据总线为 8 位 N 0= 显示 1 行 1=显示 2 行 F 0=5179。 7 点阵 /每字符 1=5179。 10 点阵 /每字符 CGRAM 地址指令 功能:设定下一个要存入数据的 CGRAM 的地址。 9 9 DDRAM 地址指令 功能:设定下一个要存入数据的 CGRAM 的地址。 AC 地址指令 功能: 1 读取忙碌信号 BF 的内容, BF=1 表示液晶显示器忙,暂时无法接收单片机 送来的数据或指令。 当 BF=0 时,液晶显示器可以接收单片机送来的数据或指令。 2 读取地址计数器 (AC)的内容。 DDRAM 或 CGRAM 指令 功 能: 1 将字符码写入 DDR。单片机课程设计-简单的万年历(编辑修改稿)
相关推荐
单片机系统课程设计 6 图 33 用 KEIL 软件编译和生成 HEX文件 主程序主要包括初始化程序, A/D 转换程序,数值转换程序组成。 初始化程序对显示存储区清零,同时设置定时器初值,工作方式和中断允许。 数值转换程序的功能是将 A/D 转换后的数字量转换成可供显示的十进制非压缩 BCD 码,存入 30H~33H 中,用 KEIL 软件编译程序和生成 HEX 文件。 四
数据标准化和测绘行为规范化建设。 先后出台《南京市 1:500 1:1000 1:20xx 比例尺数字线划地形图数据标准》、《南京市数字栅 格地形图、数字正射影像、数字高程模型数据标准》、《南京市放样、验线和竣工测量成果数据标准》、《南京市 1:500 1:1000 1:20xx 比例尺数字线划地形图数据库设计规范》等一系列标准 16 数字化城市管理 南京数字化城市管理系统以及玄武、秦淮、建邺
=Xmσa+(1X m)σb =0. 3418. 2+ 667. 3=5 06 两相流动参数: Fl v=Ls /Vs (ρl/ρv ) 0 .5 =( 84 ) 0 .5 = 初设 板间距 HT =0. 5 m 清液层高度 HL =0. 06 m ∴ HT HL = 4 m 查得: Cf,2 0 = 液气气相负荷因子: C f = [(σ/20)0 .2 0 ] Cf,2 0 = 气体气速:
( 11)可被用作串行 ROM。 ( 12)可提供工厂编程芯片( QTP)。 ( 13) ESD 保护 4000V。 ( 14) 1,000,000 擦 /写周期。 ( 15)八脚 DIP、 8 引线或者 14 引线 SOIC 封装。 ( 16)提供很宽的温度适用范围: 芯片应用: 24C04 与单片机的接口电路如图 所示,图中 RP RP2 为上拉电阻,大小为。 24C04B/08B
时,被定义为高阻输入。 P0 能够用于外部程 序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高, 可用作 输入
源程序 : HAOMIAO EQU 34H MIAO EQU 35H SHIMIAO EQU 36H ORG 0000H AJMP START ORG 0030H START: CLR C SETB SETB SETB MOV HAOMIAO,0 MOV MIAO,0 MOV SHIMIAO,0 MOV DPTR,TABLE MOV A,00H MOVC A,@A+DPTR CLR MOV P2