怎么用51单片机的数码管写一个秒表60秒程序用定时器

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
51单片机写一个两位数码管的静态秒表

两位跟一位电路不一样,一位时不必位选引脚,两位则必需指明位选的两个引脚,
两位时要轮询动态刷两个位,你这个delay方法不好使,要用时间中断处理

其实,控制秒表的启动和停止,很简单。要做秒表,一定要用定时器吧,假如用T0,那开始初始化时,不写TR0=1,先不启动。
当按一下键,再启动,TR0=1,就开始计时了。
再 按一下键,就停止,TR0=0,就不计时了。
程序好写,先 定义一个按键
sbit key=P1^1; //具体是哪个 键,你自己改
主程序中,判断按键和启动/停止
if(key==0)
{
delay(); //具体延时时间自己定
if(key==0)
{
TR0=!TR0; //每按一次,取反 一次
while(key==0);
}
}

这个应该不难啊。定时器确定相对准确的时间,在用数码管显示出来,设置一个标志,满了59自动归零



我有的,点头像v。。

  • 用51单片机设计3位led数码显示管作秒表00.0-99.0求设计电路与c语言程 ...
    答:define dataport P1//P1直接驱动数码管的8个阳极 sbit wei1=P3^3;//再有三个管脚接3个三极管驱动数码管的阴极 sbit wei2=P3^4;sbit wei3=P3^5;uint a=0;//中断次数计数,一次50ms,20次为1 秒 //共阴数码管七段码 uchar TABLE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0...
  • 51单片机按键分别控制数码管显示精度为秒,十分秒,百分秒的秒表程序
    答:sbit wei1=P3^3;//再有三个管脚接3个三极管驱动数码管的阴极 sbit wei2=P3^4;sbit wei3=P3^5;sbit key1=P2^0;//根据单片机型号自行定义,有的51单片机无此管脚 sbit key2=P2^1;uint a=0;//中断次数计数,一次10ms,100次为1 秒 //共阴数码管七段码 uchar TABLE[10]={0x3f,0x06,...
  • 51单片机制作一个秒表
    答://功能:0~99秒的简易秒表设计,两个静态数码管,定时器采用中断方式#include"reg51.h"#define uchar unsigned char#define uint unsigned int uchar count=0; //对50ms定时时间进行计数uchar miao=0; //秒计数器 //函数名:timer_1()//函数功能:定时器T1的中断函数,T1在工作方式1下每5...
  • 如何用51单片机用单数码管做9s的简易秒表?
    答:define uchar unsigned char define uint unsigned int uchar a=0;uchar b=9;//共阴数码管七段码 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};void delay(uchar aa)//延时子程序 { uchar bb,cc;for(bb=aa;bb>0;bb--)for(cc=200;cc>0;cc...
  • 利用51单片机,6个数码管设计一秒表。要求:刚开始时间为12点(120000...
    答:bit KEY=1;sbit wela=P0^1;sbit dula=P0^0;char ge,shi,time0,led;void play_h(uchar t_h);void play_m(uchar t_m);void play_s(uchar t_s);void display_();void delay(uint );void inti();//void display(uchar t_h,uchar t_m,uchar t_s);void main(){ inti();t_h=...
  • 跪求单片机c51一个多功能时钟设计。要闹钟。调整时间、秒表、就行了...
    答://给你发一个数码管输出的可调节时钟的程序,<DS1302.H>在最后#include <at89x52.h>#include <DS1302.h>//定义共阳极字型码0123456789-unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};unsigned char time[]={0,0,0,0,0,0,0,0};//用来储存时间...
  • 用C51系列的单片机控制 在8位数码管动态显示秒表 要c语言版程序 谢谢...
    答:1、设置定时中断,定时中断时间是5毫秒;2、中断程序完成秒计时,秒数发生变化时,要将秒数对应的显示码放到显示缓冲区;3、每次中断循环显示一位数码管;下面是我曾经写的一个显示程序(显示缓冲区G_Disp_Buf):define PIN_SDINP0_0 define PIN_STP0_1 define PIN_SHP0_2 define LOC_D10x08 v...
  • 51单片机4位数码管做秒表,C语言编程含有控制开关开始停止清零。_百度知 ...
    答:if(key1==0){ yan(5);if(key1==0){ x=0;} } if(key2==0){ yan(5);if(key2==0){ TR0=1;} } if(key3==0){ yan(5);if(key3==0){ TR0=0;} } } void display(uchar a,uchar b,uchar c,uchar d){ y6c;P0=0x10;rst;P0=table[a];y7c;rst;yan(5);y6c;...
  • 单片机编程制作电子秒表能显示分(0-99),秒(0-59)
    答:、位选(决定多位数码管中哪一位显示)、段选(决定数码管显示的数字),另外还有锁存器(教材P36,可通过控制锁存端来改变数据输出的状态)。上周单片机实验课的内容是编一个秒表,在4位数码管中分别显示分和秒还有分秒,即最多可显示“9:59.9”。这里我用两个键实现了秒表的启动/暂停和清零功能,...
  • 如何用C51单片机做出以下程序 “秒表是倒计时,从100秒开始倒计时 用数...
    答:假设P0 P2接数码管,静态驱动,程序如下:include<reg52.h> define uchar unsigned char define uint unsigned int uchar num=100;uchar time=0;//共阴数码管七段码 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};void Delay1ms(uint i) //1ms延时...