导航:首页 > 操作系统 > 单片机一秒的时钟

单片机一秒的时钟

发布时间:2022-05-20 17:08:33

单片机时钟公式

如果是51单片机
时钟周期是机器周期的12倍
机器周期是晶体振荡器频率的倒数
1/6MHz=1/6us
51单片机的时钟周期为12*(1/6us)=2us.

Ⅱ 关于用51单片机做一个电子时钟的问题


程序中好像还没有自动加时的部分,并且按键处理还没有消抖措施


不多说了,上程序,俺刚刚为你编写的,测试的时候使用的端口和你的不一样


在我的开发板上测试成功后,按照你的板子端口做了修改


如果你直接复制到你的程序中不能使用,检查及更改一下端口即可


如果满意记得采纳哦,若有疑问可以随时向我提问


/***************************************************************************/

//#include<stdio.h>

#include<reg51.h>

sbit p20=P2^0; sbit p21=P2^1; sbit led=P2^7;

char dis_2[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码

unsigned int h,m,s,t,n;

/***************************************************************************/

void delay(char hs)//延时函数

{char hk;for(;hs>0;hs--){for(hk=100;hk>0;hk--);}}

/***************************************************************************/

void XS(unsigned int xh,unsigned int xs) //显示子函数

{

char d1,d2,d3,d4;

d1=(xs/1)%10; d2=(xs/10)%10;

d3=(xh/1)%10; d4=(xh/10)%10;


P0=dis_2[d1]; P1=0x08; delay(10); P1=0x00;//秒个位

P0=dis_2[d2]; P1=0x04; delay(10); P1=0x00;//秒十位

P0=0x7f; P1=0x04; delay(10); P1=0x00;//小数点

P0=dis_2[d3]; P1=0x02; delay(10); P1=0x00;//时个位

P0=dis_2[d4]; P1=0x01; delay(10); P1=0x00;//时十位

}

/***************************************************************************/

void main(void)

{

TH0=(65536-1000)/256; TL0=(65536-1000)%256;

TMOD=0x01; EA=1; ET0=1; TR0=1;//定时器初始化

while(1)//主循环

{

if(p20==0){delay(10);if(p20==0){h++;if(h>23){h=0;}}while(!p20){XS(h,m);}}

if(p21==0){delay(10);if(p21==0){m++;if(m>59){m=0;}}while(!p21){XS(h,m);}}

XS(h,m);//调用数码管显示函数

}

}

/***************************************************************************/

void int1() interrupt 1 //定时器中断

{

TH0=(65536-1000)/256; TL0=(65536-1000)%256; n++;t++;

if(t>500){t=0;led=~led;}//LED闪烁

if(n>1000){n=0;s++;}//如果达到一秒,秒加一

if(s>59){s=0;m++;}//如果达到一分,分加一

if(m>59){m=0;h++;}//如果达到一小时,小时加一

if(h>23){h=0;}//如果达到24小时,小时清零

}

/***************************************************************************/

Ⅲ 单片机定时器设定一秒

对于51 单片机,11.0592M的多用于有用到波特率的,以提高精度。如果需要定时1 秒的 ,可用6M或12M的晶振。如果用12M的话,则1 个机器周期的1us 。定时器范围是0~FFFF(即65535us)你可定时50ms一次中断,共20次就是1秒。

Ⅳ 如何让一个单片机的定时器计时1秒

首先你要知道你的晶振是多少频率的,然后知道执行一个延迟命令的时间,然后再估算出需要多少个延时命令才能组成1秒。其实网上有很多这样的延时程序。

Ⅳ 单片机如何精确定时1秒钟

采用定时器定时很精确的,如果定时时间为1ms,那循环1000次就是1s。定时初值要看你采用的晶振频率了,下面是12M晶振,定时器0的定时1ms程序。
timer0() interrupt 1 // 1ms延时(12.0MHz)
{
TR0=0;
ET0=0;
TH0=0xfc;
TL0=0x18;
if(delayTimes1!=0) delayTimes1--;
TR0=1;
ET0=1;
}
当要程序中把delayTimes1赋值1000后,等到delayTimes1为0的时候定时1s钟到

Ⅵ c51单片机做电子时钟

主程序如下:
void main(void )//主程序
{
TMOD=0x01;// 定时器1工作方式一
ET0=1;
EA=1;
TH0=(65536-50000)/256;//定时50ms
TL0=(65536-50000)%256;
TR0=1;//启动定时器
while(1)
{
display();

}
}

//中断子程序
void Timer0(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20){ a=0;sec++;}
if(sec==60){ sec=0;min++;}
if(min==60){ min=0;hour++;}
if(hour==24){ hour=0;}
}

