独自等待
发表于 2023-11-18 21:31:30
打卡学习
lijinlei
发表于 2023-11-18 23:13:58
学习学习,熬夜肝{:4_175:}
WangChong
发表于 2023-11-19 02:13:46
准双向口电灯测试:
WangChong
发表于 2023-11-19 02:15:17
推挽输出点灯测试:
WangChong
发表于 2023-11-19 02:19:10
代码如下:
#include <STC32G.H>
#include "intrins.h"
sbit LEDA= P2^6;
sbit LEDB= P2^7;
void main() {
//推挽输出
P2M0 |= 0xc0;
P2M1 &= ~0xc0;
//准双向
//P2M0 &= ~0xc0; P2M1 &= ~0xc0;
LEDA=1;
LEDB=1;
while(1) {
}
}
WangChong
发表于 2023-11-19 02:27:21
【第三集】使用宏定义控制LED状态控制闪烁,使用typedef 定义 usigned int 为 u16
闪烁状态1
闪烁状态2
代码如下:
#include <STC32G.H>
#include "intrins.h"
sbit LEDA= P2^6;
sbit LEDB= P2^7;
#define ON 1
#define OFF 0
typedef unsigned int u16;
void Delay1000ms(void) //@11.0592MHz
{
unsigned char data i, j, k;
_nop_();
_nop_();
i = 43;
j = 6;
k = 203;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main() {
//推挽输出
P2M0 |= 0xc0;
P2M1 &= ~0xc0;
//准双向
//P2M0 &= ~0xc0; P2M1 &= ~0xc0;
while(1) {
LEDA=ON;
LEDB=OFF;
Delay1000ms();
LEDA=OFF;
LEDB=ON;
Delay1000ms();
}
}
WangChong
发表于 2023-11-19 02:27:56
WangChong 发表于 2023-11-19 02:27
【第三集】使用宏定义控制LED状态控制闪烁,使用typedef 定义 usigned int 为 u16
闪烁状态1
这里有个问题是,不知道为什么明明是1000ms ,但是实际上是10s
WangChong
发表于 2023-11-19 02:29:08
WangChong 发表于 2023-11-19 02:27
这里有个问题是,不知道为什么明明是1000ms ,但是实际上是10s
上述的Delay函数是由stc-isp生成的,频率是11.0592,
WangChong
发表于 2023-11-19 02:33:03
[第四集]点亮共阳LED,
LED正极接电源VCC,-极接IO P27
设置P27为0
代码如下:
#include <STC32G.H>
#include "intrins.h"
sbit LEDA= P2^6;
sbit LEDB= P2^7;
#define ON 1
#define OFF 0
void main() {
//推挽输出
P2M0 |= 0xc0;
P2M1 &= ~0xc0;
//准双向
//P2M0 &= ~0xc0; P2M1 &= ~0xc0;
while(1) {
LEDB=OFF;
}
}
WangChong
发表于 2023-11-19 02:35:48
WangChong 发表于 2023-11-19 02:29
上述的Delay函数是由stc-isp生成的,频率是11.0592,
是因为我选错了芯片的型号