毕业设计 基于51单片机的红外遥控系统的设计_基于单片机的红外遥控的设计-程序员宅基地

技术标签: c++  java  51单片机  c语言  php  嵌入式硬件  课程设计  


毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的语音提示测温播报系统的设计

1.1 红外收发电路的设计

红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路和控制部分。

红外遥控有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收端普遍采用价格便宜,性能可靠的一体化红外接收头(如HS0038,它接收红外信号频率为40KHz,周期约26μs)接收红外信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并控制相关对象。

系统框图如图1-1所示。

图1-1  红外遥控电路框图

1.1.1芯片介绍

1.1.1.1.AT89C51的介绍[1]

1.AT89C51具有下列主要性能:

(1) 4KB可改编程序Flash存储器    

(可经受1,000次的写入/擦除周期)   

(2) 三级程序存储器保密

(3) 128 X 8字节内部RAM

(4) 32条可编程I/O线

(5) 2个16位定时器/计数器

(6) 6个中断源

(7) 可编程串行通道

(8) 片内时钟振荡器

AT89C51是用静态逻辑来设计的,并提供两种可用软件来选择的省电方式——空闲方式和掉电方式。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,一切功能暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。

2.AT89C51的引脚及功能

89C51单片机的管脚说明如图1-2所示。

图1-2  89C51单片机的管脚说明

 (1) 主要电源引脚

① VSS 电源端

② GND 接地端

(2) 外接晶体引脚XTAL1和XTAL2

① XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。

② XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。

(3) 输入/输出引脚 P0.0~ P0.7、P10.~P1.7、P2.0~ P2.7 和P3.0~P3.7。

