temp-程序员宅基地

技术标签: asm  个人备注  

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0
ORG 0013H
LJMP INT1
ORG 0030H
MAIN: SETB IT0 ; 外部中断0为 负跳沿触发
CLR IT1 ;  外部中断1为 低电平触发
SETB EX0 ; 开外部中断0
SETB EX1 ; 开外部中断1
SETB PX0 ; 设外部中断0为高优先级
CLR PX1 ;设外部中断1为低优先级
MOV R0,#00H
SETB EA ;开总中断
DISPLAY:CJNE R0,#10,NEXT
MOV R0,#00H ;满10,清0
NEXT: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
JMP DISPLAY
TAB:DB  0x3F,0x06,0x5B,0x4F ;数码管数据表
    DB  0x66,0x6D,0x7D,0x07,0x7F,0x6F


INT0: ;;;;;CLR EA;
LCALL DELAY
JB P3.2,RETURN0 ;消抖,如果外部触发引脚为这时为高电平,说明是错误信号
INC R0
WAIT0: JNB P3.2,WAIT0 ;等待按键松开
RETURN0:;;;;;SETB EA
RETI


INT1: ;;;;;;CLR EA;
LCALL DELAY
JB P3.3,RETURN1 ;消抖,如果外部触发引脚为这时为高电平,说明是错误信号
INC R0
WAIT1: JNB P3.3,WAIT1 ;等待按键松开
RETURN1:;;;;;;SETB EA
RETI


DELAY: MOV R7,#40 ;10毫秒延时
DEL1: MOV R6,#125
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET




ORG 0000H
LJMP MAIN
ORG 000BH
LJMP CT0
ORG 001BH
LJMP CT1
ORG 0030H
MAIN: MOV SP,#60H
MOV TMOD,#11H ;设置T0,T1工作方式1,软触发
MOV TH0,#3CH ;定时50ms
MOV TL0,#0B0H
MOV TH1,#0FEH ;定时500us
MOV TL1,#0CH
SETB PT0
SETB ET0
SETB ET1
SETB EA
MOV R1,#0AH ;定时0.5秒的计数变量
MOV R0,#00H ;数码管显示的偏移量,清0
CLR F0
LOOP: MOV A,#0FFH
MOV P1,A
MOV A,P1
CJNE A,#0FFH,AGAIN ;有按键按下,查哪个按键
JMP LOOP ;无按键按下,跳回继续扫描
AGAIN: MOV A,#0FFH
MOV P1,A
MOV A,P1
CJNE A,#0FFH,NEXT ;有按键按下,查哪个按键
NEXT: MOV R0,#00H
MOV R2,A  ;用于定时器取反
LOOP1: RRC A  ; 循环以得出偏移量
JNC DISPLAY
INC R0;Cy位不为0,变量加一,继续右循环
JMP LOOP1
DISPLAY:MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
SETB TR0;启动定时器0,以闪烁LED
JMP LOOP
CT0: MOV TH0,#3CH; 定时50ms
MOV TL0,#0AFH;
DJNZ R1,RETURN
JB F0,MIE;标记位为1,灭灯
MOV P0,R2;标记位为0,亮灯,启动定时器1,标记变量F0
SETB TR1
SETB F0
MOV R1,#0AH
JMP RETURN
MIE: MOV P0,#0FFH
CLR TR1
CLR F0
MOV R1,#0AH
RETURN: RETI
CT1: MOV TH1,#0FEH; 定时500us
MOV TL1,#0BH;
CPL P3.0
RETI
DELAY: MOV R7,#40 ;10毫秒延时
DEL1: MOV R6,#125
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
TAB:DB  0x3F,0x06,0x5B,0x4F ;数码管数据表

    DB  0x66,0x6D,0x7D,0x07,0x7F,0x6F


-------------------------zoupp-----------------------------------------------

(1)    ORG 0000H

JMP MAIN

ORG 001BH

RETI

ORG 0023H

JMP S_INT

MAIN:MOVR0,#30H;R0发送起始地址

MOV R1,#40H;R1接收起始地址

MOV R2,#0;R2用来判断按键值

MOV R3,#0;R3计按下次数

MOV SP,#60H

MOV TMOD,#20H;T1工作方式2

MOV TL1,#0FAH;在fosc=11.0592MHz时

