仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

单片机60秒计时器的程序,用AT89C51实现

994988835 2009-06-03 22:35:17 317  浏览
  •  

参与评论

全部评论(4条)

  • jftijbcfik 2009-06-05 00:00:00
    用定时器做的...试一下 #include <reg51.h> unsigned int i=0; void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) {} } void timer() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; if(i==1200) i=0; i+=1; }

    赞(6)

    回复(0)

    评论

  • 富江视频 2009-06-04 00:00:00
    汇编源程序 Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A LCALL DELY1S INC Second MOV A,Second CJNE A,#60,NEXT LJMP START DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END C语言源程序 #include <AT89X51.H> unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
    0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Second; void delay1s(void) { unsigned char i,j,k; for(k=100;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) { Second=0; P0=table[Second/10]; P2=table[Second%10]; while(1) { delay1s(); Second++; if(Second==60) { Second=0; } P0=table[Second/10]; P2=table[Second%10]; } }

    赞(5)

    回复(0)

    评论

  • 查水表的路过 2009-06-06 00:00:00
    Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A LCALL DELY1S INC Second MOV A,Second CJNE A,#60,NEXT LJMP START DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

    赞(7)

    回复(0)

    评论

  • 马大规定 2017-05-18 09:23:11
    //1:用AT89C51单片机的定时/计数器T0产生一秒的 //定时时间,作为秒计数时间,当一秒产生时,秒 //计数加1,秒计数到60时,自动从0开始。单片机 //晶振频率为12MHZ #include<reg51.h> #define uchar unsigned char #define uint unsigned int uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
    0x6f}; void display(uchar fen,uchar miao); uchar a,fen,miao,shu; void delay(uint z); void init(); void main() { init(); while(1) { display(fen,miao); } } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; if(a==20) { a=0; shu++; fen=shu/10; miao=shu%10; if(shu==60) shu=0; } } void init() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void display(uchar fen,uchar miao) { P1=0xFe; P2=table[fen]; delay(5);//延时5毫秒 P1=0xFf; P2=table[miao]; delay(5);//延时5毫秒 } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

    赞(8)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

单片机60秒计时器的程序,用AT89C51实现
 
2009-06-03 22:35:17 317 4
用单片机汇编语言编写60秒计时器!
用单片机汇编语言编写60秒计时器 ,
2017-11-28 01:26:56 335 1
用AT89C51单片机做超声波测距
我的是51开发板. 数码管显示部分用段选和位选控制. 要求用C语言,C本人实在是新手,在网上找到很多程序,都只能看个皮毛. 我想控制4位数码管. 显示测距距离, 温度对声速的影响暂时不考虑,刚从网上找到个程序. 烧到板子里, 数码管没反应,求老师指点.谢谢 我的是... 我的是51开发板. 数码管显示部分用段选和位选控制. 要求用C语言,C本人实在是新手,在网上找到很多程序,都只能看个皮毛. 我想控制4位数码管. 显示测距距离, 温度对声速的影响暂时不考虑,刚从网上找到个程序. 烧到板子里, 数码管没反应,求老师指点.谢谢 我的是8位共阴数码管. HS-CR04超声波模块. 求C程序,Z好带多的注释,谢了. 展开
2012-04-09 16:14:45 409 3
C51单片机计时器50ms程序编写
 
2017-05-24 09:29:03 541 2
MFC单文档程序用计时器实现动态画图
我现在有一组数据,比如x[i]和y[i],想点击一个按钮后立刻画出(x[0],y[0]),一秒后画出(x[1],y[1]),并和(x[0],y[0])连起来,再一秒后画出(x[2],y[2]),并和(x[1],y[1])连起来,直到所有点都画出。请问用计时器怎么实现?麻烦至少写一些代码,... 我现在有一组数据,比如x[i]和y[i],想点击一个按钮后立刻画出(x[0],y[0]),一秒后画出(x[1],y[1]),并和(x[0],y[0])连起来,再一秒后画出(x[2],y[2]),并和(x[1],y[1])连起来,直到所有点都画出。请问用计时器怎么实现?麻烦至少写一些代码,伪代码也行。 展开
2018-12-08 05:53:41 333 0
单片机编程实现0---20秒计时器
 
2016-06-14 17:17:42 913 1
单片机用余晖效应实现6个数码管的动态显示(计时器)
要同时亮起6个数码管就得用余晖效应。每个数码管之间亮起的间隔为1ms。但是这个药怎么写代码。为什么我看一本书中的代码就只是用if-else这个语句而已。感觉并没有体现出用定时器来控制的感觉。
2018-04-05 23:37:56 663 1
谁有单片机课设篮球赛计时器程序
 
2017-06-22 09:34:14 382 2
求AT89C51单片机程序 做自行车测速仪 有具体方案和参考C程序
 
2010-11-14 01:20:21 335 3
如何用QT实现一个计时器的程序
秒表,用户点“开始计时”后,秒表开始计时,并实时显示计时数据;用户点“停止计时”后,秒表停止计时;用户点“重置”后,秒表归零 要求:秒表计时精度达到毫秒级 说明:不要求存储历史计时数据 需要详细点
2015-07-22 03:12:45 374 1
基于AT89C51单片机的数字频率计毕业设计
AT89C51单片机 测频范围10HZ-10MHZ 多种波形 ZD是需要添加其他功能 比如测幅值 之类的 (添加功能任意 保证毕业设计的工作量不会太简单) 不支持私下交易,求淘宝链接之类的
2015-11-09 03:36:40 462 2
求写一段单片机程序 关于STC的计时器
用单片机的定时器功能 每过1s一个变量a+1 晶振是12M 单片机是12C2052AD 就写这一小段就行了 datasheet看得我头晕。。 去这个地址回答有悬赏 http://zhidao.baidu.com/question/248093397.htm
2011-04-03 00:24:52 392 2
用vb的timer做一个计时器程序
包括开始、停止、重置,共3个按钮 计时单位精确到0.01秒 重置后,再按开始是从0开始重新计时的 计时中会溢出错误? 请高手写一下代码,特别是重置后,我自己做的时候不能重新从0开始计时,而是又接着停止时的时间继续下去!!!
2014-07-15 03:29:59 488 2
求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。
求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。动态显示管是阴极的,我编的程序是不是哪里进入误区了,能我帮指出来或者求大神编好正确的程序,诚信感谢,赏金不够见谅。 。还有这种原理图位选和段选如何选,好像不同于P2^6和P2^7的位选段... 求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。动态显示管是阴极的,我编的程序是不是哪里进入误区了,能我帮指出来或者求大神编好正确的程序,诚信感谢,赏金不够见谅。 。还有这种原理图位选和段选如何选,好像不同于P2^6和P2^7的位选段选是吗? 展开
2015-10-30 01:47:35 326 1
51单片机 芯片是89C52 实现秒表计时器!急急……
51单片机 芯片是89C52 实现秒表计时器 一到59秒循环 到59秒可实现风铃器发声 可实现中断 按一下可暂停 再按一下 可继续 以下是程序 求每一项的解释注明 因为我看不懂什么意思 很急 #includeunsigned char x,y;sbit H=P3^6;unsigned char D[10]={0xc...
2017-11-26 00:53:59 586 1
用51单片机连接max7219芯片做秒计时器,求帮看下程序
这是我的程序:#include #include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { un... 这是我的程序:#include #include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { unsigned char a,b,c; for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--);}void sendbyte (uchar dat){ uchar i,temp; _nop_(); for (i=0;i<8;i++) { temp=dat&0x80; dat=dat<<1; if(temp) pinDIN=1; else pinDIN=0; pinCLK=0; _nop_(); pinCLK=1; }}void sendword (uchar addr,uchar dat){ pinLOAD=0; _nop_(); sendbyte (addr); _nop_(); sendbyte (dat); _nop_(); pinLOAD=1; delay1000();}void init7219 (void){sendword (0x0c,0x01); sendword (0x0a,0x09);sendword (0x0b,0x03); sendword (0x09,0x00);sendword (0x0f,0x00); }void clear7219(void){ uchar i; for(i=8;i>0;i--) { sendword(i,0x00); }}void main(void){int n=60;int s=0;int g=0;init7219 ();while(1) {clear7219();if(n>0){n=n-1;s=n/10;g=n%10;LEDcode[s];LEDcode[g];}sendword(0x01,LEDcode[1]);sendword(0x02,LEDcode[2]|0x80); sendword(0x03,LEDcode[3]);sendword(0x04,LEDcode[4]);sendword(0x05,LEDcode[5]);sendword(0x06,LEDcode[6]);sendword(0x07,LEDcode[7]);sendword(0x08,LEDcode[8]); }}不知道为什么,数码管上只显示“12.”然后就一直没变化,看下面是由高低电平的变化的,就是数字一直不变,请问是哪里出错? 展开
2017-06-04 10:27:15 380 1
用单片机实现函数信号发生器
输出三中波形(方波,正旋,锯齿)频率可变100HZ,200HZ,500HZ,1K,幅度(1.2.3.5)我要图和程序(C语言的)求那位了!真的很紧急啊我用的芯片是DAC0832和AT89C51... 输出三中波形(方波,正旋,锯齿)频率可变100HZ,200HZ,500HZ,1K,幅度(1.2.3.5) 我要图和程序(C语言的) 求那位了!真的很紧急啊 我用的芯片是DAC0832和AT89C51 展开
2010-07-14 22:45:45 247 4
用单片机对直流电机调速的程序
 
2011-04-22 10:35:59 308 2
计时器c++程序
2017-11-28 03:11:16 204 1
求高人给一个sht71温湿度传感器与AT89C51单片机连接程序能用lcd1602显示.
 
2015-05-03 21:47:59 369 1

9月突出贡献榜

推荐主页

最新话题