近期关于有没有谁知道数字秒表的课程设计怎么做的(关键是要记录8个运动员的成绩用四位数码管显示)?的讨论热度持续攀升 ,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸 。
数字电子技术基础课程设计(一)——电子钟
数字电子技术基础
课程设计
电子秒表
一.设计目的:
1 、了解计时器主体电路的组成及工作原理;
2、熟悉集成电路及有关电子元器件的使用;
3、学习数字电路中基本RS触发器 、时钟发生器及计数、译码显示等单元电路的综合应用。
二.设计任务及说明:
电子秒表电路是一块独立构成的记时集成电路芯片。它集成了计数器、 、振荡器、译码器和驱动等电路 ,能够对秒以下时间单位进行精确记时,具有清零、启动计时、暂停计时及继续计时等控制功能 。
设计一个可以满足以下要求的简易秒表
1.秒表由5位七段LED显示器显示,其中一位显示“min ”,四位显示“s” ,其中显示分辩率为0.01 s,计时范围是0—9分59秒99毫秒;
2.具有清零 、启动计时、暂停计时及继续计时等控制功能;
3.控制开关为两个:启动(继续)/暂停记时开关和复位开关
三.总体方案及原理:
电子秒表要求能够对时间进行精确记时并显示出来,因此要有时钟发生器,记数及译码显示,控制等模块,系统框图如下:
时钟发生器
记数器
译码器
显示器
控制器
图1.系统框图
其中:
(1)时钟发生器:利用石英震荡555定时器构成的多谐振荡器做时钟源,产生100HZ的脉冲;
(2)记数器:对时钟信号进行记数并进位,毫秒和秒之间10进制,秒和分之间60进制;
(3)译码器:对脉冲记数进行译码输出到显示单元中;
(4)显示器:采用5片LED显示器把各位的数值显示出来,是秒表最终的输出,有分、秒 、和毫秒位;
(5)控制器:控制电路是对秒表的工作状态(记时开始/暂停/继续/复位等)进行控制的单元 ,可由触发器和开关组成。
四.单元电路设计,参数计算和器件选择:
1.时钟发生单元
时钟发生器可以采用石英晶体震荡产生100HZ时钟信号,也可以用555定时器构成的多谐振荡器 ,555定时器是一种性能较好的时钟源,切构造简单,采用555定时器构成的多谐振荡器做为电子秒表的输入脉冲源。
因输出要求为100HZ的 ,选择占空比为55%,可根据
T=( )Cln2=0.01
可选择的电阻进行连接可在输出端3获得频率为100HZ的矩形波信号,即T=0.01S的时钟源 ,当基本RS触发器Q=1时,门5开启,此时100HZ脉冲信号通过门5作为计数脉冲加于计数器①的计数输入端CP2 。
图2.时钟发生器555定时器构成的多谐振荡器
2.记数单元
记数器74160、74ls192、74ls90等都能实现十进制记数 ,本设计采用二—五—十进制加法计数器74LS90构成电子秒表的计数单元,如图3所示,555定时器构成的多谐振荡器作为计数器①的时钟输入。计数器①及计数器②接成8421码十进制形式,其输出端与实验装置上译码显示单元的相应输入端连接 ,可显示0.01~0.09秒;0.1~0.9秒计时,计数器②及计数器③,计数器③和计数器④也接成8421码十进制形式 ,计数器④和计数器⑤接成60进制的形式,实现秒对分的进位。
集成异步计数器74LS90简介
74LS90是异步二—五—十进制加法计数器,它既可以作二进制加法计数器 ,又可以作五进制和十进制加法计数器。
图3为74LS90引脚排列,表1为功能表 。
通过不同的连接方式,74LS90可以实现四种不同的逻辑功能;而且还可借助R0(1) 、R0(2)对计数器清零 ,借助S9(1)、S9(2)将计数器置9。其具体功能详述如下:
(1)计数脉冲从CP1输入,QA作为输出端,为二进制计数器。
(2)计数脉冲从CP2输入 ,QDQCQB作为输出端,为异步五进制加法计数器 。
(3)若将CP2和QA相连,计数脉冲由CP1输入,QD、QC 、QB、QA作为输出端 ,
则构成异步8421码十进制加法计数器。
(4)若将CP1与QD相连,计数脉冲由CP2输入,QA、QD 、QC、QB作为输出端 ,
则构成异步5421码十进制加法计数器。
(5)清零、置9功能 。
a)
异步清零
当R0(1)、R0(2)均为“1”;S9(1) 、S9(2)中有“0 ”时,实现异步清零功能,即QDQCQBQA=0000。
b)
置9功能
当S9(1)、S9(2)均为“1”;R0(1)、R0(2)中有“0”时 ,实现置9功能,即QDQCQBQA=1001。
图3.74LS90引脚排列(下)
输
入
输 出
功
能
清 0
置 9
时 钟
QD QC QB QA
R0(1) 、R0(2)
S9(1)、S9(2)
CP1 CP2
1
1
0
×
×
0
×
×
0
0
0
0
清
0
0
×
×
0
1
1
×
×
1
0
0
1
置
9
0
×
×
0
0
×
×
0
↓
1
QA
输 出
二进制计数
1
↓
QDQCQB输出
五进制计数
↓
QA
QDQCQBQA输出8421BCD码
十进制计数
QD
↓
QAQDQCQB输出5421BCD码
十进制计数
1
1
不
变
保
持
表1 .74LS90功能表
10秒到分位的6进制位可在十进制的基础上将QB、QC连接到一个与门,它的置零信号与系统的置零信号通过一个或门连接接至R0(1) ,即当记数为6或有置零信号是均置零,如图4所示 。
图4 .74ls90组成的6进制记数器
3 .译码显示单元
74LS248(74LS48)是BCD码到七段码的显示译码器,它可以直接驱动共阴极数码管。它的管脚图如图5所示. 显示器用 LC5011-11 共阴极LED显示器.(注:在multisim中仿真可以用译码显示器DCD_HEX代替译码和显示单元)。
图5. 74LS248管脚图
4 .控制单元
(1)
启动(继续)/暂停记时开关
采用集成与非门构成的基本RS触发器 。属低电平直接触发的触发器 ,有直接置位 、复位的功能。
它的一路输出作为单稳态触发器的输入,另一路输出Q作为与非门5的输入控制信号。
按动按钮开关B(接地),则门1输出 =1;门2输出Q=0,K2复位后Q、状态保持不变。再按动按钮开关K1 ,则Q由0变为1 ,门5开启, 为计数器启动作好准备 。由1变0,送出负脉冲,启动单稳态触发器工作。
(2)
清零开关
通过开关对每个计数器的R0(2)给以高电平能实现系统的清零。
五:在MULTISIM中进行仿真
将各个芯片在MULTISIM8中连接并进行仿真 ,仿真如图6所示,结果正确 。
六:设计所需元件
555触发器一片,74ls90五片 ,74ls248五片,LC5011-11 共阴极LED显示器五片,
电容、电阻若干。
七:设计心得
本次课程设计对数字电子技术有了更进一步的熟悉 ,实际操作和课本上的知识有很大联系,但又高于课本,一个看似很简单的电路 ,要动手把它设计出来就比较困难了,因为是设计要求我们在以后的学习中注意这一点,要把课本上所学到的知识和实际联系起来,同时通过本次电路的设计 ,不但巩固了所学知识,也使我们把理论与实践从真正意义上结合起来,增强了学习的兴趣 ,考验了我们借助互联网络搜集 、查阅相关文献资料,和组织材料的综合能力。
我这有个数字电压表啊
1. 实验任务
利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值 ,四位数码显示,但要求使用的元器件数目最少 。
2. 电路原理图
(图)见插图
3. 系统板上硬件连线
a) 把“单片机系统 ”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。
b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。
c) 把“单片机系统 ”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接 。
d) 把“单片机系统”区域中的P3.1与“模数转换模块 ”区域中的OE端子用导线相连接。
e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。
f) 把“单片机系统 ”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接 。
g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块 ”区域中的GND端子上。
h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。
i) 把“单片机系统 ”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。
4. 程序设计内容
i. 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上 ,也就是要求从P3.3输出CLK信号供ADC0809使用 。因此产生CLK信号的方法就得用软件来产生了。
ii. 由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值 (D/256*VREF)
5. 汇编源程序
(略)
6. C语言源程序
#include <AT89X52.H>
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,<br> 0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,<br> 0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
void main(void)
{
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ST=1;
ST=0;
while(1)
{
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*235;
temp=temp/128;
i=5;
dispbuf[0]=10;
dispbuf[1]=10;
dispbuf[2]=10;
dispbuf[3]=10;
dispbuf[4]=10;
dispbuf[5]=0;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{
dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=temp;
ST=1;
ST=0;
}
}
}
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
if(dispcount==7)
{
P1=P1 | 0x80;
}
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
关于有没有谁知道数字秒表的课程设计怎么做的(关键是要记录8个运动员的成绩用四位数码管显示)?的相关内容介绍到此告一段落 ,若这些信息对您有所启发,欢迎持续关注本站获取更多优质内容 。
本文来自作者[福江含]投稿,不代表发神号立场,如若转载,请注明出处:https://fastenercn.com/zixun/2915.html
评论列表(4条)
我是发神号的签约作者“福江含”!
希望本篇文章《有没有谁知道数字秒表的课程设计怎么做的(关键是要记录8个运动员的成绩用四位数码管显示)?》能对你有所帮助!
本站[发神号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:近期关于有没有谁知道数字秒表的课程设计怎么做的(关键是要记录8个运动员的成绩用四位数码管显示)?的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若...