单片机用位操作指令实现下列操作:1、使ACC.0置1;2、清除累加器高4位;

丫丫在深圳342022-10-04 11:39:541条回答

单片机用位操作指令实现下列操作:1、使ACC.0置1;2、清除累加器高4位;
3、清除ACC.3,ACC.4,ACC.5,ACC.6 4.编写两个16位数的减法:6F5DH-13B4H,将结果存入内部RAM的30H,31H单元,30H存差的低8位.在线等高手,重谢

已提交,审核后显示!提交回复

共1条回复
tinkit 共回答了20个问题 | 采纳率90%
1.使ACC.0置1;ORL A,#01H
2.清除累加器高4位;ANL A,#0FH
3、清除ACC.3,ACC.4,ACC.5,ACC.6 ANL A,#10000111B
4.编写两个16位数的减法:6F5DH-13B4H,将结果存入内部RAM的30H,31H单元,30H存差的低8位.
被减数存31H,30H,减数存R1R0;
CLR C
MOV A,30H
SUBB A,R0
MOV 30H,A
MOV A,31H
SUBB A,R1H
MOV 31H,A
1年前

相关推荐

单片机题求解答,急1)以下电路是8031单片机通过8255A芯片联接两个数码管显示的部份电路,数码管结构如下图中(b)所
单片机题求解答,急

1)以下电路是8031单片机通过8255A芯片联接两个数码管显示的部份电路,

数码管结构如下图中(b)所示,如果数码管显示电路需要采用动态显示方

式,请在下图(a)中完成电路的联接。

2)如果需要在左边的数码管显示一个数字“8.”,请写出所需的指令。

