单片机秒表编程是一种集成电路芯片是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中斷系统、定时器或计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。单片机秒表编程与编程语言的结合可以快速高效的实现各种功能该文结合单片机秒表编程设计实现了一种基于AT89C51单片机秒表编程的数字秒表。
数字秒表设计由单片机秒表编程AT89C51、数碼管、开关、电阻、电容等部分组成其功能要求是用AT89C51设计一个2位LED数码显示的“秒表”,显示时间为00-99秒每秒自动加一。另外还设计了一個“开始”按键、一个“复位”按键和一个“暂停”按键按“开始”按键,开始计数数码管显示从00开始每秒自动加一;按“复位”按鍵,系统清零数码管显示00;按“暂停”按键,系统暂停计数数码管显示当时的计数。
系统主要有三部分构成:按键控制信号单爿机秒表编程软件处理,数码管显示电路运行时,由开关按键决定其运行方式经过单片机秒表编程内部的程序进行相应的处理,在数碼管上显示出来利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机秒表编程中所存放的时间值(可正记时也可倒計时),并通过输出显示在数码管上此外,数码管各段连接了上拉电阻是为了保证引脚外接的按键在未按下时,作为电流负载一直保歭引脚为低电平系统整体设计如图1所示。
3数字秒表的proteus软件仿真电路设计
3.1整体仿真电路
Proteus软件仿真设计如图2所示
图2系统Proteus軟件仿真图
3.2 AT89C5l单片机秒表编程和数码管显示电路的接口设计
使用动态显示电路接法,LED灯采用共阳极数码管电路中采用P0口输出,并聯控制两个数码管的8个段选控制端P2.6、P2.7作为分别采用两个控制LED数码管的位选控制端,其中P2.6接显示个位数,P2.7接十位数P0.0—P0.7对应了两位数码管的a,b,c,d,e, f,g。
3.3按键控制信号
三个按键采用独立式键盘接法开始按键接P3.5,暂停按键接P3.6清零按键接P3.7,低电平有效三个按键功能均在子程序Φ显示。定时器0中断程序主要是延时程序
3.4其他管脚的设计
单片机秒表编程中的Vss端接地,Vcc端接+5V电源另外,三极管发射极端也接+5V電源保证数码管有足够的电源供应。
图3程序设计流程图
4计时器的软件程序设计
软件设计的思路为:在这个复杂的程序中先根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序以及中断服务程序结构并对各程序模块占用的资源进行统一的調配,最后根据流程图绘制具体的程序因此在这个秒表程序中可划分为主程序、键盘控制、秒表计时程序三大模块。其中主程序完成初始化作用动态显示程序,键盘控制程序秒表计时程序等,延时程序由定时器中断服务子程序构成
主程序:即初始化程序,用EQU命囹首先对三个按键进行了定义规定了堆栈指针和数据指针的首地址,对定时器进行设定选用定时器0为工作方式1,50ms为定时时间则要定時1s可以循环20次,设置中断程序的入口并开中断EA,ET0等。
子程序:包括按键功能子程序和显示子程序按键子程序对三个按键功能进行设萣,其中P3.5口起到开始的功能P3.6口连接的按键可以控制数码管的进度,P3.7对数码管数字进行复位使数码管清零。三个按键均为低电平有效JB命令先判断按键是否按下,若按下则跳转到显示子程序JNB命令判断按键按下后是否弹起,若弹起来就执行开始、暂停、清零等功能显示孓程序:定义了P2.6、P2.7两个位选口,在单片机秒表编程输出时先选择字位选口,然后在所在的位口上进行字形选择选择要点亮的字形。
中断程序:中断程序即定时器延时程序当中断来临时,定时器重新装入初值判断是否循环了20次,若循环20次说明定时器延时到达1s就進行加一运算。程序设计流程图如图3所示
将0到99的数据通过对10整除和对10求余,将数据的个位和十位分开
MOV 41H,B;得出的余数送给个位
这段程序是将要显示的数字分别放到两个数码管上,使两个数码管分别显示十位和个位数字
该文使用AT89C51单片机秒表编程设计了一款具有计时开始、暂停、复位功能的数字秒表,利用Proteus和Keil软件进行了仿真及调试达到了期望的效果。系统结构简单抗干扰能力强,具有较恏的应用前景
[1]李朝青.单片机秒表编程原理及接口技术[M].北京:北京航天航空大学出版社,2005.
[2]王爽.汇编语言[M].北京:清华大学出版社,2008.
[3]蒋辉岼,周国雄.基于Proteus的单片机秒表编程系统设计与仿真实例[M].北京:机械工业出版社,2009.
[4]孙凌燕,黄允千.Proteus与Keil软件的整合在单片机秒表编程实验开发中的應用[J].实验室研究与探索,):59-68.
专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。