📄 main.c
字号:
/* TIMER模块例程
HCS908_QG8 单片机开发板
实验介绍:
本程序是TIMER模模块的例程,所用资源为单片机模定时器MTIM,
所接器件为LED灯,其中D2与PTA0,D3与PTA1相连接!
确定你开发板上拨码开关JP4(图片上的9)的1、2位处于on,
而其他位处于远离on!
实验现象:
LED指示灯按照你你所设定的定时器周期闪烁!
author:QGL
any question mail me:)
libing.qu@free-tech.com.cn
*/
/*****************头文件****************************************/
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
/*********************变量和函数定义****************************/
void TIMER_INIT(void);
void MCU_INIT(void);
/*********************主函数************************************/
void main(void) {
MCU_INIT();
TIMER_INIT();
EnableInterrupts; /* enable interrupts */
/* include your code here */
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
/******************定时器中断***************************************/
interrupt 12 void MTIM_ISR(void) {
MTIMSC_TOF=0; // clear TOF
PTAD_PTAD1=~PTAD_PTAD1; // toggle Port
PTAD_PTAD0=~PTAD_PTAD0;
} /**/
/*******************初始化函数****************************************/
void TIMER_INIT(void) {
ICSC2_BDIV = 3;
PTADD_PTADD0 = 1; //PTA0,PTA1设置为输出
PTADD_PTADD1 = 1;
MTIMCLK_PS = 8; //时钟频率/256
MTIMCLK_CLKS = 0; //定时器时钟为总线时钟
MTIMMOD = 252; //设置模数
MTIMSC = 0x60; //使能定时器中断
}
/***************************MCU初始化函数*******************************/
void MCU_INIT(void){
ICSC1=0x04;
ICSC2=0x40;
ICSTRM=0xa8;
SOPT1=0x42;
SOPT2=0x00;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -