‘壹’ 双cup单片机程序如何写
CUP是什么东西啊;
你学会了单片机编程,在多几个单片机又有何难的;
多机通信有的是手段和方法,简单的就采用SPI、IIC、USART接口就是了
‘贰’ 单片机与双片机有什么区别
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上未听说过双片机!
‘叁’ 两个单片机的串行通信
DAT EQU30H
SCANLED EQU32H
FSDAT EQU33H
DSDATEQU34H
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0ISR
ORG0030H
MAIN:
MOVSP,#5FH
MOVTMOD,#21H
MOVTH0,#HIGH(65536-10000)
MOVTL0,#LOW(65536-10000)
MOVTH1,#0FDH
MOVTL1,#0FDH
SETBTR1
MOVSCON,#50H
MOVP2,#00H
MOVSCANLED,#0
MOV30H,#0
MOV31H,#0
MOVR2,#0
SETBEA
SETBET0
SETBTR0
LOOP:
JNBRI,LOOP
CLRRI
MOVA,SBUF
MOVFSDAT,A
SJMPLOOP
DEALDAT:
MOVA,FSDAT
MOVB,#10
DIVAB
MOV30H,A
MOV31H,B
RET
;--------------------
T0ISR:
PUSHACC
CLRTR0
MOVTH0,#0F4H
MOVTL0,#48H
SETBTR0
MOVDPTR,#LEDTAB1
T000:
MOVR0,#DAT
MOVA,SCANLED
ADDA,R0
MOVR0,A
MOVA,SCANLED
JNZT001
MOVP2,#02H
SJMPT0DIS
T001:
MOVP2,#01H
T0DIS:
MOVA,@R0
MOVCA,@A+DPTR
CPLA
MOVP0,A
INCSCANLED
MOVA,SCANLED
ANLA,#01H
MOVSCANLED,A
INCR2
CJNER2,#20,T0E
MOVR2,#0
LCALLDEALDAT
T0E:
POPACC
RETI
;--------------------
LEDTAB1:
DB0C0H ;"0" 00H
DB0F9H ;"1" 01H
DB0A4H ;"2" 02H
DB0B0H ;"3" 03H
DB99H ;"4" 04H
DB92H ;"5" 05H
DB82H ;"6" 06H
DB0F8H ;"7" 07H
DB80H ;"8" 08H
DB90H ;"9" 09H
DB88H ;"A" 0AH
DB83H ;"B" 0BH
DB0C6H ;"C" 0CH
DB0A1H ;"D" 0DH
DB86H ;"E" 0EH
DB8EH ;"F" 0FH
DB0FFH ;"" 10H
;--------------------
END
‘肆’ 有关双串口单片机的问题
首先要有双串口的单片机,比如W77E058、STC12C5A60S2或者STM32等等。
主要是保证数据不丢失,无论怎样的协议和波特率,都要求单位时间内单片机到上位机的数据传输量要大于模块到单片机的数据传输量。
‘伍’ 什么是单片机,双片机
目前只有单片机,没有双片机的。
一、关于单片机:
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
二、单片机的基本结构:
1、运算器
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。
运算器有两个功能:
(1) 执行各种算术运算。
(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
2、控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:
(1) 从内存中取出一条指令,并指出下一条指令在内存中的位置。
(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。
3、主要寄存器
(1)累加器A
累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
(2)数据寄存器DR
数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
(3)指令寄存器IR和指令译码器ID
指令包括操作码和操作数。
指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
(4)程序计数器PC
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
(5)地址寄存器AR
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。
三、单片机的应用范围:
单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
‘陆’ 双单片机间串口双向通信(十万火急)
一个简单的仿真实例,改一下就可以了
‘柒’ 什么是单片机 双片机
最简单有效的方式:网络以下:“什么是单片机 ”,不就解决了。
‘捌’ 什么是双bank单片机
其实很简单,就是说你里面有几块存储空间占用同样的地址,你用时,就需好用bank来选择.PIC的单片机大部分都是这样的.
如果是51系列的话,SST的是的,其它的义隆的,盛群的也是.
‘玖’ 双核是不是双MCU
你问的其实是两个问题,
1. 什么叫双核?
2. 什么叫MCU?
双核:
毫无疑问双内核应该具备两个物理上的运算内核,而这两个内核的设计应用方式却大有文章可作…………英特尔的双核心却仅仅是使用两个完整的CPU封装在一起,连接到同一个前端总线上……
MCU(MicroControllerUnit)中文名称为微控制单元,又称单片微型计算机(SingleChipMicrocomputer),是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。 其实,简单点说,就是我们平时所说的单片机。
----------------------------------------------------------------------------------------------------
所以,双核与MCU是两个不太相干的概念,一般来说双核与CPU对应。
MCU追求小型化,一般来说,不做双MCU。
如果你问的是双核是不是双CPU,可以简单的说是。
如果你问的是双MCU是不是双核,可以简单的说,是其中的一种。
‘拾’ 如何实现双单片机模拟iic通信
对于疑问1:for循环已经把数据从主器件发送到从器件,没错,后面加那几句是为了释放数据总线,这是芯片协议已经规定了的,为什么是scl=0;而sda=1呢,应该总线SCL与SDA都是线与关系,任意一个器件输出低电平,都使该总线的信号变低,你可能会这么想:为什么不是scl=1;delay();sda=1;delay();呢?那是因为当scl=1;sda=1;这是终止信号。对吧,这样写的话IIC将会停止工作。
对于疑问2:加这几句也一样,是芯片现已规定:无论是写数据还是读数据,写完读完之后需释放总线,for循环语句的意思是:
for(i=0;i<8;i++)
{
scl=1; //拉高时钟总线,开始读数据
delay();
k=(k<<1)|sda; // 将读取到的sda数据存放到k中,这里你可能有点无法理解,我举个例子:刚开始k=0x00(系统默认),当读取到的sda数据为1时,k=0x01;对吧,反之当读取到的sda数据为0时,k=0x00;
scl=0;// 读取完一个数据,拉低时钟总线
delay();
}
就这样循环8次,这样一个字节的数据就从主器件读到了从器件了。对吧。
如果那个释放总线你理解不了,你就记住,这是芯片协议规定,读完或写完都必须释放总线。iic协议都是如此。
希望能帮助到你。