1 什么是单片机?
Single Chip Microcomputer
将以下部件全部做到一块集成电路芯片中:CPU(进行运算和控制)、RAM(数据存储)、ROM(程序存储)及输入输出设备。
RAM:主要存储数据,掉电会丢失数据。
ROM:掉电不丢失
2 什么是51单片机?我的板子?
51单片机是所有兼容Intel 8031指令系统的单片机的统称。
我的单片机板子参数:STC89C516RD+
8位的80C51微处理器
4kb Flash ROM:程序存储器,用来存放程序、一些原始数据和表格
RAM:1280字节,存放读写的数据,如运算中间结果、最终结果等
32 IO: P0.0-P0.7,P1.0-P1.7, P2.0-P2.7, P3.0-P3.7
2个16位的定时器/计数器:T0/T1,每一个都可以设置成计数方式或定时方式
5个中断源、2个中断优先级
时钟:振荡器和时钟产生电路,振荡频率6M-12MHz,一般用12M或11/0592MHz
代码不需要管:程序存储器ROM、数据存储器RAM
需要管:定时计数器、并行IO、
3 STC89CXX芯片介绍
1 STC89C516RD+的单片机介绍:
http://www.stcmcudata.com/datasheet/stc/STC-AD-PDF/STC89C51RC-RD.pdf
用的封装方法:PDIP-40
2 芯片管脚介绍及功能
先找到芯片上的半圆形标志,半圆形左边的第一个即为1管脚,然后顺时针依次往下,左下角的是20,右下角是21,接着逆时针旋转到右上角的40管脚。
1 按功能,可将管脚分为以下四类:
1 电源引脚,VCC(40,常压为5v,低压为3.3v),GND(20)
2 时钟引脚,XTAL1(19)、XTAL2(18)
外接时钟引脚,XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。8051的时钟有2种方式,一种是片内时钟振荡方式,即需在这两个引脚处外接石英晶振和振荡电容,振荡电容的值一般取10p-30p;另一种是外部时钟方式,即XATL1接地,外部时钟信号从XTAL2接入。通常使用第一种方式,即片内时钟振荡方式
3 编程控制引脚:RST(9),PSEN(29),ALE(30)
RST复位引脚:当连续输入2个机器周期以上的高电平有效,用来完成单片机的复位初始化操作,即单片机从头开始执行文件。
PSEN:内部ROM已经够用,不需要外部扩充,很少用了
4 I/O引脚:P0-P3共4组8位I/O口
P0,39-32管脚:双向8位3态I/O口,每个口可独立控制。
P0口内部没有上拉电阻,若输出高时为高阻态,不能正常输出高电平,因此该IO使用时务必要外接上拉电阻,一般我们接入10k上拉电阻。
P1口,1-8脚:准双向8位io口,每个口可独立控制。
准双向:该口在作为输入使用前,要先向该口写1,然后单片机内部才可以读出外部信号。
P1.0的第二功能:T2定时计数器的外部输入
P1.1的第二功能:T2的外部控制端
P2口,21-28脚,类似于P1
P3口,10-17脚,类似于P1.
3 GPIO:General Purpose Input Output 通用输入输出端口
可以通过软件来控制输入和输出,可分为以下几大类:
1 电源引脚:比如40-Vcc,20-GND
2 晶振引脚:18-XTAL1和19-XTAL2,一般12MHz或者11.0592MHz
3 复位引脚:RST或REST
4 下载引脚:10-RxD/P3.0和17-TxD/P3.1
5 GPIO引脚:P0、P1、P2、P3,各有8个管脚
4 GPIO引脚介绍
总结:
只有P0端口,必须外接上拉电阻才能输出高电平;其他P1-P3可以直接输出高电平及低电平。
1 P0:即可作为输入输出口(主要功能),也可作为地址/数据复用总线使用(进行外扩,一般不需要)
1 内部结构
1 输入缓冲器:有3种状态,高电平、低电平、高阻态。
2 锁存器:
当没有脉冲信号:不会有输入
当有clock脉冲时候,输入信号D,可以经过转换,得到输出信号Q及Q反。
当之前的输出信号产生,没有新的脉冲:则之前的输出信号Q及Q反就会被锁存器保存住。
3 多路开关:用来选择是做输入输出还是复用总线
4 MOS管的输出驱动:
2MOS管组成的推拉式结构:当V1导通,则V2截止;当V2导通,则V1截止
2 当P0口作为输出的工作原理:
漏级开路,类似OC门。当他输出的时候,上面的V1MOS管截止,高电平无法输出,只能输出低电平。
P0内部无上拉电阻,必须有外部上拉电阻(4.7k-10k),才能保证输出P0管脚输出高电平。
内部总线-》写锁存器-》MOS管驱动-》输出
3 P0作为输入的工作原理:
2 P1:只作为输入输出口,(P1-P3:都是准双向口)
P1管脚内部有一个上拉电阻,代替了P0中的场效应管V1
输出信息仅来自内部总线。内部总线的数据,经过锁存器,反向输出到P1的管脚。
因为内部自带上拉电阻,所以P1可以输出低电平,也可以输出高电平。
3 P2端口:内部有上拉电阻,可作为输入输出口(主要),也可作为高8位地址总线使用
有多路开关
有上拉电阻
P2:兼顾了P0和P1的特点,可以输出高电平和低电平。
4 P3端口:具有第二功能,有内部上拉电阻,可输出低电平,也可输出高电平
多了第二功能的输入及输出。
1 普通IO口:
2 第二功能: