1、工作原理:
本设计采用stc89c51单片机作为本次课程设计的控制模块。单片机可把由ds18b20、ds1302、at24c02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以lcd液晶显示器为显示模块,把单片机传来的的数据显示出来,并且显示多样化,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
2、总是设计框架图:
图二:系统总体电路图。
三、单元电路的设计与分析。
整个电子时钟系统电路可分为六大部分:**处理单元(cpu)、复位电路部分、显示部分、键盘输入部分、温度采集部分。
1、mcs-51单片机。
vcc:89s51 电源正端输入,接+5v。
vss:电源地端。
xtal1:
单芯片系统时钟的反相放大器输入端。
xtal2:
系统时钟的反相放大器输出端,一般在设计上只要在 xtal1 和 xtal2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20pf 的小电容,可以使系统更稳定,避免噪声干扰而死机。
reset:
89s51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,at89s51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000h处开始读入程序**而执行程序。
ea/vpp:
ea"为英文"external access"的缩写,表示存取外部程序**之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序**(存于外部eprom中)来执行程序。因此在8031及8032中,ea引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序**烧录至8751内部eprom时,可以利用此引脚来输入21v的烧录高压(vpp)。
ale/prog:
端口3的管脚设置:
p3.0:rxd,串行通信输入。
p3.1:txd,串行通信输出。
p3.2:int0,外部中断0输入。
p3.3:int1,外部中断1输入。
p3.4:t0,计时计数器0输入。
p3.5:t1,计时计数器1输入。
p3.6:wr:外部数据存储器的写入信号。
p3.7:rd,外部数据存储器的读取信号。
mcs-51单片机的复位是由外部的复位电路来实现的。复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的s5p2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:上电复位电路是—种简单的复位电路,只要在rst复位引脚接一个电容到vcc,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到rst复位引脚一个短暂的高电平信号,这个复位信号随着vcc对电容的充电过程而回落,所以rst引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,rst引脚的高电平信号必须维持足够长的时间。
电路图如下:
上电自动复位是通过外部复位电路的电容充电来实现的。只要vcc的上升时间不超过1ms,就可以实现自动上电复位。
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:
一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。
电路图如下:
mcs-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚xtal1,输出端为引脚xtal2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
采用lcd显示,lcd显示具有丰富多样性,灵活性,电路简单、易于控制而且功耗小,对于信息量多的系统,是比较适合的,lcd液晶显示模块采用lcd1602型号,具有很低的功耗,正常工作室电流仅2.0ma/5.0v。
通过编程实现总动关闭屏幕能够更有效地降低功耗。lcd1602分两行显示,每行可现实多达16个字符,其内部的字符发生器已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制。
按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的i/o端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免cpu多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用i/o口线构成单个按键电路,每个按键占用一条i/o口线,每个按键的工作状态不会产生互相影响。
电路图如下:
p1.0口表示功能移位键,按键选择要调整的时十位、时个位、分十位或分个位。
p1.1口表示数字“+“键,按一下则对应的数字加1。
p1.2口表示数字“-”键,按一下则对应的数字减1。
p1.3口表示时间表的切换,程序默认为日常时间表,当按下该开关,使输入为低电平时,表示当前执行的是考试时间表,并有绿发光二极管显示。再按键,使键抬起,输入维高电平时,表示当前执行的是日常作息时间表,用红发光二级管显示。
6、温度采集部分。
此部分选用ds18b20 传感器,主要由四部分组成:64 位rom、温度传感器、非挥。
发的温度报警触发器th 和tl、配置寄存器。有三个管脚:dq 为数字信号输入/输出端;gnd 为电源地;vdd 为外接供电电源输入端。
电源有两种接法:1)远端因入;2)寄生电源方式。它是支持“一线总线”接口的温度传感器,测量温度范围为-55°c~+125°c,在-10~+85°c 范围内,可编程为9 位—12 位a/d 转换精度,工作电压在3v—5v 之间。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
###软件设计:
#include <>
#include <>
#include ""
#include ""
#define uint unsigned int
#define uchar unsigned char
sbit ds1302_clk = p1^7实时时钟时钟线引脚
sbit ds1302_io = p1^6实时时钟数据线引脚
sbit ds1302_rst = p1^5实时时钟复位线引脚。
sbit wireless_1 = p3^0;
sbit wireless_2 = p3^1;
sbit wireless_3 = p3^2;
sbit wireless_4 = p3^3;
sbit acc0 = acc^0;
sbit acc7 = acc^7;
char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; /秒,分,时到日,月,年位闪的计数。
sbit set = p2^0模式切换键。
sbit up = p2^1加法按钮。
sbit down = p2^2; /减法按钮。
sbit out = p2^3立刻跳出调整模式按钮。
sbit dq = p1^0温度传送数据io口。
char done,count,temp,flag,up_flag,down_flag;
uchar temp_value; /温度值。
uchar tempbuffer[5],week_value[2];
void show_time();液晶显示程序。
1602液晶显示部分子程序。
/port definitions
sbit lcdrsp2^5;
sbit lcdrwp2^6;
sbit lcden = p2^7;
sfr dbport = 0x80p0=0x80,p1=0x90,p2=0xa0,p3=0xb0.数据端口。
/内部等待函数。
unsigned char lcd_wait(void)
lcdrs=0;
lcdrw=1; _nop_()
lcden=1; _nop_()
lcden=0;
return dbport;
/向lcd写入命令或数据。
#define lcd_command0 //command
#define lcd_data1 //data
#define lcd_clear_screen 0x01 //清屏。
#define lcd_homing0x02 //光标返回原点。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...