当前位置:文档之家› 单片机原理课程设计 基于AT89C52的电子时钟设计

单片机原理课程设计 基于AT89C52的电子时钟设计

单片机原理课程设计 基于AT89C52的电子时钟设计
单片机原理课程设计 基于AT89C52的电子时钟设计

单片机原理课程设计

题目: 基于AT89C52得电子时钟设计

姓名:

学院:

业:

级:

学号:

指导教师:

年月日

南京农业大学教务处制

aortiu

目录

摘要 (2)

关键词 (2)

引言 (2)

1、1设计要求 (2)

1、2系统方案选择方案与论证 (2)

1.2.1单片机芯片得选择方案与论证……………………………………2

1.2.2 显示模块选择方案与论证 (3)

1.2.3 时钟芯片得选择方案与论证 (3)

2、系统得硬件设计与实现 (3)

2、1电路设计框图…………………………………………………………3

2、2系统硬件概述 (3)

2、3 主要单元电路得设计 (4)

2。3。1 单片机主控制模块得设计 (4)

2.3。2时钟电路模块得设计 (4)

2.3。3键盘模块设计 (5)

2。3。4蜂鸣器模块得设计 (5)

2.3。5显示模块得设计 (5)

3.系统得软件设计 (6)

3、1程序流程框图 (6)

3、2程序得设计 (7)

4、系统调试……………………………………………………………………7

4、1软件调试…………………………………………………………………7

4、2硬件调试 (8)

4、3 实验箱调试结果 (8)

5、总结心得体会 (9)

附录一:系统程序 (9)

基于AT89C52得电子时钟设计

指导教师:吕成绪胡飞

摘要:单片机在电子产品中得应用越来越广泛,特别就是51系列得单片机,由于其使用方便、价格

低廉等优势,在市场上占有很大得份额。AT89C52就就是51系列中得一个比较成熟得型号.本设计

就是一个多功能得实时时钟,带秒表、整点报时、闹铃、调整时间等功能.可按键直接设置闹铃时间.

由AT89C51单片机、DS1302、LCD1602等模块组成。现代社会,时间就就是金钱,时钟就是每个人

得必备品。本设计实现了所需功能,给大家带来方便,整体性好、人性化强、可靠性高,实现了时钟

得多功能应用。

关键词:电子时钟;DS1302;LCD1602;

引言:

随着科技得快速发展,时间得流逝,从观太阳、摆钟到现在电子钟,人类不断研究,

不断创新纪录。美国DALLAS公司推出得具有涓细电流充电能得低功耗实时时钟电路

DS1302。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302得使用寿命长,误差小。对于数字电子时钟采用直观得数字显示,可

以同时显示年、月、日、周日、时、分、秒与温度等信息,还具有时间校准等功能。该

设计以AT89C51单片机作为核心,功耗小,能在3V得低压工作,电压可选用3~5V电

综上所述,此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表得发展趋势,具有广阔得市场前景。

1、设计要求与方案

1、1 设计要求:

(1)启动时显示制作得年、月、日、制作者得学号等信息。

(2)24小时计时功能(精确到秒)

(3)整点报时功能。

(4)秒表功能

(5)省电功能模式(未设计)

1、2 系统基本方案选择

1.2。1单片机芯片得选择方案与论证

方案一:

采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储空间,能于3V得超低压工作,而且与MCS-51系列单片机完全兼容,但就是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序得错误修改或对程序得新增功能需要烧入程序时,对芯片得多次拔插会对芯片造成一定得损坏。

方案二:

采用AT89S52,片内ROM全都采用Flash ROM;能以3V得超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51得功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序得错误修改或对程序得新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

相比之下,我们在实验箱实际仿真时选择采用AT89S52作为主控制系统,由于pro teus库中没有AT89S52,在原理图仿真时采用了AT89C51、

1.2。2 显示模块选择方案与论证

方案一:采用点阵式数码管显示,点阵式数码管就是由八行八列得发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示、

方案二:采用LCD液晶显示屏,液晶显示屏得显示功能强大,显示多样,清晰可见、本设计采用LCD1602、

1.2.3时钟芯片得选择方案与论证

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分、秒计数.采用此种方案虽然减少芯片得使用,节约成本,但就是,实现得时间误差较大。所以不采用此方案。

方案二:

采用DS1302时钟芯片实现时钟,DS1302芯片就是一种高性能得时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿得年进行计数,而且精度高,位得RAM做为数据暂存区,工作电压2、5V~5、5V范围内,2、5V时耗电小于300nA、综上各方案所述,对此次作品得方案选定: 采用AT89C52作为主控制系统,DS1302提供时钟计时,LCD1602屏幕显示、

2、系统得硬件设计与实现

2、1电路设计框图

本电路就是由A T89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它就是一种高性能、低功耗、带RAM 得实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2、5V~5、5V 。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节得时钟信号或RAM 数据。DS 1302内部有一个31*8得用于临时性存放数据得RA M寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高与低功耗等特点,同时具有掉电自动保存功能;显示部份由LCD 1602构成、 2、3 主要单元电路得设计

2。3。1单片机主控制模块得设计

图—1 主控制系统

AT89C51单片机为40引脚双列直插芯片,有四个I/O 口P0,P1,P2,P3。

