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

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

问答社区

51单片机 芯片是89C52 实现秒表计时器!急急……

qwertlrh 2017-11-26 00:53:59 599  浏览
  • 51单片机 芯片是89C52 实现秒表计时器 一到59秒循环 到59秒可实现风铃器发声 可实现中断 按一下可暂停 再按一下 可继续 以下是程序 求每一项的解释注明 因为我看不懂什么意思 很急 #includeunsigned char x,y;sbit H=P3^6;unsigned char D[10]={0xc...

参与评论

全部评论(1条)

  • 豆豆酱999959 2017-11-26 08:34:52
    #include<reg52.h> unsigned char x,y; sbit H=P3^6; unsigned char D[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //用于数字0~9的显示数据表 void delay(unsigned char a){ //延时程序 unsigned char i; while(a--) for(i=115;i>0;i--); } void display(unsigned char x) //显示2位数字 { P2=0x7f; //使能低位数码管 P0=D[x%10]; //显示低位 delay(5); //延时 P2=0xbf; //使能高位数码管 P0=D[x/10]; //显示高位 delay(5); //延时 } void main(){ x=y=0; EA=1; //开总中断 EX0=1; //开外部中断0 IT0=1; //INT0为下降沿中断 ET0=1; //开定时器0中断 TMOD=0X01; //设定T0工作模式 TH0=(65536-50000)/256; //设定T0初值 TL0=(65536-50000)%256; TR0=1; //启动T0 while(1) { display(x); //刷新显示X if(x==59) H=~H; //x=59时,将P3.6取反 } } void int0() interrupt 1 { y++; while(y==20) //Y记满20后x+1 { y=0; x++; if(x==60) x=0; } TH0=(65536-50000)/256; //T0重装装初值 TL0=(65536-50000)%256; } void it0() interrupt 0 using 1 { ET0=~ET0;} //关定时器中断

    赞(8)

    回复(0)

    评论

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

热门问答

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 599 1
关于51单片机 的秒表/时钟计时器设计摘要
秒表/时钟计时器设计 有关的资料 我都要 谢谢各位了
2018-11-16 12:00:04 329 0
windows窗体这个秒表计时器怎么实现
我想让它从0开始变成1,2,3这样
2011-07-11 04:56:41 377 4
51单片机计时器可否分享给我🌝
 
2018-11-25 09:49:24 357 0
用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 393 1
秒表计时器怎么读
秒表计时器怎么读
2011-01-14 05:33:08 583 4
Excel 秒表/计时器
我想在Excel中做一个计时器,请大家帮忙! 注意,不是要他显示当前时间,而是要做了用来计时间。 比如我想知道我做一件事情要多长时间,我在做之前启动秒表,昨晚后看用了多长时间! 请大家帮忙!
2008-11-07 23:03:17 396 2
单片机编程实现0---20秒计时器
 
2016-06-14 17:17:42 923 1
51单片机实现pwm对电机调速
 
2018-07-22 09:03:42 382 3
51单片机同时使用两个计时器的问题
遇到的问题是两个内部计时器同时使用会造成数码管无法正常扫描。 以下面程序为例,下面程序结果数码管(从0开始自加,8位数码管显示后4位)无法正常扫描,请问该如何修改? #include #define uchar unsigned char #define uint unsigned int ... 遇到的问题是两个内部计时器同时使用会造成数码管无法正常扫描。 以下面程序为例,下面程序结果数码管(从0开始自加,8位数码管显示后4位)无法正常扫描,请问该如何修改? #include #define uchar unsigned char #define uint unsigned int #define DATAPORT P0 uchar code NUMBER[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code POSITION[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar TEMP[4]; uint num; sbit duanma=P2^2; sbit weima=P2^3; void display(uchar first,uchar total) { static uchar i; DATAPORT=0xff; weima=1; weima=0; DATAPORT=TEMP[i]; duanma=1; duanma=0; DATAPORT=POSITION[i+first]; weima=1; weima=0; i++; if(i==total) i=0; } void TIMER_ini() { TMOD |=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-2100)/256; TL1=(65536-2100)%256; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; } void main() { TIMER_ini(); while(1) { TEMP[0]=NUMBER[num/1000]; TEMP[1]=NUMBER[num/10]; TEMP[2]=NUMBER[num/10%10]; TEMP[3]=NUMBER[num%10]; } } void TIMER0() interrupt 1 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; num++; if(num>9999) num=0; } void TIMER1() interrupt 3 { TH1=(65536-2100)/256; TL1=(65536-2100)%256; display(4,4); } 展开
2015-08-06 01:21:00 679 3
怎样用51单片机采集555计时器的频率?
 
2012-12-02 03:49:38 351 3
秒表计时器英语怎么写
 
2016-12-16 19:15:43 419 2
跑步秒表计时器怎么关闭
 
2014-11-15 06:16:36 803 2
怎样用VB做一个秒表计时器
两个按钮,一个开始键 一个清零键 ,想要点击开始键以后 开始键变成 结束 文本也改成结束 按清零键后变回开始 还想添加一个开始的键盘快捷键(开始和结束能够公用这个快捷键) 求大神指教
2018-11-28 05:21:49 321 0
风速风向仪怎么和89c52单片机通讯
 
2012-02-17 00:53:22 334 1
基于51单片机函数信号发生器怎么样实现小功率
 
2017-04-25 21:48:31 370 1
C#计时器 比如秒表怎么设计?
 
2013-05-09 21:47:38 458 1
单片机60秒计时器的程序,用AT89C51实现
 
2009-06-03 22:35:17 337 4
51单片机 测速
当感应到磁性的时候 有高电平,没有感应到磁性的时候是低电平,求两次测到高电平之间时间是多少。 C语言程序怎么写?用霍尔传感器或者是磁性开关
2014-03-20 07:21:32 330 3
89C52单片机与流量传感器连接电路图???? 谢谢
 
2018-11-30 11:09:51 358 0

5月突出贡献榜

推荐主页

最新话题