利用CCP模块设计频率计

第10章 利用CCP模块设计频率计10.5 程序设计10.5.4 程序清单#include <pic.h>#include <stdio.h>#include <math.h>//本程序利

10CCP 第章利用模块设计频率计 10.5程序设计 10.5.4 程序清单 #include&lt;pic.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; //CCP1“” 本程序利用模块实现一个简易数字频率计的功能 constchartable[11]={0xc00xf90xa40xb00x990x920x820XD80x800x90 ,,,,,,,,,, 0xFF} ; // 不带小数点的显示段码表 constchartable0[11]={0X400X790X240X300X190X120X020X780X00 ,,,,,,,,, 0X100xFF} ,; // 带小数点的显示段码表 bank3intcp1z[11]// ;定义一个数组,用于存放各次的捕捉值 unioncp1 {inty1 ; unsignedcharcp1e[2] ; }cp1u// ;定义一个共用体 unsignedcharCOUNTWCOUNT// ,;测量脉冲个数寄存器 unsignedcharCOUNTERdatak ,,; unsignedcharFLAG@0XEF ; #defineFLAGIT(adrbit)((unsigned)(&amp;adr)*8+(bit))// ,绝对寻址位操作指令 staticbitFLAG1@FLAGIT(FLAG0) ,; staticbitFLAG2@FLAGIT(FLAG1) ,; staticbitFLAG3@FLAGIT(FLAG2) ,; unsignedchars[4]// ;定义一个显示缓冲数组 intT5uo ,; doubleRE5 ; doublepuad5 ; //spi 方式显示初始化子程序 voidSPIINIT() { PIR1=0 ; SSPCON=0x30 ; SSPSTAT=0xC0 ; //SPISSP"74HC595 设置的控制方式,允许方式,并且时钟下降沿发送,与,当其

腾讯文库利用CCP模块设计频率计