barriers / 阅读 / 详情

mcs—51单片机的串行口有哪几种工作方式

2023-07-16 18:12:24
共5条回复
黑桃云

1、立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如movA,#20H。

2、寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名来表示操作数地址。如MOVA,R0就属于寄存器寻址,即R0寄存器的内容送到累加器A中。

3、直接寻址:操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的ADDA,70H中的70H。

4、寄存器间接寻址:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOVA,@R0。

5、变址寻址:指定的变址寄存器的内容与指令中给出的偏移量相加,所得的结果作为操作数的地址。如MOVCA,@A+DPTR。

6、相对寻址:由程序计数器中的基地址与指令中提供的偏移量相加,得到的为操作数的地址。如SJMPrel。

7、位寻址:操作数是二进制中的某一位,其位地址出现在指令中。如SETBbit。

mova

扩展资料:

单片机的硬件特性:

1、主流单片机包括CPU、4KB容量的RAM、128 KB容量的ROM、 2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。

2、系统结构简单,使用方便,实现模块化。

3、单片机可靠性高,可工作到10^6 ~10^7小时无故障。

4、处理功能强,速度快。

5、低电压,低功耗,便于生产便携式产品。

6、控制功能强。

7、环境适应能力强。

参考资料来源:百度百科-MCS51

nicehost

四种工作方式啊

1、方式0

串行接口的工作方式0为移位寄存器I/O方式。在串行口外接移位寄存器以扩展I/O接口,也可以外接串行同步I/O的设备。

(1)方式0输出

  串行口以方式0发送时,数据以RXD端串行输出,TXD端输出同步信号。当一个数据写入串行口发送缓冲器以后,就启动串行口发送器以振荡频率的十二分之一的波特率,将数据从RXD端串行输出。

(2)方式0输入

  当串行口定义为方式0并置位REN后,便启动串行口以方式0接收数据,此时RXD端为数据输入端,TXD端为同步脉冲信号输出端。接收器以振荡率的十二分之一的波特率接收RXD端输入的数据信息。但接收器接收到8位数据时,置1中断标志RI。

2、方式1

串行接口定义为工作方式1时,则被控制为8位的异步通讯接口,传送一帧信息为10位,其中1位为起始位,8位数据位(先低位后高位),1位停止位。

(1)方式1输出

串行接口以方式1发送时,数据由TXD端输出。CPU执行一条数据写入发送缓冲

器SBUF的指令(例如,MOV  SBUF,A),数据字节写入SBUF后,便启动串行口发送器发送,发送完一帧信息,置1放送中断标志TI。

(2)方式1输入

串行口以方式1接收时,数据从RXD端输入。在REN置1以后,就允许接收器接收。接收器以所建立的波特率的16倍分频计数器,以便实现时间同步。计数器的16个状态把一位的时间等分成16份,在每位时间的第7、8和9个计数状态,位检测器采样RXD的值,接收的值是3次采样中取至少二次相同的值,以排除噪声的干扰。如果在起始接收的值不是0,则起始位无效,复位接收电路。在检测到另一个1到0的跳变时,再重新启动接收器。如果接收到值为0,起始位有效,则开始接收本帧的其余信息。当RI=0并且接收到的停止位为1(或SM2=0)时,停止位进入RB8,接收到的8位数据进入接收缓冲器SBUF,置位RI中断标志。接着接收便搜索另一帧信息的起始位。

3、方式2和方式3

串行接口工作方式2和方式3时,则被定义为9位的异步通信接口。传送一帧信息为11位,其中1位起始位,8位数据位(从低位至高位),1位是附加的可程控为1或0的第9位数据,1位停止位。

方式2和方式3的差别仅仅在于波特率不一样,方式2的波特率是固定的,波特率为2SMOD/64(振荡频率);方式3的波特率是可变的,波特率=2SMOD/32(T1的溢出率)。

方式2和方式3在发送和接收时唯一的区别就是波特率不同。

(1)方式2和方式3发送

方式2或方式3发送时,数据由TXD端输出,发出一帧信息为11位,附加的第9位数据是SCON中的TB8,CPU执行一条数据写入发送缓冲器SBUF的指令,就启动发送器发送,发送完一帧信息,置“1”TI中断标志。

(2)方式2和方式3接收

串行口被定义为方式2或方式3接收时,数据从RXD端输入,置REN=1以后,开始接收过程。当检测到RXD端从高到低的负跳变时,确认起始位有效,开始接收本帧的其余信息。在接收完一帧信息后,在RI=0、SM2=0时,或接收到第9位数据为“1”时,8位数据装入接收缓冲器,第9位数据装入SCON中RB8,并置RI=1。若不满足上述的两个条件,接收到的信息将会丢失,也不置位RI

我不懂运营
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
在通信中 按传送方式可分为三种:单工,半双工,全双工。
按通信方式可分为两种:异步通信,同步通信。
串行口的工作方式有四种:
SM0,SM1为选择位。
当这两位分别为0 0时,工作方式为0,即8位移位寄存器方式 波特率 f/12
为0 1 时,工作方式为1,即8位异步通信接口 可变
为1 0时,工作方式为2,即9位异步通信接口 f/64,f/32
为1 1时,工作方式为3,即9位异步通信接口 可变
想了解更详细可找本介绍单片机串行口的书看下,推荐网址:http://wenku.b***.com/view/ace2c77d1711cc7931b716fd.html
蓓蓓

有4种方式:

方式 0 :同步移位寄存器输出方式

方式1:8位数据异步通信方式

方式 2 :可接收或发送 11 位数据

方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的小组特率是可变的。

可乐

全双工的,可以同时收发!

相关推荐

单片机中MOV A,@R0和MOV A,R0有什么区别

MOVA,@R0是将R0保存的地址中的值传送给累加器AMOVA,R0是将R0的值传送给累加器A。比如:MOV30H,#55HMOVR0,#30HMOVA,@R0此时A=55HMOVA,R0此时A=30H
2023-07-16 12:55:242

MOVA是哪个国家生产的?

日本品牌,参展今年进博会的哟。
2023-07-16 12:55:324

movA,RX指令什么意思

寄存器传送到累加器。MOVX是外部数据存储器外部RAM与累加器A之间的数据传送指令。因为内部与外部的RAM地址有重叠现象,所以需要用不同的指令予以区分。RX格式是二地址格式的寄存器,存储器型指令。
2023-07-16 12:55:391

汇编语言中,mov a,#30H是什么意思

mova,#30h将16进制数30h送入a,结果a=30hmova,30h将地址为30h的寄存器内的数据送入a,结果a=由该寄存器内所存的实际数值决定。
2023-07-16 12:55:482