Ⅶ 单片机时钟秒是怎么得出来的

一个机器周期=12*1/f
f为晶振频率
单片机时钟用计数模式
TMOD=0x01;
TH0=(65536-45872)/256;//要50ms 则由公式计数个数N=2^16-计数初值得
//初值为65536-45782
//把这个数高位给TH0 因为除有这个功能
//取余会提出低位
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
之后两个循环就是1s啦

Ⅷ 8051单片机如何设置一秒的时间间隔的时钟

如果用定时器的话,在12M晶振的环境下,无法直接设置1秒的定时器参数,因为最大也就65535微妙,你可以用定时中断加一个计数器的方式实现1秒的定时,比如设置50毫秒定时中断,计数20次,即实现了你得要求,P1.0的状态1秒变化一次,程序如下:
ORG 0000H
LJMP START
ORG 000BH
LJMP TM0
ORG 0030H
START:
CLR EA
MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#0
SETB ET0
SETB TR0
SETB EA
SJMP $
TM0:
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
INC R0
MOV A,R0
CJNE A,#20,TM01
MOV R0,#0
CPL P1.0
TM01:
RETI

Ⅸ 单片机1秒钟定时汇编语言怎么编

可以有两种方法,设晶振为12M,则
第一种方法:用延时的方法实现
DELAY: MOV R3,#10;延时子程序,延时1秒
D1: MOV R4,#200
D2: MOV R5,#250
D3: DJNZ R5,D3
DJNZ R4,D2
DJNZ R3,D1
RET
END

第二种方法:用定时器的方法实现
————
MOV R1,#20
————
DLY: MOV TMOD,#00000001B;延时子程序,设定定时器的工作方式
D1: SETB TL0,#176(65536-50000); 15536/256 (余数)
SETB TH0,#60;设置初出溢出值50ms,定时2S (商)
SETB TR0 ;启动定时器
JNB TF0,$;是否溢出,没有溢出等待,溢出走一条指令
CLR TF0;清零溢出
DJNZ R1,D1;走20次,刚好1秒
RET
END

Ⅹ 单片机系统时钟是多少

学校里面使用的51单片机,如89C51系列的单片机一般为11.0592MHZ,12MHZ。时钟周期就是晶振的频率,机器周期是12*时钟周期,指令周期执行一条指令所需要的时间,一般由若干个机器周期组成。
你所说的系统时钟其实就是时钟周期,也就是晶振频率

阅读全文

与单片机一秒的时钟相关的资料

热点内容
解压小熊手机壳 浏览:346
成都市区建成面积算法 浏览:660
智能家居单片机 浏览:97
买男装用什么app好 浏览:855
文件夹合并了怎么拆开 浏览:260
波段副图源码无未来函数 浏览:88
livecn服务器地址 浏览:259
程序员这个工作真的很吃香吗 浏览:846
程序员和数学分析师待遇 浏览:680
压缩气弹簧怎么拆 浏览:322
华为公有云服务器添加虚拟ip 浏览:211
程序员和运营哪个累 浏览:26
抖音安卓信息提示音怎么设置 浏览:456
光速虚拟机的共享文件夹 浏览:251
程序员培训机构发的朋友圈真实性 浏览:744
天干地支简单算法 浏览:299
下载个压缩文件 浏览:300
普通人电脑关机vs程序员关机 浏览:630
米酷建站源码 浏览:115
氢气app怎么搜搭配 浏览:619