MOV TH1,#0FAH;波特率为4800b/s

MOV PCON,#00H

MOV SCON,#50H;工作方式1,允许接收

SETB ET1;开中断

SETB TR1

SETB ES

SETB EA

LOP1:MOV P1,#0FFH

ACALL DELAY;防抖

MOV A,P1

CJNEA,#0FFH,LOP2;等待按键按下

JMP LOP1

LOP2: RRC A ;按键按下时计算按键值

      JNC LOP3

INC R2

JMP LOP2

LOP3: MOV A,R2   ;按键值送A

MOV @R0,A ;按键值存入发送区

MOV SBUF,A ;发送按键值

INC R0;放送地址指针加一

LOP4:MOV A,P1;等待按键松开

CJNEA,#0FFH,LOP4

MOV R2,#0

INC R3;按键按下个数加一

JMP LOP1

DISP: MOV DPTR,#TB;显示子程序

MOVC A,@A+DPTR

MOV P2,A

RET

TB:db 3fh,06h,5bh,4fh,66h,6DH,7DH,07H;0—7  

DELAY: MOV 20H,#100H;延时子程序

DEL1:MOV 21H,#100H

     DJNZ 21H,$

     DJNZ 20H,DEL1

     RET

S_INT: JB TI,SEND ;TI=1则发送结束跳到SEND; 串行口中断程序

       MOV A,SBUF;接收取值

MOV @R1,A ;把接收数据存入接收地址

INC R1 ;接收地址指针加一

ACALL DISP ;调用显示子程序

CLR RI;清接收标准位

RETI

SEND: CLR TI;清发送标志位

RETI

(2)ORG 0000H

JMP MAIN

ORG 0023H

JMP S_INT

MAIN:CLR F0;F0 用于区分接收到的数据是

MOV P0,#0;按键次数,还是按键值

MOV P2,#0

MOV R0,#30H;R0发送起始地址

MOV R1,#40H;R1接收起始地址

MOV R2,#0;R2用来判断按键值

MOV R3,#0;R3计按下次数

MOV SP,#60H

MOV TMOD,#20H;T1工作方式2

MOV TL1,#0F4H;在fosc=11.0592MHz时

MOV TH1,#0F4H;波特率为2400b/s

MOV PCON,#00H

MOV SCON,#0D0H;工作方式3,允许接收SM2=0

CLR  ET1     

SETB TR1;开中断

SETB ES

SETB EA

LOP1:MOV P1,#0FFH

ACALL DELAY;防抖

MOV A,P1

CJNE A,#0FFH,LOP2;等待按键按下

JMP LOP1

LOP2: RRC A;按键按下时计算按键值

      JNC LOP3

INC R2

JMP LOP2

LOP3: MOV A,R2;按键值送A

MOV C,P;进行奇校验

CPL C

MOV TB8,C;把奇校验位送入TB8

MOV @R0,A;按键值存入发送区

ACALL DISP

MOV SBUF,@R0;发送按键值

JNB TI,$

CLR TI

INC R0;发送地址指针加一

LOP4: MOV A,P1;等待按键松开

CJNE A,#0FFH,LOP4

MOV R2,#0

INC R3    ;按键按下个数加一

MOV P0,R3 ;按下次数送P0显示

MOV A,R3

MOV C,P   ;奇校验

CPL C

MOV TB8,C

MOV SBUF,R3 ;送按下次数

JNB TI,$

CLR TI

JMP LOP1

DISP:MOV DPTR,#TB;显示子程序

MOVC A,@A+DPTR

 P2,A

RET

TB:db 3fh,06h,5bh,4fh,66h,6DH,7DH,07H;0—7

DELAY: MOV 20H,#100H;延时子程序

DEL1:MOV 21H,#100H

       DJNZ 21H,$

       DJNZ20H,DEL1

      RET


S_INT: PUSH A;串行口中断程序

JB TI,SEND;TI=1则发送结束跳到SEND

CPL F0

CLR RI;清接收标准位

MOV A,SBUF ;接收取值

MOV C,P;进行奇校验

JNC S1      ;

JB RB8,REP  ;

AJMP S2     ;

S1:JNB RB8,REP

S2:JNB F0,GESHU ;F0=0则接收到按键个数据

MOV @R1,A;把接收数据存入接收地址

