电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1815|回复: 2
收起左侧

STC8A单片机小白求教

[复制链接]

617

主题

968

帖子

5301

积分

四级会员

Rank: 4

积分
5301
发表于 2023-1-16 21:10:53 | 显示全部楼层 |阅读模式
小白求教,刚学习STC8的51单片机
我要用一个STC8A4K16S2A12生成一个1MS的T0定时器中断
时钟频率设置的11.0592M,
定时器和中断初始化代码如下,
void Sys_init()
{
//I/O口特殊功能寄存器
P0=0xFF;
P1=0xF0;
P2=0xFF;
P3=0xFF;
P4=0xFF;
P5=0xFF;
P6=0xFF;
P7=0xFF;
P0M0=0xFF;
P0M1=0xFF;
P1M0=0x0F;
P1M1=0x0F;
P2M0=0x00;
P2M1=0x00;
P3M0=0x00;
P3M1=0x00;
P4M0=0x00;
P4M1=0x00;
P5M0=0x00;
P5M1=0x00;
P6M0=0x00;
P6M1=0x00;
P7M0=0x00;
P7M1=0x00;
EX0=1;
IT0=1;//下降沿触发
TMOD=0x21;  //设置使用定时器0和定时器1,16位的定时/计数寄存器
TL0=65536-2000;
TH0=(65536-2000)>>8;
ET0=1;          //开启定时器0中
EA=1;          //开启中断总开关
}
void T0_isr() interrupt 1//1MS
{
P2=!P2;

}
void main()
{
Sys_init();

P0=0x00;
P2=0x00;
while(1);
}
为啥中断中没反应?
回复

使用道具 举报

0

主题

804

帖子

517

积分

二级会员

Rank: 2

积分
517
发表于 2023-1-16 21:11:26 | 显示全部楼层
好好检查下你的中断。有没有清标志位?需不需要重装初值?中断号对不对?这都是细节
回复 支持 反对

使用道具 举报

20

主题

258

帖子

1370

积分

三级会员

Rank: 3Rank: 3

积分
1370
发表于 2023-1-17 08:18:21 | 显示全部楼层
1.没有开启定时器0  TR0=1.。。。2,.定时器的16位数据要在中断中重装。3.如果用眼观察,1ms的速度太快,难以区分状态。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表