51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序。谢谢了

51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序。谢谢了 。万分感谢。。。

2个回答

具体的哪个单片机?代码需要整个写好么?

qq_30471521
qq_30471521 stc89c52 整个写好的话真是感激不尽。。劳烦注释一下下,新手看不太懂。。。
大约 4 年之前 回复
qq_30471521
qq_30471521 为什么复制不了
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
51单片机定时器C语言程序
基于51单片机的定时器C语言程序
两个时间间隔的计算问题!
怎么计算相差多少分钟呢?rn如果第一个时间是22:30 第二个是23:15rn这个还好算,就是 (23*60+15)-(22*60+30)=45rnrn如果rn第一个时间是 2006年 5月15日 23:30rn第二个时间是 2006年 5月16日 01:00rn应该怎么算呢?rn
51单片机复习:外部中断,定时器/计数器中断
中断: 什么是中断,就是打断,你一开始在做一件事,突然意外发生(中断源),你不得不停止手中的事,(中断响应),去处理那 件意外(中断服务),处理完意外后你继续做刚才那件事(中断返回),这就是中断,而单片机中的中断也是如此, 单片机中有五个中断源,两个优先级...
外部中断与定时器中断——T2定时器
问题描述:若系统时钟频率为12MHz,编写软件实现:按一下K键,产生一次外部中断1中断信号,启动T2定时,使P1.1输出周期为2秒的方波。 解决方案:假设方波信号的占空比为50%,时钟频率为12MHZ,则机器周期为1us,那么选用T2定时,采用工作方式1,2^16=65536us<1s, 采取定时10ms,中断100次,形成1s时间。T2计算初值X=65536-10000=55536=D8F0。采用
Arduino 定时器中断 外部中断
中断(Interrupt) 中断(Interrupt)是计算机的一个重要概念,现代计算机普遍采用中断技术. 什么是中断呢? CPU执行时原本是按照程序指令一条一条向下执行的.但如果此时发生了某一件事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来被中断的地方继续执行程序(中断返回),这一过程成...
51单片机外部中断+串行口中断
新搭了一个系统,用线激光进行实时三维重建,从而测量物体最小包围盒,本科专业自动化,想做的省事一点,不用每次都判断位置开始拍照,所以加了两个接近开关,当步进电机向某一方向运行时,利用两个传感器确定需要拍照的时刻,同时通过串行口向电脑发送一个字符,电脑收到这个字符开始拍照。今天先把keil端的程序弄上来,有时间再把串口通信的程序写一写。程序已经通过运行,如图所示:利用串口调试工具试了一下完全可以,程序...
51单片机的定时器和外部中断的程序
51单片机的定时器和外部中断的程序,可移植性强
外部中断与定时器中断实验
已知单片机晶振频率为12MHZ,自行选取定时/计数器,定时/计数器工作方式自选,编写程序,使P1.7端输出周期为0.5ms方波。解题思路: 假设方波信号的占空比为50%,已知条件可以得,机器周期为1us,所以决定采用T0定时,工作方式0,已知输出周期为0.5ms,则每定时0.125ms计数使P1.7输出求反。计算的次数为0.25/1us=250次。 则计数初值:X=8192-250=79
C语言:计算两个时间的时间间隔
C语言实验题――时间间隔 描述 从键盘输入两个时间点(同一天,24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。 输入 输入包括两行。 第一行为时间点1。 第二行为时间点2。 输出 以“小时:分钟:秒”的格式输出时间间隔。 格式参看输入输出。 样例输入 样例输出 #include&amp;lt;stdio.h&amp;gt; typedef struct Time...
(Python)计算两个日期时间的时间间隔
test.py: # -*- coding: utf-8 -*- import datetime date1 = '2018-11-26 09:30:45' date2 = '16/Nov/2018:08:44:34' # 定义的日期格式需与当前时间格式一致 d1 = datetime.datetime.strptime(date1, '%Y-%m-%d %H:%M:%S') d2 ...
怎样计算两个时间间隔天数
怎样计算两个时间间隔天数
如何计算两个日期的时间间隔???
asp里有DateDiff函数做这个事情,但asp.net却没有,怎么办?
两个问题,谢谢了!!!
1、怎么把日期里的数据字转化为大写的,比如“2004年02月11日”,日期里的数据字是用户输入的,怎么转化过来呢?rnrn2、QRLabel这个控件,当一行显示不完时怎么让它自动换行呢,好像不行啊,Label这个就可以。
java 计算两个时间间隔一天
这两天用到了一个计算时间间隔的,已给定时间格式的代码段。还是决定把他写下来,以后陆续的将之前用过的进行记录吧,以后更方便自己用一些 话不多说,直接上代码 /**  * 计算两个时间相差的分钟数  * @param timeEarly 传入格式须为:yyyy/mm/dd HH:mm  * @param timeLate 传入格式须为:yyyy/mm/dd HH:mm  *
关于计算两个时间间隔问题
今天需求要计算两个时间间隔,本以为很简单的使用Date.getTime()方法再相减再转化就可以,然而在测试的时候发现SimpleDateFormat.pase的时候去12:00:00gettime得到的是负的毫秒数,最后发现是SimpleDateFormat初始化的时候yyyy/MM/dd hh:mm:ss的hh应该改为HH表示24小时制,特此记录。
求两个C语言程序
第一个rn1.利用指向一维数组的指针作为函数参数具体实现:rn(1)求数组最大元素及其所在位置。函数首部为:void fun_max(int * x, int * max, int *p,int n),其中x为指向数组的指针,max为指向最大元素的指针,p为指向最大元素位置的指针,n为数组元素的长度。rn(2)利用选择排序对数组元素按照从小到大排序。rn第二个rn 写四个函数,要求利用指针实现字符串的复制、连接、比较和求字符串的长度。rn函数首部分别为:void str_copy(char *str1 ,char *str2)rnvoid str_cat(char *str1 ,char *str2)rnvoid str_cmp(char *str1 ,char *str2)rnint str_len(char *str1 ,char *str2)rn要调试好的谢谢大神
外部中断参考C语言程序
这是一些外部中断的参考程序,用得是C语言书写,而不是汇编语言,写得很详细,可以多多参考。
外部中断和定时器中断同时的问题
我在外部中断做的是红外遥控处理,P3^2口进入,下降沿触发,里面还有一个timer0,显示用12864,已经成功,可以显示123456789,我用定时器做的是一个小游戏俄罗斯方块一步步下移的定时,用矩阵键盘控制上下移动,rn部分程序如下,高手解决下,谢谢rnrnrnrnrnrnvoid time0() interrupt 5定是器中断rn TF2=0;清除溢出标志rn t++;rn if(t==(50-5guan1)t100tquick)rn rn t=0;rn flagtime=1;rn rnvoid exter0() interrupt 0//外部中断0服务函数rnrn EX0=0; //关闭外中断0,不再接收二次红外信号的中断,只解码当前红外信号rn TH0=0; //定时器T0的高8位清0rn TL0=0; //定时器T0的低8位清0rn TR0=1; //开启定时器T0 rn while(IR==0); //如果是低电平就等待,给引导码低电平计时rn TR0=0; //关闭定时器T0 rn LowTime=TH0*256+TL0; //保存低电平时间rn TH0=0; //定时器T0的高8位清0rn TL0=0; //定时器T0的低8位清0rn TR0=1; //开启定时器T0rn while(IR==1); //如果是高电平就等待,给引导码高电平计时rn TR0=0; //关闭定时器T0rn HighTime=TH0*256+TL0; //保存引导码的高电平长度rn if((LowTime>3600)&&(LowTime<4700)&&(HighTime>3600)&&(HighTime<4700))rn rn //如果是引导码,就开始解码,否则放弃,引导码的低电平计时rn //次数=9000us/1.085=8294, 判断区间:8300-500=7800,8300+500=8800.rn if(DeCode()==1) // 执行遥控解码功能rn rn redex();rn rn rn EX0=1; //开启外中断EX0rnrnvoid time0() interrupt 5//定是器中断rn TF2=0;//清除溢出标志rn t++;rn if(t==(50-5*guan1)||t>100||t>quick)rn rn t=0;rn flagtime=1;rn rn主程序是rn EA = 1; //开总中断rn EX0 = 1; //使能外部中断rn ET0=1; //开中断rn IT0 = 1; //指定外部中断0下降沿触发,INT0 (P3.2)rn TMOD=0x01;//定时器0工作方式2,TH0是重装值,TL0是初值rn TR0=0; rn PT2=1;rn PT0=0;rnrnrnrnrn我想让我的timer2一直运行,而不被外部中断0影响,我就设置了PT2=1;高优先级,但程序的timer2不能正常运行,timer2的工作方式为自动重装,迷惑中,或者别的方法。 rn
外部中断与定时器中断实验(修改)
问题描述:如果系统时钟频率为12MHZ,请编写汇编语言和C语言实现:按一下K键,产生一次外部中断0中断信号,启动T1定时,使P1^7输出周期为2S的方波 解决方案:因为时钟频率为12MHZ,则一个机器周期为1us,那么选用T1定时,采取工作方式1,2^16=65536us<1s,采取定时10ms,中断100次,形成1s时间,T1计算初值X=65536-10000=55536=D8F0。 采用R7工
S3C6410裸机外部中断+定时器中断
完全裸机操作,采用定时器0和外部中断控制LED闪烁,开发板采用OK6410
51单片机详细教程 串口通信 定时器 外部中断
刚开始学51的同学,这是一份好礼,里面详细讲了51各个模块的细节,串口通信,定时中断等,绝对是一份好资料
51单片机C语言程序(二)定时/计数器 中断
51单片机C语言程序(二)定时/计数器 中断
外部中断中使用定时器中断---中断电子钟
在进入外部中断后,在中断程序中是否还可以调用定时器中断,我打算在外部中断后用定时器做一个电子钟的,可是 ,做了就是不走字,很纠结啊 ,跟中断优先级有关系吗,还是中断嵌套的问题,是在不行的话 估计得使用goto语句强制返回到main() 中的时钟函数了,但是这样一来就降低了程序的可读性,各位大侠能不能给指点指点[code]#includern#includern#define uchar unsigned charrn#define uint unsigned intrnsbit K1=P3^3;rnsbit wei0=P2^0;rnsbit wei1=P2^1;rnsbit wei2=P2^2;rnsbit wei3=P2^3;rnsbit wei4=P2^4; //位选rnuchar code disp[]=0x48,0x40,0x12,0x06,0x78,0x06,0x2b,0x21,0x23,0x47,0x40,0x08,0x21,0xff;rnuchar code tdisp[]=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e;rnvolatile uint cs,m_v,h_v;//主程序与中断子程序共用变量 volatile关键字声明rnuint a,b,c,d,n,z;rnvoid cdisp(uint th,uint tm);rnvoid delay(unsigned int z);rnvoid v_time_go();rnvoid main()rnrn TMOD=0x11;//工作方式为 T0 工作rn TH0=(65536-55000)/256; //为高位赋初值rn TL0=(65536-55000)%256; rn EA=1;//全中断开rn ET0=1; //允许T0定时中断rn TR0=1;rn cs=1200;rn EX1=1;rn IT1=0;rnrnrnrnvoid ding() interrupt 1rnrn TH0=(65536-55000)/256;rn TL0=(65536-55000)%256;rn rn rn cs--;rn if(!cs)rn rn cs=1200;rn rn rnrnrn rnrnrnvoid delay(unsigned int z)rnrn unsigned int j;rn for(;z>0;z--)rn rn for(j=0;j<100;j++)rn ;rn rnrnrnvoid wuxian() interrupt 2 //P3.3 无线中断后 电子钟rn cs=1200;rnh_v=12;rnm_v=0;rnrn while(1)rn rnrnrnrn v_time_go();rn rnrn rn rnrnrnrnvoid v_time_go()rnrn rn rn if(!cs)rn rn cs=1200;rn if(m_v>59)rn rn m_v=0;rn h_v++;rn rn elsern rn m_v++;rn rn rn if(h_v>23)rn rn h_v=0;rnrn rn elsern rn h_v++;rn rn rnrn rn rn cdisp(h_v,m_v);rnrnrnvoid cdisp(uint th,uint tm) //rn rn rn rn a=th/10;rn b=th%10;rn c=tm/10;rn d=tm%10;rnrn P1=0xff;rn n=cs/20;rn rn if(((n%2)==0)&&((cs%20)>=0)&&((cs%20)<=19))rn rn rn wei0=0;rn P1=tdisp[a];rn delay(1);rn P1=0xff;rn wei0=1;rn wei1=0;rn P1=tdisp;rn delay(1);rn P1=0xff;rn wei1=1;rn wei2=1;rn rn rn rn rn rn delay(2);rn P1=0xff;rn wei3=0;rn P1=tdisp[c];rn delay(1);rn P1=0xff;rn wei3=1;rn wei4=0;rn P1=tdisp[d];rn delay(1);rn P1=0xff;rn wei4=1;rn rn elsern rn wei0=0;rn P1=tdisp[a];rn delay(1);rn P1=0xff;rn wei0=1;rn wei1=0;rn P1=tdisp;rn delay(1);rn P1=0xff;rn wei1=1;rn wei2=0;rn P1=0x3f;rn delay(1);rn P1=0xff;rn wei2=1;rn wei3=0;rn P1=tdisp[c];rn delay(1);rn P1=0xff;rn wei3=1;rn wei4=0;rn P1=tdisp[d];rn delay(1);rn P1=0xff;rn wei4=1;rn rn[/code]rn
开了两个定时器,时间间隔一样,都是两秒
如果一个放sound文件,一个鸣喇叭,曲调一样,效果会怎样?rnrn会不会很优美:)
51单片机中定时器中断
能显示时、分、秒的电子钟程序: 用定时器0作为定时时标,控制定时器中断计时。 设定时器的溢出时间周期T=100毫秒,即每经过100毫秒产生一次中断请求。 设定时器0为工作模式1。
51单片机 内部定时器中断
想实现一个计数器,到某个时间点的时候蜂鸣器发声,LED开启流水灯,但是这个只是蜂鸣器可以,流水灯并不亮rn求指教[code=csharp]#include rn#includern#define uchar unsigned charrn#define led P2rnuchar code TAB[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,rn 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;rnrnuchar DAT[]=0,0,0,0;rnuchar MIN=0,SECOND=0;rnuchar t;rnuchar i=0; //定义计数rnrnsbit LSA=P2^2; //138译码器的ABC管脚rnsbit LSB=P2^3;rnsbit LSC=P2^4;rnsbit BUZZER=P1^5; //蜂鸣器P1.5管脚rn //LED为P2口rnrnvoid delay(int n); //延时子程序说明rnvoid sound(); // 蜂鸣器子程序说明rnvoid light(); //流水灯子程序 说明rn rn/*-----------------------------------------------------------------------------------*/rnvoid main() //主函数rnrn EA=1; //初始化设置rn ET0=1;rn TMOD=0x01;rn TH0=-50000/256;rn TL0=-50000%256;rn TR0=1;rnrn/*-----------------------------------------------------------------------------------*/rn EX0=1; //初始化中断rn EX1=1;rn IT0=1;rn IT1=1;rn rnrn/*-----------------------------------------------------------------------------------*/rn while(1) //一直循环rn rn rn for(t=0;t<=3;t++)rn rn switch(t) //位选,选择点亮的数码管,rn rn rn case(3):rn LSA=0;LSB=0;LSC=1; break;//显示第4位rn case(2):rn LSA=1;LSB=0;LSC=1; break;//显示第5位rn case(1):rn LSA=0;LSB=1;LSC=1; break;//显示第6位rn case(0):rn LSA=1;LSB=1;LSC=1; break;//显示第7位 rn rn P0=TAB[DAT[t]]; //查表送到P0口rn delay(250); //每一位延时一会rn // P0=0x00; //消隐rn rn rnrn/*-----------------------------------------------------------------------------------*/rn void intserv1 (void) interrupt 1 using 1 //定时计数器T0中断服务子程序rn rn TH0=-50000/256;rn TL0=-50000%256;rn i++;rn if(i==20)rn i=0;rn SECOND++;rn if(SECOND==60)rn MIN++;rn SECOND=0;rn if(MIN==60)rn MIN=0;rn rn rnrn rn// DAT[0]=MIN/10; //能放在for的外面吗? 可以!rn// DAT[1]=MIN%10;rn// DAT[2]=SECOND/10;rn// DAT[3]=SECOND%10;rn rn if(MIN==0&&SECOND==11) //5MIN到了 蜂鸣器叫 流水灯发光rn MIN=0;rn SECOND=11;rn sound(); //蜂鸣器发声函数rn light(); //流水灯函数rn TR0=0; //关定时器rn rn rn DAT[0]=MIN/10; //能放在for的外面吗?rn DAT[1]=MIN%10;rn DAT[2]=SECOND/10;rn DAT[3]=SECOND%10;rn rn/*-----------------------------------------------------------------------------------*/rnvoid intserv2 (void) interrupt 0 using 1 //int0中断rnMIN++;rn if(MIN==60)rn MIN=0;rn DAT[0]=MIN/10; rn DAT[1]=MIN%10;rn rn/*-----------------------------------------------------------------------------------*/rnvoid intserv3 (void) interrupt 2 using 1 //int1中断rn SECOND++;rn if(SECOND==60)rn MIN++;rn SECOND=0;rn DAT[2]=SECOND/10;rn DAT[3]=SECOND%10;rn rn/*-----------------------------------------------------------------------------------*/rnvoid delay(int n) //延时程序rnrn int i;rn for(i=0;i<=n;i++);rnrn/*-----------------------------------------------------------------------------------*/rnvoid sound() //蜂鸣器子程序rnrn uchar i;rn while(1)rn BUZZER=1;rn for(i=0;i<=20;i++);rn BUZZER=~BUZZER;rn for(i=0;i<=20;i++);rn rn rn /*-----------------------------------------------------------------------------------*/rnvoid light() //流水灯子程序rn uchar i;rn rn led=0xfe;rn delay(300);rn while(1)rn rn for(i=0;i<7;i++)rn rn led=_crol_(led,1);rn delay(300);rn rn led=0xfe;rn delay(300);rn rnrnrnrnrnrn rnrnrn[/code]
51单片机定时器中断例程
51单片机定时器中断例程,对初学者很有帮助
51单片机_定时器_中断.
51单片机_定时器_中断,一个非常好的课件
51单片机定时器中断模板
#include<reg52.h> //包括一个52标准内核的头文件 sbit P10 = P1^0; //要控制的LED灯 sbit K1= P3^2; //按键K1 //用定时器中断闪烁LED void main(void) //主程序 { TMOD=0x01; //定时器0,16位工作方式 TR0=1; //启动定时器 ET0=1; //打开定时器0中断 EA=1; //打开总中断 while(1) //程序循环 { ; //主程序在这里就不断自循环,实际应用中,这里是做主要工作 } } //定时器0中断 timer0() interrupt 1 // 定时器0中断是1号 { TH0=0x00; //写入定时器0初始值0x0005 TL0=0x06; P10=~P10; //反转LED灯的亮和灭 }
51单片机汇编语言:定时器与中断
P2.0~P2.2 分别接上了独立按键 K0、K1、K2。P1 接上了 8 个 LED,输出低电平时发光。要求:按下 K1 键,P1.7 输出周期为 1s 的方波;按下 K2 键,P1 输出循环流水灯,每 2 个灯亮 0.5s;按下 K0 键,停止方波和流水灯的输出。题目链接:http://zhidao.baidu.com/question/1174144495181691139.html做而论道
51单片机的定时器与中断
一、中断及定时器工作原理 1、中断概念: 1>CPU处理事件A发生事件B进行处理(中断产生) 2>CPU暂时中断当前工作,转去处理事件B(中断响应与中断服务) 3>待CPU处理完B,再回来处理事件A(中断返回) 4>51不支持中断嵌套 图释: 注意:中断服务不超过20行,尽量简短,不要进行复杂的比较,延时运算!可以进行简单比较,标志位,赋值的处理 保存主程序
51单片机定时器与中断问题
程序功能模拟雷达发送接收,主单片机定期发出一个信号,从机收到信号后经过固定时间返回一个信号。现在遇到的问题是主单片机发送信号的周期不固定,导致从机返回信号也是混乱的。rnrn主单片机程序如下:rnrn主程序:rn[code=c]rnrn#include rn#includernrn/******显示部分******/rnextern unsigned char DisBuf[6];rnextern void Display(void);rn/*******************/rnrntypedef unsigned char uchar;rntypedef unsigned int uint;rnrnsbit Sd_wave = P1^0;rnsbit P1_2 = P1^2;rnvoid Init(void);rnvoid Send(void);rnvoid StartTimer(void);rnvoid Delay_ms(uint Time);rnrnvoid main()rnrn Init();rnrn while (1)rn rn Send(); //发送信号rn StartTimer();//开始定时rn Delay_ms(5); //延时时间大于定时时长rn rn Display();rn rnrnrnvoid Init(void)rnrnrn //初始化定时器rn TMOD = TMOD | 0x10;rn rn TH1 = 0;rn TL1 = 0;rn rn ET1 = 1;rn rn //初始化INT1rn IT1 = 1;rn EX1 = 1;rnrn EA = 1;rn rn rnrnrnvoid Send(void)rnrn Sd_wave = 0;rn _nop_(); rn _nop_();rn _nop_();rn _nop_(); rn _nop_(); rn _nop_();rn _nop_();rn _nop_();rn _nop_(); rn _nop_();rn _nop_();rn _nop_();rn Sd_wave = 1;rnrnrnvoid StartTimer(void)rnrn TH1 = 0;rn TL1 = 0;rn TR1 = 1;rnrnrnvoid Delay_ms(uint Time)rnrnrn uint i,j;rnrn for (i = 0; i < Time; i++)rn for (j = 0; j < 1000; j++);rnrn TR1 = 0;rnrnrnvoid WaveReceive() interrupt 2rnrn //显示定时器时间rnrn //显示高位的两个数 和 低位的两个数rn rn TR1 = 0; //这里必须把定时器关掉,不然会出现误差rnrnrn DisBuf[0] = TH1 / 100;rn TH1 = TH1 % 100;rn DisBuf[1] = TH1 / 10;rn DisBuf[2] = TH1 % 10;rnrn DisBuf[3] = TL1 / 100;rn TL1 = TL1 % 100;rn DisBuf[4] = TL1 / 10;rn DisBuf[5] = TL1 % 10;rn rnrnrnvoid TimeUp(void) interrupt 3rnrn //关闭定时器rn rn TR1 = 0; rnrn[/code]rnrnDisplay.c 显示部分没有问题rn[code=c]rn#include //51单片机的头文件 rnrnunsigned char DisBuf[6]; //定义显存空间为4个字节,显示时将对应的显存空间中的数送到对应数码管显示 rnrn/*定义数码管段码数组 */rncode unsigned char LedCode[] = 0x3f, 0x06, 0x5b, 0x4f, rn 0x66, 0x6d, 0x7d, 0x07,rn 0x7f, 0x6f, 0x77, 0x7c,rn 0x39, 0x5e, 0x79, 0x71;rnrn/*定义数码管位选数组 */rncode unsigned char LedSeg[] = 0xfe, 0xfd, 0xfb, 0xf7,0xef,0xdf,0xbf,0x7f;rnrn/***************************************************************rn函数名称:Delayrn函数功能:实现一个短暂的延时 rn入口参数:无 rn出口参数:无 rn***************************************************************/rnvoid Delay (void)rnrn unsigned int time;rn for (time=0; time<500; time++);rnrnrn/***************************************************************rn函数名称:Displayrn函数功能:主程序 rn入口参数:无 rn出口参数:无 rn***************************************************************/rnvoid Display (void)rnrn unsigned char i;rnrn for (i=0; i<6; i++)rn rn P0 = LedCode[DisBuf[i]]; //送段码 (要显示的数字为“1234”) rn P2 = LedSeg[i]; //送位选 rn Delay(); //延时 rn P2 = 0xff; //消隐 (消隐就是将所有数码管都关闭) rn rn[/code]rnrn从机程序rnrn[code=c]#includern#includernrnsbit SEND = P1^0;rnrnvoid Init(void);rnrnvoid main()rnrn Init();rnrn while(1);rnrnrnvoid Init()rnrn //打开外部中断0rn IT0 = 1;rn EX0 = 1;rn EA = 1;rnrnvoid Delay_us(unsigned int Time)rnrn unsigned int i;rn for (i = 0; i < Time; i++);rnrnvoid Receive(void) interrupt 0rnrn rn Delay_us(0x1262); //这里控制具体的延时时间rnrn SEND = 0;rn _nop_(); rn _nop_();rn _nop_();rn _nop_(); rn _nop_(); rn _nop_();rn _nop_();rn _nop_();rn _nop_(); rn _nop_();rn _nop_();rn SEND = 1;rn rnrn[/code]rnrn仿真图例rn[img=http://img.my.csdn.net/uploads/201212/16/1355624659_4751.png][/img]rnrn我测试过用定时器方式和用for语句延时地效果基本一致。rn各位大侠帮忙看看,问题出在何处。rn
51单片机定时器0中断时执行外部中断0
代码如下: void TimeConf(void) { TMOD=0x01;//打开定时器模式并选择方式2 TL0=TH0=0x00;//设置初值 TR0=1;//打开定时器0 } void intConf(void)//中断初始化 { EA=1; EX0=1; ET0=1; } void inte() interrupt 0 { GPIO_LED=
51单片机定时器中断程序(C语言)
51单片机定时器中断程序(C语言)TH0=(65536-初值)%256; TL0=(65536-初值)/256;
VC 计算两个时间点的时间间隔.rar
VC 计算两个时间点的时间间隔,附代码下载,部分代码如下:   CTime m_time1=CTime::GetCurrentTime();//获取当前时间   m_strTime=m_time1.Format("%Y年%m月%d日 %H时%M分%S秒");   CTime m_time2(2010,1,1,0,0,0);//2010年元旦   CTimeSpan m_timespan=m_time2-m_time1;//获取时间间隔   m_Days=m_timespan.GetDays();//天数   m_Hours=m_timespan.GetHours();//小时数   m_Minutes=m_timespan.GetMinutes();//分钟数   m_Seconds=m_timespan.GetSeconds();//秒数   m_TotalHours=m_timespan.GetTotalHours();//合计小时数   m_TotalMinutes=m_timespan.GetTotalMinutes();//合计分钟数   UpdateData(false);   CDialog::OnTimer(nIDEvent);
VC中计算两个时间点的时间间隔
VC与C++开发基础\计算两个时间点的时间间隔
如何计算两个datetime的时间间隔(精确到秒)?
我用的是PowerBuilder 10.0,要求计算出两个datetime的时间间隔(精确到秒),如rn2007-12-20 17:00:00和2007-12-21 20:05:30的计算结果为27:05:30(小时:分钟:秒),其中小时可以超出两位,最多不会超过150小时.rnrn我曾经用secondafter做过,但是超出一天就不行了。请问如何才能够算出两者的时间间隔,谢谢。rnrn
mysql计算两个时间字符串的时间间隔
mysql计算两个时间字符串的时间间隔 解决方法: 1.时间间隔(时),使用TIMESTAMPDIFF:http://www.yayihouse.com/yayishuwu/chapter/1841
sql 计算两个时间间隔了几个工作日
我现有三张表分别是:[color=#FF0000][数据表]、[节假日]、[调休日][/color]rnrn表结构分别为:rnrn[color=#FF0000][数据表][/color]rnRequestDate CompletionDatern2013-04-26 2013-05-06rn2013-04-12 2013-04-15rnrn[color=#FF0000][节假日][/color]rnrnHoliday Descriptionrn2013-04-04 清明节rn2013-04-05 清明节rn2013-04-06 清明节rn2013-04-29 劳动节rn2013-04-30 劳动节rn2013-05-01 劳动节rn2013-06-10 端午节rn2013-06-11 端午节rn2013-06-12 端午节rnrn[color=#FF0000][调休日][/color]rnrnWorking days Descriptionrn2013-01-05 元旦调休rn2013-01-06 元旦调休rn2013-02-16 春节调休rn2013-02-17 春节调休rn2013-04-07 清明节调休rn2013-04-27 劳动节调休rn2013-04-28 劳动节调休rn2013-06-08 端午节调休rn2013-06-09 端午节调休rn2013-09-22 中秋节调休rn2013-09-29 国庆节调休rn2013-10-12 国庆节调休rnrn现在我要计算[数据表]中CompletionDate和RequestDate的间隔天数rn要求是跳过“节假日表中的日期”并且跳过“双休日的天数”,但是要加回“调休日表中的天数”rn根据这个逻辑最终结果如下:rnrnRequestDate CompletionDate 天数rn2013-04-26 2013-05-06 5rn2013-04-12 2013-04-15 1rnrn请问这个sql如何写呢?因为数据库用的是access,所以最好是用纯sql,不要用function.谢谢啦。
php 傻瓜式代码计算两个时间间隔
$stamp = (strtotime($_POST['start'])-strtotime($_POST['end'])); $s = $stamp%60; //秒 $m_stamp= ($stamp-$s)/60; $m = $m_stamp%60; //分 $h_stamp=($m_stamp-$m)/60; $h= $h_stamp%24; $d = ($h_stamp-$h)/24; e
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview