强化训练.docx
- 文档编号:10799397
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:18
- 大小:130.04KB
强化训练.docx
《强化训练.docx》由会员分享,可在线阅读,更多相关《强化训练.docx(18页珍藏版)》请在冰豆网上搜索。
强化训练
目录
摘要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;
}
}
}
}
}
附录二:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 强化 训练