单片机得最小系统如上图所示,18引脚与19引脚接时钟电路,XTAL1接外部晶振与微调电容得一端,在片内它就是振荡器倒相放大器得输入,XTAL2接外部晶振与微调电容得另一端,在片内它就是振荡器倒相放大器得输出、第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路、如图-1 所示、

2.3。2时钟电路模块得设计

图-2 DS1302得引脚图

键盘模块 DS1302 时钟模块

源关闭得情况下,也能保持时钟得连续运行。DS1302由Vcc1或Vcc2两者中得较大者供电.当Vcc2大于Vcc1+0、2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1与X2就是振荡源,外接32、768KHz晶振。RST就是复位/片选线,通过把RST输入驱动置高电平来启动所有得数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据得传送手段.当RST为高电平时,所有得数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态.上电动行时,在Vcc大于等于2、5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终就是输入端。

2.3。3 键盘模块设计

图-3键盘模块

如图—3,K1、K2、K3、K4均为多功能键。K1为秒表设置键,按K4键时为时钟确定键;K2在K4按下时为时钟下调键,在K3按下时为闹钟确定键,在K1按下时为秒表开始键;K3为闹钟设置键,在K4按下时为时钟上调键,在K1按下时为秒表暂停键;K4为时钟设置键,在K3按下时为闹钟移位键,在K1按下时为秒表退出键。

2。3.4蜂鸣器模块得设计

图-4声音输出模块

闹铃时间到与整点时,P3_7给低电平,蜂鸣器响。

2。3.5显示模块得设计

图-5 LCD显示输出模块

如图—5,1脚VSS与3脚VEE为电源接地,第2管脚VDD接电源,第4管脚RS 为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作;E(或EN)端为使能(enable)端;第7~14脚D0~D7为8位双向数据端。控制与数据端都接了上拉电阻用来驱动。

3、系统得软件设计

3、1程序流程框图

图-A主程序流程图

图—B 时间调整程序流程图

3、2程序得设计

见附录

4、系统调试

4、1软件调试结果

时钟主界面用户

设置闹铃界面秒表界面

时钟仿真图

4、2 硬件调试结果

起初蜂鸣器有点问题不响,后来发现就是定义错端口引起得。其她功能正常。

4、3实验箱调试结果

实现功能得具体方法:

时钟主界面时按下K1键进入秒表功能,按K2秒表开始,再按K3秒表停,按键K4返回时间显示;按K4开始调试(移位“年→秒”),接着按K2、K3调节时间增减;按K2开启闹钟,K3调节时间,K4(移位“时分”);按“年→秒”得顺序移位,按键K2进行减运算,按键K3进行加运算,按键K1返回到主界面并显示设置值。

按下K3键,实现闹钟定时调整,按键K4进行“分-秒”移位,按键K3进行上调,按键K2返回到主界面.

主界面K2实现开启/关闭闹钟得功能。

按下K1键进入秒表,按键K2开始计时,K3暂停计时,K4返回到主界面。

5、总结心得体会:

这次实习我们组选择得就是电子时钟设计。实习任务包括理论设计、调试与仿真、撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计就是课程设计得关键环节,开始以为时钟会很简单,就算遇到问题应该也很好解决,但当自己真正去做得时候,发现了好多困难。于就是查资料,问同学。经过与同学得探讨,通过调试进一步完善程序设计,最后虽然省电模式没实现但其她基本达到课题所要求得指标。完成了实习任务。这次实习我更加了解了单片机得应用,更加牢牢得掌握了书本知识与现实得结合,总之这就是实习收获很大,以后还需多动手实践,多练习编程,才能熟练掌握单片机。

程序:

#include

#include〈INTRINS、H>

#include

#include〈ds18b20、h〉

#define uchar unsigned char

#define uint unsigned int

#define TIME (0X10000—50000)

#define FLAG 0xf4?//闹钟标志

sbit rst=P1^2;? //DS

sbitclk=P1^0;

sbit dat=P1^1;

sbit rs=P2^0; ?//LCD

sbit rw=P2^1;

sbit e=P2^2;

sbit beep=P1^3;

sbit mbkey=P1^4;

uchar k;

uchar flag;

uchar i=20,j,time1[16];

ucharalarm[2],time2[15],time[3];time5[3];

uchar code Day[]={31,28,31,30,31,30,31,31,30,31,30,31}; //12个月得最大日期(非闰年)

uchar key2num,ms=0,mbmiao=0,mbfen=0,mbkeynum,num;//ms秒表进数,mbmiao、mbfen秒表得秒、分,key2num就是key5得计数?

uchar code table[]=" 32210324 GYY”;

uchar codetable1[]=” 32210326 GLQ";

uchar code table4[]=” 00:00:00 MB ";

void delay(uint z)

{ uint x,y;

for(x=z;x〉0;x--)

for(y=110;y〉0;y--);

}

delay1ms(uchar time) //延时1ms