指令:MOVA,30H。请说明这条指令中,操作码是什么?表示什么操作?源操作

执行代码应该不一样吧。我就想知道执行代码是多少,比如MOVA它的执行代码是74。1、MOVA,30H把内存30H中数据给A。2、MOVA,#30HA的内容为立即数#30H。3、执行代码可以用Keil的disassembly查看。将地址为30h的寄存器内的数据送入a,结果a=由该寄存器内所存的实际数值决定。
2023-07-16 12:55:551

怎么找操作数

1.立即数寻址所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀MOVA,#20H2.寄存器寻址操作数存放在工作寄存器R0 ~ R7中,或寄存器B中。MOVA,R23.直接寻址指令中直接给出操作数的地址。MOVA,30HMOV30H,DPH4.寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用“@”表示前缀。MOVR0,#30HMOVA,@R0MOVA,#20HMOVR1,#40HMOV@R1,A5.变址寻址操作数地址=变地址+基地址基地址寄存器DPTR或PC变址寄存器@A该寻址方式常用于访问程序存储器,查表。MOVA,@A + DPTR6.相对寻址把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。
2023-07-16 12:56:181

MOVA这个英文是什么意思?

.....
2023-07-16 12:56:252

mova和mov

这个啊,这本来是书上说得不确切的,他说的直接寻址那是mov psw,#25说是第一个操作数的寻址方式为直接,而MOV A,#68H说的是后一个68H 这个数的寻址方式,在书本上常有这种,说得不确切的地方,说它错,也没有,是你如何理解的问题,不过,都知道了这些也就能想得到了
2023-07-16 12:56:321

51单片机指令MOVA,R0是指针传递吗

R0可以作为外部寄存器寻址的指针,如执行以下程序:MOV R0,#50H //此时R0等于立即数50HMOV A,R0 //此时A等于R0等于立即数50HMOVX A,@R0 //此时A等于50H指向的外部数据寄存器的内容,50H是地址MOV 50H,A //将A送到50H存储单元内,记住数字前面加#表示立即数不加表示地址你写的最后一条指令有问题,建议看看单片机的寻址方式。
2023-07-16 12:56:511

movalife是什么意思

意思是:莫瓦生活。重点词汇:life英[lau026af]释义:n.寿命,一生;(某事物的)存在期;生命,性命;人命;生物,活物;生活,人生;生活方式,阅历;(某种)生活;生气,生机;生动,有趣。adj.生命的,与生命有关的;一生的,终身的。[复数:lives]短语:Life of Pi少年Pi的奇幻漂流;少年派的奇幻漂流;少年派。词语使用变化:lifen.(名词)1、life的基本意思是指使人或其他生物的活动、成长,从而有别于死的物体、岩石或其他无机物体的“生命”,也可指一切有生命的东西,即“生物”。life也可指“人生,人的存在”或人在一生中的经历,即“生活”。life还可指“人命,性命”。引申可指“一生,终身”“生命力,活力”“生活方式”。2、life泛指“生命”时是不可数名词;泛指“性命”时是可数名词;泛指“生活”时是不可数名词,其前不加冠词,但指某种有比较具体内容的“生活”“生活方式”时则是可数名词。
2023-07-16 12:56:581

行车记录仪中的loca和mova文件有什么区别

LOCK是锁定的意思,你的行车记录仪应该有一键锁定功能按了之后的这段视频会被锁定,不会被视频循环给覆盖掉。一般在发生事故后保留关键证据用的。
2023-07-16 12:57:171

请问常说的406材料是什么

406钢是40SiMnCrMoVa(Re) 的简称,是一种无镍超高强度钢,主要用来制造高压容器高承力连接件等。 查看原帖>>
2023-07-16 12:57:285

超高强度钢是什么

35CrMnSiA是低合金超高强度钢,执行标准:GB/T 3077-1999 [1] 统一数字代号:A2435335CrMnSiA具有很高的强度和韧性,淬透性较高,冷变形塑性中等,切削加工性能良好。一般调质后使用。35CrMnSiA化学成份:用途35CrMnSiA用于制造中速、重载、高强度、高韧性的零件及高强度构件。多用于制造高负荷、高速的各种重要零件,如齿轮、轴、离合器、链轮、砂轮轴、轴套、螺栓、螺母等,也用于制造耐磨、工作温度不高的零件,变载荷的焊接构件,如高压鼓风机的叶片、阀板以及非腐蚀性管道管子。
2023-07-16 12:57:583

MOV A,@A+DPTR;MOVA,@A+PC详解?

你写错了。应该是MOVC 不是MOV这两条指令都为查表指令,先说区别:先需分清PC与DPTR,pc为程序执行时当前的位置(地址),dptr为程序员当时所加载的值(一般为表头地址),相信你已经明白他们的区别。一般都用MOVC A,@A+DPTR 不需要管表的位置
2023-07-16 12:58:271

单片机双机串口通信程序设计

初始化程序:BTLEQU2FH;波特率放在内部RAM的2FH单元MOVTMOD,#21H;T0方式1,16位计数器,T1方式2,串口用SETBTR0;启动T0MOVBTL,#0F3H;波特率设定为1200MOVSCON,#0C0H;串口方式3,9位数据,禁止接收接收及验证程序:NUMEQU2BH;同步符个数值存放在内部RAM的2BH单元TEMPEQU2CHROM-CH:DB55H,55H,55H,55H,55H,55H,55H,55H,55H,55HDB55H,55H,55H,55H,55H,55H,55H,55H,55H,55H;20字节同步符MIMDB"WSC":3字节密码“WSC”SETBP3.5;置电台收状态SETBREN;允许串口接收A1:MOVNUM,#0;记录连续到同步符55H的个数A2:JBRI,A2;串口有数据转A3A3:CLRRI;清接收中断标志MOVA,SBUF;读串口数据CJNEA,#55H,A1;不是同步符转A1INCNUM;收到的同步符个数加1MOVA,NUM;取收到的同步符个数CJNEA,#5,A2;未收够连续5个55H转A2A4:MOVNUM,#0;密码验证,记录收到密码字节数A5:MOVDPTR,#MIM;密码字符首址MOVA,NUMMOVCA,@A+DPTR;查表取密码MOVTEMP,A;保存密码JBRI,A6;串口收完一个字节转A6…A6:CLRRI;清接收中断标志MOVA,SBUF;读串口数据CJNEA,TEMP,A4;与密码不符转A4INCNUM;收到的密码个数加1MOVA,NUM;取已收到的密码字节数CJNEA,#3,A5;密码未收完转A5发送程序:CLRP3.5;置电台发状态MOVB,#23MOVDPTR,#ROM-CHB1:CLRAMOVCA,@A+DPTR;查表发送同步符和密码共24字节INCDPTRLCALLSEND-CH;调发送单字节子程序DJNZB,B1…CLRAMOVDPTR,#7000H;外部RAM数据首址,发送外部RAM中的数据到电台B2:CJNER4,#0,B3CJNER3,#0,B3;R4R3=发送字节数B3:MOVXA,@DPTR;取数据INCDPTRLCALLSEND-CHCJNER3,#0,B4CJNER4,#0,B5B4:DECR3LJMPB2DECR3DECR4LJMPB2…SEND-CH:SETBTB8MOVSBUF,ADB0,0,0,0,0,0,0,0JNBTI,$;延时4μsCLRTIRET结语
2023-07-16 12:58:361