① P0端口(P0.0~ P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。

② P1端口(P1.0~ P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

③ P2端口 (P2.0~P2.7) P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX  @DPTR指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行MOVX @Ri , A指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。

④ P3端口(P3.0~P3.7)  P3 是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在AT89C51中,P3端口还用于一些专门功能,这些兼用功能如下:

(1) P3.0 RXD(串行输入口)
(2) P3.1 TXD(串行输出口)
(3) P3.2 /INT0(外部中断0)
(4) P3.3 /INT1(外部中断1)

(5) P3.4 T0(记时器0外部输入)
(6) P3.5 T1(记时器1外部输入)
(7) P3.6 /WR(外部数据存储器写选通)
(8) P3.7 /RD(外部数据存储器读选通)
(9) P3口同时为闪烁编程和编程校验接收一些控制信号

3.振荡器特性:
      XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合, ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

3.1.1.2 89C2051介绍

89C2051共有20条引脚,如图1-3所示。

图1-3 89C2051单片机管脚说明

    P1口共8脚,准双向端口。
P3.0~P3.6共7脚,准双向端口,如P3.0、P3..1的串行通讯功能,P3.2、P3..3的中断输入功能,P3.4、P3.5的定时器输入功能。
    在引脚的驱动能力上,89C2051具有很强的下拉能力,P1,P3口的下拉能力均可达到20mA.相比之下,89C51的端口下拉能力每脚最大为15mA。但是限定9脚电流之和小于71mA.这样,引脚的平均电流只9mA。89C2051驱动能力的增强,使得它可以直接驱动LED数码管。
    相对于89C51它少了一些功能,但是它的功耗少,便于携带,更经济使它在发射电路中起着重要的地位。因此,在本设计红外发射的电路中就用了它来实现脉冲信号的产生。

1.1.2红外发射电路

本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。

在确定选择AT89C51作为本设计发射电路核心芯片和点触式开关作为控制键后,加上一个简单红外发射电路和12M晶体震荡器便可实现红外发射。

发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同。

  遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在40KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。P1口作为按键部分,P3.5口作为发射部分,然后用三极管的放大驱动红外发射。电路图见附录3。

1.1.3红外接收电路

在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路,从而完成相应的遥控功能。接收电路图见附录4。

通常,红外遥控器将遥控信号(二进制脉冲码)调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。将上述的遥控编码脉冲对频率为40KHz(周期为26μs)的载波信号进行脉幅调制(PAM ),再经缓冲放大后送到红外发光管,将遥控信号发射出去。

根据遥控信号编码和发射过程,遥控信号的识别——即解码过程是去除40KHz载波信号后识别出二进制脉冲码中的0和1。由MCS—51 系列单片机AT89C51、一体化红外接收头、存储器、还原调制与红外发光管驱动电路组成。

接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。

由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装(如HS0038),均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。

一体化红外接收头采用HS0038 ,它负责红外遥控信号的解调。将调制在40kHz上的红外脉冲信号解调后再输入到AT89C51的INT0(P3.2)引脚,由单片机进行高电平与低电平宽度的测量。遥控信号的还原是通过P3.1输入二进制脉冲码的高电平与低电平及维持时间,当接收头接收信号时,单片机产生中断,并在P3.1口记下脉冲的个数,这在后面的软件设计中会具体介绍到,通过单片机处理后驱动控制部分。

1.2 直流稳压电源的设计

直流稳压电源主要功能是为后两个部分提供电压的输出。在设计中分出了2个支路,分别输出 5V电压。

直流稳压电源的主要由电源变压器、整流电路、滤波电路和稳压电路四部分组成。框图如图1-4所示。

  图1-4直流稳压电源的方框图

1.2.1单相桥式整流电路

整流电路主要实现将交流电变换成直流电。实现这一目标主要是靠二极管的单向导电作用,因此二极管是构成整流电路的关键元件。我采用的是单桥式整流电路。本设计整流电路如图1-5所示。

在图中,输入电压V1通过电源变压器成V2。它的作用是将交流电电压V1变成整流电路要求的交流电压V2。其中的电阻是要求支流供电的负载电阻。四个整流二极管D1到D4接成电桥的形式。通过负载R的电流I以及电压V3的波形如图1-6。它们都是单方向的全波脉动波形。

图1-5单桥式整流电路图

1.2.2 滤波电路

在整流电路输出波形中由于含有较多的纹波成分,与所要求的波形不太符合。所以在整流电路后接滤波电路以滤去整流输出电压的纹波。而滤波电路常有电容滤波,电感滤波和RC滤波等。本电路采用的是电容滤波电路。如图1-7所示。

图1-6 单相桥式整流电路波形图

   图1-7 电容滤波电路图

1.2.3 稳压电路

典型应用电路如图3-8所示。图中C1、C2用于频率补偿,防止自激振荡和抑制高频干扰;C3采用电解电容,以减少电源引入的低频干扰对输出电压的影响;D是保护二极管,当输入端短路时,给C3一个放电的通路,防止C3两端电压激穿调整管的发射结。

图1-8 稳压电路图

1.3 控制部分的设计

1.3.1 可控硅原理

1、工作原理[9]

    可控硅是P1N1P2N2四层三端结构元件,共有三个PN结,分析原理时,可以把它看作由一个PNP管和一个NPN管所组成,其等效图解如图3-9所示

当阳极A加上正向电压时,BG1和BG2管均处于放大状态。此时,如果从控制极G输入一个正向触发信号,BG2便有基流ib2流过,经BG2放大,其集电极电流ic2=β2ib2。因为BG2的集电极直接与BG1的基极相连,所以ib1=ic2。此时,电流ic2再经BG1放大,于是BG1的集电极电流ic1=β1ib1=β1β2ib2。这个电流又流回到BG2的基极,表成正反馈,使ib2不断增大,如此正向馈循环的结果,两个管子的电流剧增,可控硅使饱和导通。

 图1-9 可控硅原理等效图解

由于BG1和BG2所构成的正反馈作用,所以一旦可控硅导通后,即使控制极G的电流消失了,可控硅仍然能够维持导通状态,由于触发信号只起触发作用,没有关断功能,所以这种可控硅是不可关断的。

由于可控硅只有导通和关断两种工作状态,所以它具有开关特性,这种特性需要一定的条件才能转化,此条件见表3-1

表1-1 可控硅导通和关断条件

         状态

       条件

        说明

从关断到导通

1、阳极电位高于是阴极电位

2、控制极有足够的正向电压和电流

两者缺一不可

维持导通

  1. 阳极电位高于阴极电位

2、阳极电流大于维持电流

两者缺一不可

从导通到关断

1、阳极电位低于阴极电位               

2、阳极电流小于维持电流

任一条件即可

                       

2、基本伏安特性

可控硅的基本伏安特性见图3-10

(1)反向特性

    当控制极开路,阳极加上反向电压时(见图3-11),J2结正偏,但J1、J2结反偏。此时只能流过很小的反向饱和电流,当电压进一步提高到J1结的雪崩击穿电压后,接差J3结也击穿,电流迅速增加,图3的特性开始弯曲,如特性OR段所示,弯曲处的电压URO叫“反向转折电压”。此时,可控硅会发生永久性反向击穿。

(2)正向特性

    当控制极开路,阳极上加上正向电压时(见图3-12),J1、J3结正偏,但J2结反偏,这与普通PN结的反向特性相似,也只能流过很小电流,这叫正向阻断状态,当电压增加,图3的特性发生了弯曲,如特性OA段所示,弯曲处的是UBO叫:正向转折电压 。

由于电压升高到J2结的雪崩击穿电压后,J2结发生雪崩倍增效应,在结区产生大量的电子和空穴,电子时入N1区,空穴时入P2区。进入N1区的电子与由P1区通过J1结注入N1区的空穴复合,同样,进入P2区的空穴与由N2区通过J3结注入P2区的电子复合,雪崩击穿,进入N1区的电子与进入P2区的空穴各自不能全部复合掉,这样,在N1区就有电子积累,在P2区就有空穴积累,结果使P2区的电位升高,N1区的电位下降,J2结变成正偏,只要电流稍增加,电压便迅速下降,出现所谓负阻特性。

2 调试

本电路总共设计了6个输入按键。

当输入一个按键5时,通过红外发射和接收电路,对应的的设备工作即5号发光二极管发光。当再次按下按键5时,5号发光二极管灭。

按键数越大灯泡亮度越大。

控制电路板的安装与调试在整个系统研制中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变位实际产品的必经阶段。对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式。使用面包板焊接更加方便,容易更换线路和器件,而且可以多次使用。但在多次使用的面包板中弹簧片会变松,弹性变差,容易造成接触不良,这是需要注意的。

在完成系统硬件的检查后主要是对软件进行调试,对遥控器的主要调试主要是用示波器观察能否在遥控接收器输出图4-2所示的波形,另外调整发射电阻的大小可以改变红外线发射的作用距离。电灯亮度控制系统的调试主要是对可控硅延时时间的调整,电灯按0-5共6档进行调整,控制延时经调整确定如下:

最最暗时的移相角控制延时:256 us×26H=9728 us

最暗移相角控制延时:256 us1CH=7168 us

次暗移相角控制延时:256 us×19H=6400 us

中间亮移相角控制延时:256 us×16H=5632 us

次亮移相角控制延时:256 us×12H=4608 us

最亮移相角控制延时:256 us×0EH=3584 us

遥控接收头在安装时应该注意尽量靠近表面,以扩大接收角度,不同厂家遥控接收的灵敏度也不一样,应注意。

 本设计在调试过程中也遇到很多问题。

(1) 电路要求遥控控制距离为4—6m,在利用38KHz的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用40KHz的接收头时基本满足了设计需求。

(2) 由于将3ms的接收脉冲放在1ms的后面,编码解调出现错误,导致接受端无信号输出。解决方法是将3ms的接收脉冲放在前面就可以接收到信号。因为在电路的解码过程中,单片机进行数码帧的接收处理,首先是对3ms的脉冲检验,当第一位低电平码的脉宽小于2ms时就会错误处理。

在初始化过程中,将P1口全置0,但是继电器仍工作,通过反复调试,将初始化的P1口全置1,通过反向使得输出全为0,从而满足上电复位,继电器掉电,满足初始化要求。

    实验和调试常用的仪器有:万用表、稳压电源、示波器、信号发生器等。

调试的主要步骤
1.调试前不加电源的检查
    对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源端对地是否存在短路(用万用表测量电阻)。
若电路经过上述检查,确认无误后,可转入静态检测与调试。
2.静态检测与调试
    断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如发现异常情况,立即切断电源,排除故障;
    如无异常情况,分别测量各关键点直流电压,如静态工作点、数字电路各输入端和输出端的高、低电平值及逻辑关系、放大电路输入、输出端直流电压等是否在正常工作状态下,如不符,则调整电路元器件参数、更换元器件等,使电路最终工作在合适的工作状态;
对于放大电路还要用示波器观察是否有自激发生。
3.动态检测与调试
    动态调试是在静态调试的基础上进行的,调试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数作进一步调整。发现问题,要设法找出原因,排除故障,继续进行。

我们所设计的遥控器电路是采用码分制遥控方式,我们用示波器对发射电路输出端及接收电路输入端的信号波型的进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的。这说明了此电路是工作在正常状态的。
4.调试注意事项
(1)正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接;
(2)在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。
(3)测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。
(4)测量仪器的带宽必须大于被测量电路的带宽。
(5)正确选择测量点和测量
(6)认真观察记录实验过程,包括条件、现象、数据、波形、相位等。
(7)出现故障时要认真查找原因

红外发射电路图

红外接收电路图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

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

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签