作业帮 > 综合 > 作业

单片机求助,不用溢出不用中断,普通IO口 测量矩形波的周期?C语音写的

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/23 04:03:53
单片机求助,不用溢出不用中断,普通IO口 测量矩形波的周期?C语音写的
pic12c508A没有中断 溢出没有标志位
单片机求助,不用溢出不用中断,普通IO口 测量矩形波的周期?C语音写的
没有定时器中断,只能在主程序中循环查询定时器的值,一旦检测到矩形波有低电平(或高电平)时,就读出TMR0的值,就知道方波周期了.
以下例程供参考,自己再稍作修改.
#include
__CONFIG(0x0ffa);
unsigned char timer ;// 计定时器值
//PIC12F508硬件配置字,看门狗关,内部RC振荡,GO0/GP1做I/O,不加密,MCLR脚做复位
//
void init()
{
TRIS=0X04; //设置GP2口为输入,检测方波电平
OPTION=0X07; //TMR0使用主频256分频,即时基为1us*256=256us
// 将预分频器分配给Timer0
GPIO=0; //初始化所有输出端口低电平
}
//--------------------------------
//主函数
void main()
{
init(); //初始化端口及定时器
GP0=1; // GP0为高电平,可控硅导通
while(1)
{
if(GP2==0)
timer=TMR0 //得到周期
}
}