1
实验一00-99计数器
1实验目的1整个系统有较强的抗干扰能力2计数范围:00993将计数值准确显示出来2实验要求利用keil软件和proteus软件提供的显示电路动态显示一行数据3实验电路(proteus提供)
f2
4实验器材:(1)具备keil软件和proteus软件的电脑一台5实验原理说明利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P37管脚接一个轻触开关,作为手动计数的按钮,用单片机的P20-P27接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P00-P07接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如图11所示:
f3
图11硬件电路图系统板上硬件连线1)把“单片机系统”区域中的P00AD0-P07AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P00AD0对应着a,P01AD1对应着b,,P07AD7对应着h。2)“单片机系统”把区域中的P20A8-P27A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;3)把“单片机系统”区域中的P37RD端口用导线连接到“独立式键盘”区域中的SP1端口上;6.程序流程图:
f4
7程序清单:1汇编源程序Cou
tEQU30HSP1BITP37ORG0STARTMOVCou
t00HNEXTMOVACou
tMOVB10DIVABMOVDPTRTABLEMOVCAADPTRMOVP0AMOVABMOVCAADPTRMOVP2AWTJNBSP1WTWAITJBSP1WAITLCALLDELY10MSJBSP1WAITINCCou
tMOVACou
tCJNEA100NEXTLJMPSTARTDELY10MSMOVR620D1MOVR7248DJNZR7DJNZR6D1RETTABLEDB3FH06H5BH4FH66H6DH7DH07H7FH6FHEND2C语言源程序i
cludeAT89X51Hu
sig
edcharcodetable0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6fu
sig
edcharCou
tvoiddelay10msvoidu
sig
edcharijfori20i0iforj248j0j
f5
voidmai
voidCou
t0P0tableCou
t10P2tableCou
t10while1ifP3_70delay10msifP3_70Cou
tifCou
t100Cou
t0P0tableCou
t10P2tableCou
t10whileP3_70
f6
8实验总结(对实验的结果及优缺点及可能改进的方法,根据实验写)实验结果:走时,默认为计数状态,显示两位数,时间会按实际时间以秒为最小单位变化,从0099的计数,按复位键,重00开始,重新计数。基于单片机构成的产品自动计数器研究的主要内容包括:如果构成检测电路、MCS51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、MCS51单片机的扩展。在这个设计中主要需要解决的问题便是如何提高MCS51单片机的抗干扰能力以及稳定性。在本任务中用2位数码管显示当前r