强化训练.docx

上传人:b****7 文档编号:10799397 上传时间:2023-02-23 格式:DOCX 页数:18 大小:130.04KB
下载 相关 举报
强化训练.docx_第1页
第1页 / 共18页
强化训练.docx_第2页
第2页 / 共18页
强化训练.docx_第3页
第3页 / 共18页
强化训练.docx_第4页
第4页 / 共18页
强化训练.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

强化训练.docx

《强化训练.docx》由会员分享,可在线阅读,更多相关《强化训练.docx(18页珍藏版)》请在冰豆网上搜索。

强化训练.docx

强化训练

目录

摘要1

1设计目的和要求2

1.1设计目的2

1.2设计要求2

2系统流程图3

3数字电子钟的组成和工作原理4

3.1秒信号发生器的设计4

3.2译码显示电路5

3.3校时电路的设计6

4十二进制与二十四进制7

5小结与体会8

6参考文献9

附录10

 

摘要

本设计电路包括秒发生器电路,译码显示电路,校正电路。

秒发生器电路采用晶体振荡分频电路,具有选频好,较稳定的特点。

译码显示电路,秒,分采用六十进制,时采用十二进制或二十四进制。

校正电路的作用是来调整时间和切换十二进制和二十四进制。

整个电路的功能由单片机来实现。

关键词:

数字钟振荡计数校正

1设计目的和要求

1.1设计目的

1.使学生在学完了《电子技术基础》课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。

2.熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法了解面包板结构及其接线方法,了解数字钟的组成及工作原理。

学会检查电路的故障与排除故障的一般方法

3.学会检查电路的故障与排除故障的一般方法,掌握虚拟设计,学会使用一种电路分析软件(EWB或PSPICES)在计算机上进行电路设计与分析的方法。

1.2设计要求

(1)时间计数电路采用24进制,从00开始到23后再回到00;

(2)各用2位数码管显示时、分、秒;

(3)具有手动校时、校分功能,可以分别对时及分进行单独校时,使其校正到标准时间;

(4)计时过程具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。

(5)为了保证计时的稳定及准确,须由晶体振荡器提供时间基准信号。

 

2系统流程图

分显示器

秒显示器

时显示器

译码器

译码器

译码器

计数器

计数器

计数器

时间校正

振荡器

 

图1总的流程图

 

3数字电子钟的组成和工作原理

3.1秒信号发生器的设计

方案比较

1采用555多谐振荡器

优点:

555内部的比较器灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压和温度变化的影响很小。

缺点:

要精确输出1Hz脉冲,对电容和电阻的数值精度要求很高,所以输出脉冲既不够准确也不够稳定。

2采用晶体振荡分频电路

优点:

由石英晶体的阻抗频率响应可知,它的选频特非常好,有一个极为稳定的串联谐振频率fs,且等效品质因数Q很高。

只有频率为fs的信号最容易通过,且其他频率的信号均会被晶体所衰减。

比较结果:

振荡器是数字钟的核心,振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度。

为了达到设计要求,获取更高的计时精度,选用晶体振荡器构成振荡器电路。

一般来说,振荡器的频率越高,计时精度越高。

图如下:

图2晶体振荡分频电路图

 

3.2译码显示电路

图3译码显示电路

74ls245的A0到A7接单片的P2口,输出B0到B5接数码管的123456来驱动显示哪一个数码管。

数码管的ABCDEFG和DP接单片机的P0口,来控制数码管显示的大小。

电路中有六个数码管,分别来显示秒,分,时,其中秒,分是六十进制,时可以是十二进制或二十四进制。

 

3.3校时电路的设计

图4校时电路

三掷开关的三个口接单片机P1的三个口,分别来控制时调节,分调节和十二进制和二十四进制转换,当开关合在哪个口时就控制哪个调节,然后通过按钮按一次时或分就增加一个单位。

这就是校时电路的原理。

 

4十二进制与二十四进制

图5时钟为二十四进制

图6时钟为十二进制

5小结与体会

1、加强了团队合作精神,磨练了我们的意志力。

我们各人之间好好的配合,分工合作,设计过程没有一团乱麻。

更为可贵的是,我们彼此鼓励,同舟共济地处理每个问题。

这种团队精神将是我们美好的回忆。

我们花了很多心血来做这个课程设计,由于这两个星期又要考试所以很紧的时间,但凡事不是一帆风顺的,我们遇到了许多困难。

有些困难甚至看进来难于解决,确实也是打击了我们的信心,但我们毫不气馁,最后还是克服了种种困难完成了任务。

2、加强我们对电子器件的了解。

一直以来,我们都对电子器件都很感兴趣,对电子应用感到好奇。

这一次在设计的过程中加深了对电子器件的理解

3、提高了我们使用电脑对电路进行仿真的能力。

我们又要学会新的软件EWB来画电路图,并用它进行仿真。

这又让我们的知识增多了。

4、做到理论联系实际。

刚刚学过了数电这门课程,还没完全弄懂某些元器件的原理和用途,而此次课程设计恰恰提供了一个好机会,让我们从实践中加深了对所学知识的理解。

 

6参考文献