INC R1;接收地址指针加一

ACALL DISP;调用显示子程序

REP:POP A

RETI

GESHU:MOV P0,SBUF ;把接收到的按键次数送显

POP A

RETI

SEND: POP A ;发送结束

RETI



--------------------------chen----------------------------------------------

ORG       0000H

       LJMPMAIN

ORG 0030H//03 0B 13 1B 23

MAIN:    //初始化

              MOVSP,#70H

              MOVSCON,#0D0H//设置串口工作方式3,可接收1101

              MOVTMOD,#20H//设置T1,8位重载

              MOVPCON,#00H;

              MOVTH1,#0F4H//11.0592M,波特2400

              MOVTL1,#0F4H//

              SETBTR1//启动产生波特率

 

              MOV  P0,#0FFH//LED显示开关次数

              MOV  P2,#00H //数码管显示开关编号

 

              MOVR0,#00H//循环得出开关编号所用

              MOVR2,#00H// 开关动作总次数寄存器清0

              MOVR1,#40H//建立存放开关编号的RAM的数据指针

         //扫描键盘

RDK:      MOVP1,#0FFH;

              MOVA,P1

              CJNEA,#0FFH,AGAIN;//消抖

              JMPRDK ;无按键按下,跳回继续扫描

AGAIN:        LCALLTIME110MS//延时110毫秒,proteus中10毫秒消抖作用不明显

              MOVP1,#0FFH;

              MOVA,P1

              CJNEA,#0FFH,NEXT;有按键按下,查哪个按键

              JMPRDK ;无按键按下,跳回继续扫描

 

              // 开关动作总次数显示

NEXT:    INCR2;

              MOVP0,R2;

 

           //得出开关编号,并让数码管显示

              MOVR0,#00H

LOOP:    RRCA

              JNCDISPLAY

              INCR0;Cy位不为0,变量加一,继续右循环

              JMPLOOP

DISPLAY:MOV A,R0

              MOVDPTR,#TAB

              MOVCA,@A+DPTR

              MOVP2,A

              //开关编号存入RAM

              MOV@R1,A

              INCR1

              //以下通过串口发送,按键次数和按键号

NUMBE: MOVC,P//奇校验 TB8和P相反

              CPLC

              MOVTB8,C

              MOVSBUF,A

WAIT:     JBCTI,   RESPOND     //   发送完后,接收,看乙机是否正确接收

              SJMPWAIT

RESPOND:JB RI,JUDGE

              SJMPRESPOND

JUDGE:  MOVA,SBUF

              CLRRI

              CJNEA,#00H, NUMBE//接受到00H,传输没问题,继续发送开关总次数;接受非00H,出问题,再发

 

MANY:   MOVA,R2

              MOVC,P

              CPLC

              MOVTB8,C

              MOVSBUF,A

WAIT1:   JBCTI,RESPOND2

              SJMPWAIT1

RESPOND2:JB RI,JUDGE2

              SJMPRESPOND2

JUDGE2:       MOVA,SBUF

              CLRRI

              CJNEA,#00H, MANY//接受到00H,传输没问题,;接受非00H,出问题,再发      

             

              JMPRDK

                             

TAB:DB 0x3F,0x06,0x5B,0x4F ;共阴编码表,跟实验电路板不一样

   DB  0x66,0x6D,0x7D,0x07,0x7F,0x6F

TIME110MS:         MOVR5,#0FFH

TIME110MS_1:     MOV R6,#0FFH

                            DJNZR6,$

                            DJNZR5,TIME110MS_1

                            RET

END

//第二小实验乙机程序

ORG       0000H

LJMP MAIN

ORG       0030H

MAIN:  MOV SP,#70H

              MOVSCON,#0D0H //设置串口工作方式1

              MOVPCON,#00H;

              MOVTMOD,#20H//设置T1,8位重载

              MOVTH1,#0F4H//11.0592M,波特率2400

              MOVTL1,#0F4H

              SETBTR1

              MOV  P1,#0FFH //开关动作总次数LED显示清0

              MOVP2,#00H//数码管显示 灭

//以下接收通信数据

NUMBE: JBRI,JUDGE

              SJMPNUMBE

JUDGE:  MOVA,SBUF

              MOVC,P

              JCODD//8位数据有奇数个1

              JBRB8,GO//8位数据有偶数个1

              JMPAGAIN//传输出问题