{ uchar i,j;

?for(i=0;i

{ for(j=0;j<250;j++);}

}?

//LCD驱动部分

enable()

{ rs=0;

?rw=0;

?e=0;

delay1ms(3);

write2(uchar i)

{ P0=i;

rs=1;

rw=0;

?e=0;

?delay1ms(2);

?e=1;

}

write1(uchar data *address,m){uchar i,j;

?for(i=0;i

write2(j);

//LCD显示

lcdshow()

{P0=0XC; ???//显示器开、光标关?enable();

?P0=0x80;???//第一行0~15

?enable();

?write1(time1,16);

P0=0xc1;?//第二行1~14

?enable();

write1(time2,15);

//DS1302读写子程序

write(ucharaddress)

{ uchar i;

clk=0;

_nop_();

?rst=1;

?_nop_();

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

?{dat=address&1;

_nop_();

?clk=1;

?address>>=1;

??clk=0;

?}

uchar read()

{uchar i,j=0;

?{ j>>=1;

??_nop_();

??clk=0;

_nop_();

?if(dat)

??j|=0x80;

?_nop_();

?clk=1;

?}

?return(j);

//部分显示数据初始化

timestart()

{?

time1[6]=time1[9]=’-';

time1[2]='2’,time1[3]='0';

time2[2]=time2[5]=':';

write(0xc1);

alarm[0]=read();

?rst=0;

write(0xc3);

alarm[1]=read();???

rst=0;

write(0xc5);

?time1[0]=read();

?rst=0;

}

//读取时间

readtime()

{ uchar i,m,n;

write(0x8d); //读取年份

?m=read();

?rst=0;

?time1[4]=m/16+0x30;

time1[5]=m%16+0x30;

time1[15]=m+0x30;

for(i=7,n=0x89;i〈11;i+=3,n-=2)?//读取月份与日期

?{ write(n);

?m=read();

?rst=0;

time1[i]=m/16+0x30;

??time1[i+1]=m%16+0x30;

}

?for(m=0,i=0,n=0x85;i〈7;i+=3,n—=2,m++)?//读取时,分,秒

?time[m]=read();? //将实时得时分秒给time[] ?rst=0;

time2[i]=time[m]/16+0x30;

time2[i+1]=time[m]%16+0x30;

?}

}

baoshi()?//整点报时

{ beep=1;

if(time[1]==0)

if(time[2]==0)

{beep=0;delay(10);beep=1;}??????

}

//闹钟部分

showalarm()

{ uchar i;

for(i=1;i<10;i++)

?{beep=0;delay(1000);beep=1;}

//根据日期得变动自动调整星期

//设置时间

settime()

uchar i=0x85,year,month,day,n;

time2[6]=time2[7]=0x30,time1[14]=time1[15]=0x20;

lcdshow();

while(1)

{?

?P0=0x0e;??//显示器开显示、开光标

enable();

?P0=i;??//定光标

??enable();

?P1=0xf0;

?if(P1!=0Xf0)???//有按钮按下

??delay1ms(100);??//延时0、1s去抖动

?if(P1!=0Xf0)

???{

??j=7;

??? if(P1==0X70)??//K1,设置时钟

???{

??i+=3;

????if(i==0x8e)

??? i=0xc2;

????else if(i〉0xc5)

??}

?else if(P1==0xb0) //K2,上调

?year=(time1[4]&0xf)*10+(time1[5]&0xf);

month=(time1[7]&0xf)*10+(time1[8]&0xf);

??day=(time1[10]&0xf)*10+(time1[11]&0xf); ??if(i==0x85)

?{

?????year++;

??if(year>99)

???year=0;

?????if((year%4)!=0)

????if(month==2&&day==29)

?????day=28;

??}

?elseif(i==0x88)

???{

???month++;

????if(month>12)

???month=1;

???if(day>Day[month—1])

?{

????day=Day[month-1];

??if(month==2&&(year%4)==0)

??day=29;

??????}???

??}

??else if(i==0x8b)

??{

????day++;

??if(day>Day[month-1])

??{

???if(month==2&&(year%4)==0)

????{

???????if(day〉29)

?????day=1;

?????}

???if(month!=2)

?day=1;

??}

??}

????else if(i==0xc2)

???{

??n=(time2[0]&0xf)*10+(time2[1]&0xf);

?if(n>23)

???n=0;

???time2[0]=n/10+0x30;

??time2[1]=n%10+0x30;

???}

??else

????{

????n=(time2[3]&0xf)*10+(time2[4]&0xf);

?n++;

????if(n>59)

????n=0;

?time2[3]=n/10+0x30;

??time2[4]=n%10+0x30;

??}

?time1[4]=year/10+0x30;

??time1[5]=year%10+0x30;

????time1[7]=month/10+0x30;

?time1[8]=month%10+0x30;

??time1[10]=day/10+0x30;

???time1[11]=day%10+0x30;

??lcdshow();

?}

??elseif(P1==0xd0)????? //K3,下调???{year=(time1[4]&0xf)*10+(time1[5]&0xf);

?month=(time1[7]&0xf)*10+(time1[8]&0xf); ???day=(time1[10]&0xf)*10+(time1[11]&0xf);

???if(i==0x85)

???{

??year--;

??if(year〈1)

???year=99;

if((year%4)!=0)

????if(month==2&&day==29)

????day=28;

??}

?????else if(i==0x88)

??{

??month--;

??if(month<1)

?????month=12;

???if(day>Day[month-1])

?{

???day=Day[month—1];

???if(month==2&&(year%4)==0)?

?}???

?}

????else if(i==0x8b)

????{

?????day——;

???if(day〈1)

???{

???if(month==2&&(year%4)==0)

????{

???????day=29;

???}

?if(month!=2)

???day=Day[month-1];

???}

??}

?else if(i==0xc2)

?????{

????n=(time2[0]&0xf)*10+(time2[1]&0xf);

?n--;

????if(n〈0)

n=23;

?time2[0]=n/10+0x30;

?????time2[1]=n%10+0x30;

??? }

?else

???{

???n=(time2[3]&0xf)*10+(time2[4]&0xf);

????n--;

???if(n<0)

??n=59;

????time2[3]=n/10+0x30;

???time2[4]=n%10+0x30;

??}

??time1[4]=year/10+0x30;

??time1[5]=year%10+0x30;

???time1[7]=month/10+0x30;

??time1[8]=month%10+0x30;

???time1[10]=day/10+0x30;

????time1[11]=day%10+0x30;

????lcdshow();

?}

??else if(P1==0xe0) ???//K4,确定设置?{ delay1ms(1000);?

???write(0x8c);

???rst=0;

??write(0x8a);

???rst=0;

??for(i=7,n=0x88;i<11;i+=3,n-=2)

???{?

?????write(n);

????write((time1[i]&0xf)*16+(time1[i+1]&0xf));

???rst=0;

???}

???for(i=0;i〈7;i+=3,n-=2)

?{

??write(n);

????write((time2[i]&0xf)*16+(time2[i+1]&0xf));

?rst=0;

??TR0=0;

??return;

??}

??else

??{

???TR0=0;

???return;

??}

??}

?if(j==0)

??TR0=0;

??return;

//设置闹钟

setalarm()

uchar i,n;

?for(i=1;i<16;i++)

?{

time1[i]=0x20;

?}

time2[0]=alarm[0]/16+0x30;

time2[1]=(alarm[0]&0x0f)+0x30;

time2[3]=alarm[1]/16+0x30;

?time2[4]=(alarm[1]&0x0f)+0x30;

lcdshow();

?i=0xc2;

while(1)

?{

P0=0xe;??//显示器开、光标开

??enable();

?P0=i;?//定光标

??enable();

?P1=0xf0;

?if(P1!=0Xf0)??//有按钮按下

?{

?delay1ms(100);??//延时0、1s去抖动

??if(P1!=0Xf0)

?{

??j=7;

????if(P1==0X70)?

???{

????i+=3;

??if(i>0xc5)

?????i=0xc2;

??}

???else if(P1==0xb0) ?//按K2,设闹钟

?{

??if(i==0xc2)

??{

????n=(time2[0]&0xf)*10+(time2[1]&0xf);

?????n++;

?if(n>23)

??n=0;

??time2[0]=n/10+0x30;

??time2[1]=n%10+0x30;

?}

???else

????n=(time2[3]&0xf)*10+(time2[4]&0xf);

??n++;

?if(n>59)

????n=0;

?????time2[3]=n/10+0x30;

????time2[4]=n%10+0x30;

???}

???lcdshow();

??}

??else if(P1==0xd0)?????//确定闹钟设置

?? write(0xc0);???

?write((time2[0]&0x0f)*16+(time2[1]&0x0f));

???rst=0;

??write(0xc2);

??write((time2[3]&0xf)*16+(time2[4]&0xf));

??? rst=0;

??time1[0]=FLAG;

????write(0xc4);

???write(time1[0]);

??rst=0;

???TR0=0;

??timestart();

???return;

???}

??else

??? {

??TR0=0;

?????timestart();

?return;

?}

??}

?}

if(j==0)

?TR0=0;

?timestart();

??return;

?}

?}

//lcdwrite() LCD写指令

void lcdwrite(uchar write)

rs=0;

?P0=write;

delay(1);

e=1;

delay(1);

e=0;

}?

//lcdshuju() LCD写数据

void lcdshuju(uchar shuju)

rs=1;

?delay(1);

e=1;

delay(1);

e=0;

}?

//秒表部分

void write_sfm(uchar add ,uchar date)?//秒显示函数{ucharshi,ge;

shi=date/10;

ge=date%10;

?lcdwrite(0x80+0x40+add);

lcdshuju(0x30+shi);

?lcdshuju(0x30+ge);

}

