当前位置:文档之家› 基于AT89C51单片机的电子时钟设计_毕业设计

基于AT89C51单片机的电子时钟设计_毕业设计

基于AT89C51单片机的电子时钟设计_毕业设计
基于AT89C51单片机的电子时钟设计_毕业设计

基于AT89C51单片机的电子时钟设计

摘要:本文介绍了AT89C51单片机控制162液晶显示屏的工作原理以及设计方法,利用ds1302芯片和162液晶屏以51单片机为主控芯片设计一个时钟电路,分为硬件设计与软件设计两个部分。硬件设计主要是单片机、液晶和ds1302的接口设计;软件设计的主要部分是:单片机的端口初始化以及ds1302初始化,液晶显示屏的初始化,单片机驱动液晶屏的显示。

关键词:AT89C51单片机;162液晶显示屏;ds1302;LCD

1 引言

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧等许多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本文中详细介绍了基于AT89C51单片机控制下的162液晶屏显示设计,此设计基于da1302的时钟电路方便实用,电路设计简单。

2 硬件介绍

2.1、AT89C51简介

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内

部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断

结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

·与MCS-51 兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

2.2 162液晶显示屏介绍

HS162-4液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字等。

2.2.1 162液晶屏显示屏的引脚定义

首先,我们来看162的引脚定义,162的引脚是很整齐的SIP单列直插封装。

表1.2.1是液晶屏的引脚定义。

表2.2.1 接口信号说明表

HS162-4采用标准的16脚接口,我们只需要关注一下几个管脚:

3脚:VO,液晶屏显示偏压信号,用于调整液晶屏的显示对比度,一般会外界电位器用以调整偏压信号,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度。

4脚:RS,数据/命令选择端,即对寄存器进行选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

5脚:R/W,读写选择端,高电平时进行读操作,低电平时进行写操作。

6脚:E,使能信号,其实时162的逐句控制时钟信号,利用该信号的上升沿实现对液晶屏的数据传输。

7~14脚:8位双向数据线。

2.2.2 162液晶显示屏的指令说明

162液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)。162液晶屏内部模块共有11条控制指令,如表2.2.2所示。

指令1:清显示,指令码01H,光标复位到地址00H位置

指令2:光标复位,光标返回到地址00H

指令3:光标和显示模式设置

I/D:光标移动方向,高电平右移,低电平左移

S: 屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效

指令4:显示开关控制。

D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示

C:控制光标的开与关,高电平表示有光标,低电平表示无光标

B:控制光标是否闪烁,高电平闪烁,低电平不闪烁

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标

指令6:功能设置命令

DL:高电平时为4位总线,低电平时为8位总线

N:低电平时为单行显示,高电平时双行显示

F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符

指令7:字符发生器RAM地址设置

指令8:DDRAM地址设置

指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据

指令11:读数据

2.2.3 162液晶显示屏的时序

操作液晶屏,我们得对它的工作时序图熟悉,这里我们介绍的是162液晶显示屏的两个写时序:写指令和写入数据。

写指令,即设置162液晶显示屏的工作方式:需要把RS置为低电平,RW置为低电平,然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入。

写数据,即在液晶屏上实现显示时:需要把RS置为低电平,RW置为低电平,然后将数据送到D0~D7,最后E引脚一个高脉冲将数据写入。

RS DA TA 数据准备好

RW RS

CMD 命令准备好RW

EN EN

(1)写命令时序图 (2)写数据时序图

图1-2-3 162液晶显示屏时序图

值得注意的是,162液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。当然,162

提供了读忙信号的方法:当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号。

2.2.4 162液晶屏的RAM地址映射及标准字库表

