目标安排:自阅理解手把手教你学51单片机,并了解相关内容 观看B站金沙滩工作室相关教程并根据视频写程序
根据程序进行相关修改直至了解程序基本含义
收获:
一、 限流电阻计算方法:1.确定消耗电压范围,
2.确定电流承受范围
3.最小电阻=(输入电压-最大电压)/最大电流
4最大电阻=(输入电压-最大电压)/最小电流
二、 外围电路:(包括控制电路,案件电路,显示电路模块等等)某一种芯片或者集成电路如果通电,
无法正常工作,或者无法得到如愿的效果,需要添加一些别的电路完成集成电路的工作效果,
可能一种集成电路,加上不同的外围电路,就会达到不同的效果
三、 Flash:意义断电后数据不丢失
四、 RAM:单片机数据的储存空间。可读写速度非常快,理论可无限次写入
五、SFR:特殊功能寄存器
六、反复练习了下载程序点亮小灯的操作,能不根据教程自己完成这些操作
七、LED=0会成功点亮,=1时会熄灭后续可根据这个性质来写程序使达到流水效果
实验及结果:
原代码:
#include <reg52.h> //包含特殊功能寄存器定义的头文件
sbit LED = P0^0; //位地址声明,注意:sbit 必须小写、P 大写!
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
LED = 0; //点亮小灯
while (1); //程序停止在这
}
修改之后并运行成功的代码及现象:
一、#include<STC12C5A60S2.H>/*预编译*/
sbit LED=P0^0; sbit ADDR0=P2^0; sbit ADDR1=P2^1; sbit ADDR2=P2^2; sbit ENLED=P1^1; void main() { ENLED=0; ADDR2=1; ADDR1=1; ADDR0=0; LED=0; while(1); } LED=P0^0代表第一个小灯,经过运行第一个小灯被点亮 二、改变小灯序号数
#include<STC12C5A60S2.H>/*预编译*/ sbit LED=P0^1; sbit ADDR0=P2^0; sbit ADDR1=P2^1; sbit ADDR2=P2^2; sbit ENLED=P1^1; void main() { ENLED=0; ADDR2=1; ADDR1=1; ADDR0=0; LED=0; while(1); }
经运行后第二个小灯成功点亮
不明白地方:1、sbit ADDR0=P2^0;类似这一步将P2换成P1就不能成功点亮 2、sbit ENLED=P1^1将代码换成以上类似格式就不会成功点亮 3、不明白主函数为什么要这样写
|