*22-11-09 20:17
功能;通过Timer1延时实现led灯的循环闪烁
要求:MPLAB 8.2以上,MEO工程板一块,PIC16-MCD2 仿真下载,
芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,4MXT模式振荡
*/
#include
int main()
{
TRISC = 0x00; //c端口定义为 输出
PORTC = 0x00; //全部熄灭
TMR1CS = 1; //T1CON<1> 将timer1配置位定时器
T1CON = 0xb0; //1011 0000 配置位一次16位对Timer1寄存器进行读写 1:8预分频
TMR1 = 0; //TMR1赋初值 定时器的定时值清零
TMR1ON = 1; // 使能计时器
while (1)
{
for (int i=0; i<8; i++)
{
PORTC = 0x01; //第一个灯亮
PORTC = PORTC>>1; //右移一位
if (TMR1IF == 1) //产生中断,溢出
{
TMR1IF = 0; //清溢出
TMR1 = 0; //TMR1赋初值 定时器的定时值清零
PORTD = 0x00; //全熄灭
}
}
}
}