精华内容
下载资源
问答
  • 51单片机电路原理图_单片机晶振的必要性
    2020-11-20 20:09:20

    单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12x(1/12)us,也就是1US。

    MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引|入一个新的概念: 指令周期。所谓指令周期就是指执行条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1US。而DJNZ指令是双周期指令,所以执行一次要2US。如果该指令需要执行500次,正好1000us,也就是1ms。

    0dec2b7251da1d5d133b15219fb2d9c4.png

    机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。

    单片机晶振电路原理(51单片机)

    9435bcfcf83e6d43eddb52e03856b66d.png

    XTAL1和XTAL2指的是8051系单片机上常见的用于接“晶振”(晶体谐振器-Crystal Resonator”)的两个引脚。从原理上来说,这两个引脚和MCU内部一个反相器相连接。这个反相器与外部的“晶振”组成一个构成一个皮尔斯振荡器(Pierce oscillator)。因为这个振荡器集成在器件内部的组件实在是不能更简单啦,就一个反相器和一个电阻,非常合适于各种数字IC的设计制造流程。

    深入地分析这个皮尔斯振荡器的工作原理时,不妨把它表述成以下理想的电路形式:

    模电知识告诉我们,当期望得到一个输出信号频率为的振荡电路时,这个电路在必须满足两个条件:2kπ的环路相移闭环增益为1

    27508f507cccde5c29a961a3f2f375f8.png

    在上面的皮尔斯振荡器的电路原理图中,不难发现反相器U1对任意的频率分量均提供了180°,即的相移量。同时,反相器在输入输出之间可以看作是一个buffer,因此通过对反相器的输出特性进行调教,较容易得到1的loop gain。

    到这里有人会问了,相移量只有,上面的两个条件连一个都没达到,这哪能起振呢?问题的关键在于电路中的其它元件上。

    首先,对电路中的一颗“晶振”来说,石英晶体本身具有压电效应,对石英晶体进行适当处理后可以得到一种压电谐振器件,这就是常见的石英晶体谐振器(以下简称QCR)。对QCR的物理特性进行分析,可以发现QCR的压电谐振过程可以用以下的理想电路模型近乎完美地表示出来。

    更多相关内容
  • 51单片机电路原理图

    2014-09-09 20:00:07
    单片机原理图 已经把全部的51单片机的芯片图
  • 当我们了解了什么是单片机,以及单片机有什么...0. 51单片机最小系统先来一个初步认识,它长什么样:51单片机最小系统原理图51单片机最小系统实物图51单片机的最小系统由单片机IC,电源,外部晶振电路,复位电路共同...

    当我们了解了什么是单片机,以及单片机有什么用之后,是否要考虑我们怎么去学习单片机呢?学习单片机其实很简单,需要的起步知识并不需要多少,接下来跟随我的步伐,一步一步的去了解单片机。本文将讲解单片机最小系统和仿真软件以及编程软件的选择。


    0. 51单片机最小系统

    先来一个初步认识,它长什么样:

    869f941c6ec046638a27e943a8e39ce3.png

    51单片机最小系统原理图

    b97b2ce2ddaec982ede99827f0f9a3ef.png

    51单片机最小系统实物图

    51单片机的最小系统由单片机IC,电源,外部晶振电路,复位电路共同组成,缺一不可。

    1. 51单片机的外部引脚介绍

    51单片机的最小系统其实很简单,下面依次介绍其中的引脚作用。

    电源引脚

    VCC(VDD):第40脚,电源端,接+5V电源,用于给整个系统供电。

    VSS(GND):第20脚,接地端,接+5V电源地端。

    外部晶体引脚

    XTAL1(19脚):片内振荡电路反向放大器输入。

    XTAL2(20脚):当采用内部时钟时,可作为片内振荡电路反相放大器输出,当外接石英晶体和微调电容时,产生原始的振荡脉冲信号。

    一般情况下,我们给15单片机接12M的晶振,当然也可以接6MHz,11.0592MHz的晶振,根据实际的运用环境进行选择。

    ccf6a41412eedce025fc671704b1dc9c.png

    51单片机晶振引脚硬件连接图

    控制信号引脚

    RST:第9脚,复位信号输入端,高电平有效。复位端口的硬件解法有两种,一种是上电复位,一种是按键复位,在不同的场景有不同的选择。

    8aa85d36c3f840f0de609cd92308191d.png

    上电复位硬件接法

    16a90f99d5b94142c335cbb44cbbb132.png

    按键复位硬件接法

    复位操作可以完成单片机的初始化操作,也使死机状态下的单片机重新运行,在很多电子产品的机身上还保留了复位按键,就是为了处理死机状态。

    ALE/PROG:第30脚,地址锁存允许输出端/编程脉冲输入端。一般情况下,该引脚会持续输出振荡器频率的1/6正脉冲信号。当单片机需要访问片外存储器时,它又作为锁存P0口低8位地址的控制信号。

    EA/Vpp:31脚,外部程序存储器地址使能输入/编程电压输入端,当给该引脚接入高电平时,CPU就只访问片内4KB的ROM,当地址超4KB时,自动转向片外ROM中的程序。当接入低电平时,CPU就只访问片外ROM。 第二功能引脚Vpp作用,对8051编程时,编程电压输入端。

    输入/输出引脚 P0、P1、P2、P3

    4个8位的并行输入/输出端口,共三十二个引脚,是51单片机重要的内部资源,作为通用输入/输出端口。

    通用输入/输出端口

    准双向口:初始启动时为高电平。

    P0端口(P0.0-P0.7): 第39-32脚,漏极开路的准双向口,没有内部上拉电阻,为高阻态,不能正常输出高低电平,作为I/O口时需要外接一个上拉电阻,一般为10K。

    5f0cbcb5db8e79834eca5165edffc693.png

    P0口上拉电阻解法

    P1端口(P1.0-P1.7): 第1-8脚:内部带上拉电阻的准双向口。

    P2端口(P2.0-P2.7): 第21-28脚:与P1口类似。

    P3端口(P3.0-P3.7): 第10-17脚:与P1口类似,并且还有第二功能。

    3c2d28b2448a02e71259751e2556015e.png

    P3口第二功能

    2. 仿真软件的使用,硬件实物的选择

    学习单片机不能只是简单的看介绍就行的,要实际动手操作才行,如果有条件,可以选购一款单片机开发板,用来实际动手操作。如果有焊接基础和PCB设计,我们就可以自己设计一款属于自己单片机开发板,这就不仅仅是学单片机了,更是在学习整个硬件知识。当然,作为初学者的我们来说,一款仿真软件是必不可少的,虽然他不能替代实际的实验效果,但仍可以作为一个入门的首选。

    Proteus仿真软件,这款软件我不多做介绍了,它可以绘制原理图,绘制PCB,可以进行单片机数电,模电实验的仿真,可以实现从概念到产品的完整设计,但我并不推荐使用这款软件去做PCB设计,有更加优秀的软件可以使用。在后面我也会去讲解PCB绘制的相关知识,向大家推荐几款优秀的软件。

    792cd7da877b888f7fc236ae40d7ef4b.png

    proteus软件界面图

    这款软件还是比较容易上手的,以后的单片机实验我的都会在Proteus上先做一下仿真,在通过实物向大家展示。

    3. 编程软件的选择

    给单片机编程我们需要使用Keil uVision5来编写,这是一款付费软件,我们肯定是需要尊重知识产权的,我可以给大家提供软件安装包。

    43c75c7d50167af2ceb451af56f18eb0.png

    Keil软件界面图

    在不激活情况下,这款软件可以编译源文件在2KB以下的工程,大家可以先尝试一下,感受一下给单片机编程的过程。

    在下一节我就会带大家正式进入单片机编程的学习,打开电子产品设计的第一步,由0到1的跨越。

    如果需要这两款软件可以关注私信我,我可以提供软件和安装指导。

    展开全文
  • 51单片机AD转换电路设计实现关于AD转换的原理,大家在《数字电子技术》中已经学过,这里做过多的介绍,本文介绍一款经典的8位AD转换芯片ADC0804,基于51单片机设计AD转换电路,并完成测量值的转换。1 芯片引脚介绍CS...

    51单片机AD转换电路设计实现

    关于AD转换的原理,大家在《数字电子技术》中已经学过,这里做过多的介绍,本文介绍一款经典的8位AD转换芯片ADC0804,基于51单片机设计AD转换电路,并完成测量值的转换。

    1 芯片引脚介绍

    1a47b61654b189335e66a06cbe8ce132.png

    CS:片选信号,低电平有效,即CS=0时候芯片才能正常工作,单独一个ADC0804芯片时候直接置零。当有多个芯片时候可以通过片选信号实现分时复用。

    WR:低电平有效,当WR信号由高到低时候实现一次ADC转换。

    RD:低电平有效,RD=0时候可以读取数据。

    Vin+:模拟电压输入端。

    Vin-:一般接地,当模拟电压是双边输入时候Vin+和Vin-分别接模拟电压的正负极。

    VREF/2:参考电压接入引脚,可悬空或接外界电压。接外电压时候芯片的参考电压为所接电压的两倍。悬空时候芯片参考电压为VCC。

    CLKR/CLKIN:外接RC电路产生转换所需的时钟信号,CLK=1/1.1RC。

    AGND和DGND:模拟和数字地。

    INTR:中断请求信号输出引脚,当完成一次AD转换后该引脚为低电平,一般与单片机的中断信号相连。

    DB0~DB7:输出转换后的八位二进制结果。

    2 ADC0804的一般接法:

    ee9c6d9be06038dccbf8e6aa7f19c051.png

    Proteus仿真电路:

    cd3969cd8845969a958c93c28adfd57e.png

    3 ADC0804的工作时序:

    9419d4c5c676a507b8ff6067be2959c5.png

    启动转换时序

    先将CS置低电平,芯片开始工作,WR随后置低,经过一段时间的低电平之后,WR拉高,AD转换启动,经过1-8个A/D时钟周期后,模数转换完成,INTR引脚拉低,通知单片机本次转换完成。

    509bb62c69a5f2459de0810d43ee43ea.png

    数据读取时序

    当INTR为低电平时,先将CS置低,接着RD置低,经过一段时间后数字输出口上的数据达到稳态,此时单片机可以读取数据,读取完成后将RD拉高,最后将CS拉高。INTR自动变化,无需人为操作。一般在只有一片ADC0804芯片时候,可以一直将CS置低。

    4 仿真实现

    51单片机读取ADC0804数据的方式有两种,一种是通过不断扫描的方式读取;另一种是将ADC0804的INTR引脚接单片机的中断引脚,当AD转换完成后,通过外部中断的方式通知单片机读取数据。

    4.1 扫描的方式

    Proteus仿真电路图

    fdeea4e2d1e09a816d5bc1417fa2ab4d.png

    源代码:

    #include <reg51.h>
    #include <intrins.h>
    sbit CS=P3^5;
    sbit adrd=P3^7;
    sbit adwr=P3^6;
    unsigned char code display[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
    unsigned char com[]={0x01,0x02,0x04,0x08};
    unsigned char num,num2=0,time[4]={0,0,0,0},val;
    float val2;
    unsigned int val3;
    
    
    void main()
    {
    	TMOD=0x01;
    	TH0=(65536-917)/256;		
    	TL0=(65536-917)%256;;		
    	EA=1;
    	ET0=1;
    	TR0=1;
    	CS=0;
    	while(1){
    	   adwr = 1;//
         _nop_();
         adwr = 0;//
    		_nop_();
         adwr = 1;//
     
         P1 = 0xff;//
         adrd = 1;//
         _nop_();
    		 adrd = 0;//
         _nop_();
         val = P1;//
         adrd = 1;//
     
    	  	val2=((val*1.0/255)*5.0);
    	  	val3=val2*1000;
    		  time[0]=val3/1000;
    			time[1]=val3%1000/100;
    		  time[2]=val3%100/10;
    			time[3]=val3%10;
     
     
    	}
    }
    
    void Timer0() interrupt 1
    {
      TH0 = (65536-917)/256;		
    	TL0 = (65536-917)%256;;	
    	num++;
    		if(num==10){		
    			num=0;
    			P0=~com[num2];
    		  P2=0xff;
    			if(num2==0)
    			{P2=display[time[num2]]|0x80;}
          else			
    		  {P2=display[time[num2]];}
    			num2++;
    			if(num2>=4)
    			num2=0;	
    		}
     
    }

    4.2 外部中断的方式

    Proteus仿真电路

    5357bd429a6589212ce308ece4a35348.png

    源代码:

    #include <reg51.h>
    #include <intrins.h>
    sbit CS=P3^5;
    sbit adrd=P3^7;
    sbit adwr=P3^6;
    unsigned char code display[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
    unsigned char com[]={0x01,0x02,0x04,0x08};
    unsigned char num,num2=0,time[4]={0,0,0,0},val;
    float val2;
    unsigned int val3;
    
    void Delay50ms()		//@11.0592MHz
    {
    	unsigned char i, j, k;
    
    	_nop_();
    	_nop_();
    	i = 3;
    	j = 26;
    	k = 223;
    	do
    	{
    		do
    		{
    			while (--k);
    		} while (--j);
    	} while (--i);
    }
    
    
    void main()
    {
    	TMOD=0x01;
    	TH0=(65536-917)/256;		
    	TL0=(65536-917)%256;;		
    	EA=1;
    	ET0=1;
    	TR0=1;
     
     
      EX0=1;
    	IT0 = 0;
     
     
    	CS=0;
    	while(1){
    	   adwr = 1;//
         _nop_();
         adwr = 0;//
    		_nop_();
         adwr = 1;//
        Delay50ms();	
     
    	}
    }
    
    void Timer0() interrupt 1
    {
      TH0 = (65536-917)/256;		
    	TL0 = (65536-917)%256;;	
    	num++;
    		if(num==10){		
    			num=0;
    			P0=~com[num2];
    		  P2=0xff;
    			if(num2==0)
    			{P2=display[time[num2]]|0x80;}
          else			
    		  {P2=display[time[num2]];}
    			num2++;
    			if(num2>=4)
    			num2=0;	
    		} 
    }
    
    void Init0() interrupt 0
    {
         adrd = 1;//
         _nop_();
    	 adrd = 0;//
         _nop_();
         val = P1;//
         adrd = 1;//
     
    	   val2=((val*1.0/255)*5.0);
    	   val3=val2*1000;
    		 time[0]=val3/1000;
    		 time[1]=val3%1000/100;
    		 time[2]=val3%100/10;
    		 time[3]=val3%10;
    }
    展开全文
  • 本文主要讲了单片机电源模块电路图,希望对你的学习有所帮助。
  • 51单片机最小系统具有体积小、质量轻、功能强、功耗低、性价比高等特点。由芯片、系统时钟、I/O端口设备及复位电路等构成。电子学习资料大礼包​mp.weixin.qq.com51单片机是STC公司开发制造的一种8位微控制芯片,...

    9264944abf3f0afcbab06bbfe6591f99.png
    51单片机最小系统具有体积小、质量轻、功能强、功耗低、性价比高等特点。由芯片、系统时钟、I/O端口设备及复位电路等构成。
    电子学习资料大礼包​mp.weixin.qq.com

    51单片机是STC公司开发制造的一种8位微控制芯片,拥有512字节的数据存储空间和8K字节的程序存储空间。共40个引脚,1个全双工串行通信端口,2个优先级设置,3个十六位强大定时/计数器,4个八位并行I/O端口,5个优质中断源。STC89C52单片机的时钟引脚为XTAL1 和XTAL2;控制信号的引脚有RST,ALE,PSEN 和EA;I/O端口有P0,P1,P2和P3。

    复位电路主要用于控制单片机的启动状态。在单片机系统运行过程中,受到外界干扰而出现程序出错或直接死机、停止运行的时候,通过复位操作,单片机内部的烧录代码就会重新执行。复位方式一般分为自动复位和按键复位,本设计为了编程的简单化,采用了外部手动按键复位的方式。STC89C52单片机的P0脚内无上拉电阻,为开漏输出。所以在本设计中P0脚用作输出端口,需另加上拉电阻以加大输出的驱动能力,本设计采用10K的排阻作为上拉电阻。

    时钟电路其实本质就是一个晶体振荡电路,提供一个方波信号让单片机进行工作,因此单片机的运行速度及处理能力都是由时钟电路决定。XTAL1为反相放大器的输入端,XTAL2为反向放大器的输出端。本设计中外接的石英晶体振荡器具有11.0592MHZ的振荡频率。

    d2f1fb1e8858cddaeef21de28b234e0e.png

    51芯片内部结构框图

    所谓单片机最小系统,就是用不能再少的元件来组成可以正常工作的电子控制系统。52系列单片机的最小系统一般包括:控制芯片、系统时钟以及复位电路。其框图如下所示:

    5f3bd66ed54f1440084935620fe413d8.png

    单片机最小系统框图

    系统时钟电路:系统时钟电路主要用于为主控芯片提供时钟节拍,在人体中就相当于心脏的作用,只有随着心脏的跳动,血液才会到达身体各个部位,以保持人体生存及生活。本次设计中的时钟电路,选用12M的晶振。具体系统时钟的电路设计如下所示:

    3acb185ff81019ee8ccda104237f0bb2.png

    系统时钟电路图

    复位电路:本次设计采用的51最小系统板为低电平复位。即当按键自然释放时RSTSET端输入信号为高电平,当按键按下时,RSTSET端的输入信号为低电平,从而实现电路的复位。具体复位电路的设计如下所示:

    f2468ada6a9b0caf4f743709a299b899.png

    复位电路图

    单片机:复位电路的C3电容大小可直接影响单片机的复位时间,实际应用中一般选用10uF极性电容。在工作模式下,可选用更高频率的晶体振荡器,因为单片机最小系统的晶振频率可直接影响单片机的运算处理速度,即晶振频率越大,相应运算处理速度会越快。

    51微控制芯片的正常工作电压范围在3.8V-5.5V之间,在本设计中通过外接5V直流电源给单片机供电。主控制器电路如下所示:

    a412d938270dda8803037e0daa14b3a6.png
    展开全文
  • 本文主要讲了51单片机复位电路原理,下面一起来学习一下
  • 免费下载查看,共同学习,只限学习使用,如用于商业开发,请及时删除,谢谢。原理图版权为清翔51单片机所有,建议大家学习使用。
  • 神州51单片机电路原理图,用于分析电路连接原理,共电路调试
  • 普中51单片机开发板原理图(7个).rar
  • 原理图: PCB:
  • 在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部...
  • 前言上一节,我们完成了51单片机控制LED灯,并实现流水灯效果,本节我们学习操作独立按键,并通过两个按键,分别打开和关闭所有LED灯,按键作为输入设备,在系统开发过程中十分常见,一般来说,按键可以设置系统参数...
  • 这是51单片机最小系统的电路原理图设计,包括晶振电路以及复位电路等。
  • 原理图,写单片机程序时使用。
  • 这是基于51单片机的时钟电路原理图 对于喜欢单片机的朋友很有帮助
  • 本文主要对51单片机时钟电路原理图进行了解析,下面一起来学习一下
  • 单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期,具体数值可以由RC电路计算出时间常数。 ...
  • 下面几种延时复位电路,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。
  • (定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个设定值寄存器(字),一个当前值寄存器(字)。设定值寄存器(字)存储编程时赋值的计时时间设定值。当前值...
  • 郭天祥51单片机开发板原理图pdf,
  • 沙漏工作原理:通过两个水银开关给单片机提供外部中断,单片机通过中断判断沙漏正反后控制I/O口电平,通过点亮和熄灭LED来模拟沙漏的形成。电子沙漏电路具体功能介绍:电子沙漏用电子电路控制的发光二极管表示沙粒,...
  • 本文主要讲了8051单片机与RS485应用电路原理图,下面一起来学习下
  • 该程序为一个完整的温度控制器程序最小系统温控板(后附图) 实现功能: 1 、 2X2 的矩阵按键:分别实现 ( 温度 +, 温度 - ,温度确认, 回 到初始化状态) 2 、先按键设定你要的温度值,然后按下确认...电路原理图如下:
  • 本文主要讲了单片机红外遥控器电路原理图,希望对你的学习有所帮助。
  • 本文介绍的就是单片机按键复位电路原理和电路解析。 复位电路 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,217
精华内容 5,686
关键字:

51单片机电路原理图

友情链接: API-ACR1281U-C1-1.08.zip