单片机
目的:
1.应用一下c语言。
2.学校比赛的经历。
3.ARM学习(2440/4412)
怎么学习:
1.摆正心态-- 清零
2.学习方式方法 (重点) --- 嵌入式(软件控制硬件)中学习的方式方法
3.自学一部分
嵌入式系统
a.计算机系统
硬件
5大部件
CPU(控制器,运算器)
存储器
RAM(Random Access Momery) 内存条
ROM(ReadOnlyMomery) 硬盘
输入设备(鼠标,键盘,话筒,触屏 )
输出设备(显示器,打印机,投影仪)
软件
操作系统(windows,Ubuntu (linux) --发行版 centos // deepin,MacOs,移动
鸿蒙 (linux),android (linux,ios,Clinux)
单片机:
/ /嵌入式的设备把计算机集成到一块芯片中 ---硅片system on chip
嵌入式工程师:(定位)
纯软件 上位机
-----------------------
中间(软硬结合) 驱动工程师
-----------------------
纯硬件 画pcb板((数电、模电))
买了块开发板:
1.找资料丰富的 +售后
2. 找到入门的资料
3.花时间画精力-操作实践
搭建开发环境:
单片机开发:
keil--编写51单片机控制程序的软件
STC_ISP--下载程序用
通过软件控制硬件:1.原理图 + 芯片手册
怎么控制到硬件的?
1.写程序--- 控制CPU ---控制CPU引脚上的状态变化(影响外围的电路)
控制LED相关代码
#include "LED.h"
void delay(unsigned int n)
{
while (n)
{
--n;
}
}
void LedAllOn(void)
{
P2 = 0x00;
}
void LedAllOff(void)
{
P2 = 0xFF;
}
void LedOnN(int n)
{
P2 = P2 & ~(1<<n);
}
void LedOffN(int n)
{
P2 = P2 | (1<<n);
}
void LedStream(void)
{
int n = 0;
while (1)
{
if (n == 8)
{
n = 0;
LedAllOff();
continue;
}
LedOnN(n);
delay(50000);
LedOffN(n);
n++;
}
}
#ifndef _LED_H_
#define _LED_H_
#include <reg52.h>
void delay(unsigned int n);
void LedAllOn(void);
void LedAllOff(void);
void LedOnN(int n);
void LedOffN(int n);
void LedStream(void);
#endif
#include <reg52.h>
#include "LED.h"
int main(void)
{
LedStream();
return 0;
}