嵌入式学习第十八天

  单片机
        目的:

                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;
}