导航:首页 > 操作系统 > 基于51单片机的简易秒表设计

基于51单片机的简易秒表设计

发布时间:2023-06-30 21:11:47

Ⅰ 如何用51单片机用单数码管做9s的简易秒表

假设P0接数码管,程序如下:
#include<reg52.h>
#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--);
}
void main(void )//主程序
{
TMOD=0x01;// 定时器0工作方式一
ET0=1;

EA=1;
TH0=(65536-50000)/256;//定时50ms
TL0=(65536-50000)%256;
TR0=1;//启动
while(b>0)
{
P0= table[b];
delay(5);
}
P0=0;

TR0=0;
while(1);
}
//中断子程序
void Timer0(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20) {a=0;b--;}
}

Ⅱ 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下每50秒产生中断,执行该中断函数
//形式参数:无
//返回值:无
void timer_1() interrupt 3 //T1的中断类型号为3
{
TH1=(65536-50000)/256; //重新设置T1计数初值高8位
TL1=(65536-50000)%256; //重新设置T1计数初值低8位
count++; //50ms计数器加1
if(count==20) //1s时间到
{
count=0; //50ms计数器清0
miao++; //秒计数器加1
if(miao==100)miao=0; //miao计数到100,则从0开始计数
}
}

bit b=0;
void int_0() interrupt 0
{
if(b == 0){TR1 = 0;b = 1;}
else
{
b = 0;
TR1 = 1;
}
}

void int_1() interrupt 2
{
miao=0;
count = 0;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
}

//函数名:disp
//函数功能:将i的值显示在两个静态连接的数码管上
//形式参数:i,取值范围0~99
//返回值:无
void disp(uchar i)
{
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//定义0~9显示码,共阳极数码管
P1=led[i/10]; //显示i高位
P2=led[i%10]; //显示i地位
}
void main()
{
TMOD=0x10;//设置T1在工作方式1
TH1=(65536-50000)/256;//设置T1计数初值高8位,定时时间50ms
TL1=(65536-50000)%256;//设置T1计数初值低8位
ET1=1;//开放T1中断允许
EX0 = 1;
IT0 = 1;
EX1 = 1;
IT1=1;
EA=1;//开放总中断允许
TR1=1;//启动T1开始计时
while(1)
{
disp(miao);//显示秒计数器值
}
}

阅读全文

与基于51单片机的简易秒表设计相关的资料

热点内容
胡希恕伤寒论讲座pdf 浏览:766
aspnet程序员薪水 浏览:76
苹果为什么屏幕看得比安卓舒服 浏览:119
苹果数据线怎么转安卓 浏览:656
黑格尔pdf下载 浏览:959
备忘录里新建文件夹怎么删除 浏览:12
服务器黑名单怎么处理 浏览:842
程序员电视剧25集 浏览:214
80351单片机 浏览:958
advancedwifi源码 浏览:577
maczip解压成文件夹后怎么打开 浏览:120
androidapp内存大小 浏览:451
程序员干私活网站 浏览:379
未来软件加密锁驱动 浏览:930
美军如何拒绝执行上级命令 浏览:489
布鲁诺pdf 浏览:163
计算机教程pdf 浏览:703
桌面文件夹变成文字 浏览:849
dell服务器前面板如何拆 浏览:765
云顶之巅服务器什么时候关闭 浏览:947