1、 1 第一章 凌阳, 拇指 凌阳 设计要求 凌阳, 拇指 凌阳 要求: 凌阳, 拇指 凌阳 利用 89c51单片机设计万年历 , 拇指 通过 LED 显示器显示年 .月 .日 .时 .分 .秒 , 拇指 通过键盘较正时间 , 拇指 能自动计算闰年等 。 食指 凌阳, 拇指 凌阳 .走时准确 , 拇指 可显示年 .月 .日和时 .分 .秒; 凌阳, 拇指 凌阳 .可调整公历年 .月 .日和时 .分 .秒 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 第二章 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌
2、阳 单片机系统简介 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 系统原理图 凌 阳, 拇指 凌阳 1. 凌阳, 拇指 凌阳 89c51 工作原理 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 89c51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压、高性能 CMOS8 位微处理器 , 拇指 俗称单片机 。 食指 89c2051是一种带 2K。 食指 单片机的可擦除只读存储器可以反复擦除 100次 。 食指 该器件采用 ATMEL 高密度非易失存储器制造技术制造 ,LCD液晶显示屏显示模块 89C51 主控制 模块 键盘模块 DS1302 时钟模 块 2 拇指 与工业标准的
3、MCS-51 指令计划输出管脚相兼容 。 食指 由于将多功能 8 位 CPU 和闪烁存储器组合在 单个芯片中 , 拇指 ATMEL 的89c51 是一种高效微控制器 , 拇指 89c2051 是它的一种精简版本 。食指 89c 单片机为很多嵌入式 控制系统提供了一种灵活性高且价廉的方案 。 食指 凌阳, 拇指 凌阳 ( 1)主要特性 凌 阳, 拇指 凌阳 与 MCS-51 兼容 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 4K 字节可编程闪烁存储器 凌阳, 拇指 凌阳 寿命: 1000 写 /擦循环 凌阳, 拇指 凌阳 数据保留时间:
4、10 年 凌 阳, 拇指 凌阳 全静态工作: OHz-24MHz 凌 阳, 拇指 凌阳 三级程序存储器锁定 凌 阳, 拇指 凌阳 128*8 位内部 RAM 凌 阳, 拇指 凌阳 32 可编程 I/O 线 凌 阳, 拇指 凌阳 2 个 16 位定时器 /计数器 凌 阳, 拇指 凌阳 5 个中断源 凌阳, 拇指 凌阳 可编程串行通道 凌 阳, 拇指 凌阳 低功耗的闲置和掉电模式 凌 阳, 拇指 凌阳 片内振荡器和时钟电路 凌 阳, 拇指 凌阳 ( 2)管脚说明 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 3 凌阳, 拇指 凌阳 AT89C51 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 AT89C51
5、 共有 40 个引脚 , 拇指 引脚的排列顺序为从靠芯片的缺口左边那列逆时针数起 , 拇指 依次为 1、 2、 3、 4.。 食指 。 食指 。 食指 。 食指 。 食指 40,拇指 其中芯片的 1 引 脚上有一个凹点 。 食指 在单片机的 40 个引脚中 ,拇指 电源引脚 2 根 , 拇指 外接晶体振荡器引脚 2 根 , 拇指 控制引脚 4 根以及 4 组 8 位可编程 I/O 引脚 32 根 。 食指 凌阳, 拇指 凌阳 1)、主电源引脚( 2 根) 凌 阳, 拇指 凌阳 Vcc:电源输入 , 拇指 接 +5V 电源 凌阳, 拇指 凌阳 GND:接地线 凌 阳, 拇指 凌阳 2)、外接晶振
6、引脚( 2 根) 凌 阳, 拇指 凌阳 XTAL1:片内晶振电路的输入端 凌 阳, 拇指 凌阳 XTAL2:片内晶振电路的输出端 凌 阳, 拇指 凌阳 3)、控制引脚( 4 根) 凌 阳, 拇指 凌阳 RST/VPP:复位引脚 , 拇指 引脚上出现 2 个机器周期的 高电频将使单片机复位 凌 阳, 拇指 凌阳 ALE/PROG:地址锁存允许信号 凌 阳, 拇指 凌阳 EA/VPP:程序存储器的内外部选通 , 拇指 接地电平从外部程序存储器读指令 , 拇指 如果接高电平则从内部程序存储器读指令 凌 阳, 拇指 凌阳 4 4)、可编程输入 /输出引脚( 32 根) 凌 阳, 拇指 凌阳 AT89C
7、51 单片机有 4 组 8 位可编程 I/O 口 , 拇指 分别为 P0、 P1、P2、 P3 口 , 拇指 每个口有 8 位( 8 根引脚) , 拇指 共 32 根、每一根引脚都可以编程 , 拇指 比如用来控制电机、交通灯等 , 拇指 开发产品就是利用这些可编程引脚来实现我们想要的功能 。 食指 凌阳 ,拇指 凌阳 P0 口: 8 位双向 I/O 口线 , 拇指 名称为 P0.0P0.7 凌阳, 拇指 凌阳 P1 口: 8 位准双向 I/O 口线 , 拇指 名称为 P1.0P1.7 凌阳, 拇指 凌阳 P2 口: 8 位准双向 I/O 口线 , 拇指 名称为 P2.0P2.7 凌阳, 拇指
8、凌阳 P3 口: 8 位准双向 I/O 口线 , 拇指 名称为 P3.0P3.7 凌阳, 拇指 凌阳 2.DS1302 的工作原理 凌 阳, 拇指 凌阳 ( 1)时钟芯片 DS1302 的工作原理: 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 DS1302 是 DALLS 公司推 出的涓流充电时钟芯片 , 拇指 内含一个实时时钟 /日历和 31 字节静态 RAM, 拇指 可以通过串行接口与单片机进行通信 。 食指 实时时钟 /日历电路提供秒、分、时、日、星期、月、年的信息 , 拇指 每个月的天数和闰年的天数可自动调整
9、 , 拇指 时钟操作可通过 AM/PM 标志位决定采用 24 或 12小时时间格式 。 食指 DS1302 与 单片机之间能简单地采用同步串行的方式进行通信吗 , 拇指 仅需三根 I/O 线:复位( RST)、 I/O数据线、串行时钟( SCLK) 。 食指 时钟 /RAM 的读 /写时数据以一字节或多达 31 字节的字符组方式通信 。 食指 DS1302 工作时功耗很低 , 拇指 保持数据和时钟信息时 , 拇指 功耗小于 1mw 凌阳, 拇指 凌阳 DS1302 工作时为了对任何数据传送进行初始化 , 拇指 需要将复5 位引脚( RST)置位高电平 且将 8 位地址和命令信息装入移位寄存器
10、。 食指 数据在时钟( SCLK)的上升沿串行输入 , 拇指 前 8位指令访问地址 , 拇指 命令装入移位寄存器后 , 拇指 在之后的时钟周期 , 拇指 读操作时输出数据 , 拇指 写操作时输出数据 。 食指 时钟脉冲的个数在单字节方式下为 8+8( 8 位地址 +8 位数据) , 拇指 再多字节方式下为 8 加最多可达 248 的数据 。 食指 凌阳, 拇指 凌阳 ( 2) DS1302 的控制字节 凌阳 , 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 DS1302 控制字节的高有效位(位 7)必须是逻辑 1, 拇指如果它为
11、 0;则不能把数据写入 DS1302 中 , 拇指 位 6 如果为 0,拇指 则表示 存取日历时钟数据 , 拇指 位 1 表示存取 RAM 数据;位 5至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作 , 拇指 位 1 表示要进行读操作 , 拇指 控制字节总是从最低位开始输出 。 食指 凌阳, 拇指 凌阳 ( 3)数据输入输出( I/O) 凌 阳, 拇指 凌阳 在控制指令输入后的下一个 SCLK 时钟的上升沿时 , 拇 指 数据被写入 DS1302, 拇指 数据输入从低位即位 0 开始 。 食指 、同样 , 拇指 在紧跟 8 位控制指令字后的下一个 SCLK 脉冲的
12、下降沿读出DS1302 的数据 , 拇指 读出数据时从低位 0 到高位 7。 食指 凌阳, 拇指 凌阳 ( 4) DS1302 的寄存器和控制器 凌 阳, 拇指 凌阳 对 DS1302 的操作就是对其内部寄存器的操作 , 拇指 DS1302 有12 个寄存器 , 拇指 其中有七个寄存器与日历、时钟相关 , 拇指 存放的数据位为 BCD 码形式 。 食指 此外 , 拇指 DS1302 还有年份寄存器、控6 制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等 。 食指 时钟突 发寄存器可一次性 顺序读写除充电寄存器外的所有寄存器内容 。 食指 DS1302 与 RAM 相关的寄存器分
13、为两类:一类是单个 RAM 单元 , 拇指 共 31 个 , 拇指 每个单元组态为一个8 位字节 , 拇指 其命令控制字为 C0HFDH,其中奇数为读操作 , 拇指偶数为写操作;另一类为突发方式下的 RAM 寄存器 , 拇指 此方式下可一次性读写所有的 RAM 的 31 个字节 , 拇指 命令控制字为FEH(写 )、 FFH(读) 。 食指 凌阳, 拇指 凌阳 DS1302 含充电电路 , 拇指 可以对作为后备电源的可充电电池充电 , 拇指 并可选择充电使能和串入的二级管数目 , 拇指 以调节电池充电 电压 。 食指 凌阳, 拇指 凌阳 3.LCD 的工作原理 凌 阳, 拇指 凌阳 LCD 的
14、构造是在两片平行的玻璃当中放置液态的晶体 , 拇指 两片玻璃中间有许多垂直和水平的细小电线 , 拇指 透过通电与否来控制杆状水分子改变方向 , 拇指 将光线折射出来产生画面 , 拇指 比 CRT要好的多 , 拇指 但是价格较其贵 。 食指 凌阳, 拇指 凌阳 1)、 LCD 的特点 凌 阳, 拇指 凌阳 低压微功耗 凌 阳, 拇指 凌阳 平板型结构 凌 阳, 拇指 凌阳 被动显示(无眩光 , 拇指 不刺激人眼 , 拇指 不会引起眼睛疲劳) 凌阳, 拇指 凌阳 显示信息量大(因为像素可以做得很小) 凌 阳, 拇指 凌阳 易于彩色化( 在 色谱上可以非常准确的复现 ) 凌 阳, 拇指 凌阳 7 无
15、电磁辐射(对人体安全 , 拇指 利于信息保密) 凌阳, 拇指 凌阳 长寿命(这种器件几乎没什么劣化问题 , 拇指 因此寿命极长 , 拇指但是液晶背光寿命有限 , 拇指 不过背光部分可以更换) 凌阳, 拇指 凌阳 2)、 1602 的管脚功能 凌阳, 拇指 凌阳 PIN 凌阳, 拇指 凌阳 ASSIGNMENT 凌 阳, 拇指 凌阳 PIN SYMBOL 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 FUNCTION 凌阳,
16、 拇指 凌阳 凌阳, 拇指 凌阳 I 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 VSS 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Power 凌阳, 拇指 凌阳 Supply(ov) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 VDD 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Power 凌阳, 拇指 凌阳 Supply(+5v) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 3 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳,
17、拇指 凌阳 凌阳, 拇指 凌阳 Vo Contrast 凌阳, 拇指 凌阳 Ajust 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 4 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 RS 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Date/Instruction 凌阳, 拇指 凌阳 Register 凌阳, 拇指 凌阳 Select 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 5 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 R/W 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Read/Write 凌
18、阳, 拇指 凌阳 凌阳, 拇指 凌阳 6 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 E 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Enable 凌阳, 拇指 凌阳 Signal 714 凌阳, 拇指 凌阳 DBODB7 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Data 凌阳, 拇指 凌阳 bus 凌阳, 拇指 凌阳 Line 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 15 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 A 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳Powe
19、r 凌阳, 拇指 凌阳 Supply 凌阳, 拇指 凌阳 for 凌阳, 拇指 凌阳 LED 凌阳, 拇指 凌阳 BL(+) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 16 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 K 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 Power 凌阳, 拇指 凌阳 Supply 凌阳, 拇指 凌阳 for 凌阳, 拇指 凌阳 LED 凌阳, 拇指 凌阳 BL(-) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 第三章 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌
20、阳, 拇指 凌阳 凌阳, 拇指 凌阳 系统主要功能介绍 凌阳, 拇指 凌阳 对此次作品中 方案选定:采用 AT89C51 作为主控制系统 , 拇指DS1302 提供时钟 , 拇指 LCD 液晶显视屏作为显示 。 食指 凌阳, 拇指 凌阳 单片机: 凌阳, 拇指 凌阳 采用 89C51 芯片作为硬件核心 , 拇指 采用 flashROM, 拇指 内部具有8 4K 存储空间 , 拇指 能 3V 超低压工作 , 拇指 而且与 MCS 51 系列单片机完全兼容 。 食指 单片机算数运算功能强 , 拇指 软件编程灵活 , 拇指 自由度大 , 拇指 可用编程软件实现各种算法和逻辑控制 , 拇指 并且由于低
21、功耗 , 拇指 体积小 , 拇指 技术成熟和成本等优点 , 拇 指 在各个领域应用广泛 , 拇指 但应用于电路设计时由于不具备 ISP 在线编程技术 , 拇指当在对电路进行调试时 , 拇指 由于程序的错误修改或对程序的新增功能需要烧入程序时 , 拇指 对芯片的多次拔插会对芯片造成一定的损坏 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 显示屏: 凌阳, 拇指 凌阳 采用 LCD液晶显示屏 , 拇指 液晶显示屏的显示功能强大 。 食指 可显示大量文字 , 拇指 图形 , 拇指 显示多样 , 拇指 清晰可见具有轻薄短小 , 拇指 低耗电量 , 拇指 无辐射 , 拇指 平面直角显示 , 拇指 以
22、及硬性稳定不闪烁等优势 ,拇指 可视面积大 , 拇指 画面效果好 , 拇指 分辨率高 , 拇指 抗干扰 能力强等特点 。食指 但由于液晶是以点阵的模式显示各种符号 , 拇指 需要利用各种芯片 , 拇指 创建字符库 , 拇指 编程工作量大 , 拇指 控制器的资源占用较多 ,拇指 成本也偏高 , 拇指 在使用时不能有静电干扰 , 拇指 否则易烧坏液晶的显示芯片 , 拇指 不易维护 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 时钟芯片: 凌 阳, 拇指 凌阳 采用 DS1302 芯片实现时钟 , 拇指 DS1302 芯片是一种高性能的电 .5V-5.5V 范围内 , 拇指 2.5V 时耗电小于
23、 300mA。 食指 阻芯片 , 拇指 可自动对时 , 拇指 分 , 拇指 秒 , 拇指 年 , 拇指 月 , 拇指 日 , 拇指 周进行计数 , 拇指 而且精度高 ,9 拇指 低位的 RAM作为数区 , 拇指 工作电压 2 凌阳, 拇指 凌阳 键盘模块: 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 在对日期和时间进行切换 , 拇指 对日期和时间进行校准过程中 , 拇指 系统需要产生激励电流 , 拇指 因此需要用按键 。 食指 凌阳, 拇指 凌阳 凌阳, 拇
24、指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 矩阵式键盘是指有横线和列线组成 , 拇指 按键位于行列的交 叉点上 , 拇指 行线列线分别连接到按键开关的两端 。 食指 其特点是简单却不增加成本 , 拇指 这种键盘适合按键数较多的场合 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 第四章 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 系统设计时遇见的问题解决办法 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 按键开关去斗问题: 凌 阳, 拇指
25、 凌阳 按下键 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 松开键 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 前沿抖动 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 键盘稳定 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 后沿抖动 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 按键未按下时 , 拇指 A点电位为高电平 +5V;但键按下时 , 拇指 A 点电位为低电平 。 食指 A 点电位即用于向 CPU 传递按键的开关状态 , 拇指但由于按键的结构为机械性弹性开关 , 拇指 在按键按下和断开时 ,
26、拇指 触电在闭合和断开瞬间还会接触不稳定 , 拇指 引起 A 点电平不稳定 。 食指 如图所示 , 拇指 键盘的抖动时间一般为 5-10ms, 拇指 抖动现象会引起 CPU对 一次键操作进行多次处理 , 拇指 从而可能产生错误 。 食指 因此必须设法消除抖动的不良后果 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 10 第五章 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 系统设计原理图和 PCB 图 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 电路图及 PCB 图如图所示:P1.0P1.1P1.2P1.3P1.4P1.5P1.6p0.0p0.1p0.2p0.3p0.4p2.1p0.5p2.2p2.0p0.6p0.7p2.5p2.6p2.7AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6开关p2.5p2.6p2.7时钟模块p0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7p2.0p2.1p2.2显示器凌阳, 拇指 凌阳 图 A 凌阳, 拇指 凌阳 P1.0P1.1P1.2P1.3P1.4P1.5P1.6S?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PBS?SW-PB