ODD:      JNBRB8,GO//传输无问题

AGAIN:  MOVA,#05H//传输出问题,请求重发

              MOVSBUF,A

WAIT:     JBCTI,NUMBE

              SJMPWAIT

GO:        MOVP2,A

              CLRRI

RESPOND:MOV A,#00H

              MOVSBUF,A

WAIT1:   JBCTI,MANY

              JMPWAIT1

 

 

MANY:   JBRI,JUDGE2

              SJMPMANY

JUDGE2:       MOVA,SBUF

              MOVC,P

              JCODD1//8位数据有奇数个1

              JBRB8,GO1

              JMPAGAIN1//传输出问题

ODD1:    JNBRB8,GO1//传输无问题

AGAIN1:       MOVA,#05H//传输出问题,请求重发

              MOVSBUF,A

WAIT2:   JBCTI,MANY

              SJMPWAIT2

GO1:      MOVP1,A

              CLRRI

RESPOND1:MOV A,#00H

              MOVSBUF,A

WAIT3:   JBCTI,NUMBE

              JMPWAIT3

              END



ORG       0000H

       LJMPMAIN

ORG 0030H//03 0B 13 1B 23

MAIN:    //初始化

              MOVSP,#70H

              MOVSCON,#50H//设置串口工作方式1,可接收

              MOVTMOD,#20H//设置T1,8位重载

              MOVPCON,#80H;

              MOVTH1,#0F4H//11.0592M,波特率4800

              MOVTL1,#0F4H//

              SETBTR1//启动产生波特率

              MOV  P0,#0FFH

              MOV  P2,#00H

              MOVR0,#00H//循环得出开关编号

              MOVR2,#00H//暂存A中存放的开关编号

              MOVR1,#40H//建立存放开关编号的RAM的数据指针

         //扫描键盘

RDK:      MOVP1,#0FFH;

              MOVA,P1

              CJNEA,#0FFH,AGAIN;//消抖

              JMPRDK ;无按键按下,跳回继续扫描

AGAIN:        LCALLTIME110MS//延时110毫秒,proteus中10毫秒消抖作用不明显

              MOVP1,#0FFH;

              MOVA,P1

              CJNEA,#0FFH,NEXT;有按键按下,查哪个按键

              JMPRDK ;无按键按下,跳回继续扫描

           //得出开关编号,并让数码管显示

NEXT:    MOVR0,#00H

LOOP:    RRCA

              JNCDISPLAY

              INCR0;Cy位不为0,变量加一,继续右循环

              JMPLOOP

DISPLAY:MOV A,R0

              MOVDPTR,#TAB

              MOVC A,@A+DPTR

              MOVP2,A

              MOVR2,A

              MOV@R1,A //开关编号存入RAM

              INCR1

              //以下是通信协议

SHHANDS1:MOV A,#06H //发送“握手码06H”1次

              MOVSBUF,A

WAIT1:   JBCTI,SHHANDS2 //

              SJMPWAIT1

 

SHHANDS2:MOV A,#06H //发送“握手码06H”2次

              MOVSBUF,A

WAIT2:   JBCTI,SHHANDS3 //

              SJMPWAIT2

 

SHHANDS3:MOV A,#06H //发送“握手码06H”3次

              MOVSBUF,A

WAIT3:   JBCTI,RESPOND //

              SJMPWAIT3

 

RESPOND:JB RI,JUDGE//接受“应答码”    //RESPOND:JBC RI,JUDGE//接受“应答码”

              SJMPRESPOND//

JUDGE:  MOVA,SBUF

              CLRRI

              CJNEA,#00H,SHHANDS1//根据约定(00H正确),判断,如果不是通信对象,重发“握手码”

              //以下通过串口发送按键编号

              MOVSBUF,R2

WAIT4:   JBCTI,   RDK       //

              SJMPWAIT4

TAB:DB 0x3F,0x06,0x5B,0x4F ;共阴编码表,跟实验电路板不一样

   DB  0x66,0x6D,0x7D,0x07,0x7F,0x6F

TIME110MS:         MOVR5,#0FFH

TIME110MS_1:     MOV R6,#0FFH

                            DJNZR6,$

                            DJNZR5,TIME110MS_1

                            RET

END