HS162-4液晶模块内部的字符发生存储器(CGROM)已经存储了128个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写和常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B (41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。液晶屏第一行的首地址是80H,第二行的首地址是C0H。表1.2.4是液晶屏的GROM 中的字符代码与图形对应关系。

2.3、ds1302芯片介绍

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI 三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V 。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配如图1 所示及内部结构如图2 所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

各引脚的功能为:

Vcc1 :主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。

SCLK:串行时钟,输入,控制数据的输入与输出;

I/O :三线接口时的双向数据线;

CE :输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。

DS1302有下列几组寄存器:

①DS1302有关日历、时间的寄存器共有12个,其中有7 个寄存器(读时81h ~

8Dh ,写时80h ~8Ch ),存放的数据格式为BCD码形式,如图3 所示。

小时寄存器(85h 、84h )的位7 用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5 是,当为 1 时,表示 PM。在 24小时模式时,位5 是第二个10小时位。

秒寄存器(81h 、80h )的位 7 定义为时钟暂停标志(CH)。当该位置为1 时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0 时,时钟开始运行。

控制寄存器(8Fh 、8Eh )的位7 是写保护位(WP),其它 7 位均置为0 。在任何的对时钟和RAM的写操作之前,WP位必须为0 。当WP位为1 时,写保护位防止对任一寄存器的写操作。

② DS1302有关RAM的地址

DS1302 中附加31字节静态RAM的地址如图4 所示。

③DS1302的工作模式寄存器

所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如图5 所示。

④此外,DS1302还有充电寄存器等。

2 读写时序说明

DS1302是SPI 总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图6 。

控制字的最高有效位(位7 )必须是逻辑 1 ,如果它为 0 ,则不能把数据写入到DS1302中。位6 :如果为 0 ,则表示存取日历时钟数据,为1 表示存取RAM数据;位5 至位1 (A4~A0):指示操作单元的地址;位0 (最低有效位):如为0 ,表示要进行写操作,为1 表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8 位的控制字指令后的下一个SCLK 脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图7 。

3 硬件设计

硬件电路设计主要是AT89C51单片机、ds1302时钟芯片与162液晶显示屏的接口设计。

硬件电路如图所示,单片机的p2.0、p2.1、p2.2分别连接液晶的寄存器选择、读写选择、使能端这三个端口;单片机的p0口的8位分别连接液晶的8个数据端口;单片机的p1端口作为输入端,ds1302芯片,整个系统采用5V的电

源。

4 软件设计

在前面几节中,我们了解了AT89C51单片机、162液晶显示屏与ds1302的接口设计以及液晶屏的时序,那么这部分阐述的是单片机对液晶屏显示和ds1302的驱动控制。软件工作流程如下:

液晶屏的初始化根据它的时序来及表2.2.2的控制命令表对其进行初始化。

Ds1302初始化是根据图3、4、5、6中对相应的寄存器操作来进行的初始化。

5 结束语

晶液显示器作为输出器件有以下几个优点:

1.显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。

2. 数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

3.体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。

4.功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。

DS1302 高性能,低功耗带RAM实时时钟芯片简介:

1.可对秒、分、时、日、周、月以及带润年补偿的年进行计数,有效至2100年。

2.用于高速数据暂存31字节非易失性RAM.

3.宽工作电源电压范围:2.0V~5.5V。

4.用于(时鈡)或RAM数据读/写的单字节或多字节数据传送方式。

5.简单的3线接口与单片机通信。

6.TTL兼容(VCC=5V)

7.可选的工业温度范围:-40C。~+85C。

参考文献:

[1] HS162-4液晶显示使用说明资料.

[2] DS1302使用说明资料.

[3] 贺敬凯,刘德新,管明祥.单片机系统设计、仿真与应用。西安电子科技大学出版社,2011.

附件:

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar count_10ms; //定义10ms计数器

sbit reset = P1^5;

sbit sclk = P1^6;

sbit io = P1^7;

sbit LCD_RS=P2^0;

sbit LCD_RW=P2^1;

sbit LCD_EN=P2^2;

uchar code line1_data[] = {"Date: 1"}; //定义第1行显示的字符

uchar code line2_data[] = {"Time: "}; //定义第2行显示的字符

uchar disp_buf[8] ={0x00};

uchar disp_buf1[8]={0x00}; //定义显示缓冲区

uchar time_buf[7] ={0,0,0x12,0,0,0,0}; //DS1302时间缓冲区,存放秒、分、时、日、月、星期、年

/********以下是函数声明********/

void Delay_ms(uint xms) ;

bit lcd_busy();

void lcd_wcmd(uchar cmd);

void lcd_wdat(uchar dat) ;

void lcd_clr() ;

void lcd_init() ;

void write_byte(uchar inbyte); //写一字节数据函数声明

uchar read_byte(); //读一字节数据函数声明

void write_ds1302(uchar cmd,uchar indata); //写DS1302函数声明

uchar read_ds1302(uchar addr); //读DS1302函数声明

void set_ds1302(uchar addr,uchar *p,uchar n); //设置DS1302初始时间函数声明void get_ds1302(uchar addr,uchar *p,uchar n); //读当前时间函数声明

void init_ds1302(); //DS1302初始化函数声明

/********以下是延时函数********/

void Delay_ms(uint xms)

{

uint i,j;

for(i=xms;i>0;i--) //i=xms即延时约xms毫秒

for(j=110;j>0;j--);

}

/********以下是LCD忙碌检查函数********/

bit lcd_busy()

bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); // result = (bit)(P0&0x80); LCD_EN = 0; return result; }

