ZKX's LAB

51单片机控制器

2020-07-17知识5

51单片机控制器组成与功能简介 MSC51单片机的控制器由指令寄存器、指令译码器、复位电路、时钟发生器、定时控制逻辑、程序计数器、程序地址寄存器、数据指针、堆栈指针等组成。1、时钟发生器。1)内部方式:MCS-51 有内部振荡电路,只要在XTAL1、XTAL2引脚上外接定时反馈电路(一般为石英晶振和电容组成的并联回路)内部振荡器便自激振荡-称为内部方式。在XTAL2有3V左右的正弦波输出。2)外部方式:由XTAL1或XTAL2输入一外部振荡信号(0。5~16MHZ方波)。2、复位电路1)上电复位2)人工复位3)系统复位(单片机本身与外部扩展的I/O接口电路需要一个同步复位信号,若不同步,则CPU对I/O接口电路的初始化编程无效,使系统不能正常工作,(1)这可通过延时一段时间以后对外部I/O电路进行初始化来解决,(2)或接不同的复位电路通过调节RC常数使CPU和外部电路同步复位)。3、CPU定时(时序)1)振荡周期(1/fosc)振荡器输出的脉冲周期2)时钟周期 振荡脉冲经2分频后的内部时钟信号周期(也称状态周期)。(S)3)机器周期 6个时钟周期组成一个机器周期,或1个机器周期=12振荡周期。4)指令周期 以机器周期为单位,一条指令执行的时间;有单周期指令、双周期指令、4周期指令。如何不用驱动器直接用51单片机控制伺服电机? 单片机的端口最多才能吸收20mA的电流,但是伺服电机的工作电流在100mA以上,怎么样?要不烧坏单片机,要不电机无法工作,所以才有驱动器的啊!你想用单片机控制MOS管之类的开关,再由MOS管驱动电机工作?这样当然可以。当然要保证电机转动的平稳,就对你的程序功底非常考验啦。51单片机怎样控制DC\/DC变换器? 什么毕业设计啊?搞这高端?这里图上不是写了PWM控制嘛!单片机就是给DC/DC的电力元件PWM信号,让DC/DC电路变换并保持一定电压,单片机还负责监测各个电路的电流,电压判断是否过流是否过压,欠压,等等。根据监测到的信息对DC/DC进行控制。求51单片机控制继电器程序 程序就免了,给你几个建议。你最好把按键的程序和逻辑控制分开写,这样比较清晰,按键驱动的结果就是消抖以后的按键状态,处理完清除,最好用固定时钟驱动少用延时,按键驱动看着容易做好了还是不容易的。逻辑控制无非就是if else。用全局量记录之前的状态,最好有个简单明了的逻辑状态图否则很容易乱套,然后操作继电器就是两个io口就是了。你用的这个和89c都是stc比较老的型号了,建议你到官网看看,很多新型号跑得更快,程序上能不能通用注意两点,死等延时的时间和硬件上的区别。stc很多型号都用3.0和3.1口下载程序,所以按键会有影响,建议换个io口继电器的常开和常闭是接线决定的,按键常开和常闭可以用上下拉电阻来控制,硬件上处理一下,主要是要保证系统刚上电之前的这段时间的状态是对的。51和stm32是完全不同的cpu,如果要移植到stm32上初始化和寄存器操作是不一样的,c语言的层面上大概只有逻辑控制这块儿能用,而且stm32是3.3V硬件上也要处理。这个做成并不难,做好就要花些心思,自己做才有意义解决问题就是学习的过程。基于51单片机的温度控制器 图片为温度控制电路图。温度到达上限时led灯亮,并停止对RT的加热,温度达到下限时led灯灭并开始对RT进行加热。A1和A2为uA741运算放大器。引脚号在图上已经标出。再给你一个单片机采集DS18B20温度的程序,用四位数码管显示的。你把DS18B20接在RT附近就可以测试出RT的温度,调节图中的滑动变阻器可改变温度的上下限。这样就能做到温度控制了。安装目录下的EXE文件打开后可在电脑上显示当前温度值includedefine uchar unsigned chardefine uint unsigned intsbit DS=P1^0;define interfaceuint temp;variable of temperatureuchar flag1;sign of the result positive or negativesbit dula=P2^6;sbit wela=P2^7;unsigned char code table2[]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67/*,0x77,0x7c,0x39,0x5e,0x79,0x71*/};unsigned char code table1[]={0xbf,0xb0,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xe7};unsigned char code table2[]={0x40,0x5e,0x24,0x21,0x13,0x09,0x08,0x63,0x00,0x03/*,0x77,0x7c,0x39,0x5e,0x79,0x71*/};unsigned char code table1[]={0xc0,0xde,0xa4,0xa1,0x93,0x89,0x88,0xe7,0x8f,0x87};unsigned char code table5[]={0x77,051单片机可以做成USB的控制器吗? 51可以做控制器,不过这个意思是如果你用USB接口芯片(如PDIUSBD12等)的话,51可以做控制器。但不能用它来模拟USB时序来做接口通信,的确太慢了,你如果是想这么用的话那用avr吧,mega8就可以,而且例子也很多。集成了USB接口的51也有好几款,1.1的,2.0的都有,如C8051等。51单片机控制继电器 你的仿真图有问题,继电器是不会吸合的。发光二极和串联的电阻阻值也大,LED不能亮。仿真应该如下图这样画汇编程序RELAY BIT P2.0;继电器控制位RESET:LJMP MAINORG 000BHMOV TH0,#3CHMOV TL0,#0B0HDJNZ R2,BACKMOV R2,#20;中断20次,1秒到,继电器吸合或断开一次CPL RELAYBACK:RETIMAIN:MOV TMOD,#01HMOV TH0,#3CH;晶振频率为12M,定时50msMOV TL0,#0B0HMOV IE,#82HSETB TR0MOV R2,#20CLR RELAYAJMP$END请采纳现在家里的电器都是用什么控制器?51单片机吗?还是什么其它系列的? 一般不用51,是用专用的单片机芯片。有PMW输出,可编程蜂鸣器输出,7 个中断源,8 路8位A/D转换器。控制器:控制器(controller)是机器的核心。标准定义为:按照预定顺序改变主电路或控制电路的接线和改变电路中电阻值来控制电动机的启动、调速、制动和反向的主令装置。由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。电力是其应用的一级学科,配电与用电为二级学科。51单片机引脚ALE的具体作用?怎么控制地址锁存器的? ALE(Address Lock Enable)功能2113是在访问外部存储器时,52614102P0口做为地址/数据复用口,ALE信号1653用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送到地址锁存器锁存起来。在ALE为低电平期间P0口上的信息为指令或数据信息。在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。ALE是自动运行的ALE:地址锁存控制/片内EPROM编程脉冲输入信号ALE(Address Lock Enable)功能是在访问外部存储器时,P0口做为地址/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送到地址锁存器锁存起来。在ALE为低电平期间P0口上的信息为指令或数据信息。在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。值的注意的是,在访问片外数据存储器时,人会缺少一个ALE脉冲。当不访问外部存储器时,该信号也以晶振频率的六分之一固定输出正脉冲信号,可以作为外部的定时脉冲使用。如果想禁止ALE的输出可在SFR(特殊功能寄存器)8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时才关于用51单片机设计电机控制器 用LED做显示,用AD做调速,用按键做控制提示你这三点,用好这三点就OK了.如果要给你做电路,写程序,我想没有人可以在这里做到了.还是得靠自己!看了你的回答,这样的话,我建议你自己做块板子,用自己的电脑来做,毕竟,这些东西要靠自己动手的.这样能更方便学习,更能学到实际的东西,现在这些电子IC什么的一般常用的也不贵了,相信要不了多少投入,而且你还可以向老师要.

#指令周期#汇编指令#计算机指令#单片机复位电路#继电器

随机阅读

qrcode
访问手机版