当前位置:首页 > 基于单片机的数字秒表设计
设计概述 AT89S51概述
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
AT89S51引脚图
在实际应用中,因为STC的单片机比AT的单片机更加容易下载程序,它们的端口是一模一样的,所以本次设计实际应用的是STC51单片机。 系统设计功能概述
本设计展现的是一个计时用的秒表。功能为两位七段数码管在开机时显示“00“,并在系统中添加一个按钮开关。当第一次按下按钮开关后秒表开始计时,第二次按下后计时停止,第三次按下后两个数码管清0,并回到一开始计时状态。由于只设计了两位数码管,故该秒表最大计时99秒。 系统设计 设计思路
根据系统功能,易知我们先要设计一个单片机最小系统,包括振荡电路、复位电路,然后设计一个数码管控制、显示电路,再用软件来控制秒表的计时以及数码管的显示。 单片机最小系硬件设计 统分设计 单片机最小系统的设计
1时钟电路设计
如图2.2.1,为了方便计算,本设计采用12MHz的晶振,一个机器周期为1秒。
2复位电路设计
如图2.2.2,为了更好的控制复位电路,用了一个接触式按钮开关。
图2.2.1 数码管显示、控制电路设计 软件设计 图2.2.2
数码管显示电路设计
一般来说,不直接用I/O端口直接连接数码管,如图2.2.3,本设计采用74ls48译码器和共阴极数码管。
图2.2.3
74ls48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中,如下图,为74Ls48真值表以及特性表。
图2.2.4真值表 图2.2.5特性表
因为74ls48输出电流最大为6mA,在数码管的工作电流之内,所以不必用电阻。
共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,x相应字段就不亮。
图2.2.6数码管引脚图 图2.2.7数码管真值表
将共阴极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平,从而控制数码管。
图2.2.5
如图2.2.5,当按钮没有按下时,单片机的I/O口直接连接电源,所以须要上拉电阻进行限流,计算的灌电流为2.5mA,查看AT89S51的数据手册知该电流在其范围内,满足设计要求。 软件设计 软件设计流程图
开始 否
数码管显示是 否
消除开关抖动
否 计时 否 否 第1次按钮按是 是 第2次按钮按
共分享92篇相关文档