基于单片机的00秒-99秒的秒表设计
单片机计时秒表程序设计
pic单片机计时秒表程序设计(时钟显示范围00.00~99.99秒,分辨度为0.01秒)作者:来源:本站原创点击数:1676 更新时间:2008年07月12日//此程序实现计时秒表功能,时钟显示范围00.00~99.99秒,分辨度:0.01秒#include "p18f458.h"unsigned char s[4]; //定义0.01 秒、0.1 秒、1秒、10秒计时器unsigned char k,data,sreg;unsigned int i;const table[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90};//不带小数点的显示段码表const table0[10]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10};//带小数点的显示段码表void clkint(void);//TMR0初始化子程序void tmint(){T0CON=0XCF; //设定TMR0L工作于8位定时器方式//内部时钟,TMR0不用分频INTCON=0X20; //总中断禁止,TMR0中断允许,清除TMR0的中断标志INTCON2bits.TMR0IP=1; //TMR0中断高优先级RCONbits.IPEN=1; //使能中断优先级}//系统其它部分初始化子程序void initial(){TRISA=0x00; //A口设置为输出TRISB=0XF0; //RB1输出,RB4输入TRISC=0x00; //SDO引脚为输出,SCK引脚为输出TRISE=0x00; //E口设置为输出SSPCON1=0x30; //SSPEN=1;CKP=1,FOSC/4 SSPSTAT=0xC0; //时钟下降沿发送数据PIR1=0; //清除SSPIF标志data=0X00; //待显示的寄存器赋初值PORTBbits.RB1=0;PORTAbits.RA3=0;PORTE=0; //将K1,K2,K3,K4四条列线置0}//SPI传输数据子程序void SPILED(char data){SSPBUF=data; //启动发送do{;}while(PIR1bits.SSPIF==0);PIR1bits.SSPIF=0;}//显示子程序,显示4位数void dispaly(){PORTAbits.RA5=0; //准备锁存for(k=0;k<4;k++){data=s[k];if(k==2) data=table0[data]; //个位需要显示小数点else data=table[data];SPILED(data); //发送显示段码}for(k=0;k<4;k++){data=0xFF;SPILED(data); //连续发送4个DARK,使显示好看一些}PORTAbits.RA5=1; //最后给锁存信号,代表显示任务完成}//软件延时子程序void DELAY(){for(i = 3553; --i ;)continue;}//键扫描子程序void KEYSCAN(){while(1){dispaly(); //调用一次显示子程序while(PORTBbits.RB4==0){DELAY(); //若有键按下,则软件延时break;}if (PORTBbits.RB4==0) break; //若还有键按下,则终止循环扫描,返回}}//等键松开子程序void keyrelax(){while(1){dispaly(); //调用一次显示子程序if (PORTBbits.RB4==1) break; //为防止按键过于灵敏,每次等键松开才返回}}/*高优先级中断向量*/#pragma code InterruptVectorHigh=0x08void InterruptVectorHigh (void){_asmgoto clkint //跳到中断程序_endasm}//中断服务程序#pragma code#pragma interrupt clkintvoid clkint(){TMR0=0X13; //对TMR0写入一个调整值。
基于单片机的0~99计时秒表的设计(1)
本科毕业论文(设计)论文题目:××××××××××××××××姓名:学号:院(系、部):专业:班级:指导教师:完成时间:年月摘要本次设计内容是以AT89C51单片机为核心器件,利用AT89C51和外围电路组成的计时秒表系统,计时秒表是一种先进电子计时器,较多的应用在教学器材、比赛计时等,而且采用数字显示,具有直观、方便读取、功能方便等诸多优点。
本设计是由硬件电路和软件程序两部分组成,硬件电路由AT89C51单片机、按键控制电路、数码管显示电路、晶振电路以及复位电路组成,它使用元件少,电路结构简单,功能强大;软件部分程序采用C语言程序设计,使用keil编译源程序,产生的可执行性文件能够让单片机高效快速的执行。
该设计能够充分利用单片机内部资源,通过程序利用定时器中断服务程序对计时秒表开始、暂停、清零等操作进行处理,提高单片机的工作效率。
关键字:单片机;秒表;定时器;中断服务程序AbstractThis design content is based on AT89C51 single-chip microcomputer as the core device, using the timing stopwatch system composed of AT89C51 and peripheral circuit, timing stopwatch is a kind of advanced electronic timer, more application in teaching equipment, timing, etc., and adopts digital display, its intuitive, convenient read, function, and many other advantages.This design is consists of two parts, hardware circuit and software program, the hardware circuit is controlled by AT89C51, key circuit, digital tube display circuit, crystals circuit and reset circuit, it USES less component, circuit structure is simple, powerful;Software part program using C language program design, use the keil compiler source code, can let the enforceability file microcontroller efficient and rapid execution.This design can make full use of the single chip microcomputer internal resources, through the program using the timer interrupt service routine for timing stopwatch start, pause, reset operations such as processing, improve the working efficiency of the single chip microcomputer.Key Words:Single chip microcomputer;A stopwatch;The timer;Interrupt service routine目录前言 (4)1、AT89C51单片机概述 (4)1.1、AT89C51单片机简介 (4)1.2、AT89C51主要特性及管脚说明 (5)2、硬件电路的设计 (6)2.1、设计要求 (6)2.2、总体方案的设计 (7)2.3、总体电路设计 (7)2.4、晶振电路、复位电路及按键电路 (8)2.5、数码管显示电路的设计 (9)2.5.1、数码管的结构及工作原理 (9)2.5.2、数码管的编码方式及段码表 (9)2.5.3、数码管的显示方式 (10)3、软件设计 (10)3.1、设计思想 (10)3.2、程序流程图 (10)3.3、源程序代码 (11)4、结论 (13)5、参考文献 (13)6、谢辞 (14)前言单片微计算机又称单片微控制器,是目前市面上最常用的嵌入式处理器,通称单片机,单片机芯片常用英文字母MCU表示单片机,它像一般的逻辑功能的芯片,为了完成逻辑运算,而是把一个最小计算机系统系统整合后,集成烧录到这个芯片上,单片机像计算机一样,由运算器、控制器、输入输出设备等组成,因此相当于一个微型的计算机最小系统,但是和计算机相比,单片机缺少了外围设备等。
基于单片机的秒表计时
目录一、摘要 (1)二、关键字 (2)三、设计任务 (2)四、实现方法 (2)五、系统框图 (2)六、调试中遇到的问题及解决方法 (3)七、程序设计内容 (7)八、程序 (7)九、程序流程图 (10)十、总结 (11)附录I 元件清单 (12)附录II 原理图 (13)附录II PCB 及参考文献 (14)一.内容摘要:该作品是基于AT89S52单片机为核心;可实现的功能:1开始计时:利用外部中断1与定时中断1进行开始功能与计功能。
2暂停计时:利用外部中断0关闭定时实现暂停功能。
3硬件复位:利用电容的冲电与放电特性实现硬件复位。
二.关键字: AT89S52单片机,开始,暂停,复位。
三.设计任务:设计一0到99秒计时器。
设计要求:1实现0到99秒计时,显示时间为一秒。
2具有开始,暂停,复位功能。
四.实现方法:用AT98C51单片机做一个最小系统板,计数器的复位功能通过单片机的硬件复位来实现。
秒表的显示用两位数码管显示,秒表的秒计数和循环通过程序控制单片机的输出来显示在数码管上。
秒表的开始和暂停通过外部中断1和外部中断0来实现。
五.系统框图1.单片机最小系统板及程序下载端口:单片机下载端口,实现将程序下载到单片机中而提供的端口。
2、硬件复位控制按钮通过按键开关的断开与接通来给单片机复位端口提供不同的电平,但输入高电平时,单片机实现硬件复位功能。
当没有信号输入时,单片机照常工作。
实现秒表的复位功能3、开关控制开始、暂停。
通过A3,A2控制外部中断端口低电平有效,通过外部中断实现开始,暂停功能。
4.数码管显示:通过2个一位共阳极数码管实现0到99秒的显示。
3,8管脚为公共端,其他管脚为低电平有效。
5.单片机采用内部振荡电路,且与各个部分的连接图,单片机晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
基于单片机的秒表设计单片机课程设计
显示电路由四位数码管组成,采用动态显示方式,因此有八位段控制端和四位位控制端,八位段控制接P0口,P0.0~P0.7分别控制数码显示管的a、b、c、d、e、f、g、dp显示,单片机的P0口没有集成上拉电阻,高电平的驱动能力很弱,所以需要接上拉电阻来提高P0的高电平驱动能力。四位位控制则由低位到高位分别接到P2.0~P2.3口,当P2.0~P2.4端口任意一个端口为高电平时,对应的数码管导通显示。
Keywords:AT89C51Microcontroller;Digital stopwatch;Digital tubes
第1章绪论
1.1 概述
人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。
1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,1918年使用电钟计时后,就不用上发条了。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间。
基于单片机的秒表设计单片机课程设计
单片机课程设计
项目名称基于单片机的秒表设计
专业班级通信102班
学生姓名青瓜
指导教师…
2012年11月20日
摘要
本课程设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位LED显示,显示时间为0~99.99秒,计时精度为0.01秒,能精确地进行计时,并可以随时暂停和开始。软件系统采用C语言编写,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到系统实际的工作状态。
基于单片机的00秒-99秒的秒表设计
工程技术学院课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业:电气工程及其自动化年级: 2009级学号: 20091447 20091414 20091444 姓名:付忠林梁宗林李座指导教师: 杨彦鑫日期: 2012年12月12日云南农业大学工程技术学院目录一、设计题目和要求:................................................................................... 错误!未定义书签。
二、设计目的:ﻩ错误!未定义书签。
三、设计内容:ﻩ错误!未定义书签。
四、课程设计心得体会ﻩ错误!未定义书签。
五、参考文献ﻩ错误!未定义书签。
六、课程设计指导教师评审标准及成绩评定............................................... 错误!未定义书签。
附件1:秒表原理图(实际接线图)............................................................ 错误!未定义书签。
附件2:仿真图1ﻩ错误!未定义书签。
附件3:仿真图2ﻩ错误!未定义书签。
一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
标准文档9创新实践实训报告学院信息电子技术学院专业电子信息工程班级14学籍号姓名指导教师蒋野2017年06月29日单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。
为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。
如图。
本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
(2)时钟电路作用是为电路提供唯一的时钟信号。
(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。
(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.(5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。
二、程序流程图主程序流程图三、检测安装与调试1.元件检测共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。
单片机0-99计数器秒表报告
〔ude<reg51、h〉
#defin
e uc har
#defin
sbit
K1=P3A7;
uchar i,count,keyflag;
bit keystate;
//头文件
Coun t=co un t+1
e uintunsignedin
unsigAed数码管显示为00J
按键识别成定义按键
uchar CODE[]={0x3lf,0x06,0x5b,0x4f,0去66,0x6d,Ox7d,0x07,0x7f,0x
3•把“单片机系统"区域中得P3、7/RD端口用导线连接到“独立式键盘"区域中得SP1端口上。
图2十位显示动态数码管(共阳数码管)
图3个位显示静态数码管(共阴数码管)
图1硬件电路连接图
(二)显示电路
两位数码管循环显示00〜99电路
数码管只要就是用于数字得显示•数码管有共阴与共阳得区分,单片机都可以进行驱动,但就 是驱动得方法却不同。两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过
课程设计报告
课程名称 单片机原理及应用课程设计
学 号
姓 名
班 级
指导老师
时 间
信息工程学院
设计题目:秒表得设计 设计内容、目得与要求:
1、 用单片机得定时/计数器实现一个秒表得应用•当按键S1按下时,秒表开始计时,并在 数码管上显示当前得计数知道“99”,然后从“00”开始重新计时,然后按键按下则停止计时, 第三次按下键则清除上一次得计时结果。
560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。P2、6与P2、7端口分别控制数码管得十位与个位得供电, 当相应得端口变成低电平时,驱动相应得 三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字
基于51单片机的数字秒表毕业设计论文
摘要近年来随着科学技术的发展,单片机的应用正在不断走下面还深入。
本文简单阐述了基于单片机的数字秒表的的设计。
本设计的主要特点是计时精度达到0.01秒,是各种体育竞赛的必要设备之一。
本设计的数字秒表采用AT89S52单片机为主要器件,利用其定时器的原理,结合显示电路、LED数码管以及外部外部中断电路来设计计时器。
将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。
硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。
关键字:单片机数字秒表仿真一硬件设计1、1 总体方案的设计数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。
本设计中用单片机和数码管组成数字秒表力求结构简单。
设计中包括硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、控制按钮与显示电路组成。
主控制器采用单片机AT89S52,显示电路采用四位共阴极数码管显示计时时间。
本设计利用AT89S52单片机的定时器,使其能精确计时。
利用中断系统使其实现启动和暂停的功能,P0口输出段码数据,P2.0~P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动和暂停功能。
设计的基本要求是正确性。
硬件电路按下图进行设计。
计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。
再看按键的处理。
两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动和暂停。
1.2 单片机的选择本设计在选取单片机时,充分借鉴了许多成型产品使用单片机的经验。
并根据自己的实际情况,选用了ATMEL公司的AT89S52。
ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作、低廉的价格完全替代了87C5162和875152,低电压、低功耗,有DIP、PLCC、QFP封装,是目前性能最好、价格最低、最受欢迎的单片机之一。
单片机课程设计报告秒表(WORD档)
单片机课程设计报告秒表设计电子科学系班级:姓名:学号:指导老师:实用文档2013.12.01实用文档课程设计任务书实用文档实用文档摘要:在生活中我们常常用到秒表作为计时器,为了更深刻理解它的工作原理。
本次课程设计以STC89S51单片机为控制核心,以2位共阴数码管作为显示器。
并用外部中断0控制秒表的清零和用外部中断1控制秒表的开始/暂停。
利用Altium.Designer 10.0设计原理图和PCB。
设计完成后在面包板上搭建电路进行验证和调试。
实验成功后,利用化学方法进行腐蚀刻板。
通过一个个多次实验修改,最后设计出了一个能从00~99秒计时的秒表。
此外后文还对对本次课程设计进行了归纳与总结。
关键词:单片机、数码管、中断、Altium.Designer、腐蚀刻板实用文档目录一、设计要求: (8)二、方案论证: (9)2.1总方案设计方框图: (9)2.2方案选择: (9)2.2.1显示电路: (9)2.2.2按键控制: (10)三、硬件设计: (10)3.1系统主芯片STC89C51单片机介绍: (10)3.2电源电路: (12)3.3时钟电路: (13)3.4复位电路: (13)3.5显示电路: (14)3.6键盘电路: (14)实用文档3.7扩展电路: (15)3.8硬件总电路图设计: (15)四、软件设计 (17)4.1系统主程序设计 (17)4.2定时器T1中断: (17)4.3 外部中断0流程图: (18)4.4 外部中断1流程图: (18)4.5数码管显示程序: (19)五、设计中遇到的问题及解决方法: (20)5.1设计原理图和画PCB遇到问题及解决方法: (20)5.1.1设计原理图: (20)5.1.2 绘制PCB: (20)5.2 在面包板调试时遇到问题及解决方法: (21)5.3在腐蚀刻板时遇到问题及解决方法: (21)5.3.1打印PCB印菲林纸: (21)5.3.2在涂蓝油过程中: (21)5.3.3在显影过程中: (22)实用文档5.4焊接完成后遇到问题及解决方法: (22)结束语 (22)谢辞 (23)参考文献: (24)附录A:秒表设计的源程序 (24)附录B:元件清单: (30)附录C: 秒表的原理图和PCB图: (32)附录D:成绩评定表: (34)附录E:实物图(已通过验证) (36)秒表设计一、设计要求:1.1用89C51设计一个2位的LED数码作为“秒表”。
基于单片机的多功能秒表设计
基于单片机的多功能秒表设计本次设计的内容是以STC89C52单片机为控制核心的秒表。
设计的主要内容为计时器从00~99秒的计时,每秒种自动加1,另外还设置有暂停键和复位键等按键,在任何情况下都可以实现暂停和复位功能。
利用单片机定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计的计时器。
此次设计将软、硬件有机地结合起来,使得系统能够实现2位LED数码管显示,显示时间为00~99秒,同时计时精度为1秒,并且能够正确地进行计时。
其中软件系统采用C语言编写程序,包括显示子程序、中断服务、外部中断服务子程序和复位子程序等。
关键词:单片机;数码管; C语言;目录1引言................................................................. - 1 -1.1研究背景......................................................... - 1 -1.2 研究的意义与方法 ................................................ - 1 -2 电路方案论证 .......................................................... - 2 -2.1单片机芯片的选择方案和论证:..................................... - 2 -2.1.1 采用STC89C51单片机 .................................................................................. - 2 -2.1.2 采用STC89C52单片机 .................................................................................. - 2 -2.2显示模块选择方案和论证:......................................... - 2 -2.2.1 采用LED液晶显示屏 .................................................................................... - 2 -2.2.2 采用LED数码管显示 .................................................................................... - 3 -2.3 小结 ............................................................ - 3 -3 系统硬件电路设计 ...................................................... - 3 -3.1 STC89C52芯片.................................................... - 3 -3.1.1 概述 ................................................................................................................ - 3 -3.1.2 STC89C52主要特性 ....................................................................................... - 3 -3.1.3 STC89C52管脚说明 ....................................................................................... - 4 -3.2 LED数码管显示器概述............................................. - 5 -3.2.1 数码管的分类 ................................................................................................ - 5 -3.2.2 数码管的连接方法 ........................................................................................ - 5 -3.3 总体设计方案 .................................................... - 6 -3.4 部分电路设计 .................................................... - 7 -3.4.1晶振电路 ......................................................................................................... - 7 -3.4.2 按键部分电路接线 ........................................................................................ - 7 -3.4.3 显示电路 ........................................................................................................ - 8 -3.4.4 复位电路 ........................................................................................................ - 8 -4 系统程序的设计 ........................................................ - 9 -4.1 主程序设计 ...................................................... - 9 -4.2 定时器T0子程序设计 ............................................ - 10 -5 联调与调试 ........................................................... - 10 -5.1仿真调试........................................................ - 10 -5.2硬件调试........................................................ - 12 -结论与展望 ............................................................. - 13 - 附录A 系统原理图..................................................... - 14 - 附录B 系统仿真图与实物图............................................. - 15 - 附录C 系统PCB图..................................................... - 16 - 附录D 系统源程序..................................................... - 17 -1引言1.1研究背景在生活和生产的各领域中,凡是有自动控制要求的地方都会伴随着单片机的身影出现;从简单到复杂,从空中、地面到地下,只要是能想象到的地方几乎都有使用单片的需求。
基于单片机的00秒_99秒的秒表设计说明
课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业: 12自动化(2)班学号: 3姓名:华指导教师:蜀阳日期: 2015年6月17日目录一、设计题目和要求:1二、设计目的:1三、设计容:2四、课程设计心得体会18五、参考文献18一、前言21世纪是一个电子技术和电子元件有更大发展的世纪。
回顾百年来电子技术和电子工业发展的成就,举世瞩目。
作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。
现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。
课程设计就是一个理论联系实际的机会。
本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。
作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。
在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。
特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。
用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。
事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。
二、设计题目和要求:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
三、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术与外围芯片的工作原理与控制方法;3.进一步掌握单片机程序编写与程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理与使用方法。
单片机秒表
基于单片机的多功能秒表设计1 功能要求用89C51设计一个秒表,显示时间为0000~9999秒,每秒自动加1,设计四个按键K1,K2,K3,K4。
K1按键功能为开始从0000开始计数。
K2按键功能为暂停计数,再按一次实现继续计数功能。
K3实现计数清零功能。
K4功能可以实现按一次显示时间为000^999,按两次实现显示时间为00^99,按三次实现显示时间为0^92 方案论证2.1 显示部分:显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。
而对于动态显示方式,可以避免静态显示的问题,但只要设计上处理恰当,就能解决亮度低,有闪烁等问题,且价格便宜。
方案二:采用LCD显示。
LCD液晶显示虽然具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的,但秒表的信息不需太多,但是价格稍贵。
鉴于上述原因及价格方面的考虑,我们采用方案一。
2.2 数字秒表数字秒表是本设计的核心的部分。
根据需要可采用以下两种方案实现:方案一:方案完全用软件实现数字秒表。
原理为:在单片机内部存储器设四个字节分别存放时钟的个、十、百、千信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的个位值加1;若秒值达到9,则将其清零,并将相应的十位字节值加1;若分值达到9,则清零十位字节,并将时字节值加1;若时值达到9,则将百位字节清零,并将字节值加1;若千值达到9,则清零千位字节。
该方案具有硬件电路简单的特点,不需要在额外的使用其它的芯片,且使用晶振可以使准确度很精确。
方案二:方案采用Dallas公司的专用时钟芯片DS1302。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
单片机0-99计数器 秒表报告
.课程名称单片机原理及应用课程设计学号姓名班级指导老师时间信息工程学院. 设计过程、步骤(可加页):一、设计方案利用STC90C51单片机来制作一个手动计数器,在STC90C51单片机的P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7 接一个共阳数码管,作为00-99 计数的个位数显示,用单片机的P0.0-P0.7 接一个共阴数码管,作为00-99 计数的十位数显示;二、工作原理采用STC90C51单片机为中心器件,利用其定时器/计时器定时和计数的原理,结合硬件电路如电源电路、晶振电路、复位电路、显示电路,以及一些按键电路等来设计计时器,软硬件有机的结合起来,其中软件系统采用c语言编写程序,包括显示程序,快加程序,暂停程序等,硬件系统利用Keil强大的功能来实现,简单且易观察。
(一)开发板上硬件连线(如图1)1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h 端口上;3.把“单片机系统”区域中的P3.7/RD 端口用导线连接到“独立式键盘”区域中的SP1端口上。
图1 硬件电路连接图(二)显示电路两位数码管循环显示00~99电路数码管只要是用于数字的显示。
数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同。
两位数码管循环电路是由电阻、二极管和数码管组成,电源+5V通过560的电阻直接给数码管的7个段位供电,P0.0-P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。
P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示需要的数字。
单片机秒表
单片机秒表的课程设计摘要 本课程设计是在单片机最小系统的基础上增加数码管显示电路和键盘控制电路来完成00~99秒的电子秒表硬件电路。
电子秒表电路主要由AT89C51单片机最小系统电路、2位一体八段共阳数码管动态显示电路和键盘控制电路组成,它能实现两位数码显示和多次计时,能通过键盘控制电路能控制时间的开始和暂停,能够实现复位功能和计数加一功能。
关键字 AT89C51单片机;两位数码管动态显示电路;键盘控制电路1. 设计要求1.1 设计功能用AT89C51设计一个2位LED 数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键。
再增加一个“暂停”按键和一个“快加”按键(每10ms 快速加一)。
1.2 按键说明(1)按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;(2)按“复位”按键,系统清零,数码管显示00;(3)按“暂停”按键,系统暂停计数,数码管显示当时的计数;(4)按“快加”按键,系统每10ms 快速加一,即数码显示管在原先的计数上快速加一。
2. 设计过程2.1方案设计方案一:采用分立元件门电路和集成块电路设计数显定时器此方案可分为五个功能模块:秒脉冲发生器、计数器、译码显示电路、时序控制电路。
秒脉冲发生器:555振荡器振荡周期T=0.693(1R +22R )C=0.72,频率f=1.39Hz ;计数器和控制电路是系统的主要部分,计数器是用可加(减)的计数方法,它是十进制计数的方式,选用74LS192,计时器完成计时功能;控制电路具有直接控制计数器的启动计数、暂停/连续计数、查询所计数、译码显示电路显示等功能。
设计框图如下图所示图一方案二:采用AT89C51单片机设计数显定时器和定时器。
本方案采用AT89C51单片机系统来实现。
单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。
单片机系统可控制数码管显示秒表的值,并能用键盘输入暂停,并可实现报捷。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
9创新实践实训报告学籍号姓名指导教师蒋野单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降主程序流程图三、检测安装与调试1.元件检测3.调试(1)安装好后,接通电源,电路没有反应,数码管不亮。
二、问题与解决如图可以看出利用两个数码管,首次焊接没有检测数码管器件为共阴极数码管,与设计程序不符,导致乱码,而后改接电路,重新安装共阳极数码管。
单片机与排座接触不良,解决方法:利用废弃的二极管的管脚,插入排座排孔,增大接触面积。
附件1.利用单片机完成一定的任务,你的创意(创新)是什么?for(j=0;j<255;j++);}void To_INT(void) interrupt 1{TH0=0x3c;TL0=0xb0;msec++;if(msec==20){msec=0;TL0=0xb0;EA=1;ET0=1;TR0=1;while(1){if(W==0){TR0=1;} if(H==0){TR0=0;}。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
(4)复查电路:重新检测电路,利用万用表电流档,检测电路电流,发现电路无电流,检查40引脚VCC,发现单片机40引脚与插座短路,接触不良导致,陆续检查其他引脚。发现还有部分引脚短路。
(5)继续检查电路,直至数码管显示数字为止。
结果显示,秒表运行正常。按照预期实现了99s计时、暂停以及继续的功能。
附件
1.利用单片机完成一定的任务,你的创意(创新)是什么?
我的创意就是电路的布局,实验操作起来与仿真不同,需要注意很多细节,例如原件检测。我的电路布局既节省空间,又不影响电路结构。
2.程序
#include<reg52.h>
sbit W=P1^4;
sbit H=P1^6;
unsigned char msec,sec;
void delay(unsigned char i)
{
unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<255;j++);
}
void To_INT(void) interrupt 1
2.元器件作用
(1)STC89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
9
创新实践实训报告
学院
信息电子技术学院
专业
电子信息工程
51单片机秒表程序-00-99秒
#include <reg52.h>#define uchar unsigned char //宏定义用uchar代替unsigned char#define uint unsigned intsbit START=P1^0; //开始、停止键低电平有效sbit RST=P1^1; //复位键sbit SMGGW=P1^2; //用三极管或驱动芯片驱动数码管高电平有效还是低电平有效由电路决定sbit SMGSW=P1^3;uchar tt;uint time; //此变量为时间uchar code table[]={ //此为数码管字模,对应0--90x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};void Delay(uint ms) //延时子函数{uint i,j;for(i=ms;i>0;i--)for(j=500;j>0;j--);}void Display() //显示子函数{uchar ge,shi;shi=time/10;ge=time%10;P0=table[ge];SMGGW=0;//用三极管或驱动芯片驱动数码管高电平有效还是低电平有效由电路决定本程序为低电平数码管亮SMGSW=1;Delay(2);P0=table[shi];SMGGW=1;SMGSW=0;Delay(2);}void main(){P1=0xff;EA=1;ET0=1;TMOD=0x01;TH0=0x4c; //晶振11.0592Mhz 若用12Mhz晶振则改为TH0=0x3c;Tl0=0xb0;TL0=0x00;while(1){if(START==0) //开始、停止{Delay(8);if(START==0){TR0=!TR0;while(!START) Display();}}if(RST==0) //复位{Delay(8);if(RST==0){time=0;while(!RST)Display();}}if(tt==20)tt=0;time++;if(time==99){time=0;}}Display();}}void timer0() interrupt 1{TH0=0x4c; //晶振11.0592Mhz 若用12Mhz晶振则改为TH0=0x3c;Tl0=0xb0;TL0=0x00;tt++;}Welcome To Download !!!欢迎您的下载,资料仅供参考!。
单片机c语言秒表显示实验
秒表显示实验一.实验目的1. 这个实验是设计一个程序,可以通过单片机让数码管显示从00开始每秒自动加一至99(不熟练的可先设计一个数码管的显示)到99后自动清零,从00开始继续计时。
2. 在做这个实验时要用到更新显缓存这种方法。
3. 让学生更熟悉keil软件的应用,对单片机C语言能更好的应用。
二. 实验过程1.对程序开发环境进行处理(打开软件,建工程,保存工程,建文件,文件加到工程里)。
2编程序,用更新显缓存:#include"AT89X51.H"//************************#define uchar unsigned char#define uint unsigned int//************************uint second;uchar disbuf[4];uchar codeLED[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00}void delay_nms(unit nms){}//延时void update_disbuf(void){uint tmp16bit;tmp16bbit = second;disbuf[0] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[1] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[2] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[3] = LED[tmp16bit%10]}void main(void){sp = 0x70;P1_4 = 0;P0 = 0xff;second = 0;update_disbuf();while(1){P0 = disbuf[0];delay nms(1000);second++;update_disbuf();}} //end3.完成整个程序:#include"AT89X51.H"#include"intrins.h"//==============================#define uint unsigned int#define uchar unsigned charuint second;uchar disbuf[4];sbit wei=P2^7;sbit duan=P2^6;uchar codeLED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f };//============================== void delay_ms(uint nms){uint i,j;for(i=0;i<nms;i++){for(j=0;j<99;j++){_nop_();_nop_();}}}//============================== void update_disbuf(){delay_ms(1000);second++;disbuf[0]=second%10;disbuf[1]=second/10%10;disbuf[2]=second/100%10;disbuf[3]=second/1000%10;}//============================== void main(){second=0;wei=1;P0=0xdf;wei=0;duan=1;P0=LED[0];while(1){update_disbuf();P0=LED[ disbuf[0]];}}4.对程序进行保存编译,无错后,点击target options,在点击OUTPUT后,生成.hex文件,将程序下载到开发板上,观察实验效果。
00-99秒表设计说明书
单片机课程设计说明书电子秒表的设计。
目录一、设计的任务与要求二、硬件电路设计三、软件设计流程四、设计调试过程五、源程序代码六、收获体会七、参考文献一、设计的任务与要求用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。
按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一,再按“开始”键,停止计数;按“复位”按键,系统清零,数码管显示00。
二、硬件电路设计AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52引脚图主要功能特性:1、兼容MCS51指令系统2、8k可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。
本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。
设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等。
主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。
利用中断系统使其能实现开始暂停的功能。
P3.0,P3.1,RST开口接四个按钮,分别实现开始,暂停,复位的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.引脚排列及功能
AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线
·P0口 8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。
二、设计目的:
1.进一步掌握AT89C51单片机的结构和工作原理;
2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;
3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;
4.掌握PROTEUS仿真软件的使用方法;
5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。
(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
三、设计内容:
了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
·具有可编程的3级程序锁定定位;
AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.
AT89C51各部分的组成及功能:
1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
(1)运算器
运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、
·P1口 8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。
·P2 8位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。
当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,该引脚可接编程电压5V或12V。在编程校验时,该引脚可接VCC。
·PSEN 片外程序存储器读选通信号PSEN,低电平有效。在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN 无效。
累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。
B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。
(2)控制器
控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H.
AT89C51单片机的主要工作特性:
·内含4KB的FLASH存储器,擦写次数1000次;
·内含28字节的RAM;
·具有32根可编程I/O线;
·具有2个16位可编程定时器;
·具有6个中断源、5个中断矢量、2级优先权的中断结构;
·具有1个全双工的可编程串行通信接口;
·具有一个数据指针DPTR;
·两种低功耗工作模式,即空闲模式和掉电模式;
·ALE/PROG 低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。
工程技术学院
课程设计
题 目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”
专 业:电气工程及其自动化
年 级:2009级
学 号:20091447 20091414 20091444
姓 名:付忠林 梁宗林 李 座
指导教师:杨 彦 鑫
日 期:2012年12月12日
云南农业大学工程技术学院
一、设计题目和要求:
题目三:秒表
应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个“复位”键,按下“复位” 键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
(3)存储器
单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。
(4)外围接口电路
AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及 Nhomakorabea断系统等。
·P3 8位、准双向I/O口,具有内部上拉电阻。
P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。
(2)控制信号线
·RST 复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。
·EA/VPP 外部程序存储器访问允许信号EA.