欢迎来到天天文库
浏览记录
ID:56523984
大小:178.00 KB
页数:17页
时间:2020-06-27
《简易数字频率计程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#includesbitPa=P1^2;sbitPb=P1^3;sbitPc=P1^4;sbitP1_0=P1^0;sbitP1_1=P1^1;sbitP1_5=P1^5;sbitP1_6=P1^6;sbitP1_7=P1^7;sbitP2_3=P2^3;sbitP2_4=P2^4;sbitP2_5=P2^5;sbitP2_6=P2^6;sbitP2_7=P2^7;sbitP3_1=P3^1;sbitP3_5=P3^5;sbitRS=P2^0;sbitRW=P2^1;sbitEN=P2^2;#define
2、ucharunsignedchar#defineuintunsignedintexternucharm[9]={0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe};externucharflag1=0;uintflag2=0;ucharflag3=0;ucharcount2=0;uintcount3=0;/*flag1记录频段划分,flag2用来标识测量是否完成*/ucharcount1=0;/*count1用于记录T0里的脉冲个数*/unsignedlongcount4=0;/**************************************
3、****************//*中断程序初始化*//******************************************************//*T0的初始化,工作模式是方式2,外部计数方式,计数个数是250个*/voidt0init(){TMOD=0x06;TH0=6;TL0=6;ET0=1;EA=1;/*TR0没有开*/}/******************************************************//*T1的初始化工作于定时模式*/voidt1init(){TMOD=0x10;ET1=1;TH1=63436/256;/*定时时间是
4、2.1ms*/TL1=63436%256;EA=1;/*TR1没有开*/count1=0;}/******************************************************//*T2的初始化工作于捕获模式*/voidt2init(){T2CON=0x01;ET2=1;EA=1;TH2=0;TL2=0;/*TR2,EXEN2没有开*/RCAP2H=0;RCAP2L=0;}/******************************************************//*int1的初始化工作于下降沿响应模式*/voidint1init(){EX1=1;
5、EA=1;IT1=1;}/******************************************************//*int0的初始化工作于下降沿响应模式*///voidint0init()//{EX0=1;//EA=1;///IT0=1;//PT0=1;//}/******************************************************//*T2工作于频段2和3,测周,测频,测占空比*//*只是求得测量值*/voidt2cx(){flag2=0;while(P1_1==1);EXEN2=1;while(P1_1==0);TR2=1;/*f
6、lag2判断是否测量完成,不是继续等待*/}/******************************************************//*中断程序*//******************************************************//*T2的中断响应程序*/voidT2xy()interrupt5{EXF2=0;count2=RCAP2L-count2;/*低位*/count3=RCAP2H-count3;/*高位*/flag2+=1;/*完成一次脉冲宽度的测量,如果是测占空比,可以重新再开中断,保留count2,和count3的值后。*/}
7、/******************************************************//*INT0的中断响应程序*/voidint0xy()interrupt0{flag3=1;}/******************************************************//*INT1的中断响应程序*/voidint1xy()interrupt2{cou
此文档下载收益归作者所有