(没用到的地址线填“1”


照少家1年前1
stevenshe 共回答了20个问题 | 采纳率95%
呵呵 俺可以帮你
PWM控制芯片电阻取值.单片机.
PWM控制芯片电阻取值.单片机.
第一问:Icc 耗散电流推荐值什么意思.这个芯片的第2引脚直接接20V就可以了吗?如果60A,600V IGBT还需要并联电阻 20/(20mA)吗?


第二问:我做一个实验板.主电路最大电流只有0.3A 36V这样.不知道RG选多大的值.
第三问:最左边箭头,第13引脚 10mA电流表示该引脚续流入10mA电流吗?比如,我这里接一个单片机引脚5V.是不是需要串联联5/0.01=500欧电阻呢?


可以点击图片放大图片.

Icc 耗散电流推荐值什么意思.是不是用一一个可调电源.输入20V电压以及推荐的电流?比如200A 5KHZ的20mA.
cyf21981年前1
1802307 共回答了19个问题 | 采纳率94.7%
第一问:不知道
第二问:IGBT我一般都是当做MOS去用,因为它的栅极特性有些类似与MOS管,对于MOS来说,Rg这个电阻一般很小(10Ω左右吧),但不能省略,它用于限制栅极电流(虽然栅极的阻抗非常大,理论上应该电流接近于0的,但不要忘了栅极存在一个分布电容,高速开关时,这个电容在不停的充电和放电,因此为了让管子能够迅速的开启和关断,这个电容要被高速的充放电,电流是很大的)
第三问:这个要考虑单片机的拉电流能力了,比如常用的51单片机,它的IO口拉电流能力很差,即使不加限流电阻,也不能输出10mA的电流.我没有这个芯片的资料,你看一下这个芯片15脚是控制啥的,如果要求恒流输入的话,再考虑恒流问题.
设有两个16位无符号数NA,NB分别存放在8051单片机内部RAM的40H、41H及50H、51H单元中.
设有两个16位无符号数NA,NB分别存放在8051单片机内部RAM的40H、41H及50H、51H单元中.
当NA>NB时,将内部RAM的41H清零,否则,该单元置成全1。试写出程序流程图,并编写程序。
泡泡2531年前1
读蚂蚁 共回答了24个问题 | 采纳率87.5%
子程序形式出现 : YCIT
ORG 1000H
YCIT: CJNE 40H,50H,LOP
CJNZ 41H,51H,LOP1
JMP LOP3 ; 相等
LOP: MOV A,40H
SUBB A,50H
JC LOP3 ; NANB
JMP NEXT
LOP1:MOV A,41H
SUBB A,51H
JC LOP3 ; NANB
JMP NEXT
LOP3: MOV 41H,#0FFH
NEXT: RET
END
单片机中TH0 = -4608/256;TL0 = -4608%256;//(11.0592=4608)--5ms (6
单片机中TH0 = -4608/256;TL0 = -4608%256;//(11.0592=4608)--5ms (6M=50000)--2.
那个-4608怎么来的,为什么11.0592=4608 6M=50000
smd74111年前1
我为歌狂 共回答了17个问题 | 采纳率94.1%
-4608计算机采用的是补码,对于8位计算机它和(65536-4608)的值是一样的,51的6M晶振单周期指令时间为12/fsoc=2us,所以(50000*2us)= 100ms,11.0592M晶振也是一样的算法
初级单片机综合题求解答,请用汇编语言
初级单片机综合题求解答,请用汇编语言

下图为8031微控制器扩展一片数据存储器6116(2KB)组成外部数据存储器扩展系统。请:①根据扩展电路,写出6116中的首字节和末字节在微控制器的64K外部数据存储器中所占用的地址。(5分)②编写程序,将5AH和A5H分别写入6116的首字节和末字节中。(4分)③ 编写程序,将6116所有字节清零。(6分)


流连的钟声1年前1
swordsman1122 共回答了22个问题 | 采纳率95.5%
地址低8位有u2锁存后提供,高3位由p2口的低3位提供,共11bit地址,E端接P26,所以6116在64k地址范围的地址为, 最基本地址是,4000h-47ffh 共 2k byte但由于P2.7,P2.6,P2.5,P2.5悬空,可以是任意值,都可读写到6116,所以6116有多重地址. 即0000h-ffffh的64k中,除了p2.6=0,的地址,其他地址均可分成多个2k的块,每个2k的块都可读写到同一个6116的数据。2. mov A,#5ah MOV DPH,#40H MOV DPL,#0 movx @DPTR,A MOV A,#0A5H MOV DPH,#47H MOV DPL,#0FFH movx @DPTR,A3. MOV A,#0 MOV DPH,#40H MOV DPL,#0 MOV R0,#7hLOOP1: MOV R1,#0ffhloop2: movx @dptr,a inc dptr djnz R1,LOOP2 djnz R0,LOOP1
单片机的IO口,低电平有效,就不用就上拉电阻和三极管驱动了吧?
单片机的IO口,低电平有效,就不用就上拉电阻和三极管驱动了吧?
我用的是89S52.P0、1、2、3口都是低电平有效,既然是低电平有效,相当于直接连地了,接继电器也不要三极管驱动,接上拉电阻还有什么意思呢?不用接也可以吧?
还有一个问题,据说单片机都是在复位键松开之后才开始工作的,现在复位键是一个微动开关,要求按下(不松开)开关键单片机就复位开始工作,松开对单片机没影响,用如图的电路应该没可以吧?

router7001年前1
粉蓝紫pig 共回答了15个问题 | 采纳率73.3%
复位电路没有问题,你的P0-P3底电平有效主要是开外围电路的要求,而不是对单片机本身.继电器必须接要三极管驱动,由于IO口驱动电流过低,不接三极管会导致不能驱动继电器.接上拉电阻主要是为了防止刚上电是IO口状态不稳定导致继电器误动作.其他接上拉电阻是什么原因具体要因电路而异.
一位的共阳数码管连接单片机,是否可以+5V直接连公共端.每段位接200欧电阻接IO口.
一位的共阳数码管连接单片机,是否可以+5V直接连公共端.每段位接200欧电阻接IO口.
还有就是5V 10A单片机用的继电器是否可以直接控制家用水泵.750W的
就这样可以不
混蛋男人1年前1
明魅 共回答了14个问题 | 采纳率92.9%
1:可以这么接,但是灌电流有点大,(5V-1.7V)*8/200=132MA,自己回去查查51单片机IO口最大灌电流就知道200欧姆的电阻太小了
2:可以,750W/220V=3.41A,10A的肯定够用,至于三级管的接法,给你细细的算,做电子一定别蒙参数,算一算就出来了,继电器的导通电流为60MA,比如你用的PNP三极管放大倍数为100倍,Ic=βIb,因为电流应该略大于60MA,就将Ib扩大1.5倍去计算,Ib=(5V-0.6V)/(Rb+Re),Rb为基极限流电阻,Re为0,则Rb的值不就出来了,把继电器接集电极,别忘了加一个续流二极管
51单片机控制的超声波测距程序问题,为什么num一直为0
51单片机控制的超声波测距程序问题,为什么num一直为0
#include
#define uint unsigned int
sbit RST= P1^1;
sbit start=P1^2;
sbit Pled1= P2^0;
sbit Pled2= P2^1;
uint num;x05x05x05x05 //num一个数值代表0.05ms
void DetectScanf();
void main()
{
num=0;x05x05x05
TMOD=0x11;
EA=1;
RST=0;
while(1)
{
DetectScanf();
}
}
void DetectScanf()
{
while(start) {;}
if(start==0)
{
while(!start){;}
TH0=(65535-46)/255;
TL0=(65535-46)%255;
RST=1;
TR0=1;
ET0=1;
EX0=1;
IT0=1;
while(1){;}
}
}
void time1() interrupt 1 //定时器0的中断服务程序
{
TH0=(65535-46)/255;
TL0=(65535-46)%255;
num++; //定时到,加0.05ms
}
void receive() interrupt 0
{
ET0=0;
TR0=0;
RST=0;
if(num==0) Pled1=0;
if(num!=0) Pled2=0;
}
现象时按了START按键后,一直是Pled1亮,即num=0 即使没有放物体也是如此,为什么呢?
顺德的江西人1年前1
我丫vv沦落人 共回答了21个问题 | 采纳率100%
嗯!这个问题是!你的外部中断使用的是外部中断0,而定时器使用的也是0.在51内,外部中断0的优先级是要大于定时器0的.所以在程序的最后是要先执行外部中断0的!
然后你的程序就会先进入外部中断服务,然后你在外部中断中又把定时器中断给关闭了!这样你就不会走到定时器中断的服务项中.
所以你的num一直是0
求单片机高手修改一下如下程序 将片内RAM20H单元内容拆成两段,每段4位,并将他们分别存入21H与22H单元中
88761951年前1
sz971010 共回答了20个问题 | 采纳率95%
;20H低4位放入21H低4位
;20H高4位放入22H低4位
MOV 21H,20H
ANL 21H,#0FH ;高四位清0
MOV A,20H
SWAP A ;高低位交换,只能在A中进行
MOV 22H,A
ANL 22H,#0FH ;高四位 清0
RET
我也是新手,最近在学义隆的芯片,51的有些淡忘了.不知道上面语法有没有错.
单片机指令判断1. 当MCS-51执行MOVX @DPTR,A指令时,伴随着/WR信号有效。(判断正误)2.产生/WR信
单片机指令判断
1. 当MCS-51执行MOVX @DPTR,A指令时,伴随着/WR信号有效。(判断正误)2.产生/WR信号的指令是( )A MOVX A,@DPTR B MOVC A,@A + DPTR C MOVC A,@A + DPTRD MOVX @DPTR,A请说明原因
guyugong1年前1
花花汉姆 共回答了12个问题 | 采纳率75%
1. 当MCS-51执行MOVX @DPTR,A指令时,伴随着/WR信号有效。(对)
2.产生/WR信号的指令是( D :MOVX @DPTR,A)
MOVX @DPTR,A指令使引脚WR上出现负脉冲,使外部数据存储器WE有效,允许数据写入;而MOVX A,@DPTR指令使引脚RD上出现负脉冲,使外部数据存储器OE有效,允许数据输出。
13、51系列单片机地址总线是 位,数据总线是 位.
13、51系列单片机地址总线是 位,数据总线是 位.
14、89C51单片机有 个16位可编程定时器/计数器,
有 种工作方式.
15、80C51单片机片内ROM的容量为 ,片内RAM的容量为 .
16、80C51的堆栈遵循 原则,它是临时在 内开辟的区域.
17、LCALL指令的调用范围为 K;它必须和 指令成对使用.
18、编写程序常用到伪指令,请说出下列伪指令的含义:ORG表示 ,END表示 .
19、指令DIV A B执行后商放在 ,余数放在 .
20、指令MOV A,20H采用的寻址方式是 ;MOV A,@R0的寻址方式是 .
21、若(R0)=20H,(20H)=30H,则执行指令MOV A,R0后,A= ,若执行指令MOVA,@R0后,A= .
22、AT89C51单片机片内RAM可分为 、 、用户RAM区共三个功能区.
23、数码管的显示方式一般有两种 、 .
24、异步串行通信的帧格式由起始位、 、 和停止位组成.
25、串行通信的制式有 、 和全双工三种.
357891561年前1
落叶枫桥 共回答了24个问题 | 采纳率87.5%
13、51系列单片机地址总线是 16 位,数据总线是 8 位.
14、89C51单片机有 2 个16位可编程定时器/计数器,有 4 种工作方式.
15、80C51单片机片内ROM的容量为 4KB ,片内RAM的容量为 128字节 .
16、80C51的堆栈遵循 后进先出 原则,它是临时在 片内RAM 内开辟的区域.
17、LCALL指令的调用范围为 64 K;它必须和 RET 指令成对使用.
18、编写程序常用到伪指令,请说出下列伪指令的含义:ORG表示 主程序入口地址 ,END表示 主程序结束 .
19、指令DIV A B执行后商放在 累加器A ,余数放在 寄存器B .
20、指令MOV A,20H采用的寻址方式是 直接寻址;MOV A,@R0的寻址方式是间接寻址 .
21、若(R0)=20H,(20H)=30H,则执行指令MOV A,R0后,A= 20H ,若执行指令MOVA,@R0后,A=30H .
22、AT89C51单片机片内RAM可分为工作寄存器、位寻址空间、用户RAM区共三个功能区.
23、数码管的显示方式一般有两种 静态方式 、动态方式 .
24、异步串行通信的帧格式由起始位、数据位 、奇偶校验位 和停止位组成.
25、串行通信的制式有 单工 、 半双工 和全双工三种.
portb& 0x40在单片机中是什么意思
maryzz1年前1
脚踩半条船 共回答了20个问题 | 采纳率90%
就是把第2位置1,其余的清0
单片机AD检测,电压不共地单片机自带AD检测,但是检测电压和单片机电源正好是DC-DC的输入和输出,24v转5v的dcd
单片机AD检测,电压不共地
单片机自带AD检测,但是检测电压和单片机电源正好是DC-DC的输入和输出,24v转5v的dcdc,应该是不共地.单片机怎么检测这个输入电压?
求思路和电路,简单稳定即可,简度要求一般即可.
飘零雨中的红叶1年前1
vvvv 共回答了20个问题 | 采纳率90%
1.最简单共地测量(有些场合,可以共地的);
2.若不想共地既然隔离,必须用数字通信方式传递模拟量,必定目标板有将电压信号转换为数字信号装置;目标板增加一个AD检测东西,数字光耦隔离回传到MCU
或者不想用AD,可以使用压控振荡器,使用光耦反馈回mcu 频率信号.
还有就是隔离放大器,一般挺贵的!
单片机中,P0.0和P0^0意思一样么?1.SFR P0=0x80h;//0x80H=10000000 2.sbit L
单片机中,P0.0和P0^0意思一样么?1.SFR P0=0x80h;//0x80H=10000000 2.sbit LED=P0^0; LED=1;
1和2一个意思么?0X80H不是地址么,而2中的是直接赋值相当于给的数据是10000000么?什么区分是地址和数据传输,针对P0口;
例如 SFR P0=0X11;//00010001,是不是相当于P0.0=1;.P0.3=0;P0.4=1;P0.5=0;...P0.7=0;这个意思是否正确?
P0^0=1;.P0^3=0;P0^4=1;P0^5=0;...P0^7=0;和上面的是不是一个意思?
上帝的小羊羊1年前1
欧佩克组织 共回答了16个问题 | 采纳率93.8%
C语言中规定,只能用数字,字母,下划线.P0.0是不能用的.P0^0才能用.
P0=0x11 00010001

相当于
P0^0 P0^1 P0^2 P0^3 P0^4 P0^5 P0^6 P0^7

1 0 0 0 1 0 0 0
英语翻译本系统设计了一个基于AT89S52单片机控制的语音播报数字多用表.它是一种价格便宜和操作简单、自动显示和播报测量
英语翻译
本系统设计了一个基于AT89S52单片机控制的语音播报数字多用表.它是一种价格便宜和操作简单、自动显示和播报测量数据结果、体积更小、功能强大、便于携带的语音播报数字多用表.要求能够准确测量一定范围内的电阻、电容、电感、电流及电压各参数,可以在LED上显示出来且同时通过显示和语音播报的方式将测量结果告诉用户,从而减小了因视觉误差而带来的读数误差,进一步提高了仪表的测量精确度,具有一定的智能性.系统原理是通过将测量参数R、L、C、I、V等经过频率转换电路,将对应的参数值转换成相应的频率,再通过AT89S52单片机的T0口对此频率进行采样计数,经过单片机内部处理后将频率恢复成实际数据值,在LED数码显示管上显示,并通过ISD1420语音芯片播报出来.通常的仪表测量是通过谐振法、电桥法或是伏安法来测量数据,在测量时误差比较大,而本设计采用将预测参数转换成相应频率后再处理、恢复出数据,测量误差比较小,从而提高了仪表的精确度.
飞来的天空1年前2
ssvtk 共回答了11个问题 | 采纳率81.8%
本系统设计了一个基于AT89S52单片机控制的语音播报数字多用表.它是一种价格便宜和操作简单、自动显示和播报测量数据结果、体积更小、功能强大、便于携带的语音播报数字多用表.要求能够准确测量一定范围内的电阻、电容、电感、电流及电压各参数,可以在LED上显示出来且同时通过显示和语音播报的方式将测量结果告诉用户,从而减小了因视觉误差而带来的读数误差,进一步提高了仪表的测量精确度,具有一定的智能性.系统原理是通过将测量参数R、L、C、I、V等经过频率转换电路,将对应的参数值转换成相应的频率,再通过AT89S52单片机的T0口对此频率进行采样计数,经过单片机内部处理后将频率恢复成实际数据值,在LED数码显示管上显示,并通过ISD1420语音芯片播报出来.通常的仪表测量是通过谐振法、电桥法或是伏安法来测量数据,在测量时误差比较大,而本设计采用将预测参数转换成相应频率后再处理、恢复出数据,测量误差比较小,从而提高了仪表的精确度.
This system design a AT89S52 SCM control based on the speech broadcast DMMS.It is a kind of cheap and simple,automatic display and the measurement data results,smaller,powerful,easy to carry the speech broadcast DMMS.Requirement can be measured accurately must be within the scope of the resistor,capacitor,inductor,current and voltage parameters,can be in LED display and also on display and speech broadcast by way of measuring results will tell the user,thus reduce for visual error brought the readings,and further improve the instrument error of measurement accuracy,has some of the intelligent.System principle is measured parameters by R,L,C,I,V,after frequency conversion circuit,the corresponding parameter value will be converted into the frequency,again through the mouth AT89S52 SCM T0 this frequency sampling count,through internal processing chip after frequency back into a real data in value,LED digital display,and through the XianShiGuan ISD1420 chips out of the speech.The instrument measurement is usually by resonance method,bridge or voltammetry method to measure data in its measurement error,is fairly large,and this design USES the forecasting parameters will be converted into the frequency again after the treatment,recovering the data,and the measurement error are small,so as to improve the accuracy of the instrument.
51单片机少写了一个循环语句,为什么还能执行循环,错在哪里呢?程序如下:
51单片机少写了一个循环语句,为什么还能执行循环,错在哪里呢?程序如下:
#include
void delay(unsigned int t);
sbit duan=P2^6;
sbit wei=P2^7;
unsigned char a;
unsigned char code table[]=
{
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void main()
{
wei=1;
P0=0xc0;
wei=0;
for(a=0;a0;i--)
for(j=200;j>0;j--);
}
这个程序应该是到显示FFFFFF,6个数码管都显示F就应该停止了吧.为什么会不停的又从0开始不停新循环呢,就好像加上了while(1).
何晶晶1年前1
我爱萨达母 共回答了14个问题 | 采纳率92.9%
程序会一直运行至程序存储器的结尾,然后再从头开始运行.
因为程序容量不大,运行速度又很快,人还没有感觉出停顿,程序就又从头执行了.
只要有电源,复位正常,有时钟,PC指针就会按照时钟的振荡而不停的自加,除非程序中有改变PC指针的值的指令.所以当给一个内部没有程序的单片机上电,复位并供上时钟时,单片机不是静止的,而是一直在运行的,运行的方式是从头到尾的执行程序存储器中的指令.如果程序存储器中是全0,执行的是空指令,如果是全1,执行的是mov R7,A.
单片机中使用的六脚自锁开关怎么连接?
单片机中使用的六脚自锁开关怎么连接?
焊接的时候发现跟电源连接的一侧按下去有电,可是另外一侧却没有电,那么另外一侧是干什么使的?自锁开关跟微动开关不都一样两侧是相通的吗?不是同一侧的三个脚一个是常开一个是常闭还有一个是公共脚?我试了好多次只有按下闭合抬起断开这一种状态,请告知具体的连接方法,尽可能说详细
多多的主人的多多1年前1
老朽木人 共回答了17个问题 | 采纳率100%
六脚的开关也有多种,不知道你用的哪种没法回答.根据你的描述,猜测应该是两侧分别是独立的开关,至于是否有常开常闭测一下就知道了.可以通过测没线的那侧来判断.
AT89S52 单片机 数据手册 第23页 最下面注释 IOL=per port pin:10mA 与per 8-bit
AT89S52 单片机 数据手册 第23页 最下面注释 IOL=per port pin:10mA 与per 8-bit port 区别是什么?
桦甸1年前1
elliepig 共回答了21个问题 | 采纳率95.2%
以P1为例,前者是P1.P1.7每个IO口,后者是P1口
三位共阳极数码管的最小驱动电压是多大啊?它和单片机的i/o口连接时需要接入的电阻排电阻一般为多大?
蓝羽飞翔1年前1
beargolden 共回答了15个问题 | 采纳率100%
数码管由发光二极管组成,是二极管的一种.电流与电压的关系是指数关系.普通发光二极管的导通电压约1.8V,高亮度蓝色和白色约3.1V.一般用过串接的限流电阻控制亮度.如果是带锁存的电阻大些,如果扫描的话小些.我见过有接470,560,680,1K的,可以试试,觉得亮了就改大些.
单片机ADDC的算法若(A)=83H,(C)=1, 则ADDC A, #90H执行后,(A)=( )。这个怎么算?#90
单片机ADDC的算法
若(A)=83H,(C)=1, 则ADDC A, #90H执行后,(A)=( )。
这个怎么算?
#90H那+C+A=多少?答案是14H怎么得的?
怎么会这么小?我算的是174H...
丁ding198401031年前1
97男儿风 共回答了15个问题 | 采纳率86.7%
ADDC A, #90H ; 为16进制 用计算器 16进制 算 再+1= 114
A 83H 1000 0011
+ 90H 1001 0000
C= 1 1
= 114H 1 0001 0100
A= 14H 0001 0100
C= 1 C =1
单片机试题求助1.已知(R0)=20H,(20H ) =10H,(P0) =30H,(R2) =20H,执行如下程序段后
单片机试题求助
1.已知(R0)=20H,(20H ) =10H,(P0) =30H,(R2) =20H,执行如下程序段后( 40H ) =
MOV @R0 ,#11H
MOV A ,R2
ADD A ,20H
MOV PSW ,#80H
SUBB A ,P0
XRL A ,#45H
MOV 40H ,A
2.已知 ( R0 )=20H,(20H )=36H,(21H) =17H,(36H) =34H,执行过程如下:
MOV A ,@R0
MOV R0 ,A
MOV A ,@R0
ADD A ,21H
ORL A ,#21H
RL A
MOV R2 ,A
RET
则执行结束(R0)= (R2)=
3.执行下面一段程序;
MOV SP,#60H
MOV A,#10H
MOV B,#01H
PUSH A
PUSH B
POP A
POP B
A ,B的内容是:(A)= (B)=
4.设在31H单元存有#23H,执行下面程序:
MOV A,31H
ANL A,#0FH
MOV 41H,A
MOV A,31H
ANL A,#0F0H
SWAP A
MOV 42H,A
则(41H)= (42H)=
5.已知 ( 40H)=56,(51H )=16H,(42H )=01H (43H )=00H写出执行的结果.
MOV R0,#40H
MOV A,@R0
MOVB,A
INC R0
MOVA,@R0
RL A
MOV @R0,A;
INC R0
MOVA,B
MOV@R0,A
RR A
INC R0
MOV @R0,A
(40H) = (41H) = (42H )= (43H)=
5.已知 ( 30H)=78,(31H )=12H,(32H )=00H (33H )=00H写出执行的结果.
MOV R1,#30H
MOV A,@R1
MOVB,A
INC R1
MOVA,@R1
DIV AB
MOV @R1,A;
INC R1
MOVA,B
MOV@R1,A
CPL A
INC R1
MOV @R1,A
(30H) = (31H) = (32H )= (33H)=
7、说明下列各条指令中源操作数的寻址方式
1).MOV R6,A
2).MOV A,50H
3).JBC ACC.3,rel
4).MOVDPTR,#5200H
5).MOVCA,@A+PC
6).MOVA,@R0
雪舞狂缨1年前1
kevinchang_2000 共回答了23个问题 | 采纳率87%
1.(40H)=44H;
2.(R0)= 36H (R2)= E2H
3.(A)= 10H (B)=01H
4.(41H)= 03H (42H)= 02H
5.貌似缺少(41H)的已知条件,且需确认(40H)=56后面有没有H;(40H) = 56 (41H) = (42H )=56 (43H)=56循环右移
5.(30H) =78 (31H) =04H (32H )=00H (33H)=FFH
7.
1)寄存器寻址2)直接寻址3)位寻址4)立即寻址5)变址间接寻址6)寄存器间接寻址
降压电阻如何计算单片机的工作电压5V,电源是经过24V变压器,再经过7812、7805获得的.但经过变压器接入到7812
降压电阻如何计算
单片机的工作电压5V,电源是经过24V变压器,再经过7812、7805获得的.但经过变压器接入到7812的电压是33V,导致7812发热过快,想加个降压电阻,但这个电阻的阻值具体该怎么算,需要哪些参数?单片机是PIC的,总功耗1W.
bai59881年前1
viqsse 共回答了22个问题 | 采纳率81.8%
单片机的总功耗是1W的话,工作电流就是200MA,也就是说你的电阻也要经过至少200MA的电流,如果你要电阻分压10V,那么,电阻就是50欧姆.但是这样又有一个问题,电阻的发热量也就大了,电阻的功率:P=I*I*R=2W,你要选用2W的50欧姆的水泥电阻.
3V单片机制作电子钟(用两节干电池)驱动电路
3V单片机制作电子钟(用两节干电池)驱动电路
用2节干电池驱动单片机和数码管,电路设计上应注意什么?怎么才能节省用电?
mmnb_19741年前1
月怜心 共回答了19个问题 | 采纳率100%
1.使用能在1.8~3.3V工作的单片机.
2.单片机的工作频率尽量低,降低功耗.
3.数码管是很耗电的,建议换成LCD.
4.使用DS1302这样的时钟芯片.
单片机加法add和addc到底是怎样运算的?
单片机加法add和addc到底是怎样运算的?
比如:MOV A,#25H A=?
MOV 40H,#1AH 40H=?
MOV R2,#33H R2=?
CLR C C=?
ADD A,R2 A=?
ADDC A,40H A=?
MOV R0,#40H R0=?
ADDC A,@RO A=?最关键的ADD和ADDC怎么算的?易懂点!
imsasi1年前1
史琼英 共回答了20个问题 | 采纳率85%
ADD只是两个数相加,忽略以前加法运算的进位.ADDC把进位也算进去了你给的程序MOV A,#25H A=?将0x25给寄存器A MOV 40H,#1AH 40H=?将0x1a给ram中地址0x40所对应的空间MOV R2,#33H R2=?将0x33给R2寄存器CLR C C=?清除CAD...
(1)如果一台单片机的内存容量是64KB,则必须要有16根地址线,求教:寻址范围为什么是0000H到FFFFH?
(1)如果一台单片机的内存容量是64KB,则必须要有16根地址线,求教:寻址范围为什么是0000H到FFFFH?
(2)想问下,对于-34 它的原码,10100010,
奥迪迪1年前1
舞动rebirth 共回答了14个问题 | 采纳率85.7%
0000H~FFFFH是16进制表示法,转换为十进制,就是0~65535,寻址范围为65536B,计算机容量表示时,1kB表示1024B,64kB表示65536B.
-34用2进制表示时,-34就是34的补码,34用2进制表示为00100010,其补码为(最高位除外,反码加1)0=01011101+1=01011110,负数最高位置1,表示为11011110.你的答案是错误的.
单片机引脚为何接上拉电阻它的大小怎么计算啊
冰山_雪莲1年前1
yuguomax 共回答了22个问题 | 采纳率81.8%
上拉电阻下拉电阻的总结
作者:佚名 转贴自:网络 点击数:68 文章录入:admin
上拉电阻:
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值.
2、OC门电路必须加上拉电阻,才能使用.
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻.
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路.
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力.
6、提高总线的抗电磁干扰能力.管脚悬空就比较容易接受外界的电磁干扰.
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰.
上拉电阻阻值的选择原则包括:
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小.
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大.
3、对于高速电路,过大的上拉电阻可能边沿变平缓.综合考虑
以上三点,通常在1k到10k之间选取.对下拉电阻也有类似道理.
对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:
1. 驱动能力与功耗的平衡.以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡.
2. 下级电路的驱动需求.同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流.
3. 高低电平的设定.不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平.以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下.
4. 频率特性.以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大.上拉电阻的设定应考虑电路在这方面的需求.
下拉电阻的设定的原则和上拉电阻是一样的.
OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0.8V(低于此值为低电平);2V(高电平门限值).
选上拉电阻时:
500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了.如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可.
当输出高电平时,忽略管子的漏电流,两输入口需200uA
200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了.选10K可用.COMS门的可参考74HC系列
设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了).
英语翻译基于C8051F020单片机的双积分A/D转换器设计(山东省电子产品监督检验所 山东省 济南市 250014)摘
英语翻译
基于C8051F020单片机的双积分A/D转换器设计
(山东省电子产品监督检验所 山东省 济南市 250014)
摘要:本文给出了以C8051F020单片机为核心,采用普通元器件所构成的双积分式A/D转换器电路.具有转换速度快、电路结构简单,成本低,易于实现的特点,且可通过软件实现量程扩展、校准与分辨率变更.
关键词:C8051F020单片机;数据采集;双积分式A/D转换器
外语差
迷你型男人1年前1
商者少棠 共回答了19个问题 | 采纳率84.2%
It's based on a design of double World Cup point A/D converters of C8051F020 macro processor.
(An electronic product in Shantung-province supervises and inspects 250014 in the Shantung-province Jinan city in a place.)
谁能帮忙翻译一段外文文献啊?跪求真正的英语大神啊~~~!跟单片机通信有关的
谁能帮忙翻译一段外文文献啊?跪求真正的英语大神啊~~~!跟单片机通信有关的
The flight
The PIC24FJ128GA010 offers seven communication peripherals that are designed to assist in all common embedded-control applications. As many as six of them are "serial" communication peripherals, as they transmit and receive a single bit of information at a time; they are:
2 × the universal asynchronous receiver and transmitters(UARTs)
2 × the SPI synchronous serial interfaces
2 × the I2CTM synchronous serial interfaces
The main difference between a synchronous interface (like the SPI or I2C) and an asynchronous one (like the UART) is in the way the timing information is passed from transmitter to receiver. Synchronous communication peripherals need a physical line (a wire) to be dedicated to the clock signal, providing synchronization between the two devices. The device(s) that originates the clock signal is typically referred to as the Master and the devices(s) that synchronizes with it is called the Slave(s).
Synchronous serial interfaces
The I2C interface, for example, uses two wires (and therefore two pins of the micro-controller), one for the clock (referred to as SCL) and one (bidirectional) for the data (SDA).
The SPI interface instead separates the data line in two, one for the input (SDI) and one for the output (SDO), requiring one extra wire but allowing simultaneous (faster) data transfer in both directions.
In order to connect multiple devices to the same serial communication interfaces (bus configuration), the I2C interface requires a 10-bit address to be sent over the data line before any actual is transferred. This slows down the communication but allows the same two wires (SCL and SDA) to be used for as many as (theoretically) 1,000 devices. Also, the I2C interface allows for multiple devices to act as masters and share the bus using a simple arbitration protocol.
The SPI interface, on the other side. Requires an additional physical line, the slave select (SS) to be connected to each device. In practice, this means that, using an SPI bus, as the number of devices connected grows, the number of I/O pins required on the PIC24 grows proportionally with them.
Sharing an SPI bus among multiple masters is theoretically possible but practically very rare. The main advantages of the SPI interface are truly its simplicity and the speed that can be one order of magnitude higher than that of the faster I2C bus (even without taking into consideration the details of the protocol-specific overhead).
Asynchronous serial interfaces
In asynchronous communication interfaces, there is no clock line, while typically two data lines are used: TX and RX, respectively, for input and output (optionally two more lines may be used to provide hardware handshake). The synchronization between transmitter and receiver is obtained by extracting timing information from the data stream itself. Start and stop bits are added to the data and precise formatting (with a fixed baud rate) allow reliable data transfer.
肖小雅1年前1
69611253 共回答了18个问题 | 采纳率66.7%
飞行
PIC24FJ128GA010提供了7个通信外围设备,旨在帮助在所有常见的嵌入式控制应用.多达6个是“串行”的通信外围设备,因为它们的发送和接收一个比特的信息在同一时间,它们是:
2×通用异步接收器和发送器(UART),
2×SPI同步串行接口,
2× I2CTM同步串行接口
之间的主要差别的同步接口(如SPI或I2C)和一个异步(喜欢UART)的方式中,从发射机到接收机的定时信息被传递.同步通信外设需要一条物理线路(电线)在专用于所述时钟信号,在两个设备之间提供同步.设备(S)发起的时钟信号通常被称为主服务器和设备(S),它被称为奴隶(s)同步.
同步串行接口,
I2C接口,例如,用两条线(以及因此,两个插针微控制器),一个用于时钟(称为作为SCL)和一个(双向)的数据(SDA).
SPI接口,而不是分离的数据线一分为二,一个用于输入(SDI)
I2C接口和一个输出(SDO),需要一个额外的线,但允许在两个方向上同时(快)的数据传输.为了多个设备连接到同一个串行通信接口(总线配置),需要一个10位的要通过数据线发送,在任何实际传送的地址.这会减慢通信,但是允许多达(理论上)1,000设备要用于相同的两条线(SCL和SDA).此外,I2C接口允许为多个设备,作为主人和使用一个简单的仲裁协议共享总线.
SPI接口,在另一侧.需要额外的物理线路,从机选择(SS)可以连接到每个设备.在实践中,使用SPI总线,连接的设备的数量的增长,这意味着,I / O引脚的PIC24的数量成比例的增长.
在多个主机共享SPI总线,理论上是可能的,但实际上是非常罕见的.SPI接口的主要优点是它的简单性是真正的速度,可以是一个量级高于的更快的I2C总线(即使没有考虑到的详细信息的协议特定的开销)的
异步串行接口,
在异步通信接口,没有时钟信号线,而通常是两个数据线使用:TX和RX,分别用于输入和输出(可选地,可以使用两个多行,以提供硬件握手).发射器和接收器之间的同步是通过以下方式获得提取定时信息从该数据流本身.开始位和停止位被添加到的数据和精确的格式化(一个固定的波特率)进行可靠的数据传输.
单片机的题,设(A)=D3H,(30H)=E8H执行:\x05ADD \x05A,30H 后 结果:CY= ,AC= ,
单片机的题,
设(A)=D3H,(30H)=E8H
执行:x05ADD x05A,30H 后
结果:CY= ,AC= ,P= ,OV= ,A= .
下列四条叙述中,有错误的一条是( ).
A、MCS-51系列必须有外部震荡晶体或外部时钟信号作为基本的时钟信号
B、51系列必须有外部震荡晶体或外部时钟信号作为基本的时钟信号
C、INTEL 8051必须有外部震荡晶体或外部时钟信号作为基本的时钟信号
D、AT89C2051必须有外部震荡晶体或外部时钟信号作为基本的时钟信号
包大人吃花卷1年前1
dwbfxq 共回答了22个问题 | 采纳率81.8%
CY=1 AC=0 P=1 OV=1 A=CB
答案是B
单片机驱动一个小型直流电动机单片机:AT89C51电动机:6V~12V要求:正反转,停转,刹车(没有也罢)本来想自己做一
单片机驱动一个小型直流电动机
单片机:AT89C51
电动机:6V~12V
要求:正反转,停转,刹车(没有也罢)
本来想自己做一个H桥驱动电路,图如下,但是能够实现正反两种电流了,但是连上电动机,电动机只会单方向运动,在另一个方向时,电压达不到.加大电压吧,一个方向转速实在太大了根本刹不了车,更别说换向了.请问怎样改进?
也可以改成驱动芯片,在书上找了一种,型号为:TA7267BP,东芝的,估计这种芯片市场上已经没有卖的了.请问现在市场上主流的能够实现该功能的芯片有哪些呢?一定是市场上能买的到的啊
问题不用全回答,只要解决了根本问题就行
1楼的电路太麻烦了,看不懂
L298的那个PMW信号是什么?,L298,L293到底有什么区别呢?都能驱动直流电机么?
yung_jon1年前1
那样一个人 共回答了18个问题 | 采纳率94.4%
L298,L297,L293这都是一个系列的,功能都差不多,只是一些功能或用法稍有不同而已,都是步进电机的专用驱动芯片,驱动直流电机也没问题,电机的速度是通过pwm(脉冲宽度调制技术)来控制的,也就是你用8051单片机的一个引脚不停地输出一个矩形信号,通过控制信号的占空比(一个周期中高电平维持时间除以一个周期时间)来控制电机信号,占空比越大,速度越快.图中的pwm端接的就是和单片机的一个引脚相连
51单片机的程序问题 将累加器A中低四位的状态,通过P1口的高4位输出.
51单片机的程序问题 将累加器A中低四位的状态,通过P1口的高4位输出.
ANL A,#0FH ;屏蔽A.A.4
SWAP A ;高、低半字节交换
ANL P1,#0FH ;清P1口高四位
ORL P1,A ;使P1.P.1.4按A中初始值的A.A.0值置位
里面的“屏蔽A.A.A.A.P1.P.1.A.A.
我的休息20081年前1
SkyToHell 共回答了23个问题 | 采纳率91.3%
A 中有八位数,记为:7654_3210
P1中有八位数,记为:8888_9999
ANL A,#0FH ;屏蔽A.7~A.4 --- A=0000_3210
SWAP A ;高、低半字节交换- A=3210_0000
ANL P1,#0FH ;清P1口高四位 --P1=0000_9999
ORL P1,A ;使P1.7~P.1.4按A中初始值的A.3~A.0值置位
---------------- P1 = 3210_9999
这就实现了:累加器A中低四位3210,通过P1口的高4位8888的位置输出.
单片机驱动温度传感器并通过DA转换器输出模拟温度信号,现在温度单片机,DA转换器没有任何数据输出
单片机驱动温度传感器并通过DA转换器输出模拟温度信号,现在温度单片机,DA转换器没有任何数据输出

