智能车制作
标题:
PIT周期中断问题
[打印本页]
作者:
ccsshu
时间:
2013-1-23 16:07
标题:
PIT周期中断问题
求高手们看下这个程序。我是想实现通过按键调节闪烁灯的闪烁时间(跟PIT周期中断有关)。它提示的错误时说在 ‘ PITMTLD0 = 0x08; //8位定时器0初值’ 这里,PITMTLD0的格式跟其他的不一样。现在有点急,麻烦各位啦。
/*---------------------------------------------------------*/
#include <hidef.h>
#include "derivative.h"
#define LED_D1 PORTB //定义LED灯的引脚
#define LED_D1_dir DDRB //定义LED灯对应引脚的方向寄存器
#define UP PTIH_PTIH0 //
#define UP_dir DDRH_DDRH0 //
unsigned char i;
unsigned int count; //定义一个正整型变量,用于计数
void PIT_init(void) //定时器初始化函数
{
PITCFLMT = 0x00; //禁止PIT模块
PITCE_PCE0 = 1; //使能定时器通道0 //负责控制信号的输入和输出叫做使能
PITMUX_PMUX0 = 0; //定时器通道0使用8位定时器0加16位定时器0
}
void init_key(void) //
{
UP_dir =0; //设置为输入
PPSH = 0x00; //极性选择寄存器,选择下降沿;
PIFH = 0x0f; //对PIFH的每一位写1来清除标志位;
PIEH = 0x0f; //中断使能寄存器;
}
/************************************************************/
//注意:请在这里修改你需要定时的周期时间
/************************************************************/
PITMTLD0 = 0x08; //8位定时器0初值
PITLD0 = 0x03f7; //16位定时器0初值
//定时周期 = (PITMTLD0 + 1)*(PITLD0 + 1)/ 总线时钟
//定时周期 = (0x07 + 1)*(0x03E7 + 1)/ 8M = 1ms
////////////////////////////////////////////////////////////////
PITINTE = 0x01; //开PIT定时器中断(通道0)
PITCFLMT = 0x80; //使能PIT模块 //PITCFLMT = 0x00; 禁止PIT模块
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt 66 void PIT_time0(void) //VectorNumber_Vpit0 1ms定时中断
{
PITTF_PTF0 = 1; //中断标志清0
if(up==0)
{
count++; //每毫秒中断一次 计数器count加一
}
if(count==500) //500ms=0.5秒
{
count=0; //清零
i = ~i; // i取反一次
}
}
void main(void)
{
init_key(); //
PIT_init(); //初始化定时器
LED_D1_dir = 1;
EnableInterrupts;
for(;;)
{
LED_D1 = i;
}
}
作者:
穆旦阿斗
时间:
2013-1-23 17:12
亲 你这只有一个大括号啊
************************************************************/
//注意:请在这里修改你需要定时的周期时间
/************************************************************/
PITMTLD0 = 0x08; //8位定时器0初值
PITLD0 = 0x03f7; //16位定时器0初值
//定时周期 = (PITMTLD0 + 1)*(PITLD0 + 1)/ 总线时钟
//定时周期 = (0x07 + 1)*(0x03E7 + 1)/ 8M = 1ms
////////////////////////////////////////////////////////////////
PITINTE = 0x01; //开PIT定时器中断(通道0)
PITCFLMT = 0x80; //使能PIT模块 //PITCFLMT = 0x00; 禁止PIT模块
}
作者:
穆旦阿斗
时间:
2013-1-23 17:12
穆旦阿斗 发表于 2013-1-23 17:12
亲 你这只有一个大括号啊
************************************************************/
左括号似乎没有啊
作者:
ccsshu
时间:
2013-1-23 22:45
谢谢,但改了好像也有错误啊
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2