/********以下是写指令寄存器IR函数********/

void lcd_wcmd(uchar cmd) { while(lcd_busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; }

/********以下是写寄存器DR函数********/

void lcd_wdat(uchar dat) { while(lcd_busy()); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; _nop_(); _nop_();

_nop_();

LCD_EN = 1;

_nop_();

_nop_();

_nop_();

_nop_();

LCD_EN = 0;

}

/********以下是LCD清屏函数********/

void lcd_clr() {

lcd_wcmd(0x01); //清除LCD的显示内容

Delay_ms(5);

}

/********以下是LCD初始化函数********/

void lcd_init() {

Delay_ms(15); //等待LCD电源稳定

lcd_wcmd(0x38); //16*2显示,5*7点阵,8位数据

Delay_ms(5); lcd_wcmd(0x38);

Delay_ms(5); lcd_wcmd(0x38);

Delay_ms(5);

lcd_wcmd(0x0c); //显示开,关光标

Delay_ms(5); lcd_wcmd(0x06); //移动光标

Delay_ms(5); lcd_wcmd(0x01); //清除LCD的显示内容

Delay_ms(5); }

/********以下是写一字节数据函数********/

void write_byte(uchar inbyte)

{

uchar i;

for(i=0;i<8;i++)

{

sclk=0; //写时低电平改变数据

if(inbyte&0x01)

io=1;

else

io=0;

sclk=1; //高电平把数据写入DS1302

_nop_();

inbyte=inbyte>>1;

}

}

/********以下是读一字节数据函数********/

uchar read_byte()

{

uchar i,temp=0;

io=1;

for(i=0;i<7;i++)

{

sclk=0;

if(io==1)

temp=temp|0x80;

else

temp=temp&0x7f;

sclk=1; //产生下跳沿

temp=temp>>1;

}

return (temp);

}

/********写DS1302函数, 往DS1302的某个地址写入数据 ********/ void write_ds1302(uchar cmd,uchar indata)

{

sclk=0;

reset=1;

write_byte(cmd);

write_byte(indata);

sclk=0;

reset=0;

}

/********读DS1302函数,读DS1302某地址的的数据********/

uchar read_ds1302(uchar addr)

{

uchar backdata;

sclk=0;

reset=1;

write_byte(addr); //先写地址

backdata=read_byte(); //然后读数据

sclk=0;

reset=0;

return (backdata);

}

/********初始化DS1302函数********/

void init_ds1302()

{

reset=0;

sclk=0;

write_ds1302(0x80,0x00); //写秒寄存器

write_ds1302(0x90,0xab); //写充电器

write_ds1302(0x8e,0x80); //写保护控制字,禁止写

}

/********以下是转换函数,负责将走时数据转换为适合LCD显示的数据********/

void LCD_conv (uchar ina,inb,inc,in1,in2,in3 ) //形参in1、in2、in3接收实参time_buf[2]、time_buf[1]、time_buf[0]传来的小时、分钟、秒数据

{

disp_buf[0]=in1/10+0x30; //小时十位数据

disp_buf[1]=in1%10+0x30; //小时个位数据

disp_buf[2]=in2/10+0x30; //分钟十位数据

disp_buf[3]=in2%10+0x30; //分钟个位数据

disp_buf[4]=in3/10+0x30; //秒十位数据

disp_buf[5]=in3%10+0x30; //秒个位数据

disp_buf1[0]=ina/10+0x30; //年十位数据

disp_buf1[1]=ina%10+0x30; // 年个位数据

disp_buf1[2]=inb/10+0x30; //月十位数据

disp_buf1[3]=inb%10+0x30; //月个位数据

disp_buf1[4]=inc/10+0x30; //日十位数据

disp_buf1[5]=inc%10+0x30; // 日个位数据

}

/********以下是LCD显示函数,负责将函数LCD_conv转换后的数据显示在LCD上********/

void LCD_disp ()

{ lcd_wcmd(0x07 | 0x80); //从第一行第五列开始显示

lcd_wdat(disp_buf1[0]); //显示年十位

lcd_wdat(disp_buf1[1]); // 显示年个位

lcd_wdat(0x2d); //显示“—”

lcd_wdat(disp_buf1[2]); // 显示月十位

lcd_wdat(disp_buf1[3]); // 显示月个位

lcd_wdat(0x2d); // 显示“-”

lcd_wdat(disp_buf1[4]); // 显示日十位

lcd_wdat(disp_buf1[5]); //显示日个位

lcd_wcmd(0x47 | 0x80); //从第2行第5列开始显示

lcd_wdat(disp_buf[0]); //显示小时十位

lcd_wdat(disp_buf[1]); //显示小时个位

lcd_wdat(0x3a); //显示':'

lcd_wdat(disp_buf[2]); //显示分钟十位

lcd_wdat(disp_buf[3]); //显示分钟个位

lcd_wdat(0x3a); //显示':'

lcd_wdat(disp_buf[4]); //显示秒十位

lcd_wdat(disp_buf[5]); //显示秒个位

}

/********以下是读取时间函数,负责读取当前的时间,并将读取到的时间转换为10进制数********/

void get_time()

{

uchar sec,min,hour,date,month,year; //定义秒、分、小时、日、月、年变量

write_ds1302(0x8e,0x00); //控制命令,WP=0,允许写操作

write_ds1302(0x90,0xab); //涓流充电控制

sec=read_ds1302(0x81); //读取秒

min=read_ds1302(0x83); //读取分

hour=read_ds1302(0x85); //读取时

date=read_ds1302(0x87); //读取日

month=read_ds1302(0x89); //读取月

year=read_ds1302(0x8d); //读取年

time_buf[0]=sec/16*10+sec%16; //将读取到的16进制数转化为10进制 time_buf[1]=min/16*10+min%16; //将读取到的16进制数转化为10进制 time_buf[2]=hour/16*10+hour%16; //将读取到的16进制数转化为10进制 time_buf[3]=date/16*10+date%16; //将读取到的16进制数转化为10进制

time_buf[4]=month/16*10+month%16; //将读取到的16进制数转化为10进制 time_buf[5]=year/16*10+year%16; //将读取到的16进制数转化为10进制

}

/********以下是主函数********/

void main(void)

{

uchar i;

P0 = 0xff;

P2 = 0xff;

lcd_init(); //LCD初始化函数(在LCD驱动程序软件包中)

lcd_clr(); //清屏函数(在LCD驱动程序软件包中)

lcd_wcmd(0x00|0x80); //设置显示位置为第1行第0列

i = 0;

while(line1_data[i] != '\0')

{

lcd_wdat(line1_data[i]); //显示第1行字符

i++; //指向下一字符

}

lcd_wcmd(0x40|0x80); //设置显示位置为第2行第0列

i = 0;

while(line2_data[i] != '\0')

{ lcd_wdat(line2_data[i]); //显示第2行字符

i++; //指向下一字符

}

init_ds1302(); //DS1302初始化

while(1)

{

get_time(); //读取当前时间

LCD_conv(time_buf[5],time_buf[4],time_buf[3],time_buf[2],time_buf[1],time_b uf[0]); //将DS1302的小时/分/秒传送到转换函数

LCD_disp(); //调LCD显示函数,显示年、月、日、小时、分和秒

}

}

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

(完整版)单片机的电子时钟设计毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编 辑。 济源职业技术学院 毕业设计 题目单片机的电子钟设计 系别电气工程系 专业应用电子技术 班级电技0801 姓名肖见 学号 指导教师苗绍强 日期 2010年12月

设计任务书 设计题目: 单片机的电子钟设计 设计要求: 1.设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动调整键再次进入时钟运行状态。 2.设计完成上述功能的相应的硬件调试和软件调试。 3.完成焊接和实物电路的调试。 设计进度要求: 第一周:选定设计题目,查找、搜集相关资料。 第二周:了解各元器件、模块的功能及使用方法。 第三周:硬件电路的设计。 第四周:相应软件设计(程序设计)。 第五周:利用相关的仿真软件测试并记录相关的数据和错误。 第六周:焊接实物电路,并且在实物电路上调试并且记录相关的数据和问题。 第七周:写毕业论文。 第八周:毕业答辩。指导教师(签名):

摘要 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。 本设计主要介绍用单片机内部的定时计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。 关键词:电子钟,单片机,汇编

多功能电子时钟,毕业设计

多功能电子时钟 摘要 本文是基于AT89C52单片机数字钟的设计,通过多功能电子时钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。 论文重点阐述了电子时钟硬件中MCU模块、时钟模块和键盘模块、显示模块等的模块化设计与制作;软件同样采用模块化设计思路,包括中断模块、闹钟模块、时间调整模块的设计,并采用C语言编写实现。本设计实现了时间与闹钟的修改功能,年、月、日和星期的显示功能。并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。本文还涉及到非接触止闹功能,在有效范围内使用者不需用手去寻找开关而关闭闹钟,该功能使本设计更具有人性化。该时钟还有重要日子倒计时功能,能够提前几天设定好时间,以避免遗忘重要日子。 关键词:AT89C52单片机,电子时钟,模块化设计,C语言

Multifunctional electronic clock ABSTRACT This article is based on AT89C52 microcontroller digital clock design, through multi-functional electronic clock design ideas, detailed description of the system hardware and software realization process. Paper focuses on the electronic clock hardware MCU module, clock module and keyboard module, display module, modular design and production; software as a modular design concept, including an interrupt module, alarm module, module design time to adjust and adopt the C language implementation. The Design and Implementation of the changes of time and alarm functions, year, month, day and week display. And by comparing the actual clock, find out the source of the error, the error method to determine the adjustment, as much as possible to reduce the error, allows the system to achieve the actual number of minutes of allowable error range. This also involves the function of non-contact only trouble in the effective range of users do not need a hand to find switch and turn off the alarm, this feature makes the design more user friendly. There are important days of the countdown clock function, set a good few days ahead of time, to avoid forgetting important occasions. KEY WORDS: AT89C52 microcontroller, electronic clock, modular design, C language

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

(完整word版)基于单片机电子时钟的制作

毕业综合实训概述 实训目的: 对单片机电子时钟的制作及设计原理的掌握,利用本次实训对所学的理论课程进行实际论证,更好的掌握理论知识。能够更好的运用在实践当中。 实训时间: 2015年9月21日-2015年11月8日 实训要求: 1.独立完成实物的制作及理解设计原理; 2.分析及制作程序流程图; 3. 绘制电路图; 4.了解个元器件在电路中的作用。

目录 1 引言 (1) 1.1选题背景 (1) 1.2设计原理 (1) 1.3单片机简介 (2) 1.4单片机的发展历史 (2) 1.5单片机的应用领域及发展趋势 (2) 2 方案议论 (5) 2.1 设计要求 (5) 2.2 系统描述 (5) 2.3 设计方案 (5) 2.3.1 集成电路 (5) 2.3.2 单片机的最小系统 (6) 2.3.3结论 (7) 3 硬件设计 (8) 3.1硬件结构 (8) 3.2中心控制模块 (8) 3.3电源模块 (11) 3.4控制电路 (12) 3.5复位电路 (12) 4软件设计 (15) 4.1电子时钟的设计原理 (15) 4.2 软件设计流程 (15) 5 总结 (17) 致谢 (18) 参考文献 (18) 附录电子时钟程序 (19)

1 引言 1.1选题背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM 已经发展出了32位的主频超过300M的高端单片机,直到现在基于8051的单片机还在广泛的使用。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作! 利用单片机实现电子时钟有很多优点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过电子时钟的制作方案,掌握C语言的编程方法。并熟练的运用89S52单片机定时器准确的实现时间的递进,按下按键可以设置时间,最重要的是自己还可以通过程序设计输入自己需要的定点时间。 1.2设计原理 通过单片机对时间准确的控制,实现时间的递进。 定时器:时钟周期T是时序中最小的时间单位,具体计算的方法是1/时钟源频率,我们KST-52单片机开发板上用的晶振是11.0592M,那么我们对于这个单

基于单片机的电子时钟系统设计

题目:电子时钟系统设计 班级: 姓名: 专业: 指导教师: 答辩日期:

毕业设计任务书 一、设计题目: 电子时钟系统设计 二、设计要求: 利用8031单片机作为主控器组成一个电子时钟系统。利用4个LED显示管分时显示当前时间和日历;上电或RESET后能自动显示当前时间(时:分),首次上电复位显示为0时0分;以后各次均显示正确的当前时间;利用尽可能少的小键盘(开关)实现;显示选择:时分显示/日历显示/报警显示,利用发光二极管作为报警指示,当报警时间到,二极管发光。 三、设计任务: 1.设计硬件电路,画出电路原理图; 2. 设计软件,编制程序,画出程序流程图; 3.调试程序,写出源程序代码; 4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。 5.个人总结。 四、参考资料: 1. 教材; 2.《单片机实验指导书》,河南工业职业技术学院内部; 3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社; 4.《微机控制技术及应用》,韩全立主编,机械工业出版社; 5.《单片机应用技术与实训》,王治刚主编,清华大学出版社; 6.《常用电子电器手册》; 7.《单片机应用技术与实例》,睢丙东主编,电子工业出版社;

8.《单片微型计算机应用技术》,徐仁贵,机械工业出版社。

目录 第一章绪论 (6) 1.1 单片机的概述 (6) 1.2 数字电子钟的简介 (7) 第二章电子时钟硬件电路设计 (9) 2.1 硬件电路设计摘要 (9) 2.2 硬件电路设计来源 (9) 2.3 硬件电路设计原理图 (11) 第三章软件设计及程序编制 (13) 3.1 系统程序设计 (13) 3.2 电子钟的说明 (16) 3.3 中断服务程序 (18) 3.4 设计参数 (21) 3.5 控制源程序代码 (21) 第四章功能调试及分析 (31) 4.1 调试功能的方法 (31) 4.2 电子钟计时说明 (31) 4.3 调试及性能分析 (32)

基于单片机的电子秤的设计与实现(毕业论文)

第一章绪论 (1) 1.1研究目的和意义 (1) 1.2电子称重系统的应用领域 (1) 1.3主要工作以及论文结构 (1) 第二章系统方案论证与选型 (3) 2.1控制器部分 (3) 2.2数据采集部分 (4) 2.2.1 传感器的选择 (4) 2.2.2放大电路选择 (6) 2.2.3 A/D转换器的选择 (7) 2.2.4键盘处理部分方案论证 (8) 2.3显示电路部分的选择 (9) 2.4超量程报警部分选择 (9) 2.4.1 电源模块方案选型 (9) 第三章硬件电路设计 (10) 3.1AT89S52的最小系统电路 (10) 3.1.1单片机芯片AT89S52介绍 (10) 3.1.3 AT89S52的最小系统电路构成 (11) 3.2电源电路设计 (12) 3.3数据采集部分电路设计 (12) 3.6.1LED结构与原理 (14) 3.6.2动态显示LED显示器接口 (15) 3.4键盘电路与AT89S52单片机接口电路设计 (16) 键盘电路与AT89C51的接口电路设计 (16) 3.5报警电路的设计 (17) 第四章系统软件设计 (19) 4.1主程序设计 (19) 4.2子程序设计 (20) 4.2.1 A/D转换启动及数据读取程序设计 (20) 4.2.2显示子程序设计 (21) 4.2.3 键盘输入控制程序的设计 (21) 4.2.4报警子程序的设计 (22) 第五章总结 (23) 参考文献 (24) 附录1系统总图 (25)

第一章绪论 1.1 研究目的和意义 传统的机械秤有很多缺点,比如精度不高,结构复杂,易老化,成本高等。随着社会的发展,市场对秤的要求的越来越高,尤其是人体秤、厨房秤等各类便携式小型秤。电子秤与传统的机械秤相比有许多优越性,它用压力传感器取代机械秤的弹簧大大减小了秤的体积和制造难度,以LCD 或LED显示屏取代传统的刻度盘使外形更加美观,由于内部集成了单片机以及软件系统,电子秤还拥有传统机械秤无法比拟的智能性。他可以完成过载报警,总价计算,数据通信等众多功能。 目前市场上使用的称量工具,或者结构复杂,或者运行不可靠,且成本高,而且整体水平不高,部分小型企业质量差且技术薄弱,设备不全,缺乏产品的开发能力,产品质量在低水平徘徊。因此,有针对性的开发出一套具有实用价值的电子秤系统,从技术上克服上述诸多缺点,改善电子秤应用中的不足之处,具有现实意义。 1.2 电子称重系统的应用领域 电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。电子秤的应用领域主要分为工业计量和民用消费类。在工业计量应用领域有电子天平,珠宝秤,市场计价秤等;而民用秤主要有厨房秤,人体秤,便携式口袋秤等。工业计量应用对精度要求较高,而民用消费类的应用对精度的要求不高,但对秤的外观,智能性,便携性却有很高的要求。 1.3主要工作以及论文结构

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

新型多功能电子闹钟设计毕业设计论文

本科生毕业设计(论文)

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在

不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

2009届 本科毕业设计(论文)资料第一部分毕业论文

(2009届) 本科毕业设计(论文) 新型多功能电子闹钟设计 2009年6月

摘要 本文提出了一种基于AT89C51单片机的新型多功能电子闹钟。通过对设计方案的比较与论证,选择了适合本设计的时钟模块、闹铃模块、温度检测模块、键盘及显示模块、电源模块设计方案。其中实时时钟采用DS12C887实现年月日时分秒等时间信息的采集和闹钟功能;温度检测模块由DS18B20集成温度传感器对现场环境温度进行实时检测;键盘和数码管与ZLG7289连接,通过键盘数码管可方便地校对时钟和设置闹钟时间;用蜂鸣器进行声音指示;采用7805 三端稳压集成芯片稳定输出5V直流电压。通过对AT89C51单片机最小系统的原理分析,结合论文的设计要求,完成了系统流程图及系统程序的设计。 本设计可实现时间显示、闹钟设置、环境温度测量、交直流供电电源等功能。 关键词:单片机,电子闹钟多功能设计,温度检测,交直流供电

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

单片机电子时钟的设计设计word版

基于单片机的电子时钟设计 摘要 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子时钟用集成电路计时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。近年来随着科技的飞速发展。单片机、PLC的应用不断地走向深入。同时带动传统的控制检测技术的不断更新。可以采用早期的模拟电路、数字电路或模数混合电路。 本设计利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。 关键词:单片机,AT89C51,LED,显示器,电子时钟 BASED ON SCM ELECTRONIC CLOCK DISIGN

ABSTRACT Now, most of the high precision tools have used quartz crystals oscillator. As the electron clock, quartz watches and quartz have adopted quartz technique,which is empty and high precision,good stability,andconvenience, there is no need to constantly adjust the use of electronic clock. Digital watches, which have reduced the timing errors and hve the houre、minite and second and can also underway and proofreading and slice of flexibility, have used integrated circuit to count time, in which decoding have replaced michical driven, and led display monitors replaced the pointer to display time. In recent years as technology evolved, microcontroller and PLC applications have go fother. promoting traditional control testing technical updating earlier. You can use the earlier digital circuit or circuit and hybrid circuit . In this complment, we have used the microcontroller to make true the timing of the digital clocks, in which has a core element of AT89c2051, with the morden counting michine digital to display at the "time", "points" and "seconds". Compared to the conventional mechanical watch, it is empty and intuitive . Its characteristics of the time period is 24 hours, and full scale as a "23’59’ 59, and other functions of the school after the electricity supply, to have time to achieve credible a synchronous. KEY WORDS: MICROCONTROLLER,AT89C51,LED,DISPLAY,CLOCK

毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

基于51单片机的电子秤的设计

学号: G RADUATE T HESIS 论文题目:基于51 单片机的电子秤的设计 学生姓名: 专业班级: 学院: 指导教师: 2017 年06 月12 日

第一章功能说明 本设计系统以单片机AT89S52为控制核心,实现电子秤的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。 系统的硬件部分包括最小系统部分、数据采集部分、人机交互界面和系统电源四大部分。最小系统部分主要包括AT89S52和扩展的外部数据存储器;数据采集部分由称重传感器,信号的前期处理和A/D 转换部分组成,包括运算放大器AD620和A/D 转换器ICL7135;人机界面部分为键盘输入,四位LED数码显示器,可以直观的显示重量的具体数字以及方便的输入数据,使用方便;系统电源以LM317和LM337为核心设计电路以提供系统正常工作电源。 系统的软件部分应用单片机C 语言进行编程,实现了该设计的全部控制功能。该电子秤可以实现基本的称重功能(称重范围为0~9.999Kg ,重量误差不 大于± 0.005Kg), 并发挥部分的显示购物清单的功能,可以设置日期和设定十种商品的单价,还具有超量程和欠量程的报警功能。 本系统设计结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。 称重传感器原理 即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。 按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。 传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成” 。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。 称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%~70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。 称重传感器的种类很多,根据工作原理来分常用的有以下几种:电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式) 电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

