//*******************PIC16F877A 看门狗定时器实验*******************
//
//PORTA,PORTB,PORTC,PORTD,PORTE复位时为输入状态
//PORTA.4(RA4)为开漏输出
//
//WDT运行于独立的内部RC振荡器,即使器件时钟停振,WDT仍正常工作
//PIC16F877A单片机的WDT只能在烧写芯片时通过配置位启动或停止
//WDT基本溢出时间为18ms,由于温度影响,该值在7-33ms之间变化
//WDT和TMR0共用一个预分频器
//PSA=1; //预分频器分配给WDT使用
//PS2 PS1 PS0 WDT
// 0 0 0 1 分频
// 0 0 1 2 分频
// 0 1 0 4 分频
// 0 1 1 8 分频
// 1 0 0 16 分频
// 1 0 1 32 分频
// 1 1 0 64 分频
// 1 1 1 128分频
//
//mcu: PIC16F877A 12MHz
//2010年7月11日8:03:01
//****************************************************************
#include
__CONFIG(HS&WDTEN&LVPDIS&PWRTEN);
//HS振荡,打开看门狗,低压编程关闭,启动延时定时器
//********************函数定义*********************
void delay1ms(uint DelayTime);
//*************** 主程序 ********************
void main(void)
{
PSA=1; //预分频器分配给WDT使用
PS2=1;
PS1=1;
PS0=1; //预分频器128分频
TRISC=0x00; //PORTC口设置为输出
PORTC=0x00;
CLRWDT(); //清看门狗
while(1)
{
PORTC++;
delay1ms(200);
}
}
//***************延时 n*1ms 12MHz***************
void delay1ms(uint DelayTime)
{ uint temp;
for(;DelayTime>0;DelayTime--)
{ for(temp=0;temp<270;temp++)
{;}
}
}
关键字:PIC16F877A 看门狗 定时器
引用地址:
PIC16F877A 看门狗定时器实验
推荐阅读最新更新时间:2024-03-16 15:03
搞定单片机采用6MHz的晶振,定时1ms,用定时器方式0
采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少? 解:∵采用6MHZ晶振 ∴机器周期为2us (213-X)×2×10-6=1×10-3 ∴X=7692(D)=1E0CH=1 1110 0000 1100(B), 化成方式0要求格式为 1111 0000 1100 B 即0F00CH 综上可知:TLX=0CH, THX=0F0H
[单片机]
51单片机-输入捕获
1.捕获高电平时间 我们利用定时器0的计数功能实现捕获外部引脚的高电平时间。定时器在不同用法里有不同称呼,比如我们这次是想得知某段过程持续了多长时间,用定时器的计数方式的话就叫做计数器。 我们这次选用的外部引脚还是P1.6,初始时先让该引脚输出低电平。 我们之前没有说过当TMOD低四位里的第三位GATE为1时是什么作用,这里说明一下,当这个位被置1的话,如果此时有“TR0=1;”,且P3.2必须为高电平的时候,才会触发定时器0的计数(P3.2为低电平时不会触发),也就是TL0每隔(12/11059200)秒就会加1,加到256变为0之后TH0就加1。一直加到65535就会有“TL0=255;”和“TH0=255;”,再加
[单片机]
STM32F10x 学习笔记之基本定时器
大容量的STM32F101xx、STM32F103xx系列和互联型产品中包含了两个基本定时器,TIM6和TIM7。这两个定时器功能非常简单,基本上和SysTick 定时器相当。 但是我在使用的时候确是费了一番周折才调试通过,所以还是应该将这两个定时器的使用方法好好的写一写。 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。简单的说两个定时器是从0计数到N(由自动装载计数器来确定N的具体值),然后复位回0 重新计数。每次复位到0 的时候可以产生对应的中断信号,或者产生DMA 请求,还可以触发DAC 同步电路。不过这次笔记不讨论触发DAC 的问题,等写到DAC 的使用时在讲解如何用这两定时器
[单片机]
MSP430G2553 定时器中断实例
代码 #include MSP430G2553.h void led_init(); void timer0_init(); void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //--配置时钟----- BCSCTL1=CALBC1_1MHZ; DCOCTL=CALDCO_1MHZ; //--LED初始化---- led_init(); //--定时器0初始化---- timer0_init(); //---开中断------ _EINT();
[单片机]
TMS320F28xx DSP中内部Flash的应用研究
1 前言 TMS320F28xx DSP片内有128 K×16 bit字的Flash、两块4 K x16bit字的单周期访问RAM(SARAM)LO和L1、一块8 Kxl6 bit字的单周期访问RAM(SARAM)HO、两块1 Kxl6 bit字的单周期访问RAM(SARAM)M0和M1。由于存储器种类多、容量大,所以从系统的高度来配置各个存储器必须有合适的方法,而这些方法一般都与片内Flash有关。另外,TMS320F28xx DSP片内有看门狗定时器模块(WDT)、引导ROM(ROM bootloader)模块、代码安全模块(CSM),要合理地使用这些模块为整个系统服务,必定也要用到Flash。 由此可以看出,Flash的地
[应用]
STM32F407 定时器四路PWM代码
/********CYSY_Kiti1013***********/ void TIM4_PWM_Init(u16 arr,u16 psc)//PD12 PD13 PD14 PD15 { RCC- APB1ENR|=1 2;//使能TIM4 RCC- AHB1ENR|=1 3;//使能GPIOD GPIO_Set(GPIOD,PIN12,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU); GPIO_Set(GPIOD,PIN13,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU); GPI
[单片机]
如何设计在stm32中的复位电路?
说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类有很多:上电复位、掉电复位、复位引脚复位、看门狗复位、软件复位等。本文探讨的就是在stm32中复位电路如何设计。 STM32介绍 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex®-M0,M0+,M3, M4和M7内核在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。 新系列采用LQFP64、LQFP100和LFBGA
[单片机]
ATmega8熔丝设置
以下内容根据mega8的英文手册翻译,希望对大家有所帮助。如发现错误,恳请大家指正。 mega8熔丝位: 1:未编程(不选中) 0:编程(选中) ******************************** 熔丝位 说明 缺省设置 ******************************** RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6) WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止 SPIEN: SPI下载允许 0 1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项
[单片机]