浏阳河酒在哪里生产的?

浏阳河酒生产基地在酒都宜宾,占地4.5平方公里,为全国酒类行业之冠,在中国食品行业中独占鳌头。五粮液集五粮之精华而成玉液,历史可上溯三千年,以其“历史悠久,质量超群,风格独特,魅力无穷”的品格。五粮液集团开发研制了50多种品牌,而“浏阳河”是其中重点品牌,是名符其实的“名门之后,五粮新贵”,融民族性、文化性、艺术性为一体,展现了文化酒的高贵品质。扩展资料浏阳河酒企业发展:1,1998年,湖南中商集团买断了浏阳市酒厂的浏阳河酒商标,委托宜宾五粮液酒厂生产浏阳河系列酒,当年中商集团设立湖南浏阳河酒业有限公司为主经营。“浏阳河”与“五粮液”这两个各有优势的品牌嫁接在一起,凭借五粮液酒厂先进的酿酒工艺和“浏阳河”名扬天下的名声,打造了一个国内响当当的知名白酒品牌。2,2012年,9月24日,湖南浏阳河酒业发展有限公司旗下子公司摩尔多瓦葡萄酒业(中国)有限公司,携首批原瓶进口的摩尔多瓦葡萄酒亮相长沙。MOVA(摩瓦)葡萄酒正式登陆中国市场。参考资料来源:百度百科-浏阳河酒
2023-07-16 12:58:431

用51单片机实现时钟功能程序???

duanEQUP0;weiEQUP2;keyBITP3.7;ORG0000HAJMPMAIN;绝对转移指令,2kb范围(11位)内跳转LJMP16位64kb范围内跳转;短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。因此,短转移指令是一条相对转移指令,是一条双字节双周期指令ORG0030H;指明后面的程序从程序存储器的0030H单元开始存放DELAY200US:;@11.0592MHzNOPNOPNOPPUSH30HPUSH31HMOV30H,#2MOV31H,#179NEXT:DJNZ31H,NEXTDJNZ30H,NEXTPOP31HPOP30HRETORG0060H;DISPLAY子程序DISPLAY:PUSHACC;不能写A,此处ACC代表地址,push后跟地址,代表把地址内的内容压入栈中PUSH00H;R0PUSH06H;R6PUSH07H;R7PUSH83H;DPHPUSH82H;DPLMOVR6,#01H;位选数据,01指的是缓冲区最低位数据MOVR7,#08H;循环次数FLAG:MOVduan,#0x00;消影MOVA,R6CPLA;取反MOVwei,A;位选MOVA,#disBufDatADDA,R7SUBBA,#0X08MOVR0,AMOVA,@R0;读出要显示的数据到AMOVDPTR,#disTabMOVCA,@A+DPTR;从rom取数据,取出要显示的数据对应的段码MOVduan,A;段选MOVA,R6RLAMOVR6,A;更新下一次位选LCALLDELAY200USDJNZR7,FLAGPOP82H;DPLPOP83H;DPHPOP07HPOP06HPOP00HPOPACCRETORG0100H;定时器中断0初始化T0_INIT:MOVTMOD,#0X01MOVTH0,#0X3CMOVTL0,#0XB0SETBEASETBTR0SETBET0RETORG0130H;T0中断处理程序INT_TIMERE0:PUSHACCSETBRS0MOVTH0,#0X3CMOVTL0,#0XB0INCR0MOVA,R0SUBBA,#0X14JBCY,SECFLAGMOVR0,#0x00INCsecSECFLAG:CLRRS0POPACCRETIORG000BH;定时器/计数器T0入口地址LJMPINT_TIMERE0;跳转到定时器/计数器中断服务程序中去disTab:DB0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40;0-f,空白,横杠的段选数据disBufDatEQU47H;定义显示缓冲数据变量区,8个disBufDatHeadEQU40H//单片机上显示在最左边secEQU48H;主程序ORG0180HMAIN:MOVSP,#0X60;将0x60到0x7f设为堆栈区LCALLT0_INITMOVdisBufDatHead,#0X00MOVdisBufDatHead+1,#0X00MOVdisBufDatHead+2,#0X11MOVdisBufDatHead+3,#0X11MOVdisBufDatHead+4,#0X11MOVdisBufDatHead+5,#0X11MOVdisBufDatHead+6,#0X11MOVdisBufDatHead+7,#0X11MOVsec,#0X3AWHILE:JBkey,KEYSCANMOVsec,0x00KEYSCAN:MOVA,secSUBBA,#3CH;超过60s归零JBCY,CLEARMOVsec,#0X00;clr加ram地址无效CLEAR:MOVA,secMOVB,#0AHDIVAB;A/B,商存到A中,余数存B中MOVdisBufDatHead,AMOVdisBufDatHead+1,BLCALLDISPLAYLJMPWHILE;循环END;扩展资料51机器周期和指令周期1、机器周期是指单片机完成一个基本操作所花费的时间,一般使用微秒来计量单片机的运行速度,51单片机的一个机器周期包括12个时钟振荡周期,也就是说如果51单片机采用12MHz晶振,那么执行一个机器周期就只需要1μs;如果采用的是6MHz的晶振,那么执行一个机器周期就需要2μs。2、指令周期是指单片机执行一条指令所需要的时间,一般利用单片机的机器周期来计量指令周期。在51单片机里有单周期指令(执行这条指令只需一个机器周期),双周期指令(执行这条指令只需要两个机器周期),四周期指令(执行这条指令需要四个机器周期)。除了乘、除两条指令是四周期指令,其余均为单周期或双周期指令。也就是说,如果51单片机采用的是12MHz晶振,那么它执行一条指令一般只需1~2微秒的时间;如果采用的是6MH晶振,执行一条指令一般就需2~4微秒的时间。
2023-07-16 12:59:091

小弟要做电梯模拟设计,下面代码不懂,求高手帮翻译每一行是代码是什么意思。(我把金币都给你,重谢!)

