51单片机的作用(respack8在单片机的作用)

51单片机作用?

51单片机的作用很多很大,可以说上至航天飞机,下至家用电器都有51单片机的身影。在8位机这个价廉物美的单片机家族中,只有51单片机是有数据总线和地址总线这个概念的,因此这就决定了其功能的扩展性比AVR、PIC之类的单片机要强很多。很多工业控制都需要实时的存取一些数据,51单片机在此有明显的优势,因为它可以将数据存储在扩展的静态RAM中,速度上优势明显。尽管只有16根地址总线,直接扩展只有64K,但通过一些特殊处理,扩展到1M或更高都还是比较容易的。

排阻respack-8,接单片机的原理是什么?

驱动,电流不够,加排阻增加电流嘛,排阻一般有九个脚,一个脚接VCC,其他脚接单片机I/o口,比如说P0口,一般需要加排阻。

单片机做串口实验时程序里while的作用

  • #include#define uint unsigned int#define uchar unsigned char uchar code d[]="I get ";uchar flag,i,a;void play(){ TMOD=0x20; TH1=0xf3; TL1=0xf3; TR1=1; SM0=0; SM1=1; REN=1; ES=1; EA=1; } void main () { play();while(1){ if(flag==1) { ES=0;for(i=0;i6;i++){ SBUF=d[i]; while(!TI); TI=0;}SBUF=a;while(!TI);TI=0;ES=1; } } } void intt()interrupt 4 { RI=0; a=SBUF; flag=1; }这是我的程序 当我把里面的while去掉 我要传送数据我传送一个q时 我要按好多下手动传送才能传送出去为什么问题补充: 程序:#include reg51.h#define uint unsigned int#define uchar unsigned char uchar code d[]="I get ";uchar flag,i,a;void play(){ TMOD=0x20; TH1=0xf3; TL1=0xf3; TR1=1; SM0=0; SM1=1; REN=1; ES=1; EA=1;}void main (){ play();while(1){ if(flag==1) { ES=0;for(i=0;i6;i++){ SBUF=d[i]; while(!TI); TI=0;}SBUF=a;while(!TI);TI=0;ES=1; }} } void intt()interrupt 4 { RI=0; a=SBUF;flag=1; }
  • while可以让程序保持运行而不会结束

如图所示:Keil v4单片机编程软件里对C52单片机在新建工程时会有一个启动代码,这个启动代码有什么作用?

  • 这启动代码能做啥?加上它与不加它分别有什么不同?————————这个STARTUP.A51究竟有何作用?
  • 百度搜。。不然也是复制

求帮助解释下该电路图的作用。其中TXCAN1与RXCAN1连接到单片机的两个接口

  • 求帮助解释下该电路图的作用。其中TXCAN1与RXCAN1连接到单片机的两个接口
  • RS232转CAN现场总线接口

PIC单片机的芯片头文件和链接描述文件的作用是什么

  • 请问PIC单片机的芯片头文件和链接描述文件的作用分别是什么?
  • 头文件是定义一些特殊功能寄存器,如io口定时器等

在单片机与三极管中间串联一个电容是什么作用(有图)

  • 各位大侠好! 如下图中的贴片电容C18和C23是什么作用呢,其中MOTO—N 、MOTO—S接进单片机IO口。后端K1和K2为继电器。还望指教。谢谢
  • 隔直流通交流。

单片机程序哪里错了?仿真时加数按键不起作用

  • ORG 0000HMOV R0,#0MOV DPTR,#TABSTART:MOV A,P0ANL A,#0FH CJNE A,#0FH,KEY1SJMP STARTKEY1:LCALL DELAY MOV A,P0 ANL A,#0FHCJNE A,#0FH,KEY2SJMP STARTKEY2:JNB ACC.0,K1 JNB ACC.1,K2JNB ACC.2,K3JNB ACC.3,K4LJMP STARTK1:MOV R1,#1 LJMP ADDOPRK2:MOV R1,#2LJMP ADDOPRK3:MOV R1,#3LJMP ADDOPRK4:DEC R0LJMP WAITADDOPR:MOV A,R0 ADD A,R1MOV R0,AWAIT:MOV A,P0ANL A,#0FHCJNE A,#0FH,WAITMOV A,R0MOV B,#10DIV ABMOVC A,@A+DPTRMOV P1,AMOV A,BMOVC A,@A+DPTR MOV P3,ALJMP STARTDELAY:MOV R6,#15 DEL2:MOV R7,#200DEL1:DJNZ R7,DEL1DJNZ R6,DEL2RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND
  • 哪里错了?

