皮皮网

皮皮网

【纯正朔源码燕窝】【公告页面 源码】【房产站点源码】秒表 源码_秒表源程序

时间:2024-11-23 10:32:00 分类:焦点

1.?秒表秒表?? Դ??
2.如何用c#做一个秒表
3.用c#设计秒表代码程序

秒表 源码_秒表源程序

??? Դ??

       使用搭配最小系统就能实现了。

       关键在定时器上面,源码源程纯正朔源码燕窝如果不需要精确的秒表秒表公告页面 源码就用C写个延迟函数。

       具体可参考我的源码源程房产站点源码空间:

       单片机数码管显示数字递增

       关键字: 单片机 动态扫描 数码管 整数递增 让单片机的数码管显示的数从0开始递增一直到,然后重新置0,再递增,如此循环.

       还是用到了将要显示的数进行百位,十位,个位的分离.

       从这篇开始,以后的程序就要注意程序的规范性,与可读性了.源代码如下(已经成功调通):

       C代码

       #include<reg.h>

       #define uint unsigned int

       #define uchar unsigned char

       sbit sda = P1^0;

       sbit clk = P1^1;

       sbit dig1 = P1^2;

       sbit dig2 = P1^3;

       sbit dig3 = P1^4;

       sbit dig4 = P1^ 5;

       uchar code table[]={ 0x7e,0x0c,0xb6,0x9e,0xcc,0xda,0xfa,0x0e,0xfe,0xde};

       uchar times;

       void init();

       void delay(uchar);

       void write(uchar);

       void display(uchar);

       void main()

       {

        uchar i = 0;

        init();

        while(1)

        {

        display(i);

        if(times>2)

        {

        times = 0;

        i ++;

        if(i==)

        i = 0;

        }

        }

       }

       /** 显示一个3位的整数 **/

       void display(uchar num)

       {

        uchar bai,shi,ge;

        bai = num/;

        shi = num%/;

        ge = num%;

        /* 显示个位 */

        dig4 = 0;

        write(table[ge]);

        delay();

        dig4 = 1;

        /* 显示十位 */

        dig3 = 0;

        write(table[shi]);

        delay();

        dig3 = 1;

        /* 显示百位 */

        dig2 = 0;

        write(table[bai]);

        delay();

        dig2 = 1;

       }

       /** 程序初始化函数 **/

       void init()

       {

        clk = 0;

        times = 0;

        TMOD = 0x; //定时器模式1

        TH0 = (-)/; //每毫秒产生一次中断

        TL0 = (-)%;

        TR0 = 1; //开始计时

        EA = 1; //打开总中断开关

        ET0 = 1;

       }

       /** 向数据码管写入一个字节数据 **/

       void write(uchar u)

       {

        uchar i;

        for(i=0;i<8;i++)

        {

        clk = 1;

        sda = u&0x;

        clk = 0;

        u = u<<1;

        }

       }

       /** 延迟函数 **/

       void delay(uchar t)

       {

        uchar x,y;

        for(x=t;x>0;x--)

        for(y=;y>0;y--);

       }

       /** 1号中断 **/

       void timer0() interrupt 1

       {

        TH0 = (-)/; //每毫秒产生一次中断

        TL0 = (-)%;

        times ++;

       }