实现的功能:此单片机模拟电梯用绿色发光二极管组成的箭头来指示电梯当前是处于上升状态还是下降状态,用数码管显示当前是处于哪一层,用红色发光二极管指示电梯走到哪一层会停.电源接通后,若没有人按下停止按键,它就以每层2秒的速度一直上下运行,若有人按下某一层的停止按键,它就会在相应的那一层停止4秒钟,并伴有开门和关门的声音提示。程序初始化1.tcount航天4ch航天4dh曾0000h丙ljmp开始000bh丙ljmp int0x0030h丙;;;;;;;;;;;;初始化;;;;;;;;;;;;;;;;;启动:mov tmod,# 1小时mov th0,# 3针mov tl0,# 0 B0H;50毫秒mov ie,#小时setb tr0mov tcount,4号CLR F0mov 20h,# 0mov r0、# 30小时mov r1,# 30清:mov @r0,# 00 H公司r0djnz r1、清;把30H到4DH这30个单元清0并打动,# 6小时mov p3,# 0 F8H2主程序调用小熏:简森-巴顿p1.0,一lcall ys10ms简森-巴顿p1.0,一个,判断一层的停止按键是否按下clr p2.0;若按下则把对应的红色发光二极管点亮一:简森-巴顿p1.1,两个lcall ys10ms简森-巴顿p1.1,两个,判断二层的停止按键是否按下clr p2.1;若按下则把对应的红色发光二极管点亮二:简森-巴顿p1.2、射孔lcall ys10ms简森-巴顿p1.2、射孔clr p2.2各段:简森-巴顿p1.3,精打细算lcall ys10ms简森-巴顿p1.3,精打细算,clr p2.3台北县:简森-巴顿p1.4,FIV的猫咪lcall ys10ms简森-巴顿p1.4,FIV的猫咪clr p2.4FIV的猫咪:简森-巴顿p1.5、共六人lcall ys10ms简森-巴顿p1.5、六clr p2.5六:简森-巴顿p1.6,SEVlcall ys10ms简森-巴顿p1.6,SEVclr p2.6SEV:简森-巴顿p1.7、训lcall ys10ms简森-巴顿p1.7、训clr p2.7ljmp鲁迅中断程序调用3.INT0X:mov th0,# 3针mov tl0,# 0 B0H公司tcountmov,TCOUNTcjne,5 #,ZHUAN2;50毫秒= 250 * 5女士mov tcount,# 00 H简森-巴顿f0,《左传》ljmp zhuan1《左传》:ljmp虾酱ZHUAN1:mov p3,# 0 F8H;上升的箭头mov,蹭cjne,# 00 H、社里并打动,# 06 h,显示简森-巴顿p2.0,SS1_1公司30hmov,30小时cjne,# 1、SSX1_1clr p3.4;一层门开的声音开SSX1_1:cjne,2号,SSX1_2setb p3.4;一层门开的声音关SSX1_2:cjne,# 16,SSX1_3clr p3.4;一层门关的声音开SSX1_3:cjne,17号,ZHUAN2;16 * 250毫秒= 4 S(总共次,但实际在这里停止的时间只有次MS)mov 30h,# 0setb p3.4;一层门关的声音关setb p2.0;熄灭对应的红色发光二极管SS1_1:公司31hmov,31 Hcjne,# 9,ZHUAN2;8 * 250毫秒= 2秒(总共次,但实际上升一层只用次MS)mov 31h,# 0公司曾社里:mov,蹭cjne,# 1小时,SS3并打动,5 # BH,显示简森-巴顿p2.1,SS2_1公司32hmov一个32小时cjne,# 1、SSX2_1clr p3.4;二层门开的声音开SSX2_1:cjne,2号,SSX2_2setb p3.4;二层门开的声音关SSX2_2:cjne,# 16,SSX2_3clr p3.4;二层门关的声音开SSX2_3:cjne,17号,ZHUAN2;16 * 250毫秒= 4 S(总共次,但实际在这里停止的时间只有次MS)mov 32h,# 0setb p3.4;二层门关的声音关setb p2.1;熄灭对应的红色发光二极管SS2_1:公司33hmov,33 Hcjne,# 9,ZHUAN2;8 * 250毫秒= 2秒,但实际上升一层只用次MS(总共次吗?mov 33h,# 0ljmp zhuan3
2023-07-16 12:59:221

msp430单片机编程中看到有一句这样的汇编语句 MOVA @R0,R0.不明白是什么意思?望朋友指点啊.谢谢

我也是学430的,只是是学的c语言。汇编的移植识读能力不强,如果不是特殊场合,大部分都是用c语言编写的。
2023-07-16 12:59:323

求高手解答下面汇编语言的错误之处!

MOV TH0,#(65536-50000) ; 高字节不应该 /256 MOV TL0,#(65536-50000)/256 ; 低字节才是应该 /256 另外在proteus软件的编译器 不支持以上格式,用 MedWin 编译器就可以。 当然也不支持 (MOV TL0,#(65536-50000)%256)这种格式
2023-07-16 12:59:412

微控制器设计串列埠通讯中的滤波电容为什么是0.1UF的?