求大神科普它的工作原理。这玩意是不是单片机起作用?

  • 求大神科普它的工作原理。这玩意是不是单片机起作用?
  • 是的

单片机IO扩展口的作用

  • 单片机IO扩展口的作用
  • 通过单片机IO控制扩展口,增加单片机IO口能控制的端口的数量。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领怠工糙继孬荒茬维长哩域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。在单片机的IO口不够的情况下,经常会需要扩展的设计,有两种方法,一是用并行输入并行输出接口芯片扩展,如数据锁存器:74HC273,74HC373,74HC374,74HC377,74HC573等很多的,可以扩展多片。二是用串行输入并行输出的芯片扩展,如74LS595,74LS594,74LS596,74LS599等等,也很多的。这要根据需要选择哪种扩展方式和芯片。

单片机红外发射接收程序中,for语句对于产生38khz的频率起到了什么作用?请具体讲解下38khz是如何产生的

  • *———————————————– 名称红外测试程序 内容: *红外测试程序,用单片机通过发射管发射38K的调制频率码,由一体化接收并解码由发光管显示。 *正常情况下,由于反射和高灵敏度接收,LED4(P1.3)一直闪烁,可以用黑色纸片完全遮挡接收头使 *之不能接收到发射管的信号,这是LED4熄灭。说明功能性正常————————————————*#includereg52.h 包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit LED=P3^3; 红外发射sbit LED1=P1^3;sbit IR=P3^2; 红外一体化接收bit Flag;void Init_Timer0(void){ TMOD |= 0x01; TH0=0xf0; * Init value * TL0=0x00; EA=1; * interupt enable * ET0=1; * enable timer0 interrupt * TR0=1; }******************************************************************* 定时器0初始化 *******************************************************************void Timer0_isr(void) interrupt 1 using 1{ TH0=0x0f; * Init value * TL0=0x00; Flag=!Flag;}******************************************************************* 主函数 *******************************************************************main(){ unsigned int j; Init_Timer0(); 定时器初始化 while(1) { LED1=IR; 读取一体化接收头数值 if(Flag) { for(j=0;j27;j++)大约38KHz { LED=!LED; 发射管输出 } } }}问题补充: 请大虾把具体的数学计算公式呈上,三克油。
  • for(j=0;j27;j++)大约38KHz { LED=!LED; 发射管输出 }共循环27次,每次,都是对 LED 引脚取反。即输出一系列的高低电平。仅从程序看,看不出来和 38KHz 有任何关系。脉冲频率,或脉冲的时间间隔,关键要看硬件:晶振频率。

单片机时钟和定时器没作用

  • 高手大哥们请看下面的小程序 这是51单片机的 我要让它 靠内部时钟定时产生中断来做一个 从一开始数的动态数码管显示 但是做好了以后不知道是内部时钟不起作用啊 还是没产生中断 数码管显示为零 我也把定时器关掉自己给x赋值 显示,没 问题 我想是内部中断或者是没中断颤声 帮帮忙看看是哪里的问题啊#includereg52.h#define uchar unsigned char#define uint unsigned intsbit weix1=P2^7;sbit dx1=P2^6;uint x,y,z,a,b,bai,shi,ge;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,};void xianshihanshu(uintbai,uintshi,uintge);void delay1(uint z);void main(){ TMOD=0x01; TH0=(65535-50000)256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1;while(1){ if(a==10)x++; if(x==999)x=0; a=0; bai=x100; shi=x%10010; ge=x%100%10; xianshihanshu(bai,shi,ge);}}void delay1(uint z){uint x,y;for(x=z;x0;x–) for(y=110;y0;y–);} void xianshihanshu(uintbai,uintshi,uintge) { dx1=1; P0=table[ge]; dx1=0; P0=0xff; weix1=1; P0=0x3b; weix1=0; delay1(5); dx1=1; P0=table[shi]; dx1=0; P0=0xff; weix1=1; P0=0x3d; weix1=0; delay1(5); dx1=1; P0=table[bai]; dx1=0; weix1=1; P0=0x3e; weix1=0; delay1(5);}void neibuzhongduan0()interrupt 1{ TH0=(65535-50000)256; TL0=(65535-50000)%256; a++;}
  • void xianshihanshu(uintbai,uintshi,uintge);这里void xianshihanshu(uint bai,uin tshi,uint ge);程序大体上没有问题。。能不能发个电路图看看。?

为您推荐