温度传感器是DS18B20、单片机的型号是AT89C51、D/A转换器的型号是DAC0832


现在的情况是从温度传感器中依次取得低位温度数据和高位温度数据,因为DA转换器是8位的,所以我将低位的温度数据右移4位,高位数据左移4位(低位温度数据的低4位是小数位,可以舍去.高位温度数据的高4位为符号位,也可以舍去)最后将两组移位后的数据安位或,组成一组8位的数据,这样就可以输出到8位DA转换器中进行转换了


现在温度传感器的温度读取之后,用#define DAC0832 XBYTE [0x7FFF]使P0口对DAC0832输出数据,P2.7应该为底电平,与CS和XFER’连接,因为P2口定义为0x7F .但是目前的问题是P2口都为高点平,P0口没有数据输出,示波器上也没有任何数值.


P3.6口与DAC0832的WR1’和WR2’相连,P3.6应为低电平,但是却是高点平,我不知道怎么设置.

代码文件和PROTUSE仿真程序我放到网盘里了,这时网盘连接:

http://pan.baidu.com/s/1dDkne2d

http://pan.baidu.com/s/1i3FTbbn


阿希的吉他1年前1
骑驴上街 共回答了11个问题 | 采纳率90.9%
P0口为什么是灰的呢?P0口应该接上拉电阻才行,你的P0口完全没反应,当然不能转换了.
有一个单片机读写程序,前面的一些省略,inval=P1&0x0F,注释说是从P1读位0~3,怎么知道是读P1的0~3.
ytsp1年前1
tianniuniu 共回答了9个问题 | 采纳率88.9%
=P1&0x0F 意思是取P1口的值和0x0F进行与运算,因为0x0F为00001111,所以结果为取出低四位的端口状态
数电里的上拉电阻与单片机引脚的上拉电阻有什么区别吗
小催吧1年前4
木可不北 共回答了14个问题 | 采纳率100%
一样的,主要就是在单片机的内部也是用到了数电里的OC门,或者OD门,而需要上接来实现电平的转换的.所以它实际上就是数电里的上拉!
英语翻译本文设计的用单片机控制的烟雾检测报警系统,是采用催化燃烧效应原理的探头制成的烟雾浓度测量及报警的仪器,适用于家庭
英语翻译
本文设计的用单片机控制的烟雾检测报警系统,是采用催化燃烧效应原理的探头制成的烟雾浓度测量及报警的仪器,适用于家庭、中小型煤矿、农村沼气池等存在可燃气体的场所,进行多种可燃气体(液化石油气、氢气、甲烷)在空气中的浓度测量,系统能够根据可燃气体报警界限进行声、光报警,并留有可直接使用的扩展功能端口,可以根据用户的需要用于安全控制装置(排风、鸣笛等)。
穷人的爱情1年前1
ldd334999 共回答了16个问题 | 采纳率93.8%
为了防止刷分现象,然后我来为你翻译.可以吗?太简单了---a piece of cake.
一个关于单片机的定时中断的问题.有这样一句话:假设时钟频率为12MHz,12个时钟周期为一个机器周期,那么此时机器周期就
一个关于单片机的定时中断的问题.有这样一句话:假设时钟频率为12MHz,12个时钟周期为一个机器周期,那么此时机器周期就是1us,计满TH0和TL0就需要2^16-1个数……想问这里的1us和2^16-1是怎么来的
xxd00831年前1
肉笨 共回答了18个问题 | 采纳率94.4%
51单片机在内部要对晶振12MHZ,所以12M晶振除以12就是1M,即1秒钟有1M个时钟周期,每个时钟周期就是10^-6秒,即1us.
TH0和TL0分别为定时器T0的高八位和低八位定时器位,执行一个周期,当然要记满2^16-1个数(即脉冲)
单片机问题设晶体频率为6MHz,以方式2通信,当SMOD=0时,则波特率为____________ ,SMOD=1时,波
单片机问题
设晶体频率为6MHz,以方式2通信,当SMOD=0时,则波特率为____________ ,SMOD=1时,波特率为____________。
秋水涟漪88991年前1
liuhong_001 共回答了19个问题 | 采纳率89.5%
方式2下波特率=2^(SMOD)/64*fosc
所以SMOD=0时,波特率为1/64*6=375 kb/s
SMOD=1时,187500b/s
单片机储存系统设计与操作37、存储器系统设计与操作下图是本题目提供的芯片:(1)将它们全用起来,设计一个8031单片机系
单片机储存系统设计与操作