毕业设计论文_单片机电子时钟的设计

单片机电子时钟的设计 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机 AT89S51 电子时钟数码管

Design of the singlechip electronics clock Abstract Single slice machine from published in 70's for 20 centuries, is compare with its very high function price, is value by people and pay attention to, apply very widely, develop very quickly. Single slice the machine physical volume is small,the weight is light,the anti- interference ability is strong,the environment haven't high request,the price is cheap,the credibility is high,vivid good,develop more easy. In order to having an above-mentioned advantage, at the our country, single slice the machine is broadly applied already to turn an equipment at industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc. each aspect, but 51 machines is is a typical model most and have a representative most in each machine of a kind. This graduation design passes to its study and application, Take the AT89S51 chips as core, assist with the electric circuit of the necessity, design a simple electronics clock, it from the 4.5 V direct current power supply power supply, pass the figures tube can accurate manifestation time, adjust time。Arrive a study and design, develop thus soft,the ability of the hardware . Keywords:MCU AT89S51electronics clock digital tube

单片机电子秤设计报告

单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-40Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程0-40kg,测量精度可达5g。 2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。 3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。 4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。 5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。 7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图1所示: 图1 单片机电子秤硬件方案 称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出来。 矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。 2、称重传感器 传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。 (1) 灵敏度 称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是

相关主题
文本预览
相关文档 最新文档