如何用c#做一个秒表

       ç”±äºŽç›®å‰ç”¨åˆ°äº†C#的有关知识,但之前没有C#的基础,所以趁着机会正好学习学习。

       æœ¬ç¯‡åšæ–‡ï¼Œè®°å½•ä¸‹åˆ©ç”¨C#实现一个简单的秒表计时器,基本界面如下图。

       åŠŸèƒ½è¯´æ˜Žï¼šç‚¹å‡»â€œå¼€å§‹â€å¼€å§‹è®¡æ—¶ï¼Œç‚¹å‡»â€œæš‚停”暂停计时,点击“”停止“”停止计时,再点击“开始”,重新开始计时。

       é¦–先,我们在窗体设计窗口画出该界面,由1个Label,3个button构成。双击按钮添加事件。

       æ ¸å¿ƒéƒ¨åˆ†æ˜¯ç”¨ç§’表对象Stopwatch和时钟Timer实现的。

       ç¨‹åºæºä»£ç å¦‚下:

       using System;

       using System.Collections.Generic;

       using System.ComponentModel;

       using System.Data;

       using System.Drawing;

       using System.Linq;

       using System.Text;

       using System.Windows.Forms;

       using System.Diagnostics;

       namespace ChEx

       {

       public partial class Form1 : Form

       {

       public Form1()

       {

       InitializeComponent();

       }

       Timer time = new Timer();

       Stopwatch sw; //秒表对象

       TimeSpan ts;

       static int count = 1;

       private void button1_Click(object sender, EventArgs e)

       {

       //开始按钮

       button2.Enabled = true;

       button3.Enabled = true;

       if(button2.Text == "继续") //开始后将继续按钮重置为暂停

       button2.Text = "暂停";

       sw = new Stopwatch();

       time.Tick += new EventHandler(time_Tick);  //时钟触发信号

       time.Interval = 1;

       sw.Start();

       time.Start();

       }

       void time_Tick(object sender, EventArgs e)

       {

       ts = sw.Elapsed;

       label1.Text = string.Format("{ 0}:{ 1}:{ 2}:{ 3}", ts.Hours, ts.Minutes, ts.Seconds,ts.Milliseconds/);

       }

       private void button3_Click(object sender, EventArgs e)

       {

       //停止时间按钮

       sw.Stop();

       time.Stop();

       label1.Text = string.Format("{ 0}:{ 1}:{ 2}:{ 3}", 0, 0, 0, 0);

       }

       private void Form1_Load(object sender, EventArgs e)

       {

       button2.Enabled = false;

       button3.Enabled = false;

       }

       private void button2_Click(object sender, EventArgs e)

       {

       if (button2.Text == "暂停")

       {

       //暂停事件按钮

       button2.Text = "继续";

       sw.Stop();

       time.Stop();

       }

       else if (button2.Text == "继续")

       {

       //继续事件

       button2.Text = "暂停";

       sw.Start();

       time.Start();

       }

       }

       }

       }

       ç§’表运行结果如图所示。

       ä¸‹ä¸€æ­¥å·¥ä½œï¼šåœ¨å·¦ä¸‹æ–¹æ·»åŠ ä¸€ä¸ªlabel,实验多次暂停的功能,即能保存秒表的多个中间结果,如记录多名同学的长跑成绩的时候,暂停按钮只是记录到达终点的同学的成绩,计时还在继续,这个功能不难实现,给自己也给各位一个动手的余地。

       -------------------------------------------------------------------------------------------------------

       ä»¥ä¸‹æ˜¯çª—体设计器自动生成的代码,辅助参考。

       #region Windows 窗体设计器生成的代码

       /// <summary>

       /// 设计器支持所需的方法 - 不要

       /// 使用代码编辑器修改此方法的内容。

       /// </summary>

       private void InitializeComponent()

       {

       this.button1 = new System.Windows.Forms.Button();

       this.button3 = new System.Windows.Forms.Button();

       this.label1 = new System.Windows.Forms.Label();

       this.button2 = new System.Windows.Forms.Button();

       this.SuspendLayout();

       //

       // button1

       //

       this.button1.Location = new System.Drawing.Point(, );

       this.button1.Name = "button1";

       this.button1.Size = new System.Drawing.Size(, );

       this.button1.TabIndex = 0;

       this.button1.Text = "开始";

       this.button1.UseVisualStyleBackColor = true;

       this.button1.Click += new System.EventHandler(this.button1_Click);

       //

       // button3

       //

       this.button3.Location = new System.Drawing.Point(, );

       this.button3.Name = "button3";

       this.button3.Size = new System.Drawing.Size(, );

       this.button3.TabIndex = 2;

       this.button3.Text = "停止";

       this.button3.UseVisualStyleBackColor = true;

       this.button3.Click += new System.EventHandler(this.button3_Click);

       //

       // label1

       //

       this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));

       this.label1.Font = new System.Drawing.Font("宋体", F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)()));

       this.label1.Location = new System.Drawing.Point(, );

       this.label1.Name = "label1";

       this.label1.Size = new System.Drawing.Size(, );

       this.label1.TabIndex = 3;

       this.label1.Text = "0:0:0:0";

       //

       // button2

       //

       this.button2.Location = new System.Drawing.Point(, );

       this.button2.Name = "button2";

       this.button2.Size = new System.Drawing.Size(, );

       this.button2.TabIndex = 4;

       this.button2.Text = "暂停";

       this.button2.UseVisualStyleBackColor = true;

       this.button2.Click += new System.EventHandler(this.button2_Click);

       //

       // Form1

       //

       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, F);

       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

       this.ClientSize = new System.Drawing.Size(, );

       this.Controls.Add(this.button2);

       this.Controls.Add(this.label1);

       this.Controls.Add(this.button3);

       this.Controls.Add(this.button1);

       this.Name = "Form1";

       this.RightToLeftLayout = true;

       this.Text = "秒表";

       this.Load += new System.EventHandler(this.Form1_Load);

       this.ResumeLayout(false);

       }

       #endregion

用c#设计秒表代码程序

       private DateTime TimeStart = new DateTime();

        private Boolean IsFirst = true;

        public Form1()

        {

        InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

        if (IsFirst)

        {

        TimeStart = DateTime.Now;

        timer1.Enabled = true;

        IsFirst = false;

        }

        else

        {

        timer1.Enabled = !timer1.Enabled;

        }

        }

        private void button3_Click(object sender, EventArgs e)

        {

        TimeStart = DateTime.Now;

        timer1.Enabled = false;

        label1.Text = (DateTime.Now - TimeStart).ToString();

        }

        private void timer1_Tick(object sender, EventArgs e)

        {

        label1.Text = (DateTime.Now - TimeStart).ToString();

        }