单片机,英文Micro Controller Unit,简称MCU

内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能

单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机,LED等)的控制

单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用

同时,学习使用单片机是了解计算机原理与结构的最佳选择

RAM随机存储器  (运行内存)            ROM只读存储器(硬盘)

封装类型可以用百度图片搜

单片机内部结构图

管脚图要记

单片机最小系统

左下角为晶振电路, 通过晶振周期来让程序运行

上面为复位电路

第二节(点亮一个LED)

102为1k欧    102==10 00  1001==100 0==1k

473==47 000 ==47k

延时函数要头文件#include<INTRINS.H>

在实现流水灯plus时, 需要用到1ms的延时函数, 然后再里面

1定义一个unsigned int xms  在函数里面写一个while循环, 把原来的内容放到循环里面一直执行就可以了

同时要写上xms–;要不然函数无法结束

也叫独立按键 在板子的左下角

复位键相当于开关一次电源

抖动会对按键的检测造成干扰

可以用按键消抖   有两种方法

1 用硬件   加个电路, 抖动过滤

2写程序  延时20ms就可以

这样处理就会使松手时P2_0取反, 实现亮与不亮

3-2独立按键控制LED灯的亮灭

P2是对8个灯经行操作, P3_ 是对独立按键进行控制

3-2独立按键控制LED灯的状态

3-3独立按键控制LED灯显示二进制

3-4独立按键控制LED灯的移位

4-1

一般为共阴极连接, 段码就是在A B D等等下面给上0 1 等数据控制其开关

那么如何控制数码管呢?

1控制3个口 使某一位选中,

2再个p0口一个段码数据 送到段码端, 显示段码数据

4-2数码管显示多位数据

此时要加一个数码管的消影(在其他位置上)

位选  段选 位选 段选 –循环  应为反应很快 显示窜位

5-1

模块化编程

传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路

模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等

这里文件就是写好的直接用就可以了

6-1矩阵键盘

上面为按行扫描,但按行扫描会影响到蜂鸣器, 一般就采用按列扫描

即给P10~3四个赋值, 然后再用if判断哪一个为0, 为0就说明这个按键按下了

L口为弱上拉模式

7-1定时器

不可位寻址寄存器只能整体赋值, 可位寻址寄存器可以每一位单独赋值

8-1串口

全双工:通信双方可以在同一时刻互相传输数据

半双工:通信双方可以互相传输数据,但必须分时复用一根数据线

单工:通信只能有一方发送到另一方,不能反向传输

异步:通信双方各自约定通信速率

同步:通信双方靠一根时钟线来约定通信速率

总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)

串口通信

作者:努力的小帅

物联沃分享整理
物联沃-IOTWORD物联网 » 单片机的介绍

发表回复