Hello,大家好!这次来为大家简单说一下单片机。本文只为一些green hand准备,大佬勿喷。
单片机是一种集成电路芯片,但它不是完成某一种逻辑功能芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机,和计算机相比,单片机只是缺少了I/O设备。因此,学习单片机是了解计算机结构与原理的最佳选择。
我们就拿最简单最通用的51系列单片机来说。
在学习单片机之前,需要有一定的数字电路与模拟电路的知识基础,同时还需要有简单的C语言基础(此处不需要达到计算机专业的水平,但当然还是越高越好)。下面这个图就是单片机的结构介绍。
一.学习单片机时需要用到的软件:编译软件可以用keil c51,单片机仿真需要用到protues,画pcb板(预划分数字、模拟、DAA信号分布区域)用AD,往自己的学习板上下程序时一般用STC烧录软件。
二.80C51引脚简介
1.电源引脚:Vcc (40脚):电源端,接+5V电源。
Vss(Gnd)(20脚):接地端,接+5V电源地端
2. 外接晶体引脚:XTAL1和XTAL2
89C51内部有一个振荡器和时钟产生电路。
XTAL1(19脚): 片内振荡电路反相放大器输入
XTAL2(18脚):片内振荡电路反相放大器输出当采用内部时钟时,片外连接石 英晶体和微调电容,产生原始 的振荡脉冲信号。
采用外部时钟时, XTAL1输入 外部时钟脉冲信号, XTAL2悬空.
3. 控制信号引脚:RST、ALE、PSEN、EA
RST(9脚) : 复位信号输入端,高电平有效。
保持两个机器周期高电平时,完成复位操作。
ALE/PROG(30脚) :
地址锁存允许输出端/编程脉冲输入端
正常时,连续输出振荡器频率的1/6正脉冲信号。
访问片外存储器时:
作为锁存P0口低8位地址的控制信号。
对8751片内 ROM编程写入时:作为编程脉冲输入端。
PSEN (29脚): 外部程序存储器读选通输出信号
访问片外ROM时,输出负脉冲作为读ROM选通.
常连接到片外ROM芯片的输出允许端(OE)作外部ROM的读选通信号。
EA/Vpp (31脚):
外部程序存储器地址使能输入/编程电压输入端. 平常,接“1”时,CPU访问片内4KB的ROM,当地址超4KB时,自动转向片外ROM中的程序。当接“0”时,CPU只访问片外ROM。第2功能Vpp 对8051编程时,编程电压输入端。
4. 输入/输出端口引脚 P0、P1、P2、P3
4个8位的并行输入/输出端口,共32个引脚。作为通用输入/输出端口
通用输入/输出端口
准双向口: 作输入时要先对锁存器写“1”。默认启动初始化为高电平
P0端口(P0.0—P0.7,第39—32脚):
漏极开路的准双向口, 内部没有上拉电阻,为搞阻状态,不能正常输出高低电平,做I/O时需要接上拉电阻(10K)
P1端口(P1.0—P1.7,第1—8脚):
内部带上拉电阻的准双向口,在做输入时要先1
P2端口(P2.0—P2.7,第21—28脚):
内部带上拉电阻的准双向口,与P1相似
P3端口(P3.0—P3.7,第10—17脚):
内部带上拉电阻的准双向口,做I/O时与P1相似,另外有第二功能
P3口第二功能
三.单片机工作的简单时序
(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,常用12MHZ,11.0592MHZ。
(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。(3)机器周期:一个周期包含6个周期S1-S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
(4)指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。
四.简单的软件延时
使用keil查看程序延长时间
延时100s函数
延时1s闪烁