在了解原理之前, 首要让咱们考虑一个疑问,啥是单片机, 单片机有啥用? 这是一个有意思的疑问,因为任何人都不能给出一个被咱们都认可的概念,那终究啥是单片机呢? 遍及来说, 单片机又称单片微操控器, 是在一块芯片中集成了CPU( 基地处理器)、RAM( 数据存储器)、ROM( 程序存储器)、守时器/ 计数器和多种功用的I/O( 输入/ 输出) 接口等一台核算机所需求的根柢功用部件,然后能够完结杂乱的运算、逻辑操控、通讯等功用。在这儿,咱们没必要去找到明晰的概念来解析啥是单片机,分外在运用C 言语编写程序的时,不必太多的去了解单片机的内部构造以及作业原理等。从运用的视点来说,经过从简略的程序下手,逐步的了解然后逐步深化知晓单片机。
在简略了解了啥是单片机往后,然后咱们来构建单片机的最小体系,单片机的最小体系即是让单片机能正常作业并体现其功用时悉数必要的构成有些,也可了解为是用起码的元件构成的单片机能够作业的体系。对51 系列单片机来说, 最小体系通常应当包含: 单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。
图1 单片机最小体系框图
电路详解
根据上文的内容,方案51 系列单片机最小体系见图2。
图2 51系列单片机最小体系
下面就图2 所示的单片机最小体系各有些电路进行具体阐明。
1. 时钟电路
在方案时钟电路之前,让咱们先了解下51 单片机上的时钟管脚:
XTAL1(19 脚) :芯片内部振动电路输入端。
XTAL2(18 脚) :芯片内部振动电路输出端。
XTAL1 和XTAL2 是独立的输入和输出反相拓展器,它们能够被配备为运用石英晶振的片内振动器,或许是器材直接由外部时钟驱动。图2 中选用的是内时钟办法,即选用运用芯片内部的振动电路,在XTAL1、XTAL2 的引脚上外接守时元件(一个石英晶体和两个电容),内部振动器便能发作自激振动。通常来说晶振能够在1.2 ~ 12MHz 之间任选,乃至能够抵达24MHz 或许更高,可是频率越高功耗也就越大。在本实验套件中选用的11.0592M 的石英晶振。和晶振并联的两个电容的巨细对振动频率有纤细影响,能够起到频率微调作用。中选用石英晶振时,电容能够在20 ~ 40pF 之间选择(本实验套件运用30pF);中选用陶瓷谐振器材时,电容要恰本地增大一些,在30 ~ 50pF 之间。通常选择33pF 的陶瓷电容就能够了。
别的值得一提的是假定读者自个在方案单片机体系的打印电路板(PCB) 时,晶体和电容应尽或许与单片机芯片挨近,以削减引线的寄生电容,保证振动器牢靠作业。查看晶振是不是起振的办法能够用示波器能够查询到XTAL2 输出的十分美丽的正弦波,也能够运用万用表丈量( 把挡位打到直流挡,这个时分测得的是有用值)XTAL2 和地之间的电压时,能够看到2V 分配一点的电压。
2. 复位电路
在单片机体系中,复位电路对错常要害的,当程序跑飞(作业不正常)或死机(间断作业)时,就需求进行复位。
MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 呈现2个机器周期以上的高电往常,单片机就施行复位操作。假定RST 继续为高电平,单片机就处于循环复位状况。
复位操作通常有两种根柢办法:上电主动复位和开关复位。图2 中所示的复位电路就包含了这两种复位办法。上电刹那间,电容两头电压不能骤变,此刻电容的负极和RESET 相连,电压悉数加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐步减小,终究约等于0,芯片正常作业。并联在电容的两头为复位按键,当复位按键没有被按下的时分电路完结上电复位,在芯片正常作业后,经过按下按键使RST管脚呈现高电平抵达手动复位的作用。通常来说,只需RST 管脚上坚持10ms 以上的高电平,就能使单片机有用的复位。图中所示的复位电阻和电容为经典值,实习制作是能够用同一数量级的电阻和电容代替,读者也可自行核算RC 充电时刻或在作业环境实习丈量,以保证单片机的复位电路牢靠。
3. EA/VPP(31 脚) 的功用和接法
51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 坚持高电往常,单片机拜访内部程序存储器;当EA 坚持低电往常,则不论是不是有内部程序存储器,只拜访外部存储器。
关于如今的绝大有些单片机来说,其内部的程序存储器(通常为flash)容量都很大,因而根柢上不需求外接程序存储器,而是直接运用内部的存储器。
在本实验套件中,EA 管脚接到了VCC 上,只运用内部的程序存储器。这一点必定要留心,许多初专家常常将EA 管脚悬空,然后致使程序施行不正常。
4. P0 口外接上拉电阻
51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图3)。所以在作为通常I/O 输出数据时,因为V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,有必要外接上拉电阻。
图3 P0端口的1位构造
别的,防止输入时读取数据犯错,也需外接上拉电阻。在这儿简明的说下其要素:在输入状况下,从锁存器和从引脚上读来的信号通常是一同的,但也有破例。例如,当从内部总线输出低电平后,锁存器Q = 0, Q = 1,场效应管V1 注册,端口线呈低电平状况。此刻不论端口线上外接的信号是低电平仍是高电平,从引脚读入单片机的信号都是低电平,因而不能精确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q = 1, Q = 0,场效应管V1 截止。如外接引脚信号为低电平, 从引脚上读入的信号就与从锁存器读入的信号纷歧样。所以当P0 口作为通用I/O 接口输入运用时,在输入数据前,应先向P0 口写“1”,此刻锁存器的Q 端为“0”,使输出级的两个场效应管V1、V2 均截止,引脚处于悬浮状况,才可作高阻输入。
总结来说:为了能使P0 口在输出时能驱动NMOS 电路和防止输入时读取数据犯错,需外接上拉电阻。在本实验套件中选用的是外加一个10K 排阻。此外,51 单片机在对端口P0—P3 的输入操作上,为防止读错,应先向电路中的锁存器写入“1”,使场效应管截止,以防止锁存器为“0”状况时对引脚读入的搅扰。
5. LED 驱动电路
仔细的读者或许现已发现,在最小体系中,发光二极管(LED)的接法是采纳了电源接到二极管正极再经过1K 电阻接到单片机I/O 口上的(见图4 中的接法1)。为何这么接呢?首要咱们要知道LED 的发光作业条件,纷歧样的LED 其额外电压和额外电流纷歧样,通常而言,红或绿色彩的LED 的作业电压为1.7V~2.4V,蓝或白色彩的LED 作业电压为2.7~4.2V, 直径为3mm LED 的作业电流2mA~10mA。在这儿选用赤色的3mm 的LED。其次,51 单片机(如本实验板中所运用的STC89C52单片机)的I/O 口作为输出口时,拉电流(向外输出电流)的才华是μA 等级,是短少以点亮一个发光二极管的。而灌电流(往内输入电流)的办法可高达20mA,故选用灌电流的办法驱动发光二极管。当然,如今的一些增强型单片机,是选用拉电流输出(接法2)的,只需单片机的输出电流才华满意强即可。别的,图4 中的电阻为1K 阻值,是为了绑缚电流,让发光二极管的作业电流绑缚在2mA~10mA。
图4 LED的接法