基于单片机的99秒表设计
基于单片机的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表示单片机,它像一般的逻辑功能的芯片,为了完成逻辑运算,而是把一个最小计算机系统系统整合后,集成烧录到这个芯片上,单片机像计算机一样,由运算器、控制器、输入输出设备等组成,因此相当于一个微型的计算机最小系统,但是和计算机相比,单片机缺少了外围设备等。
单片机课程设计(99s计时)
#include<reg52.h>unsigned char time;unsigned char code ss[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(unsigned int t);void display(unsigned char num);void timer_init(void);void INT_init(void);sbit weixuan_1=P2^0;sbit weixuan_2=P2^1;void main(){time=0;weixuan_1=1;weixuan_2=1;INT_init( );timer_init( );while(1){display(time);}}void display(unsigned char num){unsigned char i,j;if(num<10){weixuan_1=0;weixuan_2=1;P0=ss[num];}else{for(i=0;i<20;i++){weixuan_1=0;weixuan_2=1;P0=ss[num%10];}delay(20);P0=0XFF;for(j=0;j<50;j++){weixuan_1=1;weixuan_2=0;P0=ss[num/10];}}}void delay(unsigned int t){unsigned int i;for(i=t;i>0;i--){;}}void INT_init(void){EX0 = 1;IT0 = 1;EX1 = 1;IT1 = 1;EA = 1;}void interrupt0_handler(void)interrupt 0 {TR0=~TR0;}void interrupt1_handler(void)interrupt 2 {time=0;INT_init( );timer_init( );}void timer_init(void){TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;TR0=1;ET0=1;}void timer0(void)interrupt 1{unsigned char n;TH0=(65536-50000)/256;TL0=(65536-50000)%256;n++;if(n==20){time++;n=0;if(time==100){time=0;}}}//从TLC1543读取采样值,形参port是采样的通道号unsigned int read1543(unsigned char port) {unsigned int ad=0;unsigned int i;unsigned int al=0,ah=0;_CS=0;CLOCK=0;port<<=4;for (i=0;i<4;i++) //把通道号打入1543{D_IN=(bit)(port&0x80);CLOCK=1;CLOCK=0;port<<=1;}for (i=0;i<6;i++) //填充6个CLOCK{CLOCK=1;CLOCK=0;}_CS=1;delay(100);_CS=0; //等待AD转换CLOCK=0; for (i=0;i<2;i++) //取D9,D8{CLOCK=1;ah<<=1;if (D_OUT){ah +=0x01;}CLOCK=0;}for (i=0;i<8;i++) //取D7--D0{CLOCK=1;al <<= 1;if (D_OUT){al +=0x01;}CLOCK=0;}ah=ah*256;ad=ah+al;_CS=0;_CS=1;return(ad);}unsigned char read_keyboard(){hangxian=0x00;key_value=(liexian&0x0f);if(key_value!=0x0f){delay(10000);if(key_value!=0x0f){hangxian=0x0e;delay(2);if((liexian&0x0f)==0x0f){hangxian=0x0d;delay(2);if((liexian&0x0f)==0x0f){hangxian=0x0b;delay(2);if((liexian&0x0f)==0x0f) {hangxian=0x07;delay(2);}}}}key_value=liexian&0x0f;while((liexian&0x0f)!=0x0f);delay(10000);key_value=key_value<<4; switch(key_value|(hangxian&0x0f)){case 0xee:key_return =0;break;case 0xde:key_return =1;break;case 0xbe:key_return =2;break;case 0x7e:key_return =3;break;case 0xed:key_return =4;break;case 0xdd:key_return =5;break;case 0xbd:key_return =6;break;case 0x7d:key_return =7;break;case 0xeb:key_return =8;break;case 0xdb:key_return =9;break;case 0xbb:key_return =10;break;case 0x7b:key_return =11;break;case 0xe7:key_return =12;break;case 0xd7:key_return =13;break;case 0xb7:key_return =14;break;case 0x77:key_return =15;break;}}return key_return;}矩阵键盘核心程序#include<at89x52.h>#include<absacc.h>#include<intrins.h>#include<lcd.h>#include<AD.h>unsigned char aaa[]={"ADzhuanhuantest"};unsigned char ad_result[10]={0};unsigned char temp[4]={0};float jizhun_AD=2.51;unsigned int ad_data=0;unsigned int ad_v=0;unsigned int ad_bak=6000;unsigned int count;void shuzhichuli(void);void main(void){PORT=0x03;lcd_init( );lcd_clear( );while(1){count++;ad_data=read1543(0);ad_v=(unsigned long int)ad_data*2510/1024;if((ad_v!=ad_bak)&&(count>300)){count=0;shuzhichuli();lcd_string(aaa,1);lcd_string(ad_result,2);ad_bak=ad_v;}}}void shuzhichuli(void){unsigned int temp0,temp1;unsigned int i;unsigned int w;temp1=ad_v;for(i=0;i<4;i++){temp0=temp1%10;temp1=temp1/10;temp[i]=temp0;}for(w=0;w<5;w++){if(w==0){ad_result[w]=temp[3]+48;}else if(w==1){ad_result[w]='.';}else{ad_result[w]=temp[4-w]+48;}}}。
单片机99秒倒计时课程设计用74ls246
单片机99秒倒计时课程设计用74ls246
首先需要明确的是,经典的倒计时电路设计使用的是74LS192或74LS193计数器芯片,而74LS246是一个8位三态缓冲器,与倒计时电路设计关系不大。
下面给出使用74LS192或74LS193实现99秒倒计时的电路设计流程简述:
1. 确定时钟源
在倒计时电路中,需要一个时钟源来驱动计数器进行计数。
可以使用555定时器或水晶振荡器作为时钟源。
2. 设计计数器
使用74LS192或74LS193计数器芯片设计倒计时电路,需要考虑电路的初始状态以及计数器输出的电平状态。
3. 确定触发计数的条件
可以使用按键或外部信号触发计数开始。
在计数进行的过程中,需要在常开触点上接入继电器,当倒计时完成时,继电器断开触点,使接入的负载失去电源。
4. 设计显示器件
倒计时电路需要一个显示设备,可以使用LED或七段数码管等显示设备。
在使用七段数码管时,需要使用译码器将计数器的当前值转化为七段数码管的驱动信号,以实现数字显示。
以上是倒计时电路设计流程的简述,具体实现过程涉及到电路原理图的绘制、元器件的选型和焊接调试等环节,在设计过程中需要注意选用合适功耗和电性能指标的元器件,并加以保护,以确保电路的安全性和稳定性。
在实现过程中,应遵循相关的安全要求和规范,特别是对于高电压和高温度的电路部分,需要注意安全操作和防危控制。
基于单片机的数字秒表设计
基于单片机的数字秒表设计文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)单片机课程设计设计题目基于单片机数字秒表的设计学院名称电气学院指导教师朱卫华班级电子11级02班学号学生姓名摘要本设计是基于AT89S51单片机的简易数字秒表设计,主要组成是以51单片机最小系统为核心,通过运用单片机的振荡电路实现计时同时用数码管同步显示。
本秒表最大计时为99秒。
本设计的特点是:大部分功能通过软件实现,使电路简单明了,系统稳定性好。
关键词:AT89S51振荡电路计时数码管目录设计概述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秒。
单片机0-99计数器 秒表报告
姓名班级指导老师时间信息工程学院图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口送出数字得显示代码,数码管就能正常显示需要得数字。
图2 十位显示动态数码管(共阳数码管)图3 个位显示静态数码管(共阴数码管)(三)时钟电路时钟电路得晶振频率越高,系统得时钟频率越高,单片机得运行速度也越快。
晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中得电容应选择为30pF左右。
图4 时钟电路(四)复位电路MCS—51单片机得复位就是靠外部电路实现得。
MCS—51单片机工作之后,只要在她得RST引线上加载10ms以上得高点平,单片机就能有效地复位。
MCS-51单片机通常采用上电自动复位与按键复位两种方式。
最简单得复位电路如图5:图5 复位电路上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上得高电平,就能使单if(i++==100)//如果i=0{i=0;count++;P0=CODE[count/10];P2=~CODE[count%10];if(count==99)count=0; //如果到了99,则重新从0开始计数}}结果与分析(可以加页):(一)调试结果1.初始状态图7:初始状态结果图2.开始计时后按下按键暂停图8:中间状态图示(二)问题分析及解决措施1、一开始时没有分清楚数码管就是共阴数码管还就是共阳数码管,C语言程序中默认数码管就是共阴,所以两个P接口得值都就是按照共阴去写得,导致数码管选段及位显有问题,后来经过老师得指点,将共阳数码管P2得接口改成了共阴。
单片机课程设计_基于单片机的数字秒表设计
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
单片机99秒计时器
1设计背景单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
计时器广泛应用于实际生活当中,有倒计时器和计时器,我们本次设计为计时器。
计时器广泛应用于各种比赛当中用来计时,往往都精确到百分秒的精度,其次也应用于计时闹钟等。
生活中计时器比较常见,而设计计时器是很具有实际意义的。
2 硬件设计:2.1 99秒计时器的总体设计方案利用单片机的定时器设计一个秒计时器,其中设有一个按键,当第一次按下按键时,开始计时,第二次按下按键时,停止计时,送入P0和P2端口显示,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。
第三次按下按键时使定时器清零,等待下一次按键。
本设计中需要一个时钟电路,一个复位电路和一个控制电路来实现整个电路的运行,实现00到99的循环计时。
2.2 99秒计时器的组成及其原理图秒计时器由以下几个部件组成:单片机AT89C51、两个静态数码显示、一个按钮等其它组件。
该电路的工作原理:AT89C51从稳压电路中获得稳定的+5V电压,接到VCC 端,提供稳定的电压;P2、P0口通过电阻接到显示电路的七段数码管的 a b c d e f g 端口上,利用数码管显示数字;RST接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字00~99.2.3 AT89C51简单介绍及引脚说明AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
51单片机99秒马表设计程序
实验一99秒马表设计1.实验任务开始时,显示“00”,第1次按下按键后就开始计时。
第2次按键后,计时停止。
第3次按键后,计时归零。
2.实验要求用proteus软件画出电路图在keil软件中编写、调试程序要求秒表的误差每秒钟不高于0.01S撰写好实验报告,要求至少包含以下几项:实验目的实验任务与要求实验电路程序流程图实验程序电路仿真结果分析与误差分析实验总结#include"reg52.h"#define uchar unsigned char#define uint unsigned intsbit key=P3^2;uchar code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint num,num1;void delayms(uint n){uint i,j;for(i=n;i>0;i--)for(j=110;j>0;j--);}void display(uint num){uchar shi,ge;shi=num/10;ge=num%10;P2=0x00;P0=table[shi];delayms(5);P2=0x01;P0=table[ge];delayms(5);}void init(){TMOD=0x01;IE=0x83;TH0=(65536-45892)/256; TL0=(65536-45892)%256; IT0=0;}void main(){init();while(1){display(num);}}void I0_wai() interrupt 0 {uint num2;delayms(10);if(key==0){EX0=0;TR0=1;num2++;while(!key);}if(num2==1){TR0=1;}if(num2==2){TR0=0;}if(num2==3){TR0=1;num=0;num2=1;}EX0=1;}void T0_time() interrupt 1 {TH0=(65536-45892)/256; TL0=(65536-45892)%256; num1++;if(num1==20){num1=0;num++;if(num==100){num=0;}}}。
基于单片机的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数码管原理及使用方法。
99秒秒表课程设计
目录摘要 (2)1 99秒秒表设计背景及目的要求 (2)1.1 99秒秒表设计背景 (2)1.2设计目的 (2)1.3硬件选择 (2)1.4设计内容 (2)2 设计方案及基本原理 (2)2.1 预备知识 (2)2.2 LED显示原理 (3)2.3 元器件选择 (3)2.4 系统设计 (3)2.5硬件工作原理 (4)2.6 硬件连接 (4)3 程序设计 (5)3.1设计步骤 (5)3.2程序代码........................................... 错误!未定义书签。
4 调试结果及分析 (7)4.1 调试结果 (7)4.2 结果分析 (7)5 结论与体会 (8)参考文献 (9)附录 (8)摘要:本设计是设计一个单片机控制的多功能秒表系统。
近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。
秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。
将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为00~99秒,每秒自动加1,能正确地进行加、减(倒)计时,快加,快减,可以同时记录4个相对独立的时间,通过上翻下翻来查看这4个不同的计时值,可谓功能强大。
其中软件系统采用汇编语言编写程序,包括显示程序,加减计数程序,快加快减程序,中断,延时程序,按键消抖程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
关键词:单片机 AT89C51 99秒【设计题目】99秒秒表设计1 99秒秒表设计背景及目的要求1.1 99秒秒表设计背景目前,单片机正朝着高性能和对品种方向发展,趋势是进一步向着CMO化,低功耗,小体积,大存量,高性能,低价格和外国电路内装化等几个方面发展。
单片机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口送出数字
基于单片机的99秒表设计
毫秒缓冲清零 秒值加1
秒显缓冲清零 分显示加1
分显示清零 现场恢复
Y Y
图3 中断程序流程图 五、仿真结果与结论 1、数字式秒表准备状态仿真的显示如图4所示
图4 准备计时状态 2、数字式秒表运行状态的仿真如图5所示
图5 计时器状态 结论:我们可以发现数字式秒表计数一段时间的我们的标 准时间相比较出现了误差,所设计的数字式秒表比我们的标准
会显示出字形,取决于单片机对位选通COM端电路的控制,所 以我们只要将需要显示的数码管的选通控制打开,该位就显示 出字形,没有选通的数码管就不会亮。通过分时轮流控制各个 数码管的的COM端,就使各个数码管轮流受控显示,这就是动 态驱动。动态显示是利用人眼视觉暂留特性来实现显示的。事 实上,显示器上任何时刻只有一个数码管有显示。由于各数码 管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因 此看到的是连续显示的现象。为防止闪烁延时的时间在1ms左 右,不能太长,也不能太短。本设计可采用P1口直接驱动八段 数码管显示。此方案成本低,而且单片机的I/O口占用较少, 可以节约单片机接口资源,而且功耗更低。 三、硬件设计电路
ORG 00H SJMP MAIN ORG 0BH AJMP T0INT0 ORG 30H
MAIN: MOV SP, #60H MOV R4,#20 MOV TMOD,#01H MOV T H0,#03CH MOV TL0,#0B7H SETB ET0 SETB EA
附录 程序清单
;12M晶振时定时初值取#3CB7H
T0INT0: MOV TH0,#03CH ;定时中断子程序。重装定时常数 MOV TL0,#0B7H DJNZ R4,T0INTR ;50msX20=1S,未满20次,跳出中断子程序
基于单片机的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数码管原理与使用方法。
基于 单片机的数字秒表设计
上述程序所花时间为(248*2+2+2)*60=30ms,30ms足以消除抖动。
2.3.3
在本次的秒表系统电路设计图中,两位七段数码管与P0口相连,并分别占了和因为有译码器为接口,只要控制I/O口输出BCD码便能得到相应数字了。如显示0,由于0的BCD码为0000,所以指令为MOV P0,#00H。
PRESS_2:
CALL FILTER
JB,PRESS_3
JMP PRESS_2
PRESS_3:
JB,$
CALL FILTER
RELEASE:
JB,START
JMP RELEASE
DELAY:
MOV R7,#248
JNB,PRESS_2
DJNZ R7,$
DJNZ R6,DELAY
RET
FILTER:
参考文献
[1]康华光.模拟电子技术基础[M].北京:高等教育出版社,2006年5月第5版
[2]杨欣.51单片机应用从零开始[M].北京:清华大学出版社,2008年1月第一版
[3]李广弟、朱月秀、冷祖祁等.单片机基础[M].北京:北京航空航天大学出版社,2007年6月第三版
附录
I
ORG 00H
START:
秒表启动后,当第一次按下按钮开关后秒表开始计时。系统延时1秒,然后利用ADD指令,把显示的数字加一,这样就显示01,再延时再显示,如此循环,直到显示至99后,又返回00重新开始计时。
2.3.4
MOV R5,#10
ADD_1:
MOV R6,#200
CALL DELAY
DJNZ R5,ADD_1
DRESS_2
DJNZ R7,$
DJNZ R6,DELAY
99秒倒计时单片机设计
江苏建筑职业技术学院课程设计报告设计题目:99秒计时器专业:电子信息工程技术班级:电子10-2姓名:李诚飞学号:1050213212指导教师:目录第1节引言 (3)第2节99秒计时器硬件设计 (4)第3节系统的软件设计 (8)结束语............................................................... 错误!未定义书签。
课程设计任务书及成绩评定 .............................. 错误!未定义书签。
第1节引言单片机具有体积小,成本低,抗干扰能力强,面向控制,可以实现分机各分布式控制等优点。
本秒表/时钟设计就是利用单片机的上述优点,采用目前市场上性能价格比较高的MCS-52单片机设计而成的最小系统。
它在实际生活中具有广泛的应用。
例如:工业生产中的定时启停自动化设备、学校中上下课铃定时控制、农村广播站每天早中晚广播的自动定时控制均可采用本仪器。
1.1 秒表的概述秒表是电器制造,电国,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、廷时器、定时器等的时间测试。
目前所使用的电秒表大多是指针式或集成电路型的,结构相对复杂、测试功能单一。
但我们这次设计的秒表比较简单,所以使用很简单。
1.2 本设计任务(1.开始时,显示“00”,第1次按下SP1后就开始计时。
(2.第2次按SP1后,计时停止。
(3.第3次按SP1后,计时归零。
1.3 系统主要功能99秒计时器主要是用在精确计间方面。
比如:学校里的校运会、答题倒计时等方面。
它通过一个按键来控制它的开和停,它能及时有效的记录瞬间时间。
而且它在我们生活中运用很广泛,希望我们做的这个计时器对以上方面有所帮助。
它也许比较简单,而且有可能达不到很多人的要求,但我相信通过我们过一步的学习,我们一定会制造出更好的系统,为社会大众服务。
第2节99秒计时器硬件设计2.1 系统的硬件构成及功能99秒计时器的原理框图如图1所示。
99秒倒计时器设计
物理与电气工程学院单片机课程设计题目:基于单片机99秒倒计时器的设计学院:物理与电气工程学院专业:自动化专业班级:四组员:学号:指导老师:摘要:随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
【关键词】AT89s52;共阴数码管;keil;晶体振荡器一、要求:单片机控制的99s倒计时器,用单片机AT89s52的定时器实现99s 倒计时器。
用两位数码管静态显示倒计时秒值。
二、总体设计:要求的硬件电路都主要由AT89s52芯片、两位数码管、晶振产生电路、复位电路,电源,asp下载电路组成。
1.1、AT89s52的芯片概述At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8 位微控制器 8K 字节在系统可编程 Flash AT89S52P0 口:P0口是一个8位漏极开路的双向I/O口。
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)。
基于单片机的99秒表设计
(一).方案论证及设计说明
1.控制器的选择
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。
由于其功耗低、体积小、技术成熟和成本低等优点,各个领域应用广泛。
本实验采用AT89C51单片机。
2.数码管的选择
(1)LED显示方式
有共阴极和共阳极两种。
由于平时习惯于用共阴极数码管,在本实验中采用共阴极数码管。
1)字形码表的产生
以共阴极为例,LED七段数码管的每一段接高电平时亮,不同的
2)显示方式: 静态显示
在静态显示方式下,每一位显示器的字段控制线是独立的。
当显示某一字时,该位的各字段线和字位线的电平不变,也就是各字段的亮灭状态不变。
静态显示方式下LED 显示器的电路连接方法是:每位LED 的字位控制线门共阴极点或共阳极点连在一起,接地或接 + 5V ;由于显示的是整数,所以小数点那位可以不接,所以其字段控制线 (a ~g )分别接到一个7位口。
动态显示
1)利用人眼的视觉暂留效应,通过位选分时显示不同的数码管,这样可以看到正常的显示。
调用延时子程序循环显示各路水压值, 使能清楚的看到八路水压的大小。
2)本实验采用共阴极数码管,动态循环显示各路水压值,并在设置上下限时显示上下限的大小。
显示数码与共阴极断码的对应关系:
0 1 2 3 4 5 6 7 8 9 3FH
06H 5BH 4FH 66H
6DH
7DH
07H 7FH 6FH
静态显示占的的IO 资源多,动态显示可以节省IO 口,本实验中IO 口足够用,所以用静态显示。
3.设计说明
99秒表的设计有2个控制键,开始键和复位键,按下开始键则开始计时,再按一下开始键则停止计时,显示计时的秒数,按一下复位键则复位,显示00。
按键通过外部中断来实现,用外部中断0和
外部中断1来实现。
按下开始键则进入外部中断0,为了区分是开始计时还是计时停止,给寄存器R1赋初值为0,判断R1为零,给R1赋值1,则启动定时器,进入定时器中断,执行计时,每隔一秒数码管显示的值自动加一,当再次按下开始键时,再次进入中断0,R1的值为1,通过比较指令判断为停止计时指令,则跳转到指令使定时器停止计时,则显示定时的时间,同时把R1的值再设为0。
按下复位键则进入外部中断1,则让数码管显示00。
键的功能如下:
SET:开始计时和停止计时;
RESET:复位。
(二).程序流程图
(三).程序
ORG 0000H
JMP MAIN
ORG 0003H
JMP EX00
ORG 0013H
JMP EX11
ORG 001BH
JMP TT1
ORG 0030H
MAIN:MOV SP,#60H
MOV DPTR,#TABLE
MOV TMOD,#10H
MOV P1,#3FH ;数码管赋初值
MOV P2,#3FH
MOV R0,#00H
MOV R1,#00H
SETB IT0 ;外部中断为边沿触发方式
SETB IT1
SETB ET1 ;开中断
SETB EX0
SETB EX1
SETB EA
SJMP $
EX00:CJNE R1,#0,XIAN ;判断是计时还是停止计时MOV R1,#1 ;计时则开启定时器
MOV R7,#00H
MOV R0,#00H
SETB TR1
MOV TL1,#3CH
MOV TL1,#0B0H
JMP STP
XIAN: CLR TR1 ;停止计时则关断定时器MOV R1,#00H
STP:RETI
TT1: INC R0 ;定时器中断
MOV TL1,#3CH
MOV TL1,#0B0H
CJNE R0,#20,STOP ;定时不到一秒继续定时
INC R7 ;定时一秒到自动加一
MOV R0,#00H
MOV TL1,#3CH
MOV TL1,#0B0H
CJNE R7,#100,NEXT ;定时到99秒则清零
MOV R7,#00H
NEXT:LCALL DISP
STOP:RETI
EX11:MOV R7,#00H ;复位键按下则清零CALL DISP
RETI
DISP:MOV A,R7 ;数码显示子程序MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P1,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END
二.图纸部分(一).PROTEUS图
(二).PROTEL99图一)电路原理图
二).印刷版图。