//第一小实验乙机程序

ORG       0000H

LJMP MAIN

ORG       0030H

MAIN:  MOV SP,#70H

              MOVSCON,#50H //设置串口工作方式1

              MOVPCON,#80H;

              MOVTMOD,#20H//设置T1,8位重载

              MOVTH1,#0F4H//11.0592M,波特率4800

              MOVTL1,#0F4H

              SETBTR1

              MOV  P1,#0FFH //      开关动作总次数LED显示清0

              MOVP2,#00H//数码管显示 灭

              MOVR1,#50H//保存数据起始地址

STA:       SETBF0

//以下是通信协议

SHHANDS1:JB RI,JUDGE1 //接受“握手码06H”

              SJMPSHHANDS1

JUDGE1:       MOVA,SBUF

              CLRRI

              CJNEA,#06H,SIGN1//判断

 

SHHANDS2:JB RI,JUDGE2 //接受“握手码06H”

              SJMPSHHANDS2

JUDGE2:       MOVA,SBUF

              CLRRI

              CJNEA,#06H,SIGN2//判断

 

SHHANDS3:JB RI,JUDGE3 //接受“握手码06H”

              SJMPSHHANDS3

JUDGE3:       MOVA,SBUF

              CLRRI

              CJNEA,#06H,SIGN3//判断

              LJMPRESULT

 

SIGN1:   CLRF0

              LJMPSHHANDS2

SIGN2:   CLRF0

              LJMPSHHANDS3

SIGN3:   CLRF0

 

 

RESULT: JBCF0,RIGHT//握手码正确,发应答码00H

              MOVA,#05H// 握手码错误,发应答码05H

              MOVSBUF,A

WAIT1:   JBCTI,STA    //等待甲机再发握手码

             SJMPWAIT1

 

RIGHT:   MOVA,00H//发送“应答码”

              MOVSBUF,A

WAIT:     JBCTI,JSHOU

              SJMPWAIT

//以下接收通信数据

JSHOU:  JBRI,NUMBE

              SJMPJSHOU

NUMBE: MOVA,SBUF

              MOVP2,A

              MOV@R1,A

              INCR1

              CLRRI

              SJMPSTA//回去,等待下次握手

              END



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/forcaptain/article/details/9127667

智能推荐

实验10 硬盘DMA编程_0000c001-程序员宅基地

文章浏览阅读6.1k次,点赞3次,收藏16次。 采用PIO方式访问硬盘,硬盘扇区数据的读写完全由CPU通过IN、OUT指令执行,一个扇区占512字节,需要256次I/O操作,占用CPU资源。读取硬盘扇区时,每次I/O操作包括一个IN指令和一个内存写操作,CPU先读取16位数据到AX中,再将16位数据写入到内存中。写入硬盘扇区时,每次I/O操作则包括一个内存读操作和一个OUT指令。使用DMA方式,硬盘读写由DMA控制,数据在内存_0000c001

android ul t 服务器,评测:深度体验一周,告诉你一个真实的一加6T-程序员宅基地

文章浏览阅读178次。10月末,一加在深圳举办了一加6T的发布会。虽然这款新机早些时候在纽约已经与大家见面,但国内的粉丝还在翘首期盼。一加6T在10月份的新机潮里不算出众,但也令人印象深刻。这种印象来自于一加的整体实力,它没有华为Mate 20 Pro的双曲面刘海屏和包含三个焦距的后置三摄,也没有小米MIX 3、荣耀 Magic 2、联想Z5 Pro 的滑盖设计,这些更吸引眼球的东西向来不是一加的风格。一加6T吸引人的...

CEF:注册JS回调_cefv8value.executefunctionwithcontext-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏4次。前面我们学习了C++和JS的基本交互。例如C++调用js。browser->GetMainFrame()->ExecuteJavaScript(js, L"", 0);但是在实际应用过程中可能我们事先并不知道函数原型,而是使用的函数指针来回调结果。例如:do_event(call_back,parama1,parama2,....paramaN)此时需要使用CEF::Exe..._cefv8value.executefunctionwithcontext

DP读书:鲲鹏处理器 架构与编程(十二)鲲鹏软件实战案例Docker+KVM的部署_鲲鹏cpu程序编写-程序员宅基地