37、存储器系统设计与操作

下图是本题目提供的芯片:

(1)将它们全用起来,设计一个8031单片机系统。

(2)指出各存储器的地址范围,要求2764 的地址中包含1FFFH这个地址。

(3)编写将程序存储器中2000H的内容读出到寄存器A中的程序段。

(4)编写将数据存储器中0100H的内容读出到寄存器A中的程序段。


jich2161年前1
2006swj123 共回答了14个问题 | 采纳率92.9%
们全用起来,设计一个8031单片机系统确
了解更多
单片机指令习题,请会做一下两题的答一下
单片机指令习题,请会做一下两题的答一下
(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容不变。
(2)两个无符号数分别存放在30H、31H,试求出它们的和并将结果存放在32H中
(3)两个无符号数分别存放在40H、41H,试求出它们的差并将结果存放在42H中。
还有以上这道
laura_iyi1年前1
马树愿 共回答了14个问题 | 采纳率78.6%
1:
MOV A,R6
ANL A,#0F0H
MOV R6,A
MOV B,A
MOV A,R7
MOV R7,A
ANL A,#0F0H
ORL R7,A
ORL R6,B
2:
MOV A,30H
ADD A,31H
MOV 32H,A
51单片机写入累加寄存器ACC的数据由低到高位排列是ACC0-ACC7吗?执行ACC=ACC>>1后数据怎么排的?假设原
51单片机写入累加寄存器ACC的数据由低到高位排列是ACC0-ACC7吗?执行ACC=ACC>>1后数据怎么排的?假设原始数据为10011010.
右移我看明白了,但移动前和移动后ACC0与ACC7分别是多少还是没看明白.跪拜!
set37ye1年前1
了金鹰 共回答了24个问题 | 采纳率83.3%
1,是的
2,假定ACC高到低为10011010 ,且CY=0,那么执行ACC=ACC>>1后ACC变为01001101,也就是右移1位,高位补0,这个式子经常用来做除2运算.
3,右移后,上例中 ACC.7=0 ACC.0=1
单片机疑问 8051和8080都有16位地址线,但是8051的存储器采用的是哈佛结构,因此具有2个64K存储空间,而80
单片机疑问
8051和8080都有16位地址线,但是8051的存储器采用的是哈佛结构,因此具有2个64K存储空间,而8080的存储器采用的是普林斯顿结构,只有一个64K存储空间,是否可以得出结论:哈佛结构的存储空间利用率比普林斯顿结构高出1倍?请对此现象给出你的结论,并解释原因.
抽过您脸的我的手1年前1
susan__0128 共回答了13个问题 | 采纳率92.3%
存储空间利用率高一倍,肯定不能这么说,哈佛结构把指令和数据分开各存在64K存储器内,而普林斯顿(个人喜欢称为冯诺依曼)指令和数据共用一个存储器,我们假设是55均分即每个占用32K,固然存取速度和预读指令方面效率确实哈佛结构大抵快了一倍,但是空间利用率却可能低于冯诺依曼结构,假设一个程序只有16K的数据和8K的指令,对于哈佛结构,肯定是占用了2个存储器,一个闲置了48K,另一个闲置了56K,而冯诺依曼型仍可以在一个存储器内,利用率为24/64,显然高于前者任意一个,相对的,其功耗就低,所以现在冯诺依曼结构还有在用的,例如ARM7系列,用在手机等移动计算芯片里较多.这个问题不应该放在单片机里啊,应该算是计算机组成原理
能直接对单片机的P0口的 0x80进行操作吗?
能直接对单片机的P0口的 0x80进行操作吗?
比如我们以前是这样写的:P0 = 0xfe;
这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe;
反正都是对0x80操作了.但是0x80好像又是一个常量,编译又不通过?难道这个真实的地址对于我们来说真的只能把它先sfr XX = 0x80;
lvfang19781年前1
rr的极品 共回答了20个问题 | 采纳率80%
P0= 0xFE表示你往P0口对应的寄存器里送数据,这个数据是0xFEP0是0x80的别名?谁告诉你的?我们说P0口它寄存器所在的地址是0x80,不是说它和0x80等价(别名是等价的,例如一个人叫李勇,别名李工,你叫哪个名字都是指同一个人),但是这里的0x80是P0在单片机内部的地址,根本就没有等价之说.你也知道了0x80是个常数,0xFE也是常数 => 0x80=0xFE这不扯淡吗(好比1等于2?).P0=0xFE,而P0的0x80表示的是地址,意思是往单片机地址为0x81的内存里写上数据0xFE.sfr用于定义寄存器,sft aaa= 0x80;表示aaa寄存器在单片机内存地址为0x80的地方,aaa=5表示在单片机内存地址为0x80的地方写入数据,这个数据为5.sft用于声明寄存器在单片机内部的地址.也就是当你写数据时,将数据写入到哪里.
单片机求解、将累加器A中的十六进制数转换为ASCII码。查ASCII码表可知:数字0~9的ASCII码分别是30H~39
单片机求解
、将累加器A中的十六进制数转换为ASCII码。查ASCII码表可知:数字0~9的ASCII码分别是30H~39H;英文大写字母A~F的ASCII码分别是41H~46H。可见数字的ASCII码值与数字值相差30H;字母的ASCII码值与其值相差37H。试完成如下程序:
MOV R2,A
CLR C
SUBB A,#0AH
MOV A,R2
(1) () AD30
(2) () A,#07H
AD30:ADD A,#30H
END
水月寒沁1年前1
tao666 共回答了19个问题 | 采纳率94.7%
第一个括号: JC
第二个括号:ADD
原因:
CLR C ;清零C
SUBB A,#0AH ;A - 0AH 即,A - 10,如果A>10,则C不变,如果C
单片机中RL指令对于所有数都是扩大2倍吗?例如MOV R1,#C5H RL R1 就不是扩大二倍,怎么区分是否扩大了啊
单片机中RL指令对于所有数都是扩大2倍吗?例如MOV R1,#C5H RL R1 就不是扩大二倍,怎么区分是否扩大了啊
C5H化为二进制就是11010101,执行完RL指令后,获得的数据就是10101011,最高位移到了最低位,这样就不是扩大两倍了?不对啊!不是二倍啊!
tiany1234561年前1
phonering 共回答了17个问题 | 采纳率100%
要想扩大2倍,前提是被扩大的数值不能超过128,否则没用!比如127左移一次之后变成254,是扩大了2倍;但是128左移一次之后变成了0,129左移一次之后变成了2,这就不对了.
用C语言编写程序使89C52单片机实现数字时钟功能,显示时分秒的数码管,p1~p7接a~
用C语言编写程序使89C52单片机实现数字时钟功能,显示时分秒的数码管,p1~p7接a~
实验中6位数码管,分别为小时的十位,个位.分钟的十位,个位.秒的十位,个位.6个键盘分别对时秒分进行加一或减一. P1口控制数码管的 A B C D E F G DP.P3--P3.5分别为数码管123456的驱动脚. 我的83039052@.qq.com
和若1年前1
sdfdsfds23 共回答了16个问题 | 采纳率93.8%
当一盘好人,给个例程,自己研究吧¬¬
#include
char code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //0-9数码管,共阴
char code wema[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7}; //片选,1-8个数码管
char j;
char h_num,m_num,s_num; //分别定义小时、分钟、秒
char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge;
sbit fm=P3^4;
void delay(char x)
{
char a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
void inter_init()
{
EA=1; //开总中断
ET0=1; //本例中使用的是定时器T0,如果用T1.则为ET1=0,TMOD=0x10.
TMOD=0x01; //定时器工作方式1
TH0=(65535-50000)/256; //因为晶振用的是11.0592MHZ.在取初值时,大概定义为一个中断为50MS
TL0=(65535-50000)%256;
TR0=1;
}
void display(char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge)
{
P2=duma[h_shi];
P1=wema[0];
delay(8);
P2=duma[h_ge];
P1=wema[1];
delay(8);
P2=duma[10];
P1=wema[2];
delay(8);
P2=duma[m_shi];
P1=wema[3];
delay(8);
P2=duma[m_ge];
P1=wema[4];
delay(8);
P2=duma[10];
P1=wema[5];
delay(8);
P2=duma[s_shi];
P1=wema[6];
delay(8);
P2=duma[s_ge];
P1=wema[7];
delay(8);
}
void main()
{
inter_init();
s_num=55; //初始时间设置.分别是秒,分,小时
m_num=59;
h_num=10;
while(1)
{
if(j==20)
{
j=0;
if(s_num==59)
{
s_num=-1;
if(m_num==59)
{
m_num=-1;
if(h_num==24)
h_num=-1;
h_num++;
fm=0; //到整点后蜂鸣器会响一下
delay(50);
fm=1;
}
m_num++;
}
s_num++;
}
h_shi=h_num/10;
h_ge =h_num%10;
m_shi=m_num/10;
m_ge =m_num%10;
s_shi=s_num/10;
s_ge =s_num%10;
display(h_shi,h_ge,m_shi,m_ge,s_shi,s_ge);
}
}
void time()interrupt 1 using 1 //如果用T1的话,应为interrupt 3
{
TH0=(65535-50000)/256; //因为晶振用的是11.0592MHZ.在取初值时,大概定义为一个中断为50MS
TL0=(65535-50000)%256;
j++;
}
单片机的存储器头脑中以及思维定式了,提到单片机存储器,就认为一个字节由8位组成的,我想问一下是这样的吗?还有1个字节的位
单片机的存储器
头脑中以及思维定式了,提到单片机存储器,就认为一个字节由8位组成的,我想问一下是这样的吗?
还有1个字节的位数有什么决定?是存储器的数据线位数吗?
存储器的存储单元的个数由什么决定?是存储器的地址线位数吗?
希望能给出自己的回答;
深色双鱼1年前1
58810000 共回答了22个问题 | 采纳率81.8%
1、一个字节8位是设置出来的.
2、早年,位数主要跟数据总线的并行处理能力有关系,有很长一段时间8位机很流行(也确实很经典),它的数据总线就是8位,后来在此基础上,都以8位为单位,出现了16位,32位,64位的处理器.
3、确实跟地址线位数有关系,比如51单片机,地址线最多就是16根,因此存储器的最大容量就是2的16次方,也就是65536,相当于64KB的大小.
帮我分析一下电路吧...这是一个油量指示器的部分示意图,油量检测根据电容的原理,最左边是一个振荡器.上边是cPU单片机,
帮我分析一下电路吧...
这是一个油量指示器的部分示意图,油量检测根据电容的原理,最左边是一个振荡器.上边是cPU单片机,振荡器输出,经过单片机控制的DA转换器,转换成模拟量,然后放大,加到电容上,电容中间向左是往单片机输入信号,放大后,经采样保持器,然后进入单片机处理,这里加到电容上的是交流信号吧?那电容"(上三个固定的,下边一个油量模拟)中间经放大回到采样保持器的一段信号都是什么形式的?
我在车间做测试的时候,用固定值的电容去模拟油量,总共有五六个电容值,151(就是150pF),181.221.271,331,391,其他的电容值对应的显示都对而且稳定,唯独容值为181的电容情况不对,开始显示正常(正常应该显示1360左右),过会就跳变到1700/1800左右,然后又回到1360左右,过会有跳变.是车间有干扰(换地方不行)?电容有问题(都换了几个电容还是不行,然后不单独用181的了.改用151+27pF,还是不行?)我快疯了!
采样保持器有问题(那为什么其他几个容值没有事)?
51pkj1年前1
shijing8192 共回答了24个问题 | 采纳率100%
电容要有性能要求的,如果漏电肯定有影响,前端波形可能为方波也可能为正弦,电路不全,只能这么猜测.
我用52单片机做了一个电压表,关于电压跟随器的问题,
我用52单片机做了一个电压表,关于电压跟随器的问题,
我用STC89C52和ADC0832做了一个电压表,基准电压是5V,经过电阻分压之后,可以测50V以内的电压(其实量程还可以更高的),但是现在遇到了一个问题,就是用电阻分压已经对一些敏感的电路产生影响了,我想在测量端加一个用LM358做的电压跟随器会不会好点?如下图,我的问题是:LM358的VCC是+5V的,如果跟随器的IN+接的电压U1大于+5V,比如9~12V,跟随器的输出端U2会不会输出和U1一样大的电压了?如果不能,我该怎么办?
(U3接ADC0832的输入端 了)
同老1年前1
撒哈拉沙漠之猪 共回答了15个问题 | 采纳率100%
输入电压不能大于3.8V,LM358不是满幅输出的运放,要么将U1分压,要么就加大运放电压
几道数电电路的问题,急一、看图回答 1.在上述单片机电路中,C1、C2、C3电容的容量通常取值为(  ).   A.5-
几道数电电路的问题,急
一、看图回答


1.在上述单片机电路中,C1、C2、C3电容的容量通常取值为( ).
A.5-100pF B.5-100µFC.22mF、30mF D.22pF、30pF
2.上电自动复位电阻R2是( )数量级的电阻(用字母表示).
3.如图所示的电路,R1的大小范围为( )
A.50kΩ -80kΩ B.500kΩ -800kΩ C.500Ω -800Ω D.50Ω -80Ω

4.把PSW寄存器的最高位命名为CX的写法是( )
C木头1年前1
shimly_lb 共回答了24个问题 | 采纳率87.5%
看来只能选D了,因为C2 C3常用的也就是20PF-30PF(实际使用上貌似没嘛区别)
但复位的电容.这个,从0.1uF-10uF都有用的.
R2可以用10K的,就是K级了.
R1的计算可以这样算,LED一般要1.8V,10mA足够了,然后,R1要分得5-1.8=3.2V,电流也是10mA,电阻就能算出来了,是320欧,题中要选C了.