☰
51单片机——流水灯和数码管
2026/9/30 1:10:47 网站建设 项目流程

单片机

控制类单片机

MCU(Micro Controller Unit)--- 微控制器

MPU(Micro Process Unit)--- 微处理器

计算机构成:

输入设备、输出设备、控制器(CPU)、存储器、运算器 --- 内存、外存

这些全部放到一个芯片中,集成到一个芯片 --- 单片机

RAM(内存)

SRAM、DRAM、DDR3、DDR4、DDR5、LPDDR6....

ROM(只读存储器)

ROM、EPROM(点可擦除)、EEPROM

现在的单片机:

主流:STM32、51......

8051单片机
STC89C51 宏晶公司生产的 单片机

8051单片机内部的资源
其内部资源如下:
·8 位 CPU
·4kbytes 程序存储器(ROM) (52 为 8K)
·128bytes 的数据存储器(RAM) (52 有 256bytes 的 RAM)
·32 条 I/O 口线
·111 条指令,大部分为单字节指令
·21 个专用寄存器
·2 个可编程定时/计数器
·5 个中断源,2 个优先级(52 有 6 个)
·一个全双工串行通信口
·外部数据存储器寻址空间为 64kB
·外部程序存储器寻址空间为 64kB
·逻辑操作位寻址功能
·双列直插 40PinDIP 封装
·单一+5V 电源供电

51单片机内部

程序 --- 代码

数据 --- 数据 分开存储 ---- 哈佛架构

C语言 ---- 冯诺依曼体系架构 --- 程序和数据统一遍地

51单片机:

最小系统:

(1)晶振电路 相当于单片机的心跳

(2)复位电路 让单片机硬件可以重新开始

(3)电源电路 负责给单片机供电

(4)下载电路 负责给单片机中下载程序

单片机开发:

1.电路原理图

VCC电源 相当于正极

GND地 相当于负极

电容 储能、滤波

电阻

2.芯片数据手册 --- 寄存器

控制硬件

程序 ---> 最终烧录到单片机的存储器中(flash)---> 可以控制影响对应引脚的寄存器 ---> 寄存器关联到引脚上

51单片机中 TTL电平
高电平 --- 3.3v~5v
低电平 --- 0v

不同的电气标准
单片机
想要工作 最小系统 + 外围电路 => 开发板


灯闪烁:

加入延时

亮 延时 灭 延时

两种延时方式:

软件延时:通过代码消耗时间

硬件延时:借助定时器(单片机内部自带)


数码管:

共阴极数码管:将所有段的阳极(正极)连接到一起

共阳极数码管:将所有段的阴极(负极)连接到一起

控制数码管:

1.控制段

P0^(0~7) 控制对应abcdefg dp段

2.控制位

P2.2 P2.3 P2.4控制位

A0、A1、A2输入相当于3位2进制数,A0是低位,A1是次高位,A2是高位,而Y0~7具体哪一个输出有效电平,就看二进制对应的十进制数值

A2A1A0
0000
0011
0102
0113
1004
1015
1106
1117


原理:

1.通过原理图

P31 可以给初始值(高电平)

2.当按键按下时

P31接地,电势差改变,P31变为低电平

3.检测P31是否为低电平判断是否有按键按下

轮询:

while { if(k1) { }else { } }

不断检测按键是否按下

按键去抖:

软件去抖

if(k1 == 0) { delay(); //抵消抖动时间 if(k1 == 0) { } }

中断

中断处理过程

1.中断源发出中断请求

2.判断处理器是否允许中断和该中断是否被屏蔽

3.判断中断的优先级

4.将当前的指令执行完毕,保护现场

5.执行中断处理函数

6.恢复现场

处理函数需要程序员编写,其余CPU自己完成

需要初始化的:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询