计时计分器系统框图如图31所示由于实际问题,所以在焊接事物时用的是89c52,但其引脚功能结构与89c51大概是一样的,也就是说原来在at89c51环境下编译的程序也适用于C52以下实物图可能在细节处跟最终做出来的有点出路,但这并不影响其功能。
图31
32各部分具体设计方案32。1振荡电路本次设计要使用到AT89C51单片机的时钟振荡功能。AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器7。AT89C51的时钟主要分为两种方式:第一种是片内时钟振荡,另一种是外部时钟方式。本次设计采用的是第一种片内时钟振荡方式,通过在18和19端口外接石英晶体和振荡电容组成,这样既可产生本设计所需的时钟。振荡电路如图32所示
f图3212MHz晶振电路
322计时计分LED显示器设计
本次设计的核心就是采用AT89C51设计出一整套计时计分器,以满足与篮球比赛的需要。本次设计的LED显示器采用的是动态驱动方式。
动态显示驱动:使用数码管动态显示界面的显示方式,已成为在单片机的应用中最广泛的一种,动态驱动就是将每个数码管的8个显示的笔划“abcdefgdp”这几个引脚的同名端相连接,同时给数码管公共极COM增加了位元件选通控制电路,该位元件选通通过各自的独立输入输出线控制。若单片机依次输出了字形码,则所有的数码管必会接收到同样的字形码。但是,单片机对于位元件选通电路的控制则决定了最终是哪个数码管能够显示出字形。因此,我们若想所需的数码管灯亮,则只要打开所需对应的数码管的选通控制,而不打开相应选通控制的数码管就不会发光。动态驱动就是通过分时方法轮流控制各个LED数码管的COM端口,从而促使每个数码管轮流的接受控制并显示。数码管在依次显示的过程当中,会产生1ms~2ms的点亮时间,因为每个人都存在视觉暂留的现象,加之受到发光二极管余辉效应的影响和信号的扫描达到一定足够的速度,所以,人会接收到稳定的显示信息。
本次设计具体采用的LED为7SEGMP×2CA,
f即七段二位共阳极数码管。片选段需接晶体管驱动。323按键设计P32口接的按键为暂停键,暂停期间无法加分和倒计时。P33接的是甲队的加分键,P34接的则是乙队加分键。而P35接的是清零复位键。如下图33所示
图33按键设计324报警设计24秒倒计时到后,蜂鸣器响。
f三、软件设计方案
在单片机应用系统的开发过程中,主要采用的有汇编语言r