电子时钟设计实验报告.doc
《电子时钟设计实验报告.doc》由会员分享,可在线阅读,更多相关《电子时钟设计实验报告.doc(32页珍藏版)》请在三一文库上搜索。
1、 单片机电子时钟设计报告1、 设计任务 本次课程设计的电子时钟电路,是基于单片机STC89C52、时钟芯片和液晶显示,运用C语言编程实现。电子时钟可以显示日期的年、月、日和时间的时、分、秒,具有复位功能。2、 系统硬件设备及芯片简介 数字电子钟系统设计已经成熟,但是目前系统设计时基本 都是采用 LED 作为显示电路,造成硬件电路复杂、功耗高、产 品体积庞大等特点;液晶显示模块由于具有低功耗、寿命长、 体积小、显示内容丰富、价格低、接口控制方便等优点,因此 在各类电子产品中被极广泛地推广和应用。字符型液晶显示模 块是一类专门用于显示字母、数字、符号等点阵式液晶显示模 块。本系统设计采用字符型液品
2、显示模块 LCD1602 作为显示器 件,这样不仅简化了系统的硬件设计,而且极大地提高了系统 的可靠性。1LCD1602 简介字符型液晶显示模块 LCD1602 已经是单片机应用设计中 最常用的信息显示器件。LCD1602 可以显示两行,每行 16 个 字符,采用5V 电源供电,外围电路配置简单,价格便宜,具 有很高的性价比。2LCD1602 功能介绍2.1 引脚功能LCD1602 采用标准 14 脚(无背光)或 16 脚(带背光)接口,各引脚功能见表 1。表 1 引脚功能编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示
3、偏压信号11D4Data I/O4RS数据/命令选择端12D5Data I/O5R/W读/写选择端13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极2.2 LCD1602 读写指令LCD1602 读写指令较多且较复杂,具体使用可以查相关资料,下面仅列出最常用的的一些命令:写指令 38H:显示模式设置;写指令 08H:显示关闭;写指令 01H:显示清屏;写指令 06H:显示光标移动设置;写指令 0CH:显示开及光标设置。2.3 LCD1602 读写操作时序LCD1602 读写操作时序总体上来说是比较简单
4、的,掌握其有两种方法:一种是只看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单和直接,下面就列出典型读写的时序要求,以方便编写程序。(1) 读状态:输入:RSL,RWH,EH。 输出:D0D7状态字。(2) 写指令:输入:RSL,RWL,D0D7指令码,E上升沿。输出:无。(3)读数据:输入:RSH,RWH,EH。输出:D0D7数据。(4)写 数 据:输入:RSH,RWL,D0D7数据,E上升沿。输出:无。2.4 LCD1602 显示方法液晶显示模块是慢速显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平(即不忙),否则该指令失效。显示字符时,要先输入
5、显示字符地址,即告诉模块在哪里显示字符。因为写入显示地址时要求最高位 D7 恒定为高电平,所以实际写入的数据应该是要显示地址值加上 80H,即将最高位 D7 置为 1。在使用此显示模块时一般要对其进行初始化,设置所需要的显示参数。液晶模块在显示字符时光标是自动右移的,无需人工干预。每次输入指令前,都要判断液晶模块是否处于忙状态。3数字电子钟硬件电路设计硬件电路系统设计主要由单片机最小系统、输入电路、输 出电路等组成。单片机最小系统同所有单片机系统,在此不作 讨论。输入电路主要时间调节电路,为简化系统我们使两个外 部中断来调节“时”和“分”数值,即将 INT0、INT1 分别接 两个按钮。LCD
6、 显示器和单片机接口电路可以采用总线方式或 者是模拟口线方式,本设计采用第二种方式,即以单片机 I/O 模拟控制信号。具体电路见图 1,P0 口作为数据,并接上拉电 阻提升电压,P2.0 接 LCD 的 RS 端、P2.1 接 LCD 的 R/W 端、 P2.2 接 LCD 的 E 端,“分”调节按钮接 INT0,“时”调节按钮 接 INT1,图 1 省略了电源和单片机最小系统电路。图 1 数字电子钟硬件电路 3、 设计电路图及程序1. 电路图如下原理图如下:2. 程序共有四段程序,用Keil仿真是程序列表如图Regx52.h程序为:#ifndef _AT89X52_H_#define _AT
7、89X52_H_sfr P0 = 0x80;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr P1 = 0x90;sfr SCON = 0x98;sfr SBUF = 0x99;sfr P2 = 0xA0;sfr IE = 0xA8;sfr P3 = 0xB0;sfr IP = 0xB8;sfr T2CON = 0xC8;sfr T2M
8、OD = 0xC9;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;/*-P0 Bit Registers-*/sbit P0_0 = 0x80;sbit P0_1 = 0x81;sbit P0_2 = 0x82;sbit P0_3 = 0x83;sbit P0_4 = 0x84;sbit P0_5 = 0x85;sbit P0_6 = 0x86;sbit P0_7 = 0x87;/*-PCON Bit Values-*/#d
9、efine IDL_ 0x01#define STOP_ 0x02#define PD_ 0x02 /* Alternate definition */#define GF0_ 0x04#define GF1_ 0x08#define SMOD_ 0x80/*-TCON Bit Registers-*/sbit IT0 = 0x88;sbit IE0 = 0x89;sbit IT1 = 0x8A;sbit IE1 = 0x8B;sbit TR0 = 0x8C;sbit TF0 = 0x8D;sbit TR1 = 0x8E;sbit TF1 = 0x8F;/*-TMOD Bit Values-*
10、/#define T0_M0_ 0x01#define T0_M1_ 0x02#define T0_CT_ 0x04#define T0_GATE_ 0x08#define T1_M0_ 0x10#define T1_M1_ 0x20#define T1_CT_ 0x40#define T1_GATE_ 0x80#define T1_MASK_ 0xF0#define T0_MASK_ 0x0F/*-P1 Bit Registers-*/sbit P1_0 = 0x90;sbit P1_1 = 0x91;sbit P1_2 = 0x92;sbit P1_3 = 0x93;sbit P1_4 =
11、 0x94;sbit P1_5 = 0x95;sbit P1_6 = 0x96;sbit P1_7 = 0x97;sbit T2 = 0x90; /* External input to Timer/Counter 2, clock out */sbit T2EX = 0x91; /* Timer/Counter 2 capture/reload trigger & dir ctl */*-SCON Bit Registers-*/sbit RI = 0x98;sbit TI = 0x99;sbit RB8 = 0x9A;sbit TB8 = 0x9B;sbit REN = 0x9C;sbit
12、 SM2 = 0x9D;sbit SM1 = 0x9E;sbit SM0 = 0x9F;/*-P2 Bit Registers-*/sbit P2_0 = 0xA0;sbit P2_1 = 0xA1;sbit P2_2 = 0xA2;sbit P2_3 = 0xA3;sbit P2_4 = 0xA4;sbit P2_5 = 0xA5;sbit P2_6 = 0xA6;sbit P2_7 = 0xA7;/*-IE Bit Registers-*/sbit EX0 = 0xA8; /* 1=Enable External interrupt 0 */sbit ET0 = 0xA9; /* 1=En
13、able Timer 0 interrupt */sbit EX1 = 0xAA; /* 1=Enable External interrupt 1 */sbit ET1 = 0xAB; /* 1=Enable Timer 1 interrupt */sbit ES = 0xAC; /* 1=Enable Serial port interrupt */sbit ET2 = 0xAD; /* 1=Enable Timer 2 interrupt */sbit EA = 0xAF; /* 0=Disable all interrupts */*-P3 Bit Registers (Mnemoni
14、cs & Ports)-*/sbit P3_0 = 0xB0;sbit P3_1 = 0xB1;sbit P3_2 = 0xB2;sbit P3_3 = 0xB3;sbit P3_4 = 0xB4;sbit P3_5 = 0xB5;sbit P3_6 = 0xB6;sbit P3_7 = 0xB7;sbit RXD = 0xB0; /* Serial data input */sbit TXD = 0xB1; /* Serial data output */sbit INT0 = 0xB2; /* External interrupt 0 */sbit INT1 = 0xB3; /* Exte
15、rnal interrupt 1 */sbit T0 = 0xB4; /* Timer 0 external input */sbit T1 = 0xB5; /* Timer 1 external input */sbit WR = 0xB6; /* External data memory write strobe */sbit RD = 0xB7; /* External data memory read strobe */*-IP Bit Registers-*/sbit PX0 = 0xB8;sbit PT0 = 0xB9;sbit PX1 = 0xBA;sbit PT1 = 0xBB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 设计 实验 报告
链接地址:https://www.31doc.com/p-7214739.html