微控制器设计串列埠通讯中的滤波电容为什么是0.1UF的? 串列埠通讯中用0.1uF电容? 是微控制器电源上吗?如果是电源上的电容,一般用于去耦,常用0.1uF无极性电容或0.1uF无极性电容与更大容量的电解电容组合使用。 如果是串列埠通讯线路上的,可能是用于滤除干扰讯号的,但是,这种用法很不科学,容易导致更多的问题。 串列埠通讯中滤波电容该如何选择? 晶片 应用例图 里一般有标的 晶片 的 datasheet 文件 里一般有的 proteus微控制器串列埠通讯怎么设计连线 1、先安装虚拟串列埠工具(vspdxp5),然后新增虚拟串列埠并连线,如COM3和COM4连线一起(你安装了就懂得操作了)。 2、搜寻COMPIM调出出口介面,微控制器RX、TX分步连线到COMPIMRX的RX、TX,在COMPIM的属性中选择COM口,假设选择COM3。 3、开启串列埠除错工具并选择COM4。 因为通过第1步COM3和COM4是连线在一起的,而COM3在protues中已经和微控制器连一起,然后COM4又是代表了PC的串列埠,这样就相当于微控制器串列埠和PC串列埠相连了。只要波特率和校验位设定匹配,就可以正常通讯了,这个我经常这样除错的。祝你成功。 微控制器设计 T0H EQU 30H T0L EQU 31H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN: MOV SP,#5FH MOV TMOD,#01H SETB ET0 SETB EA LOOP: MOV DPTR,#FREQ MOV A,P2 ;控制高中低音区 MOV R1,#0 ANL A,#03H JB ACC.0,LOOP01 MOV R1,#14 SJMP LOOP0 LOOP01: JB ACC.1,LOOP0 MOV R1,#28 LOOP0: JB P1.1,LOOP1 ;控制音讯1234567 MOV A,R1 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP1: JB P1.2,LOOP2 MOV A,R1 ADD A,#2 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#2 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP2: JB P1.3,LOOP3 MOV A,R1 ADD A,#4 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#4 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP3: JB P1.4,LOOP4 MOV A,R1 ADD A,#6 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#6 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP4: JB P1.5,LOOP5 MOV A,R1 ADD A,#8 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#8 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP5: JB P1.6,LOOP6 MOV A,R1 ADD A,#10 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#10 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP6: JB P1.7,LOOP7 MOV A,R1 ADD A,#12 MOVC A,@A+DPTR MOV T0H,A INC DPTR MOV A,R1 ADD A,#12 MOVC A,@A+DPTR MOV T0L,A LJMP LOOP LOOP7: CLR TR0 LJMP LOOP ;----------------------------- T0ISR: CLR TR0 MOV TH0,T0H MOV TL0,T0L SETB TR0 CPL P3.6 RETI ;----------------------------- FREQ: DB 0F2H,03DH ;低音1 DB 0F3H,0BDH ;低音2 DB 0F5H,014H ;低音3 DB 0F5H,0B1H ;低音4 DB 0F6H,0D0H ;低音5 DB 0F7H,0D1H ;低音6 DB 0F8H,0B5H ;低音7 DB 0F9H,01EH ;中音1 DB 0F9H,0DEH ;中音2 DB 0FAH,08AH ;中音3 DB 0FAH,0D8H ;中音4 DB 0FBH,068H ;中音5 DB 0FBH,0E8H ;中音6 DB 0FCH,05AH ;中音7 DB 0FCH,08FH ;高音1 DB 0FCH,0EFH ;高音2 DB 0FDH,045H ;高音3 DB 0FDH,06CH ;高音4 DB 0FDH,0B4H ;高音5 DB 0FDH,0F4H ;高音6 DB 0FEH,029H ;高音7 ;----------------------------- END 求微控制器与PC串列埠通讯毕业设计 推荐 去 百度文库 下载pdf文件 微控制器C语言程式设计实训100例 内有 proteus模拟例项 图、原始码 微控制器双机串列埠通讯程式设计 初始化程式: BTLEQU2FH;波特率放在内部RAM的2FH单元 MOVTMOD,#21H;T0方式1,16位计数器,T1方式2,串列埠用 SETBTR0;启动T0 MOVBTL,#0F3H;波特率设定为1200 MOVSCON,#0C0H;串列埠方式3,9位资料,禁止接收 接收及验证程式: NUMEQU2BH;同步符个数值存放在内部RAM的2BH单元 TEMPEQU2CH ROM-CH:DB55H,55H,55H,55H,55H,55H,55H,55H,55H,55H DB55H,55H,55H,55H,55H,55H,55H,55H,55H,55H;20位元组同步符 MIMDB"WSC":3位元组密码“WSC” SETBP3.5;置电台收状态 SETBREN;允许串列埠接收 A1:MOVNUM,#0;记录连续到同步符55H的个数 A2:JBRI,A2;串列埠有资料转A3 A3:CLRRI;清接收中断标志 MOVA,SBUF;读串列埠资料 CJNEA,#55H,A1;不是同步符转A1 INCNUM;收到的同步符个数加1 MOVA,NUM;取收到的同步符个数 CJNEA,#5,A2;未收够连续5个55H转A2 A4:MOVNUM,#0;密码验证,记录收到密码位元组数 A5:MOVDPTR,#MIM;密码字元首址 MOVA,NUM MOVCA,@A+DPTR;查表取密码 MOVTEMP,A;储存密码 JBRI,A6;串列埠收完一个位元组转A6 … A6:CLRRI;清接收中断标志 MOVA,SBUF;读串列埠资料 CJNEA,TEMP,A4;与密码不符转A4 INCNUM;收到的密码个数加1 MOVA,NUM;取已收到的密码位元组数 CJNEA,#3,A5;密码未收完转A5 传送程式: CLRP3.5;置电台发状态 MOVB,#23 MOVDPTR,#ROM-CH B1:CLRA MOVCA,@A+DPTR;查表传送同步符和密码共24位元组 INCDPTR LCALLSEND-CH;调发送单位元组子程式 DJNZB,B1 … CLRA MOVDPTR,#7000H;外部RAM资料首址,传送外部RAM中的资料到电台 B2:CJNER4,#0,B3 CJNER3,#0,B3;R4R3=传送位元组数 B3:MOVXA,@DPTR;取资料 INCDPTR LCALLSEND-CH CJNER3,#0,B4 CJNER4,#0,B5 B4:DECR3 LJMPB2 DECR3 DECR4 LJMPB2 … SEND-CH:SETBTB8 MOVSBUF,A DB0,0,0,0,0,0,0,0 JNBTI,$;延时4μs CLRTI RET 结语 微控制器的串列埠通讯 是传到上位机上显示吗??~~~我刚好做过这样的,请看以下: 可以使用两种方法: 法一:将“65535”这个数字转化为字串,,一个一个地传送给上位机; str[1] = 65535/10000+"0"; str[2] = 65535%10000/1000+"0"; str[3] = 65535%1000/100+"0"; str[4] = 65535%100/10+"0"; str[5] = 65535/10+"0"; str[6] = ""; void Send_Char(unsigned char send_char) { ES = 0; SBUF = send_char; ES = 1; } void Send_String(char *str) { while (*str) { Send_Char(*str++); short_delay(10); } } 法二:将65535转换为16位地二进位制数,分高8位和低8位分别发,,上位机接收后再将其还原即可。 HH = 65535/256; LL = 65535%256; 法一程式虽多,但思路清晰,易实现 法二上位机程式不好实现,,, 微控制器做串列埠通讯时为什么只有p0.1有效 怎么可能呢?串列埠通讯用的是P3.0和P3.1,与P0.1不搭界的。看看你的程式才知道问题所在。 VB与微控制器串列埠通讯 新增一个串列埠控制元件 吧这个控制元件的属性和方法搞懂了就知道些程式码了 前提你得知道什么是串列埠,串列埠的基础知识要知道,否则就加油多学习点基础知识 vc与微控制器串列埠通讯 VC的控制元件上和微控制器的串列埠暂存器设定好就行了,写程式的时候传送的变数不用带着起始位和停止位的.
2023-07-16 12:59:481