文章浏览阅读691次,点赞13次,收藏11次。10min带你一同看,鲲鹏软件实战可以玩点啥,以及官方传送门Docker、KVM详细部署过程_鲲鹏cpu程序编写

【蓝桥杯13】——PCF8591的应用(AD转换)_如果 pcf8591芯片的地址线 a2、a1、 a0 接地,那么这个器件写地址是____,读地-程序员宅基地

文章浏览阅读2.7k次。功能概述PCF8591是具有IIC接口的8位A/D和D/A转换芯片如果硬件地址引脚A0、A1、A2均接地,那么,PCF8591的设备的读操作地址为:0x91;而写操作地址则为:0x90。蓝桥杯单片机设计与开发赛项使用的CT107D单片机开发平台中,PCF8591的三个硬件引脚地址均接地,两路模拟信号均为单端输入,分别是:光敏传感器接到AIN1,通道1;控制寄存器应写入:0x01。电位器Rb2接到AIN3,通道3;控制寄存器应写入:0x03。A/D转换应用开发流程一个A/D转换的_如果 pcf8591芯片的地址线 a2、a1、 a0 接地,那么这个器件写地址是____,读地

随便推点

Android 8.1平台SystemUI虚拟导航键加载流程解析-程序员宅基地

文章浏览阅读807次,点赞2次,收藏3次。代码流程1.SystemUI\src\com\android\systemui\statusbar\phone\StatusBar.java;从状态栏入口开始看。 protected void makeStatusBarView() { final Context context = mContext; updateDisplaySize(); // ...

5G垂直领域:华为智慧园区-程序员宅基地

文章浏览阅读5.2k次。丹桂飘香,金秋来临。近日,华为在深圳举办了以“5G新基建,智慧园区新机遇”的5G智慧园区合作伙伴沙龙,聚焦5G在智慧园区领域的创新应用实践和行业合作伙伴的发展,助推5G智慧园区发展进入快..._5g智慧园区和智慧城市深度融合

python读取unicode编码txt文件_unicode_py.txt-程序员宅基地

文章浏览阅读4.5k次,点赞3次,收藏3次。之前用kindle导出的txt文件是unicode编码的,想要自己写个小程序来自行格式化,然而怎么读都是乱码。像这样:一开始没有找到办法只好把txt文件另存为ansi格式,顺利格式化了。但是,为什么会读取成这样呢?最后一直查办法终于找到了这个东西:chardet导入它以后使用这个方法得到了再将text解码,终于得到了好看的编码——————————_unicode_py.txt

iOS和Android的应用界面设计如何兼容_app设计不同系统界面如何兼容-程序员宅基地

文章浏览阅读777次。APP设计背景介绍:跨平台设计:iOS vs Android我们最初是进行iOS版本应用的设计,开发比较简单,分辨率、机型也都很固定。当时我们并没有考虑太多,只想着针对市面上一款手机就行了。直到Android崛起,我们才意识到,在中国,Android用户非常多。因此,我们在考虑设计平台时,针对iOS、Android两个不同的平台进行不同的细节体验。1、界面UI设计做iPhone_app设计不同系统界面如何兼容

firefox 书签同步 xmark + 坚果云webDav_火狐 webdav同步-程序员宅基地

文章浏览阅读2.7k次。自从国外网访问受限之后,书签同步一直是一个问题.当火狐不能同步的时候,用xmark还可以.当xmark官网同步不上的时候,我又懒得从firefox国际版切换至国内版.(感觉这可以用插件搞定,势必很火)下面是过程1. 先用坚果云开启第三方应用支持(即WebDav支持,参考使用坚果云的webDAV来同步OmniFocus)2. 新建xmark文件夹(不然之后同步会失败,_火狐 webdav同步

css非常好的四种宽度值设置_前端width设什么值比较好-程序员宅基地

文章浏览阅读3.7k次。突然看到的,怕自己忘记,便记下来。width:auto; //默认满行width:min-content; //和你文本最长字符同宽(即最宽的单词、图片或具有固定宽度的盒元素)width:max-content; //内容的一个宽度,采用内部元素宽度值最大的那个元素的宽度作为最终容器的宽度。如果出现文本,则相当于文本不换行,文本多长,盒子多长width:fit-content; //表示将元素宽度收缩为内容宽度..._前端width设什么值比较好

推荐文章

热门文章

相关标签