电子拆迁小队
发表于 2025-3-27 22:57:40
那个时候可以领实验箱呢
user_17465
发表于 2025-3-27 23:38:11
打卡学习
爱哭的水瓶座
发表于 2025-3-27 23:46:06
{:4_165:}
lijvywkp
发表于 2025-3-28 01:19:06
打卡交作业,第七课 定时器中断 P32 控制功德状态 ,打印状态 ,P33 加功德(1 或者 2)打印功德数,并控制LED1 亮一秒 或两秒
//按键P3.2控制功德状态
if(P32 == 0)
{
Delay20ms();
if(P32 == 0)
{
State = !State; //功德状态 0:单倍功德1:双倍功德
if(State == 1)
{
printf("双倍功德时间\r\n");
}
else
{
printf("单倍功德时间\r\n");
}
while(P32 == 0);
}
}
//按键P3.3据功德状态 完成加功德
if(P33 == 0)
{
Delay20ms();
if(P33 == 0)
{
if(State == 1) //双倍功德状态功德数+2
{
Num1 += 2;
printf("功德+2 当前功德:%d\r\n",Num1);
P00 = 0;
Timer0_Init();//启动定时器0
}
else //单倍功德状态功德数+1
{
Num2 += 1;
printf("功德+1 当前功德:%d\r\n",Num2);
P00 = 0;
Timer0_Init(); //启动定时器0
}
while(P33 == 0);
}
}
}
}
void Timer0_Isr(void) interrupt 1
{
if(State == 1)
{
Num3++;
if(Num3 == 2) //灯亮两秒 关灯 关定时器0
{
Num3 = 0;
P00 = 1;
TR0 = 0;
}
}
else
{
P00 = 1;//灯亮一秒 关灯 关定时器0
TR0 = 0;
}
}
void Timer0_Init(void) //1秒@24.000MHz
{
TM0PS = 0x1E; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xFC; //设置定时初始值
TH0 = 0x03; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
}
禁止发言
发表于 2025-3-28 07:44:27
{:4_165:}
白水大虾2016
发表于 2025-3-28 09:25:04
今天还是Flash模拟EEPROM,擎天柱的目标就到了,距亲自实验的距离越来越近!
白水大虾2016
发表于 2025-3-28 09:31:18
sdfan2002 发表于 2025-3-27 22:25
看完14集IO中断,还需要再学习回顾一下
我对每节课都是重复三到四遍,没有实验板动手实验确实有些难!
dyx811
发表于 2025-3-28 20:54:21
最近很忙,学习都没有跟得上冲哥进度了!
电子拆迁小队
发表于 2025-3-28 21:50:54
打卡第九集
ZRF197210
发表于 2025-3-28 22:00:28
一直在看呢