实现0到99通过单片机内部的定时计数器完成计数功能的汇编程序

SECOND EQU 30HCOUNT EQU 31H ORG 00H LJMP START ORG 0BH ;定时器0中断入口 LJMP INT_T0START: MOV SECOND,#00H MOV COUNT,#00H MOV DPTR,#TABLE ;段码表首地址 MOV P0,#3FH ;数码管显示初始化 MOV P2,#3FH MOV TMOD,#01H ;设置定时器0工作方式 MOV TH0,#(65536-50000)/256 ;定时50毫秒 MOV TL0,#(65536-50000) MOD 256 SETB TR0 ;启动定时/计数器0 MOV IE,#82H ;开中断 LJMP $ ;等待中断INT_T0: MOV TH0,#(65536-50000)/256 ;定时50毫秒 MOV TL0,#(65536-50000) MOD 256 INC COUNT ;计数值加1 MOV A,COUNT CJNE A,#20,I2 ;是否计够1秒 MOV COUNT,#00H INC SECOND MOV A,SECOND CJNE A,#60,I1 ;是否计够60秒 MOV SECOND,#00HI1: MOV A,SECOND MOV B,#10 DIV AB ;分离计数值十位和个位 MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A ;显示计数值I2: RETI ;中断返回TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END
2023-07-16 12:59:571

单片机控制四位数码管显示0000-9999

可以看看:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/0512888801bd75a90e24448c.html
2023-07-16 13:00:074

指令MOVA ,6EH 源操作数的寻址方式是?

指令MOVA ,6EH 源操作数的寻址方式是:直接寻址。
2023-07-16 13:00:141

求汇编51单片机接两个数码管从00显示到99,外部中断0接一开关用于复位。麻烦注解下每句话的意思!!

COUNT EQU 31H ;寄存器定义CNT EQU 32HORG 0000H ;程序开始AJMP MAINORG 000BH ;定时器0中断地址AJMP TIMEORG 0013H ;外总中断0中断地址AJMP INT00ORG 0030H ;程序开始执行MAIN: MOV SP,#5FH ;移动堆栈MOV COUNT,#00H ;清寄存器MOV CNT,#00H ;MOV TMOD,#01H ;定时器0工作方式1MOV TH0,#3CH ;50MS初值MOV TL0,#0B0H ;SETB ET0 ;开定时器0中断SETB EA ;开总中断SETB EX0 ;开外总中断0中断 SETB TR0 ;开启定时器0LOOP: CALL DISP ;调用显示子程序JMP LOOP ;采用查询方式;P0口数据输出。P2.0、P2.1位码控制端DISP: MOV A,CNT ;CNT数据送入A中MOV B,#10 ;10送入B中=分离出个位、十位数DIV AB ;A除B MOV R0,B ;B送入R0中MOV DPTR,#TAB ;查表地址MOVC A,@A+DPTR ;根据A的值查表MOV P2,#0FEH ;开启位码=个位MOV P0,A ;送个位数据CALL DELAY ;延时一会,保持亮度MOV A,R0 ;R0送入A中、MOV DPTR,#TAB ;MOVC A,@A+DPTR ;MOV P2,#0FDH ;开启位码=十位MOV P0,A ;送个位数据 CALL DELAY ;RET ;采用定时器每秒数码管加1 TIME:PUSH PSW ;状态寄存器压入堆栈PUSH ACC ;累加器A压入堆栈MOV TH0,#3CH ;重装50MS定时器初值MOV TL0,#0B0H ;INC COUNT ;50MS时间到寄存器加1MOV A,COUNT ;送入A中CJNE A,#20,UENRET ;比较不等于20,即1秒时间没到MOV COUNT,#00H ;到了1秒时间,寄存器清规INC CNT ;CNT寄存器加1MOV A,CNT ;送入A中 CJNE A,#100,UENRET ;比较=这里因为只有两位数码管MOV CNT,#00H ;意思跟上面20 的一样,UENRET:POP ACC ;弹出A保护的值POP PSW ;弹出状态寄寄原值RETI ;中断返回;外总中断复位INT00:PUSH PSW PUSH ACCMOV COUNT,#00H;清COUNT寄存器MOV CNT,#00H;清CNT寄存器CALL DELAYPOP ACC ;弹出保护数据POP PSWRETIDELAY: MOV R5,#100 ;延时程序DJNZ R5,$RET;共阴数据TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHEND
2023-07-16 13:00:231

单片机汇编语言8乘8点阵从上到下显示修改成从左到右显示

为什么要用汇编语言写
2023-07-16 13:00:422

51单片机里的汇编程序看不懂,谁能帮忙翻译成C语言啊,谢谢!1622液晶驱动程序。

还没学,,,
2023-07-16 13:01:025

(keli和Protus仿真软件)单片机中断实验程序代码,小部分有错误,求修改

seg7程序段中注释掉的两个语句不能省掉,还需要回复。
2023-07-16 13:01:171

金属材料牌号

铸铁、铸钢标注示例: 灰铸铁: HT150-GB/T 9439-1988 黑心可锻铸铁: KTH300-06-GB/T 9440-1988 球墨铸铁: QT700-2-GB/T 1348-1988 铸钢: ZG200-400-GB/T 11352-1989标记示例 灰铸铁件 ;(GB/T 9439) HT150 HT200 HT250 HT200 球墨铸铁件 ;(GB/T 1348) QT400-15 QT450-10 QT500-7 QT600-3 QT400-15
2023-07-16 13:01:422

将开关K0~K7的置数变成十进制数显示在数码管上,如K0~K7全部置OFF,第一二三个数码管显示“255”

这个很简单啊1、采样K0~K7,要看你的接口是并口还是串口才能做的2、将采样值转换为十进制数3、显示,要根据硬件电路才能写驱动的
2023-07-16 13:02:192

NatalyaAkayomova出生于哪里

NatalyaAkayomovaNatalyaAkayomova是一名剪辑师,主要作品有《永不言败》《Damskiyportnoy》。外文名:NatalyaAkayomova职业:剪辑师代表作品:《Damskiyportnoy》合作人物:GregoryHlady
2023-07-16 13:02:251

406钢和Q345钢焊接选什么焊条

406钢是40SiMnCrMoVa(Re) 的简称,是一种无镍超高强度钢,主要用来制造高压容器高承力连接件等。40CrMnSiMoV 是无镍低合金超高强度钢,具有良好的工艺性能和综合力学性能,经淬火加低温回火后有高的强度和良好的抗疲惫断裂性能。40CrMnSiMoV对缺口和氢脆 (包括环境氢脆)有较高的敏感性。40CrMnSiMoV宜制作高强度结构件、轴类件和螺栓等重要受力结构部件。Q345的强度比不上406,所以焊接的时候按照Q345选择焊材就行了。焊条选择J502或者J507。
2023-07-16 13:03:292

