神农鼎
发表于 2024-2-23 08:46:41
神农鼎
发表于 2024-2-23 08:48:27
用普通的 SIP4 插座也可以 硬件USB直接下载
接电脑的 USB-TypeC头====接USB型MCU的普通插座
冷月烟
发表于 2024-2-23 08:57:16
确实简洁啊,基本没啥东西
ly1350
发表于 2024-2-23 09:56:56
冷月烟 发表于 2024-2-23 08:57
确实简洁啊,基本没啥东西
确实,但入门学习还是蛮有用的。
ly1350
发表于 2024-2-23 15:12:54
测试程序:
显示效果:
ly1350
发表于 2024-2-23 15:13:38
这回的显示很好了,达到预想效果
ly1350
发表于 2024-2-23 20:11:50
入门实验:点灯!
用定时器0实现流水灯。
#define uchar unsigned char
#define uint unsigned int
char *USER_STCISPCMD = "@STCISP#"; //不停电自动ISP下载命令
uchar count=0,i=0;
void Led_Init();
void Timer0_Init(void);
void main()
{
Led_Init();
Timer0_Init();
while(1)
{
switch(i)
{
case 0: //点亮第一位的A段
P33=0;
P20=1;
break;
case 1: //点亮第二位的A段
P34=0;
P20=1;
break;
case 2: //点亮第三位的A段
P35=0;
P20=1;
break;
case 3: //点亮第四位的A段
P36=0;
P20=1;
break;
case 4: //点亮第四位的B段
P36=0;
P21=1;
break;
case 5: //点亮第四位的C段
P36=0;
P22=1;
break;
case 6: //点亮第四位的D段
P36=0;
P23=1;
break;
case 7: //点亮第三位的D段
P35=0;
P23=1;
break;
case 8: //点亮第二位的D段
P34=0;
P23=1;
break;
case 9: //点亮第一位的D段
P33=0;
P23=1;
break;
case 10: //点亮第一位的E段
P33=0;
P24=1;
break;
case 11: //点亮第一位的F段
P33=0;
P24=1;
break;
default : break;
}
}
}
void Led_Init()
{
P2M0 |= 0x7f; P2M1 &= ~0x7f; //设置P2.0-P2.6为推挽输出
P3M0 |= 0xf8; P3M1 &= ~0xf8; //设置P3.3-P3.7为推挽输出
P3PU &= ~0xf8; //设置使用P3.3-P3.7的内部上拉电阻
P33=1; //DG1
P34=1; //DG2
P35=1; //DG3
P36=1; //DG4
P37=0; //Pd
P20=0; //段A
P21=0; //段B
P22=0; //段C
P23=0; //段D
P24=0; //段E
P25=0; //段F
P26=0; //段G
}
void Timer0_Init(void) //10毫秒@24.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xE0; //设置定时初始值
TH0 = 0xB1; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //开t0中断
EA = 1 ; //开总中断
}
void Timer0_Isr() interrupt 1
{
if (count<=10) count++;
else
{
count=0;
if (i<11) i++;
else i=0;
Led_Init();
}
}
ly1350
发表于 2024-2-23 20:14:33
可惜不会发视频{:4_167:}
ly1350
发表于 2024-2-23 20:18:25
本帖最后由 ly1350 于 2024-2-23 20:23 编辑
就是数码管的最外圈依次点亮,运行效果有点像“贪吃蛇”。
神农鼎
发表于 2024-2-23 21:14:51
ly1350 发表于 2024-2-23 20:14
可惜不会发视频
页:
1
2
3
4
5
[6]
7
8
9
10
11
12
13
14