1. 51单片机最小系统原理图,求通俗易懂的讲解
我是一名电子信息大专毕业的学生,下面51单片机最小系统的讲解,你参考一下
51单片机共有40只引脚.
下面这个就是最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.
一,一讲解:
第一部分:电源组(上图标记为1的部分)
40脚接电源5V,20脚接电源负极,在单片机里面,负极也可以叫GND或者”地”,我们在单片机的应用中,习惯说负极为”地”,上面GND就是英文ground的缩写,翻译过来就是"地"的意思.
第二部分:晶振组(上图标记为2的部分)
11.0592M晶振Y1与单片机的18,19脚并联,因为这两只脚,就是晶振工作的引脚.22p电容C2一端接18脚,一端接地.22p电容C3一端接19脚,一端接地.
这两个电容,我们在10~30P之间选择都是可以的,主要作用是,过滤掉晶振部分的高频信号,让晶振工作的时候更加稳定.
第三部分:复位组(上图标记为2的部分)
10u电容C1正极接电源5V,C1负极接单片机的复位脚,第9脚.1K电阻R17一端接单片机的复位脚,第9脚,一端接地.就是通过这个10u和1k,就可以让单片机一供电时,单片机自动复位,从零开始执行程序,这个就是复位的概念.第四部分:其它功能组(上图标记为4的部分)
这个脚是存储器使用选择脚,当这个脚接"地"时,那么告诉单片机选择外部存储器,当这个脚接"5V"时,说明单片机使用内部存储器.
因为选择外部存储器,太浪费单片机仅有的资源,所以这一脚永远接电源5V(如上图所示),使用单片机的内部存储器.
如果内部存储器不够容量,最多选择更高级容量的单片机型号,就可以解决问题了.对于最小系统的细节,一言二句说不了太多东西,更多详细的最小系统制作知识,可以网络一下“一凡单片机”,这个里面讲解比较全面,并且还有相应的单片机程序。
以上就是个人分享的最小系统原理图和讲解,希望能帮到你,并且通过积累单片机知识,再扩展其它实验,寻找更多的单片机乐趣,喜欢的朋友请采纳和点赞,谢谢!
2. 急求:基于MCS-51单片机的温度控制器汇编语言软件设计和硬件电路图
第2章 硬件电路详细设计
DS18B20的性能特点:1、采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),2、测温范围为-55℃-+125℃,测量分辨率为0.0625℃,3、内含64位经过激光修正的只读存储器ROM,4、适配各种单片机或系统机,5、用户可分别设定各路温度的上、下限,6、内含寄生电源。温度传感器DS18B20连接方式:在寄生电源供电方式下,DS18B20从单线信号线上汲取能量,在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。如图2.3所示。
2.4 复位电路的设计
本设计采用人工复位,将一个按扭开关并联于上电自动复位电路按一下开关就在RST端出现一段时间的高电平,即器件复位。
2.5 晶振电路的设计
2.6 DS18B20温度传感器与单片机的接口电路
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。
2.7 温度测量系统整体硬件电路
Wei1 BIT P3.0 ;;数码管第1位
Wei2 BIT P3.1 ;;数码管第2位
Wei3 BIT P3.2 ;;数码管第3位
Wei4 BIT P3.3 ;;数码管第4位
Dian EQU 20H ;;小数点状态状态保存字节
DisData1 EQU 30H ;;第1位显示数据
DisData2 EQU 31H ;;第2位显示数据
DisData3 EQU 32H ;;第3位显示数据
DisData4 EQU 33H ;;第4位显示数据
DisTime EQU 34H ;;设置显示几次后读取温度值
;;温度数据存储单元标号定义
TempL EQU 35H ;;温度高位
TempH EQU 36H ;;温度低位
;;与DS18B20通迅部分存储单元及标号定义
DS18B20 BIT P1.0 ;;与DS18B20通迅的位地址
RFail BIT 21H.0 ;;复位失败标记
Var EQU 22H ;;变量字节,温度数据处理时用到
Var2 EQU 3FH ;;变量字节
主程序部分:
ORG 00H
LJMP START
ORG 100H
START: ;;-----初始化
MOV SP,#60H ;;初始化堆栈指针
Set18B20:;;-----DS18B20初始化
;;DS18B20复位
ACALL Reset
JB RFail,LOOP ;;复位失败则直接跳至显示部分
;;对DS18B20发出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;对DS18B20发出温度转换命令
MOV A,#44H
ACALL Write
SetDisT:MOV DisTime,#3 ;;设置下一个循环体的循环8次
LOOP:
ACALL Display ;;显示
JB RFail,Set18B20 ;;DS18B20复位失败时,在显示完一次后重新复位
DJNZ DisTime,LOOP
JNB DS18B20,$ ;;判断DS18B20是否已完成温度转换
ACALL GetTemp ;;从DS18B20读出温度值
ACALL DealTemp ;;温度值处理
ACALL SendDisDT ;;根据当前系统状态设置显示内容
SJMP SetDisT ;;;;;;;
;;根据当前状态给显示模块设置显示参数
SendDisDT:
MOV Dian,#7FH ;;最高位为0代表显示小数点
;;传送温度值
MOV A,TempH ;;送高位数据
MOV VAR,TempL ;;送低位数据
ACALL TransData
RET
;;A中保存高位值,Var中保存低位值
TransData:
;;取个位值
MOV B,#10
DIV AB
MOV DisData2,B
;;取十位值
JZ HavNot1 ;;判断商是否为0
MOV B,#10
DIV AB
MOV DisData3,B
JZ HavNot2 ;;判断商是否为0
MOV DisData4,A
SJMP XiaoShu ;;跳至百位符号处理部分
HavNot1:MOV DisData3,#10 ;;十位开始没有数字
HavNot2:MOV DisData4,#10 ;;百位开始没有数字
SignJudge:;;符号处理部分
JNB VAR.7,XiaoShu ;;当为负数显示符号
MOV A,#10
CJNE A,DisData3,BWSign
MOV DisData3,#11 ;;负号在十位
SJMP XiaoShu
BWSign:MOV DisData4,#11 ;;负号在百位
XiaoShu:;;小数处理部分,用查表法获取小数值,精确到小数点后1位
MOV A,VAR
ANL A,#0FH
MOV DPTR,#XSTab
MOVC A,@A+DPTR
MOV DisData1,A
RTransTemp:
RET
XSTab: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
DS18B20通迅模块组
-------复位模块
Reset: ;;3微秒高电平
SETB DS18B20
MOV R7,#250
CLR RFail ;;清0复位失败标记
CLR DS18B20
;;延迟501uS
DJNZ R7,$
SETB DS18B20 ;;释放总线(拉高数据线)
;;等待DS18B20作出复位成功反应,最大等待时间为69uS
MOV R7,#17
Wait:
JNB DS18B20,RReset ;;若DS18B20在作出复位成功反应,不再等待
DJNZ R7,Wait
SETB RFail ;;70uS内DS18B20作出复位成功反应,置1复位失败标记
RReset:
;;延迟350Us
MOV R7,#174
DJNZ R7,$
SETB DS18B20
RET
/
;;-------向DS18B20写一个字的模块,要写的内容提前装入ACC中
Write:
MOV R6,#8 ;写8位
WriteBit:
;;2微秒高电平
SETB DS18B20
MOV R7,#3
;;7微秒低电平
CLR DS18B20
DJNZ R7,$
;;ACC低位送至DS18B20
RRC A
MOV DS18B20,C
;;延迟60Us
MOV R7,#28
DJNZ R7,$
;;是否已写完8位
DJNZ R6,WriteBit
RWrite:
SETB DS18B20
RET
; /
;;-------从DS18B20读回一个字节的内容,读回的内容装入ACC中
Read:
MOV R6,#8 ;;读回8位
MOV A,#0 ;;读回的内容装入ACC中
ReadBit:
;;2微秒高电平
SETB DS18B20
MOV R7,#7
;;2微秒低电平
CLR DS18B20
NOP
;;16微秒高电平
SETB DS18B20
DJNZ R7,$
;;读回一位数据放入ACC中
MOV C,DS18B20
RRC A
;;延迟66Us
MOV R7,#33
DJNZ R7,$
;;是否已读完8位
DJNZ R6,ReadBit
RRead:
SETB DS18B20
RET
/
;;-------与DS18B20通迅,读回两字节温度值,并装入ACC中TempL和TempH中
GetTemp:
ACALL Reset ;;复位
JB RFail,RGetTemp ;;判断复位是否成功
;;复位成功
;;对DS18B20发出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;对DS18B20发出读命令
MOV A,#0BEH
ACALL Write
;;从DS18B20读回低8位温度值
ACALL Read
MOV TempL,A
;;从DS18B20读回高8位温度值
ACALL Read
MOV TempH,A
ACALL Reset ;;复位
JB RFail,RGetTemp ;;判断复位是否成功
;;对DS18B20发出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;对DS18B20发出温度转换命令
MOV A,#44H
ACALL Write
RGetTemp:
RET
温度数据处理模块
DealTemp:
;;将整数的二进制数部分移到一个字节,符号位和小数部分移到一个字节
MOV R1,#Var
MOV Var,TempH
MOV A,TempL
XCHD A,@R1 ;;符号位、小数部分至VAR(@R1),整数部分至ACC
SWAP A
;;整数部分处理
JNB Var.7,NotNeg ;;判断是否为负数
CPL A ;;为负数,取反后加1得其绝对值
;;小数部分取反
XRL Var,#1FH ;;
INC Var
NotNeg:
MOV TempH,A
MOV TempL,Var
RET
显示模块
-------显示DisData(30H)从开始的三个字节保存显示信息
Display:
MOV DPTR,#Tab
;;**显示小数部分
MOV A,DisData1
MOVC A,@A+DPTR
MOV P2,A
CLR Wei1
ACALL Delay
SETB Wei1
;;**显示个位
MOV A,DisData2
MOVC A,@A+DPTR
;;小数点处理
ANL A,Dian
MOV P2,A
CLR Wei2
ACALL Delay
SETB Wei2
;;**显示十位
MOV A,DisData3
MOVC A,@A+DPTR
MOV P2,A
CLR Wei3
ACALL Delay
SETB Wei3
;;**显示百位
MOV A,DisData4
MOVC A,@A+DPTR
MOV P2,A
CLR Wei4
ACALL Delay
SETB Wei4
RET
Tab: ;;0~9、空白、负号的编码
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH
;;延迟
Delay:
MOV R6,#6
DD1:MOV R5,#250
DJNZ R5,$
DJNZ R6,DD1
RET
END
这里面插不了图,我有这个的整套课程设计报告,想要找我,[email protected]
3. 51单片机8*8点阵接口电路的原理图
见下图
4. 51单片机最小系统原理图
单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。单片机最小系统电路(单片机电源和地没有标出)如图2-7所示。
图2-7 单片机最小系统
下面着重介绍时钟电路和复位电路。
1)时钟电路
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。
内部时钟方式的原理电路如图2-8所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。
外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。
时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。AT89C51单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。
振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。
时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。
机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。
指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。AT89C51单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。
了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。
2)复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。
单片机的复位形式:上电复位、按键复位。上电复位和按键复位电路如下。
图2-9 单片机复位电路
上电复位电路中,利用电容充电来实现复位。在电源接通瞬间,RST引脚上的电位是高电平(Vcc),电源接通后对电容进行快速充电,随着充电的进行,RST引脚上的电位也会逐渐下降为低电平。只要保证RST引脚上高电平出现的时间大于两个机器周期,便可以实现正常复位。
按键复位电路中,当按键没有按下时,电路同上电复位电路。如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过200Ω电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。
单片机复位后各特殊功能寄存器的复位值见表2-11。
表2-11 单片机特殊功能寄存器复位值
寄存器 复位值 寄存器 复位值 寄存器 复位值
PC 0000H SBUF 不确定 TMOD 00H
B 00H SCON 00H TCON 00H
ACC 00H TH1 00H PCON 0***0000B
PSW 00H TH0 00H DPTR 0000H
IP ***00000B TL1 00H SP 07H
IE 0**00000B TL0 00H P0~P3 FFH
注:*表示无关位。
5. 步进电机的驱动电路与51单片机的连接电路图
51单片机的引脚随处都可以查到,P0、P1、P2随便选择一个作为脉冲发送口,在程序开始前定义好就可,驱动器一般都会分配脉冲,看你用的是哪一种,有的驱动器有电流可调档,也就是相电流细分。
后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
(5)51单片机电路图扩展阅读:
使用方法:
1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;
2.将仿真器的串行电缆和PC机接好,打开用户板电源;
3.通过KeilC 的IDE开发仿真环境UV2 下载用户程序进行仿真、调试。
硬件说明:
1、使用用户板的晶振:仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。
2、为便于调试带看门狗的用户板,仿真器的复位端未与用户板复位端相连;故仿真器的复位按钮只复位仿真器,不复位用户板;若要复位用户板,请使用用户板复位按钮。
6. 51单片机的复位电路
分析:先看右边部分电路,由于复位时高电平有效,当刚接上电源的瞬间,电容C1两端相当于短路,即相当于给RESET引脚一个高电平,等充电结束时(这个时间很短暂),电容相当于断开,这时已经完成了复位动作。
1)把左边的电路加上,就是带手动复位的复位电路,当按键按下去的时候,即给予一个高电平,同样可以完成复位动作。
2)上电复位,顾名思义可以理解成加上电源就复位了,至于其他复位当然还有很多了,不同的系统对复位的准确性和可靠性要求不一样嘛。
7. 51单片机555定时器原理
555定时器的电路结构 555定时器的电路结构如图所示。C1和C2为两个电压比较器,其功能是如果“+”输入端电压v+大于“-”输入端电压v-,即v+>v-时,则比较器输出vc为高电平(vc=1),反之输出vc为低电平(vc=0)。比较器C1参考电压v1+(VREF1)=2/3Vcc,比较器C2的参考电压v2-(VREF2)=1/3Vcc。如果v1+(VREF1)的外接端vco接固定电压Vco,则v1+(VREF1)=vco,v2-(VREF2)=1/2Vco。与非门G1和G2构成基本触发器。其中输入/R为置0端,低电平有效。比较器C1和比较器C2的输出vc1、vc2为触发信号。三极管TD是集电极开路输出三极管,为外接提供充、放电回路,称为泄放三极管。反相器G3为输出缓冲反相器,起整形和提高带负载能力的作用。
555定时器的功能表
将高触发端TH和低触发端TR连接在一起,上述的555功能表变为如下功能表。
555定时器的应用 由于555定时器使用灵活、方便,所以在波形变换与产生、测量与控制、家用电器、电子玩具等领域得到了广泛的应用。
(1)构成施密特触发器,用于TTL系统的接口,整形电路或脉冲鉴幅等;
(2)构成多谐振荡器,组成信号产生电路;
(3)构成单稳态触发器,用于定时延时整形及一些定时开关中。
555定时器的种类及性能 555定时器产品有TTL型和CMOS型两类。TTL型产品型号的最后三位都是555,CMOS型产品的最后四位都是7555,它们的逻辑功能和外部引线排列完全相同。
双极性与CMOS型555定时器性能比较:两者有相同的引脚排列,互相兼容,功能相同,可以互换,但应注意使用上的差异。
用555定时器构成施密特触发器 电路结构与工作原理:
当第5脚接直流电压VI时,则VT+=VI,VT-=1/2VI。因此改变电压控制端CO(5脚)的电压可改变回差电压。一般电压控制端CO越高,ΔU越大,抗干扰能力越强,但灵敏度相应降低。
不使用5脚时,可悬空;也可接0.01uF的电容,旁路高频干扰。
形成回差原因:
由于C1与C2的参考电压不同,因而基本RS-FF的置0信号和置1信号必然发生在输入信号vi的不同电平。从而形成了电压传输回差。
用555定时器构成单稳态触发器 单稳态触发器只有一个稳态状态。在未加触发信号之前,触发器处于稳定状态,经触发后,触发器由稳定状态翻转为暂稳状态,暂稳状态保持一段时间后,又会自动翻转回原来的稳定状态。单稳态触发器一般用于延时和脉冲整形电路。
单稳态触发器电路的构成形式很多。图(a)所示为用555定时器构成的单稳态触发器,R、C为外接元件,触发脉冲u1由2端输入。5端不用时一般通过0.01uF电容接地,以防干扰。下面对照图(b)进行分析。
(1) 稳态
接通T导通,使电容C放电。此后uc<,若不加触发信号,即u1>,则u0保持0状态。电路将一直处于这一稳定状态。
(2) 暂稳态
在t=t1瞬间,2端输入一个负脉冲,即u1<,基本RS触发器置1,输出为高电平,并使晶体管T截止,电路进入暂稳态。此后,电源又经R向C充电,充电时间常数=RC,电容的电压 按指数规律上升。
在t=t2时刻,触发负脉冲消失(u1>),若uc<,则/RD=1,/SD=1,基本RS触发器保持原状态,u0仍为高电平。
在t=t3时刻,当uc上升略高于时,/RD=0,/SD=1,基本RS触发器复位,输出u0=0,回到初始稳态。同时,晶体管T导通,电容C通过T迅速放电直至uc为0。这时/RD=1,/SD=1,电路为下次翻转做好了准备。
输出脉冲宽度tp为暂稳态的持续时间,即电容C的电压从0充至所需的时间。由得
由上式可知:
① 改变R、C的值,可改变输出脉冲宽度,从而可以用于定时控制。
② 在R、C的值一定时,输出脉冲的幅度和宽度是一定的,利用这一特性可对边沿不陡、幅度不齐的波形进行整形。 大叔为您解答,希望您满意!!