若(R1)=20H,0H)=55H,则执行指令MOVA,@R1后,(A)=?

若(R1)=20H,0H)=55H,则执行指令MOVA,@R1后,(A)=? A.55HB.30HC.20HD.50H正确答案:A
2023-07-16 13:03:411

行车记录仪中的loca和mova文件有什么区别

格式不同
2023-07-16 13:03:512

下列指今中正确的是___。 A,MOVA,R4 B,MOV@R1,R3 C,MOVR4,R3 D,

下列指今中正确的是_A__。 A,MOV A,R4 B,MOV@R1,R3 C,MOVR4,R3 D,
2023-07-16 13:04:011

40crmnsimo什么材质,口语怎么读?

40烙锰硅钼
2023-07-16 13:04:082

用51单片机实现时钟功能程序???

这个功能建议你用DS1302时钟芯片实现!编程就容易多了,至于程序就自己编写吧,这样才有意义!
2023-07-16 13:06:192

急求单片机几道试题答案,哪位高手来帮下忙,谢谢

(2)设(SP)=60H,(ACC)=37H,(B)=78H执行下列指令PUSH ACCPUSH B结果:( 61H )= 37H,( 62H )= 78H,(SP)=( 62H ).
2023-07-16 13:06:332

mcs—51单片机的串行口有哪几种工作方式

1、立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如movA,#20H。2、寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名来表示操作数地址。如MOVA,R0就属于寄存器寻址,即R0寄存器的内容送到累加器A中。3、直接寻址:操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的ADDA,70H中的70H。4、寄存器间接寻址:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOVA,@R0。5、变址寻址:指定的变址寄存器的内容与指令中给出的偏移量相加,所得的结果作为操作数的地址。如MOVCA,@A+DPTR。6、相对寻址:由程序计数器中的基地址与指令中提供的偏移量相加,得到的为操作数的地址。如SJMPrel。7、位寻址:操作数是二进制中的某一位,其位地址出现在指令中。如SETBbit。扩展资料:单片机的硬件特性:1、主流单片机包括CPU、4KB容量的RAM、128 KB容量的ROM、 2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。2、系统结构简单,使用方便,实现模块化。3、单片机可靠性高,可工作到10^6 ~10^7小时无故障。4、处理功能强,速度快。5、低电压,低功耗,便于生产便携式产品。6、控制功能强。7、环境适应能力强。参考资料来源:百度百科-MCS51
2023-07-16 13:07:021

12CAr1MoVA-1是什么材质用什么焊条?

12Cr1MoV是合金钢,此钢的蠕变极限与持久强度值很接近,并在持久拉伸的情况下具有高的塑性;钢的工艺性与焊接性良好,检修部位可以用合金钢焊条WEWELDING600焊接,冷焊工艺焊接即可。WEWELDING600特种合金钢焊条的特性WEWELDING 600合金钢焊条(简称威欧丁600焊条)是一种低热输出,适合全方位焊接的特种镍铬合金钢焊条,通用性极广,高强度一般母材强度设计,具有优良的焊接工艺性能,电弧稳定,焊缝均匀美观,在有油、水及铁锈的条件下也能焊接效果优异,可以焊接不同的钢。WEWELDING600 合金钢焊条的应用适用于焊接工具和模具、高速工具钢、热作工具钢、锰钢、铸钢、T-1钢、耐震钢、钒-钼钢、弹簧钢、马氏体不锈钢、奥氏体不锈钢、铁素体不锈钢、未知钢、以及各种不同类型钢材之间的焊接等。如用于高压阀门、断裂螺栓的清除、轴的改造等等,效果非常理想。WEWELDING600 合金钢焊条的技术参数抗拉强度:125,000 psi (862MPa)屈服强度: 90,000 psi (620MPa)延伸率:35%焊后硬度:HRC23 (工作硬化后达到HRC47)电源选择:交直流两用,直流时直流反接
2023-07-16 13:07:161

跪求哪个高手给个stc89c51单片机的温度能在数码管上显示,然后数码管显示20度就会报警的程序。

stc89c51片内有测温模块?
2023-07-16 13:07:275

Movalf摄影机电池多少mah

2600mAh。基本电池容量和相机是没有直接关系的。相机电池的容量一般为2200mAh到3700mAh。使用ZRT平台的电池类摄像机只要有4000mAh的电池就可以续航300天,当然也可以去买更大容量的电池装配,以保证摄像机的续航时长。
2023-07-16 13:07:571

电话拨号键LCD显示汇编语言