voidmbiao( )????//秒表函数

{lcdwrite(0x80+0x40);

for(num=0;num〈16;num++) ?

lcdshuju(table4[num]);

start:

while(1)

{ if(P1!=0Xf0)

{ delay1ms(100);???//延时0、1s去抖动

if(P1!=0Xf0)

? if(P1==0xd0)?//秒表开始计数

?{TR1=1;

?? ET1=1;

? }

else if(P1==0xb0)? //秒表暂停计数

{ TR1=0;

? else if(P1==0x70)? //退出

???{return;

?? }

?? goto start;

}

void init()

{?e=0;

rw=0;

?lcdwrite(0x38);//显示模式

lcdwrite(0x0c);//开显示,光标不闪烁

lcdwrite(0x80);

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

lcdshuju(table[i]);

delay(200);

?}

?lcdwrite(0x80+0x40);

?for(i=0;i<16;i++)

?{

lcdshuju(table1[i]);

?delay(200);

?}

delay(500);

lcdwrite(0x01);

main()

{?

init();

?IE=0X82;

TMOD=0x11;

?write(0x8E); ?//关闭写保护

?write(0);

?rst=0;

P0=1;??//清屏并光标复位

enable();

?P0=0X38; ?//设置显示模式:8位2行5x7点阵

enable();

P0=6;?//文字不动,光标自动右移

enable();

timestart();

while(1)

{?

readtime(); //读取时间

lcdshow();??//显示时间

baoshi();

if(time1[0]!=0x20)

?{beep=1;

? if(time[0]==alarm[0])

??if(time[1]==alarm[1])

??if(time[2]==0)

????showalarm();

?}??

P1=0xf0;

?if((P1&0Xf0)!=0Xf0)

?delay1ms(100);? //延时0、1s去抖动?if((P1&0Xf0)!=0Xf0)

电子时钟课程设计.

单片机实训课题电子时钟 班级11电气本1班学号4110211140 姓名陈后亥 指导教师叶文通 日期2013.12.30~2014.1.3

摘要 随着时代的进步,越来越多的电子厂品趋向于低成本,高性能,耐用性好的方向发展。特别是趋向于自动化控制的方向走。89c51作为控制芯片是最好不过的选择啦。它具有强大的功能,并且简单易于操作,安全性与稳定性较高,价格便宜,适合中小型电子厂品开发中的控制器。就像我们的课程设计,基于89c51单片机的电子时钟的课程设计。 这款课程设计用到的主要材料有89c51单片机,1602液晶显示屏,矩阵键盘,以及一些电容电阻元件等等。 使用89c51作为电子时钟的控制器很简单,就是由于其经济型与稳定性和易操作性。显示电路上,选择使用1602液晶显示屏上。1602不仅操作上臂数码管简单许多,而且使用1602能在很大程度上是电路图尽量简化,便于操作与错误的检修。并且1602价格也比较便宜。 基于89c51电子时钟的设计,利用了单片机内部的一个自带定时/计数器来实现定时功能,并通过内部程序,实现对时分秒,年月日这几个输出数值的自增,并且通过编写程序,实现通过键盘控制时分秒,年月日大小的调整,这是必要的功能。最后通过1602液晶显示电路将时间显示在其上。 这样的电子时钟比较精准,其主要误差来源与晶振的误差,即使是这样,他的误差也只是微妙级别,对于日常生活中的时间计数是足够的。 关键词:89c51单片机;1602液晶显示屏;矩阵键盘;keil软件

目录摘要 1单片机简介 1.1 单片机概述 1.2 单片机基本结构 21602液晶显示屏简介 1.11602显示原理 1.21602指令集合 3 电子时钟硬件设计 3.1 功能框图 3.2 单片机复位与晶振电路 3.3 1602显示电路 3.4 总体电路设计 4 电子时钟软件设计 4.1 程序流程框图 4.2 程序源代码 参考文献 致谢

电子钟课程设计

数字电子技术课程设计报告 设计题目:数字电子钟的设计 课程设计时间2011..24~2011..30 院系:XX纺织大学电子信息工程学院 班级:电气094 设计学生:杨海X爱祥 一、数电课程设计的目的: 数字电子技术课程设计是在学习完数字电子电路课程之后,按照课程教学的要求,对学生进行综合性训练的一个实践性教学环节。主要目的是培养学生综合运用理论知识能力,分析问题和解决问题的能力,以及根据实际要求进行独立设计的能力;了解数字电子电路的一般设计方法,初步掌握数字电子线路安装、布线、焊接、调试等基本技能;熟练掌握电子电路基本元器件的使用方法,训练、提高读图能力;掌握组装、调试方法。 二、设计题目及内容 、设计题目:数字电子时钟 2、内容和要求: ()时间以24 小时为一个周期; (2)显示时、分、秒;

(3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)根据要求阅读数字时钟电路原理图,阅读教材及查找相关资料,叙述工作原理; (5)画出包含+5 伏的稳压电源在内的原理电路图,根据原理图画出对应的印刷电路图,并在图中标出元器件的符号及代码; (6)安装、焊接、连线、调试电路; (7)最后提交调试好的设计作品,撰写并提交实验、调试报告,解答思考题。 三、功能及简单工作原理数字电子钟的原理方框图 如下图()所示。干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60 进制计数器,每累计60 秒发现一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60 进制计数器,每累计60 分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”“时计数器”采用24 进制计时器,可实现对一天24 小时的累计。。译码显示电路将“时”“分”“秒”计数器的输出状态由七段显示译码器译码,通过六位LED 七段显示器显示出来。校时电路是用来对“时”“分”“秒”显示数字进行校对调整的。

单片机课程设计报告模板资料

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日

1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。

目录 1 设计任务 (1) 2设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1时钟电路设计 (3) 3.2复位电路设计 (3) 3.3 灯控制电路设计 (3) 3.4 倒计时显示电路设计 (4) 3.5 按键控制电路设计 (5) 4 系统软件设计 (6) 4.1 1S定时 (6) 4.2 定时程序流程 (6) 4.3交通灯的设计流程图 (6) 4.4定时器0 及中断响应 (7) 5仿真与性能分析 (8) 6心得体会 (9) 参考文献 (10) 附录1 系统原理图 .......................................................................错误!未定义书签。附录2 系统PCB图 .....................................................................错误!未定义书签。附录3 程序清单 .. (11) II

1 设计任务 支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图1.1所示。设东西向为主干道,南北为支干道。 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。

单片机课程设计报告书----电子秤

一、设计任务及要求: 设计任务: 完成一个简单的使用数字电子秤的硬件与软件部分的设计。 设计要求: 1.利用单片机实现对所设计的电子秤的各项功能的控制。 2.电子秤能够LCD液晶显示出商品的名称、价格,重量、总价等信息。 3.电子秤具有储存几种简单商品价格的功能。 4.电子秤的测量范围要求达到5KG,测量精度要求达到0.001。 5.电子秤能够自动完成商品的价格计算。 指导教师签名: 2010 年6月16 日二、指导教师评语: 指导教师签名: 2010 年7月3日三、成绩 验收盖章 2010 年7 月日

基于单片机的实用电子秤的设计 1 设计目的 单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本 次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件 的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计, 做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字 电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动 手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。 2 设计的主要内容及要求 本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数 据采集部分由压力传感器和A/D 转换部分组成;人机界面部分为键盘输入、 液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设 计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完 成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能, 一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量 范围要达到5KG,测量精度要求达到0.001。 3 整体设计方案 整个数字电子秤电路由压力传感电路(ADC0832采样)、模数转换系统、单 片机主控制电路、LM4229显示电路、蜂鸣器报警电路和4*4键盘电路6 个部

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

单片机电子秤设计报告

基于单片机的电子秤 单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片 机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为 0-10Kg,测量精度达到 5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程 0-10kg ,测量精度可 达 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 线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出

电子课课程设计电子钟

南航数字电子技术课程设计报告 题目:数字钟的设计与制作 学年:06学年学期:第二学期 专业:机械工程及自动化 班级:0504107 学号姓名:李晓云 吉晶晶 时间:2006年6月30日— 2006年7月3日 数字电子技术课程设计报告 一、设计目的 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,我们此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.

二、设计内容及要求 (1)设计指标 ①由晶振电路产生1HZ标准秒信号; ②分、秒为00~59六十进制计数器; ③时为00~23二十四进制计数器; ④周显示从1~日为七进制计数器; ⑤具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时 间; ⑥整点具有报时功能,当时间到达整点前鸣叫五次低音(500HZ),整点 时再鸣叫一次高音(1000HZ)。 (2)设计要求 ①画出电路原理图(或仿真电路图); ②元器件及参数选择; ③电路仿真与调试。 (3)制作要求自行装配和调试,并能发现问题和解决问题。 (4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。 三、原理框图 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。数字电子钟的总体图如图(1)所示。由图

单片机课程设计报告

课程设计报告 课程名称单片机原理及应用 设计题目电子琴的设计 专业班级自动化1142 姓名周太永 学号1104421242 指导教师蔡长青张卓 起止时间2014.6.23-2014.7.11 成绩评定 考核内容设计 表现 设计 报告 答辩 综合 评定 成绩 电气与信息学院

2013/2014学年第二学期 《单片机控制系统设计与调试》课程设计任务书 指导教师:蔡长青班级:自动化1141、2班 地点:机房、单片机实验室(实训中心415) 课程设计题目:基于单片机原理的电子琴设计 一、课程设计目的 1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计, 到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。 2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。 3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问 题的能力,为日后的毕业设计及科研工作奠定良好的基础。 二、课程设计内容(包括技术指标) 1.焊接。认真、仔细,避免缺焊、漏焊。 2.频率计算。会计算脉冲值与频率的关系。 3.工作过程。开机时,第一步是对定时器T0进行初始化,设定它的工作状态(对 于本系统将T0设定为工作方式0);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值 继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后 停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。 三、时间安排 1.布置任务、查资料1天 2.硬件电路图设计及PCB制版3天 3.硬件电路图及PCB制版验收、电路板焊接1天 4.软件编程设计3天 5.系统调试3天 6.调试验收1天 7.完成设计报告3天 四、基本要求 1.画出硬件电路图,完成PCB制版; 2.画出软件流程图,编写程序(C51语言/汇编语言); 3.完成系统调试; 4.提交设计报告。

单片机电子秤设计报告共28页文档

单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度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) 灵敏度 称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。 (2) 总误差 总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。

电子时钟课程设计_数电课程设计数字电子时钟的实现

电子时钟课程设计_数电课程设计数字电子 时钟的实现 课程设计报告设计题目:数字电子时钟的设计与实现班级: 学号: 姓名: 指导教师: 设计时间: 摘要钟表的数字化给人们生产生活带来了极大的方便,大大的扩展了原先钟表的报时。诸如,定时报警、按时自动打铃、时间程序自动控制等,这些,都是以钟表数字化为基础的。功能数字钟是一种用数字电路实现时、分、秒、计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。从原理上讲,数字钟是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟,而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及使用方法。通过此次课程设计可以进一步学习与各种组合逻辑电路与时序电路的原理与使用方法。通过仿真过程也进一步学会了Multisim 7的使用方法与注意事项。

本次所要设计的数字电子表可以满足使用者的一些特殊要求,输 出方式灵活,如可以随意设置时、分、秒的输出,定点报时。由于集 成电路技术的发展,,使数字电子钟具有体积小、耗电省、计时准确、 性能稳定、维护方便等优点。 关键词:数字钟,组合逻辑电路,时序电路,集成电路目 录摘要 (1) 第1章概述 (3) 第2章课程设计任务及要求 (4) 2.1设计任务 (4) 2.2设计要求 (4) 第3章系统设计 (6) 3.1方案论证 (6) 3.2系统设计 (6) 3.2.1 结构框图及说明 (6) 3.2.2 系统原理图及工作原理 (7) 3.3单元电路设计 (8) 3.3.1 单元电路工作原理 (8) 3.3.2 元件参数选择···································14 第 4章软件仿真 (15) 4.1仿真电路图 (15) 4.2仿真过程 (16)

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期:2011 年 3 月17 日

目录 1 设计任务和性能指标 (3) 1.1设计任务............................................................................ 错误!未定义书签。 2 设计方案 (4) 2.1任务分析 (4) 2.2方案设计 (4) 3 系统硬件设计 (5) 3.1时钟的电路设计 (5) 3.2复位电路设计 (5) 3.3灯控电路设计 (5) 3.4倒计时电路设计 (6) 3.5按键控制电路设计 (7) 4 系统软件设计 (8) 4.11秒定时 (8) 4.2定时程序流程 (8) 4.3交通灯的设计流程图 (9) 4.4定时器0与中断响应 (10) 5 仿真及性能分析 (10) 5.1仿真结果图 (11) 5.2仿真结果与分析 (12) 6 心得体会 (13) 参考文献 (14) 附录1 系统原理图 (15) 附录2 系统PCB图 .................................................................. 错误!未定义书签。附录3 程序清单 (17)

1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图5.1所示。设东西向为主干道,南北为支干道。 图5.1 交通灯示意图 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干 道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒, 支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆 禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

基于单片机的电子秤的设计样本

四川信息职业技术学院 毕业设计阐明书(论文) 设计(论文)题目: 基于单片机电子秤设计 专业:应用电子技术 班级:应电12-3 学号: 1111111 姓名:某某某 指引教师:某某某

二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

目录 摘要................................................................................................... 错误!未定义书签。绪论................................................................................................... 错误!未定义书签。第一章方案设计与论证................................................................... 错误!未定义书签。 1.1方案选取 ............................................................................ 错误!未定义书签。 1.2方案论证 ............................................................................ 错误!未定义书签。第二章硬件设计与分析................................................................... 错误!未定义书签。 2.1单片机最小系统 ................................................................ 错误!未定义书签。 2.1.1 芯片简介.............................................................. 错误!未定义书签。 2.1.2 时钟电路设计...................................................... 错误!未定义书签。 2.1.3 复位电路设计...................................................... 错误!未定义书签。 2.2信号采集模块 .................................................................... 错误!未定义书签。 2.2.1 传感器选取.......................................................... 错误!未定义书签。 2.2.2 传感器选取.......................................................... 错误!未定义书签。 2.3数据转换电路 .................................................................... 错误!未定义书签。 2.3.1 A/D转换器选取................................................... 错误!未定义书签。 2.3.2 ADC0832简介 ..................................................... 错误!未定义书签。 2.3.3单片机对ADC0832控制原理 ............................ 错误!未定义书签。 2.4声光报警电路 .................................................................... 错误!未定义书签。 2.5显示电路 ............................................................................ 错误!未定义书签。 2.6整机电路 ............................................................................ 错误!未定义书签。

数字电子时钟课程设计

数字电子技术基础课程设计报告 班级:姓名: 学号: 一、设计目的 1掌握专业基础知识的综合能力。 2完成设计电路的原理设计、故障排除。 3逐步建立电子系统的研发、设计能力,为毕业设计打好基础。 4让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法。 5进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力。 6培养书写综合实验报告的能力。 二、设计仪器 1 LM555CH 2 74LS161N 74LS160N 74LS290 3 74LS00 74LS08 4 电源电阻电容二极管接地等 三数字电子钟的基本功能及用途 现在数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性

能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点,,因此在许多电子设备中被广泛使用。 电子钟是人们日常生活中常用的计时工具,而数字式电子钟又有其体积小、重量轻、走时准确、结构简单、耗电量少等优点而在生活中被广泛应用,因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。 多功能数字钟采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、走时准确、显示直观、精度、稳定等优点。电路装置十分小巧,安装使用也方便。同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。 四设计原理及方框图 数字钟实际上是一个对标准频率进行计数的计数电路,标准的1HZ时间信号必须做到准确稳定。由图可见:本数字钟电路主要由震荡器、、时分秒计数器、译码显示器构成。它们的工作原理是:由震荡器产生的高频脉冲信号作为数字钟的时间基准,送入秒计数

电子称课程设计

1.前言 电子称重技术是现代称重计量和控制系统工程的重要基础之一,电子衡器经过40年的不断改进和完善,从60年代的机电结合型发展到现在的全电子型和数字化智能型。由于它具有称量准确、快速,读取方便,环境适应性强,便于与电子计算机结合而实现称重计量与过程控制自动化等特点,在工商贸易、能源交通、轻工食品、医药卫生、航空航天等部门得到了广泛的应用。本课题本着电子秤向高精度、高可靠方向研究,讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本文中第一章讲述了电子秤的发展情况及其工作原理,第二章讲述了电子秤的硬件电路组成部分,第三章介绍了电子秤各部分功能实现的软件设计。 1.1研究本文的意义 物料计量是工业生产和贸易流通中的重要环节。称重装置或衡器是不可缺少的计量工具。随着工农业生产的发展和商品流通的扩大,衡器的需求也日益增多,过去沿用的机械杠杆秤己不能适应生产自动化和管理现代化的要求。自六十年代以来,由于传感器技术和电子技术的迅速发展,电子称重技术日趋成熟,并逐步取代机械秤。尤其是七十年代初期,微处理机的出现使电子称重技术得到了进一步的发展。快速、准确、操作方便、消除人为误差、功能多样化等方面已成为现代称重技术的主要特点。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。同时对称重仪表的要求也越来越高,要求仪表有更高抗干扰能力、更高的精度。 基于电子秤的现状,本文拟研究一种用单片机控制的高精度数字电子秤设计方案。这种高精度数字电子秤计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。 1.2 电子秤的发展 1.电子技术渗入衡器制造业 随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业。在1954年使用了带新式打印机的倾斜杠杆式秤,其输出信号能控制商用结算器,并且用电磁铁机构与代替人工操作的按键与办公机器联用。在1960年开发出了与衡器相联的专

电子时钟课程设计模板

电子时钟课程设计 电子时钟设计 一、课程设计目的和意义 掌握8255、 8259、 8253芯片使用方法和编程方法, 经过本次课程设计, 学以致用, 进一步理解所学的相关芯片的原理、内部结

构、使用方法等, 学会相关芯片实际应用及编程, 系统中采用8088微处理器完成了电子钟的小系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法, 掌握一般的设计步骤和流程, 使我们以后搞设计时逻辑更加清晰。 二、开发环境及设备 1、设计环境 PC机一台、 windows 98系统、实验箱、导线若干。 2、设计所用设备 8253定时器: 用于产生秒脉冲, 其输出信号可作为中断请示信号送IRQ2。 8255并口: 用做接口芯片, 和控制键相连。 8259中断控制器: 用于产生中断。 LED: 四个LED用于显示分: 秒值。 KK1或KK2键与K7键, 用于控制设置。 三、设计思想与原理 1、设计思想 在本系统设计的电子时钟以8088微处理器作为CPU, 用8253做定时计数器产生时钟频率, 8255做可编程并行接口显示时钟和控制键电路, 8259做中断控制器产生中断。在此系统中, 8253的功能是定时, 接入8253的CLK信号为周期性时钟信号。8253采用计数器0, 工作于方式2, 使8253的OUT0端输出周期性的负脉冲信

号。即每隔20ms, 8253的OUT0端就会输出一个负脉冲的信号, 此信号接8259的IR2, 当中断到50次数后, CPU即处理, 使液晶显示器上的时间发生变化。 其中8259只需初始化ICW1, 其功能是向8259表明IRx输入 是电瓶触发方式还是上升沿触发方式, 是单片8259还是多片8259。8259接收到信号后, 产生中断信号送CPU处理。 2、设计原理 利用实验台上提供的定时器8253和扩展板上提供的8259以 及控制键和数码显示电路, 设计一个电子时钟, 由8253中断定时, 控制键控制电子时钟的启停及初始值的预置。电子时钟的显示格 式MM: SS由左到右分别为分、秒, 最大记时59: 59超过这个时间分秒位都清零从00: 00重新开始。 基本工作原理: 每百分之一秒对百分之一秒寄存器的内容加一, 并依次对秒、分寄存器的内容加一, 四个数码管动态显示分、秒 的当前值。 三、设计所用芯片结构 1、 8259A芯片的内部结构及引脚 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路, 只需对8259A编程, 就能够管理8级中断, 并选择优先模式和中断请求方式, 即中断

单片机课程设计报告书模板

. .. . .. .. 西南科技大学 2011级微机原理与接口技术 课程设计报告 课题名称微机原理与接口技术 姓名 学号 院、系、部制造科学与工程学院 专业 指导教师 2014年月日

目录 一、绪言 (1) 二、系统设计 (1) 2.1系统整体流程图 (1) 2.2日历时钟的控制方案论证 (1) 2.3单片机的选择方案论证 (2) 2.4键盘选择方案论证 (2) 2.5显示模块的选择方案论证 (2) 2.6模块的选择方案论证 (2) 三、硬件电路设计 (2) 3.1日历时钟的控制电路图 (2) 3.2行列式键盘的设计 (3) 3.3数码管显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4)

3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、日历时钟的控制器仿真 (19) 6.1K e i l调试 (19) 6.2P r o t e u s调试 (19) 七、结束语 (20) 八、参考文献 (21) 1、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

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