- 60
- 0
- 约1.1千字
- 约 2页
- 2021-02-27 发布于山东
- 举报
定时器功能很多,我们现在先做个简单的实验,即
0.5s 定时,使四个 led 循环点亮。
代码如下,注释已经写得很清楚了:
#define GLOBAL_CLK 1
#include stdlib.h
#include string.h
#include def.h
#include option.h
#include 2440lib.h
#include 2440addr.h
#include 2440slib.h
#include mmu.h
#include profile.h
#include memtest.h
#define GPB5_out (1(5*2))//led1
#define GPB6_out (1(6*2))//led2
#define GPB7_out (1(7*2))//led3
#define GPB8_out (1(8*2))//led4
#define led1_on ~(15)
#define led2_on ~(16)
#define led3_on ~(17)
1 / 2
#define led4_on ~(18)
#define led1_off (15)
#define led2_off (16)
#define led3_off (17)
#define led4_off (18)
void __irq Timer0_handle();
void Main(void){// 配置基本 I/O 口
rGPBCON=GPB5_out|GPB6_out|GPB7_out|GPB8_out; //设置 GPB5-8为输出
rGPBDAT=led1_off|led2_off|led3_off|led4_off; //led 灭
配置中断寄存器
ClearPending(BIT_TIMER0);//清 SRCPND,INTPND的定时器 0 中断标志位
EnableIrq(BIT_TIMER0);//开定时器 0 中断使能
配置定时器寄存器
rTCFG0|=0xf9;// 预定标值 =249
rTCFG1|=0x01;//定时器 0 进行 4 分频, f=50M/(249+1)/4=50KHZ
rTCNTB0=25000;//定时时间 =25000*(1/f)=
0.5s
rTCON|=(11); //手动更新
rTCON=0x09;//自动加载,清 “手动更新 ”位,启动定时器 0
// 装入定时器 0 中断函数地址
2 / 2
您可能关注的文档
最近下载
- 浙江省金华市2023年中考数学试卷 .pdf VIP
- 英语专四新题型选词填空做题技巧.ppt VIP
- 2026年广东省普通高中学业水平合格性考试英语试卷含答案.pdf VIP
- 英菲尼迪QX70说明书|Infiniti QX70 Owner's Manual.pdf
- 光合作用的原理和应用课件【新教材】人教版高中生物必修一.pptx VIP
- 概率论与数理统计教学教案.doc VIP
- 统编版(2024)七年级上册道德与法治期末复习模拟试卷 3套(含答案).pdf
- 倾斜摄影三维建模项目设计方案.pdf VIP
- 脑胶质瘤诊疗规范2025年版.docx VIP
- 2025年海南省中考化学真题(含答案).pdf
原创力文档

文档评论(0)