这个没分做,好像有点.....我这里有一个以前做的4*4键盘扫描,数码管显示的例程,供参考KEYVAL EQU 30HKEYTM EQU 31HKEYSCAN EQU 32HDAT EQU 33HDCNT EQU 37HT0L EQU 38HT0H EQU 39HSPEED EQU 3AHSCANLED EQU 3BHCHKCNT EQU 3CHDLYCNT EQU 3DHORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN: MOV SP,#5FH MOV TMOD,#01H MOV T0L,#0F0H MOV T0H,#0D8H MOV TH0,#0D8H MOV TL0,#0F0H MOV KEYVAL,#0 MOV P2,#00H MOV DCNT,#0 MOV SCANLED,#0 MOV 33H,#10H MOV 34H,#10H MOV 35H,#10H MOV 36H,#10H MOV CHKCNT,#11H MOV SPEED,#100 MOV DLYCNT,#0 SETB EA SETB ET0 SETB TR0LOOP: LCALL KEYSEL MOV A,KEYVAL CJNE A,#0FFH,LOOP1 SJMP LOOPLOOP1: CJNE A,#10,LOOP2 ;“ON”启动LED测试 MOV DCNT,#0FFH SJMP LOOPLOOP2: CJNE A,#14,LOOP3 ;“-”速度快 MOV A,SPEED CLR C SUBB A,#10 MOV SPEED,A SJMP LOOPLOOP3: CJNE A,#15,LOOP4 ;“+”速度慢 MOV A,SPEED ADD A,#10 MOV SPEED,A SJMP LOOPLOOP4: CJNE A,#11,LOOP5 ;“=”停止测试,接受数字键 MOV 33H,#10H MOV 34H,#10H MOV 35H,#10H MOV 36H,#10H MOV DCNT,#0 SJMP LOOPLOOP5: CJNE A,#10,LOOP6 ;数字键LOOP6: JC LOOP7 LJMP LOOPLOOP7: MOV 33H,34H MOV 34H,35H MOV 35H,36H MOV 36H,KEYVAL LJMP LOOP;------------------KEYSEL: MOV KEYVAL,#0 MOV KEYSCAN,#0EFH LCALL GETKEY MOV A,KEYTM JZ KEYS1 MOV KEYVAL,A SJMP KEYRTNKEYS1: MOV KEYSCAN,#0DFH LCALL GETKEY MOV A,KEYTM JZ KEYS2 CLR C ADD A,#4 MOV KEYVAL,A SJMP KEYRTNKEYS2: MOV KEYSCAN,#0BFH LCALL GETKEY MOV A,KEYTM JZ KEYS3 CLR C ADD A,#8 MOV KEYVAL,A SJMP KEYRTNKEYS3: MOV KEYSCAN,#7FH LCALL GETKEY MOV A,KEYTM JZ KEYRTN CLR C ADD A,#12 MOV KEYVAL,AKEYRTN: LCALL CHGKEY RET;--------------------GETKEY: MOV KEYTM,#0 MOV A,KEYSCAN MOV P3,A NOP MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY MOV R2,#10 LCALL DELAY MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY MOV A,P3 ANL A,#0FH MOV R7,ASF: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ SF MOV A,R7 CJNE A,#0EH,NK1 MOV KEYTM,#1 SJMP NOKEYNK1: CJNE A,#0DH,NK2 MOV KEYTM,#2 SJMP NOKEYNK2: CJNE A,#0BH,NK3 MOV KEYTM,#3 SJMP NOKEYNK3: CJNE A,#07H,NOKEY MOV KEYTM,#4NOKEY: RET;--------------------DELAY: MOV R3,#50DELAY1: MOV R4,#100 DJNZ R4,$ DJNZ R3,DELAY1 DJNZ R2,DELAY RET;--------------------T0ISR: PUSH ACC CLR TR0 MOV TH0,T0H MOV TL0,T0L SETB TR0 MOV DPTR,#LEDTAB MOV A,DCNT ;段显示 JZ T000 MOV A,CHKCNT MOVC A,@A+DPTR MOV P2,#0FH CPL A MOV P0,A INC DLYCNT MOV A,DLYCNT CJNE A,SPEED,T021 MOV DLYCNT,#0 INC CHKCNT MOV A,CHKCNT CJNE A,#1AH,T020T020: JC T021 MOV CHKCNT,#11HT021: POP ACC RETIT000: ;数字显示 MOV R0,#DAT MOV A,SCANLED ADD A,R0 MOV R0,A MOV A,SCANLED JNZ T001 MOV P2,#01H SJMP T0DIST001: DEC A JNZ T002 MOV P2,#02H SJMP T0DIST002: DEC A JNZ T003 MOV P2,#04H SJMP T0DIST003: MOV P2,#08HT0DIS: MOV A,@R0 MOVC A,@A+DPTR CPL A MOV P0,A INC SCANLED MOV A,SCANLED ANL A,#03H MOV SCANLED,A POP ACC RETI;--------------------CHGKEY: MOV A,KEYVAL JZ KV16 DEC A JNZ KV01 MOV KEYVAL,#7 RETKV01: DEC A JNZ KV02 MOV KEYVAL,#4 RETKV02: DEC A JNZ KV03 MOV KEYVAL,#1 RETKV03: DEC A JNZ KV04 MOV KEYVAL,#10 RETKV04: DEC A JNZ KV05 MOV KEYVAL,#8 RETKV05: DEC A JNZ KV06 MOV KEYVAL,#5 RETKV06: DEC A JNZ KV07 MOV KEYVAL,#2 RETKV07: DEC A JNZ KV08 MOV KEYVAL,#0 RETKV08: DEC A JNZ KV09 MOV KEYVAL,#9 RETKV09: DEC A JNZ KV10 MOV KEYVAL,#6 RETKV10: DEC A JNZ KV11 MOV KEYVAL,#3 RETKV11: DEC A JNZ KV12 MOV KEYVAL,#11 RETKV12: DEC A JNZ KV13 MOV KEYVAL,#12 RETKV13: DEC A JNZ KV14 MOV KEYVAL,#13 RETKV14: DEC A JNZ KV15 MOV KEYVAL,#14 RETKV15: DEC A JNZ KV16 MOV KEYVAL,#15 RETKV16: MOV KEYVAL,#0FFH RET;--------------------LEDTAB: DB 0FCH ;"0" 00H DB 60H ;"1" 01H DB 0DAH ;"2" 02H DB 0F2H ;"3" 03H DB 66H ;"4" 04H DB 0B6H ;"5" 05H DB 0BEH ;"6" 06H DB 0E0H ;"7" 07H DB 0FEH ;"8" 08H DB 0F6H ;"9" 09H DB 0EEH ;"A" 0AH DB 3EH ;"B" 0BH DB 9CH ;"C" 0CH DB 7AH ;"D" 0DH DB 9EH ;"E" 0EH DB 8EH ;"F" 0FH DB 00H ;" " 10H DB 80H DB 40H DB 20H DB 10H DB 08H DB 04H DB 02H DB 01H DB 0FFH;--------------------END
2023-07-16 13:08:061

单片机利用汇编语言利用方式二制作秒表

已凉(韩偓)
2023-07-16 13:08:164

单片机课设之数显电子钟(汇编语言)

这么大的课题,又没银子,谁回答?
2023-07-16 13:08:242

用keil编写一个跑马灯的程序,要求效果8个跑马灯闪烁五次,然后再循环两圈,接着再闪烁五次后循环两圈

用循环分支啊
2023-07-16 13:08:332

6位数码管的MCS51单片机秒表设计实验

楼主还是自己写个吧。写这个挺费时的,而且你用的什么数码管,还有单片机的外围电路怎样分布的,都不清楚,写了估计也不适合。你把问题补充下,再等下一位大侠来替你解围吧
2023-07-16 13:09:015

用51单片机编一个电子时钟的程序 八个数码管 要汇编编的 最简单的 只要能工作就行 走时就行 不要别的功能

不知道
2023-07-16 13:09:191

40crni2si2mova是什么材质

40CrNi2Si2MoVA又叫300M,是超高强度钢。300M
2023-07-16 13:09:344

汇编语言单片机中断

主程序是:流水灯0到7依次点亮、流水灯7到0依次点亮,反复循环。外部中断程序是:灯全亮、全灭3次。但是,程序没有开中断的指令,中断程序是不会执行的。START: ;在下面添加: SETB EA ;开总中断. SETB EX0 ;开INT0中断. CLR IT0 ; 设置INT0为电平触发. MOV A,#00H……外部中断就可以实现了。
2023-07-16 13:10:233