[1]、康华光.2006年.电子技术基础数字部分(第五版).北京:

高等教育出版社.

[2]、模拟电子技术第五版康华光主编高等教育出版社2006

[3]、数字电路实验与课程设计施云编著哈尔滨工程大学2001

[4]、电子线路实验-数字电路实验沈小丰主编清华大学出版社2007

[5]谭会生,张昌凡.EDA技术及应用.西安:

西安电子科技大学出版社.2004

[6]孙晓明.EDA实验指导书.武汉:

武汉理工大学教材中心,2007.1

 

附录

附录1

#include

#defineuintunsignedint

#defineucharunsignedchar

sbit_led=P1^7;

sbitkey1=P1^0;//调时按键

sbitkey2=P1^1;//加按键

sbitkey3=P1^2;//减按键

sbitkey4=P1^3;//确定建

ucharnum=0,temp=0,count=0;

ucharaa;

ucharhour,min,sec;

ucharcodetable[]={0x60,0xf3,0xa4,0xa1,0x33,0x29,0x28,0xe3,0x20,0x21};

//定义共阳极LED显示段码0、1、2、3、4、5、6、7、8、9

voiddelay(uintz);//延时子函数声明

voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf,ucharaa);

//显示子函数声明

voidread_key();//读按键函数声明

voidled();

voidtime_change();//时间调整子函数声明

/******************主函数*******************/

voidmain()

{

P2=0xff;

hour=12;

min=0;

sec=0;

TMOD=0x11;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

EA=1;

ET0=1;

ET1=1;

TR0=1;

TR1=1;

aa=0xff;

while

(1)

{

time_change();

display(table[hour/10],table[hour%10],table[min/10],

table[min%10],table[sec/10],table[sec%10],0xff);

}

}

/******************显示函数*******************/

voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf,ucharaa)

{if

(1)

{

P0=0xfb&aa;P1=0xbf;delay

(2);

P0=0xdf&aa;P1=0xbf;delay

(2);}

if(num==1)

{

P0=0xfe&aa;P1=a;delay

(2);}

else

{

P0=0xfe;P1=a;delay

(2);}//hour

if(num==1)

{

P0=0xfd&aa;P1=b;delay

(2);}

else

{P0=0xfd;P1=b;delay

(2);}//hour

if(num==2)

{

P0=0xf7&aa;P1=c;delay

(2);

}

else

{

P0=0xf7;P1=c;delay

(2);}//min

if(num==2)

{

P0=0xef&aa;P1=d;delay

(2);

}

else

{P0=0xef;P1=d;delay

(2);}//min

if(num==3)

{

P0=0xbf&aa;P1=e;delay

(2);}

else

{P0=0xbf;P1=e;delay

(2);}//sec

if(num==3)

{

P0=0x7f&aa;P1=e;delay

(2);}

else

{P0=0x7f&aa;P1=f;delay

(2);}//sec

}

 

/**************定时器0中断函数***************/

voidtimer0()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

temp++;

}

/**************定时器1中断函数***************/

voidtimer1()interrupt3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

count++;

if(count>=20)

count=0;

}

/******************延时子函数*******************/

voiddelay(uintz)

{

uintj,k;

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

for(k=120;k>0;k--);

}

/******************读按键函数*******************/

voidread_key()

{

if(key1==0)

{

_led=0;

delay(100);

if(key1==0)

{

delay(100);

_led=1;

num++;

if(num>3){num=0;}

while

(1)

{

if(key1==0)

{

_led=0;

delay(10);

if(key1==0)

{

num++;

if(num>3){num=0;break;}

}

while(!

key1);

delay(10);

while(!

key1);

_led=1;

}

if(key2==0)

{

_led=0;

delay(80);

if(key2==0)

{

if(num==1){hour++;if(hour==24)hour=0;}

if(num==2){min++;if(min==60)min=0;}

if(num==3){sec++;if(sec==60)sec=0;}

}

while(!

key1);

delay(10);

while(!

key1);

_led=1;

}

if(key3==0)

{

_led=0;

delay(80);

if(key3==0)

{

if(num==1){hour--;if(hour==0)hour=23;}

if(num==2){min--;if(min==0)min=59;}

if(num==3){sec--;if(sec==0)sec=59;}

}

while(!

key1);

delay(10);

while(!

key1);

_led=1;

}

if(key4==0)

{

_led=0;

delay(80);

if(key4==0)

{

num=0;break;

}

}

 

if(count<=15)

display(table[hour/10],table[hour%10],table[min/10],

table[min%10],table[sec/10],table[sec%10],0xff);

if(count>15)

display(table[hour/10],table[hour%10],table[min/10],

table[min%10],table[sec/10],table[sec%10],0x00);

}

}

while(!

key1);

delay(10);

while(!

key1);

_led=1;

}

}

/******************时间调整函数*******************/

voidtime_change()

{

read_key();

if(temp>=20)

{

temp=0;

sec++;

if(sec>=60)

{

sec=0;

min++;

if(min>=60)

{

min=0;

hour++;

if(hour>=24)

{

hour=0;

}

}

}

}

}

 

附录二:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1