码管显示部分,外部中断控制部分,独立式与行列式键盘按键输入部分,串行口通信部分,蜂鸣器与继电器等部分组成。
复位
P0单片机AT89C52P2
8个限流电阻
4位共阴数码管动态显示
选位
INT0
P3
蜂鸣器继电器
电路总图与功能如图所示,每当来一次外部中断时,内部计数一次,并将数值通过4位共阴数码管动态显示出来。而单片机的P2口可以选择四根不同的数码管来动态显示,通过视觉暂留达到同时显示的效果。同时内部程序检测每当计数十次时,会形成一个继电器闭合的零件打包动作,并通过程序使得蜂鸣器发出警报。
4
f12软件设计框图及流程图
零件计数器系统由多个函数构成,其中包括主函数,初始化函数,延时函数,串口发送函数,蜂鸣器函数,继电器函数等。
串口和外部中断初始化函数
主函数
数码管动态显示
显示子函数
延时函数
蜂鸣器函数
继电器函数
串口通信函数
单片机零件计数器软件系统各个函数框图
5
f流程图:
开始
初始化
零件数为0LED动态显示
是否按下S_INT0
否
是
零件数加1LED动态显示
零件数是十的倍数?
否
是
蜂鸣器响一次,继电器闭合,执行零件打包
执行串口发送函数
否
是否按下复位键
是
6
f13主要电路功能
B部分是单片机的最小系统部分,单片机为内含8KFLASH程序存储器的STC89C52RC,EA接高电平;各并行口都加了10K的上拉电阻;晶振为110592M。设置了上电复位和手动复位电路。S1为手动复位按钮。
C部分电路由4位一体的数码管LED1、单个数码管LED2和8个独立发光二极管L1L7组成。这3个部分都是共阴结构,并联在一起,连接在P0口上。LED1
7
f用于完成LED动态显示实验,各个位选线为P24-P27,段码由P0口输出;LED2的COM端接地,完成LED静态显示实验;L1-L7,可以方便地读出P0输出的二进制数据,亦可做流水灯实验。7407在此起驱动作用。
I部分电路为蜂鸣器和继电器电路。蜂鸣器采用9012三极管驱动,其基极接到RD端,当RD端为低电平时,三极管导通,蜂鸣器响。否则关断。继电器采用9013三极管驱动,其基极接到WR端,当WRD端为低电平时,三极管关断,继电器不吸合,常闭触点闭合,常开触点打开,D1熄灭;反之则反。
8
f二、实验过程与结果
21程序设计
i
cludereg52hdefi
eui
tu
sig
edi
tdefi
eucharu
sig
edcharLED的字模共阴数码管09ucharcodetable0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x40ui
tcou
t10ui
tcou
t20ui
tLeout4sbitBeepP37定义蜂鸣器对应单片机引脚定义继电器对应单片机引脚r