单片机c语言版经典问题,单片机C语言问题

这篇博客主要介绍了如何使用C语言在单片机中实现定时器中断,通过定义一系列常量控制LED灯的闪烁频率。程序中定义了延时函数,并在主函数中设置定时器初值,利用中断服务函数实现LED状态翻转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单片机C语言问题0

#include sbit S=P3^7; unsigned int C; #define d 523 #definer 587 #define m 659 #define f 698 #define s 784 #define l 880 #define x 987 #define d_l 262 #definer_l 286 #define m_l 311 #define f_l 349 #defin... #include

sbit S=P3^7;

unsigned int C;

#define d 523

#definer 587

#define m 659

#define f 698

#define s 784

#define l 880

#define x 987

#define d_l 262

#definer_l 286

#define m_l 311

#define f_l 349

#define s_l 392

#define l_l 440

#define x_l 494

#define d_h 1046

#definer_h 1174

#define m_h 1318

#define f_h 1396

#define s_h 1567

#define l_h 1760

#define x_h 1975

void delay(void)

{

unsigned char i,j;

for(i=0;i<250;i++)

for(j=0;j<250;j++)

;

}

void main(void)

{

unsigned char i,j;

unsigned int code f[]={r,m,r,d,l_l,d,l,

s_l,m_l,s_l,l_l,d,

l_l,d,s,l,m,s,

r,

m,r,m,s,m,

s_l,m_l,s_l,l_l,d,

l_l,l_l,d,l_l,s_l,r_l,m_l,

s_l,

r,r,s,l,s,

f,m,s,m,

l,s,m,r,m,l_l,d,

r,

m,r,m,s,m

s_l,m_l,s_l,l_l,d,

l_l,d,r,l_l,d,r,m,

r,

l_l,d,r,l_l,d,r,m,

r,

0xff};

unsigned char code k[]={4,1,1,4,1,1,2,

2,2,2,2,8,

4,2,3,1,2,2,

10,

4,2,2,4,4,

2,2,2,2,4,

2,2,2,2,2,2,2,

10,

4,4,4,2,2,

4,2,4,4,

4,2,2,2,2,2,

10,

4,2,2,4,4,

2,2,2,2,6,

4,2,2,4,1,1,4,

10,

4,2,2,4,1,1,4,

10}; //提示“}”附近有语法错误!

EA=1;

ET0=1;

TMOD=0x00;

while(1)

{

i=0;

while(f[i]!=0xff)

{

C=460830/f[i];

TH0=(8192-C)/32;

TL0=(8192-C)%32;

TR0=1;

for(j=0;j

delay();

TR0=0;

i++;

}

}

}

void Time0(void) interrupt 1

{

S=~S;

TH0=(8192-C)/32;

TL0=(8192-C)%32;

} 展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值