用C语言编写程序,要求如下:定时器0,工作方式1,开启定时中断每隔50ms,发光二极管状态翻转?
发布网友
发布时间:2022-05-06 13:38
我来回答
共1个回答
热心网友
时间:2023-10-09 20:06
#define GPFCON (*(volatile unsigned long*) 0x56000050)
#define GPFDAT (*(volatile unsigned long*) 0x56000054)
#define GPF4_out (1<<(4*2)) //左移4*2位,每个引脚占据GPFCON的两位,所以就是把第4个2位设置为01
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
void wait(volatile unsigned long dly)
{
for(;dly > 0; dly --);
}
int main()
{
unsigned long i = 0;
GPFCON = GPF4_out | GPF5_out | GPF6_out; //将GPF4/5/6都设为了输出引脚
while(1)
{
wait(30000);
GPFDAT = (~(i << 4)); //左移4位
if(++i == 8)
i = 0;
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29