STC15F2K60S2芯片PWM的应用

1.目的

脉宽调制(PWM,Pulse Width Modulation)是一种使用程序来控制波形占空比、周期、相位波形的技术,在三相电机驱动、D/A转换等场合有广泛的应用。

STC15系列单片机的PCA模块可以通过设定各自的寄存器PCA_PWMn(n=0,1,2.下同)中的位EBSn_1/PCA_PWMn.7及EBSn_0/PCA_PWMn.6,使其工作于8位PWM或7位PWM或6位PWM模式。

2.与CCP/PWM/PCA应用有关的特殊功能寄存器

符号

描述

位地址及其符号

复位值

地址

B7

B6

B5

B4

B3

B2

B1

B0

CCON

PCA Control Register

D8H

CF

CR

-

-

-

CCF2

CCF1

CCF0

00xx

xx00

CMOD

PCA Mode Register

D9H

CIDL

-

-

-

CPS2

CPS1

CPS0

ECF

0xxx

0000

CCAPM0

PCA Module 0 Mode Register

DAH

-

ECOM0

CAPP0

CAPN0

MAY0

TOG0

PWM0

ECCF0

x000

000

CCAPM1

PCA Module 1 Mode Register

DBH

-

ECOM1

CAPP1

CAPN1

MAY1

TOG1

PWM1

ECCF1

x000

0000

CCAPM2

PCA Module 2 Mode Register

DCH

-

ECOM2

CAPP2

CAPN2

MAY2

TOG2

PWM2

ECCF2

x000

0000

CL

PCA Base Timer Low

E9H

0000

0000

CH

PCA Base Timer High

F9H

0000

0000

CCAP0L

PCA Module-0 Capture Register Low

EAH

0000

0000

CCAP0H

PCA Module-0 Capture Register High

FAH

0000

0000

CCAP1L

PCA Module-1 Capture Register Low

EBH

0000

0000

CCAP1H

PCA Module-1 Capture Register High

FBH

0000

0000

CCAP2L

PCA Module-2 Capture Register Low

ECH

0000

0000

CCAP2H

PCA Module-2Capture Register High

FCH

0000

0000

PCA_PWM0

PCA PWM Mode Auxiliary Register 0

F2H

EBS0_1

EBS0_0

-

-

-

-

EPC0H

EPC0L

00xx

xx00

PCA_PWM1

PCA PWM Mode Auxiliary Register 1

F3H

EBS1_1

EBS1_0

-

-

-

-

EPC1H

EPC1L

00xx

xx00

PCA_PWM2

PCA PWM Mode Auxiliary Register 2

F4H

EBS2_1

EBS2_0

-

-

-

-

EPC2H

EPC2L

00xx

xx00

AUXRI P_SW1

Auxiliary Register 1

A2H

S1_S1

S1_S0

CCP_S1

CCP_S0

SP1_S1

SP1_S0

-

DPS

0100

0000

2.1.PCA工作模式寄存器CMOD

PCA工作模式寄存器的格式如下:

CMOD:PCA工作模式寄存器

SFR name

Address

bit

B7

B6

B5

B4

B3

B2

B1

B0

CCON

D9H

name

CIDL

-

-

-

CPS2

CPS1

CPS0

ECF

CIDL:空闲模式下是否停止PCA计数的控制位。

当CIDL = 0时,空闲模式下PCA计数器继续工作;

当CIDL = 1时,空闲模式下PCA计数器停止工作;

CPS2、CPS1、CPS0:PCA计数脉冲源选择控制位。

PCA计数脉冲选择如下表所示。

CPS2

CPS1

CPS0

选择PCA/PWM时钟源输入

0

0

0

0,系统时钟,SYSclk/12

0

0

1

1,系统时钟,SYSclk/2

0

1

0

2,定时器0的溢出脉冲。由于定时器0可以工作在T1模式,所以可以达到记一个时钟就溢出,从而达到最高频率CPU工作时钟SYSclk,通过改变定时器0的溢出率,可以实现可调频率的PWM输出

0

1

1

3,ECI/P1.2(或P4.1)脚输入的外部时钟(最大速率=SYSclk/2)

1

0

0

4,系统时钟,SYSclk

1

0

1

5,系统时钟/4,SYSclk/4

1

1

0

6,系统时钟/6,SYSclk/6

1

1

1

7,系统时钟/8,SYSclk/8

例如,CPS2/CPS1/CPS0 = 1/0/0时,CCP/PCA/PWM的时钟源是SYSclk,不用定时器0,PWM的频率为SYSclk/256.

如果要用系统时钟/3来作为PCA的时钟源,应选择T0的溢出作为CCP/PCA/PWM的时钟源,此时应让T0工作在1T模式,计数3个脉冲即产生溢出。用T0的溢出可对系统时钟进行1~65536级分频(T0工作在16为重装载模式)。

ECF:PCA计数溢出中断使能位。

当ECF = 0时,禁止寄存器CCON中CF位的中断;

当ECF = 1时,允许寄存器CCON中CF位的中断。

2.2.PCA控制寄存器CCON

PCA控制寄存器的格式如下:

CCON:PCA控制寄存器

SFR name

Address

bit

B7

B6

B5

B4

B3

B2

B1

B0

CCON

D8H

name

CF

CR

-

-

-

-

CCF1

CCF0

CF:PCA计数器阵列溢出标志位。当PCA计数器溢出时,CF由硬件置位。如果CMOD寄存器的ECF位置位,则CF标志可用来产生中断。CF位可通过硬件或软件置位,但只能通过软件清零。

CR:PCA计数器阵列运行控制位。该位通过软件置位,用来启动计数器阵列计数。该位通过软件清零,用来 关闭PCA计数器。

CCF2:PCA模块2中断标志。当出现匹配或捕捉时该位由硬件置位。该位必须通过软件清零。

CCF1:PCA模块1中断标志。当出现匹配或捕捉时该位由硬件置位。该位必须通过软件清零。

CCF0:PCA模块0中断标志。当出现匹配或捕捉时该位由硬件置位。该位必须通过软件清零。

2.3.PCA比较/捕获寄存器CCAPM0、CCAPM1和CCAPM2

PCA模块0的比较/捕获寄存器的格式如下:

CCAPM0:PCA模块0的比较/捕获寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

CCAPM0

DAH

name

-

ECOM0

CAPP0

CAPN0

MAT0

TOG0

PWM0

ECCF0

B7:保留为将来之用。

ECOM0:允许比较器功能控制位。

当ECOM0 = 1时,允许比较器功能。

CAPP0: 正捕获控制位。

当CAPP0 = 1时,允许上升沿捕获。

CAPN0: 负捕获控制位。

当CAPN0 = 1时,允许下降沿捕获。

MAT0: 匹配控制位。

当MAT0 = 1时,PCA计数值与模块的比较/捕获寄存器的值的匹配将置位CCON寄存器的中断标志位CCF0。

TOG0:翻转控制位。

当TOG0 = 1时,工作在PCA高速脉冲输出模式,PCA计数器的值与模块的比较/捕获寄存器的值的匹配将使CCP0脚翻转。

PWM0: 脉宽调制模式。

当PWM0 = 1时,允许CCP0脚用作脉宽调节输出。

ECCF0:使能CCF0中断。使能寄存器CCON的比较/捕获标志CCF0,用来产生中断。

PCA模块1的比较/捕获寄存器的格式如下:

CCAPM1:PCA模块1的比较/捕获寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

CCAPM1

DBH

name

-

ECOM1

CAPP1

CAPN1

MAT1

TOG1

PWM1

ECCF1

B7:保留为将来之用。

ECOM1:允许比较器功能控制位。

当ECOM1 = 1时,允许比较器功能。

CAPP1: 正捕获控制位。

当CAPP1 = 1时,允许上升沿捕获。

CAPN1:负捕获控制位。

当CAPN1 = 1时,允许下降沿捕获。

MAT1:匹配控制位。

当MAT1 = 1时,PCA计数值与模块的比较/捕获寄存器的值的匹配将置位CCON寄存器的中断标志位CCF1。

TOG1:翻转控制位。

当TOG1 = 1时,工作在PCA高速脉冲输出模式,PCA计数器的值与模块的比较/捕获寄存器的值的匹配将使CCP1脚翻转。

PWM1: 脉宽调制模式。

当PWM1 = 1时,允许CCP1脚用作脉宽调节输出。

ECCF1:使能CCF1中断。使能寄存器CCON的比较/捕获标志CCF1,用来产生中断。

PCA模块2的比较/捕获寄存器的格式如下:

CCAPM2:PCA模块2的比较/捕获寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

CCAPM2

DCH

name

-

ECOM2

CAPP2

CAPN2

MAT2

TOG2

PWM2

ECCF2

B7:保留为将来之用。

ECOM2:允许比较器功能控制位。

当ECOM2 = 1时,允许比较器功能。

CAPP2: 正捕获控制位。

当CAPP2 = 1时,允许上升沿捕获。

CAPN2:负捕获控制位。

当CAPN2 = 1时,允许下降沿捕获。

MAT2:匹配控制位。

当MAT2 = 1时,PCA计数值与模块的比较/捕获寄存器的值的匹配将置位CCON寄存器的中断标志位CCF2。

TOG2:翻转控制位。

当TOG2 = 1时,工作在PCA高速脉冲输出模式,PCA计数器的值与模块的比较/捕获寄存器的值的匹配将使CCP2脚翻转。

PWM2:脉宽调制模式。

当PWM2 = 1时,允许CCP2脚用作脉宽调节输出。

ECCF2:使能CCF2中断。使能寄存器CCON的比较/捕获标志CCF2,用来产生中断。

2.4.PCA的16位计时器 — 低8位CL和高8位CH

CL和CH地址分别为E9H和F9H,复位值均为00H,用于保存PCA的装载值。2.5.PCA捕捉/比较寄存器 — CCAPnL(低位字节)和CCAPnH(高位字节)

当PCA模块用于捕获或比较时,它们用于保存各个模块的16位捕捉计数值;当PCA模块用于PWM模式时,它们用来控制输出的占空比。其中,n = 0、1、2,分别对应模块0、模式1和模块2。复位值均为00H。它们对应的地址分别为:

CCAP0L — EAH、CCAP0H — FAH:模块0的捕捉/比较寄存器。

CCAP1L — EBH、CCAP1H — FBH:模块1的捕捉/比较寄存器。

CCAP2L — ECH、CCAP2H — FCH:模块2的捕捉/比较寄存器。

2.6.PCA模块PWM寄存器PCA_PWM0、PCA_PWM1和PCA_PWM2

PCA模块0的PWM寄存器的格式如下:

PCA_PWM0:PCA模块0的PWM寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

PCA_PWM0

F2H

name

EBS0_1

EBS0_0

-

-

-

-

EPC0H

EPC0L

EBS0_1,EBS0_0:当PCA模块0工作于PWM模式时的功能选择位。

0,0:PCA模块0工作于8位PWM功能;

0,1:PCA模块0工作于7位PWM功能;

1,0:PCA模块0工作于6位PWM功能;

1,1:无效,PCA模块0工作于8位PWM模式。

EPC0H:在PWM模式下,与CCAP0H组成9位数。

EPC0L:在PWM模式下,与CCAP0L组成9位数。

PCA模块1的PWM寄存器的格式如下:

PCA_PWM1:PCA模块1的PWM寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

PCA_PWM1

F3H

name

EBS2_1

EBS2_0

-

-

-

-

EPC1H

EPC1L

EBS1_1,EBS1_0:当PCA模块1工作于PWM模式时的功能选择位。

0,0:PCA模块1工作于8位PWM功能;

0,1:PCA模块1工作于7位PWM功能;

1,0:PCA模块1工作于6位PWM功能;

1,1:无效,PCA模块1工作于8位PWM模式。

EPC1H:在PWM模式下,与CCAP1H组成9位数。

EPC1L:在PWM模式下,与CCAP1L组成9位数。

PCA模块2的PWM寄存器的格式如下:

PCA_PWM2:PCA模块2的PWM寄存器

SFR name

Address

Bit

B7

B6

B5

B4

B3

B2

B1

B0

PCA_PWM2

F4H

name

EBS2_1

EBS2_0

-

-

-

-

EPC2H

EPC2L

EBS2_1,EBS2_0:当PCA模块2工作于PWM模式时的功能选择位。

0,0:PCA模块2工作于8位PWM功能;

0,1:PCA模块2工作于7位PWM功能;

1,0:PCA模块2工作于6位PWM功能;

1,1:无效,PCA模块2工作于8位PWM模式。

EPC2H:在PWM模式下,与CCAP2H组成9位数。

EPC2L:在PWM模式下,与CCAP2L组成9位数。

PCA模块的工作模式设定表如下表所列:

ECOMn

CAPPn

CAPNn

MATn

TOGn

PWMn

ECCFn

模块功能

0

0

0

0

0

0

0

无此操作

1

0

0

0

0

1

0

8位PWM,无中断

1

1

0

0

0

1

1

8位PWM输出,由低变高产生中断

1

0

1

0

0

1

1

8位PWM输出,由高变低产生中断

1

1

1

0

0

1

1

8位PWM输出,由高变低或由低到高

X

1

0

0

0

0

X

16位捕获模式,由CEXn/PCAn的上升沿触发

X

0

1

0

0

0

X

16位捕获模式,由CEXn/PCAn的下降沿触发

X

1

1

0

0

0

X

16位捕获模式,由CEXn/PCAn的跳变触发

1

0

0

1

0

0

X

16位软件定时器

1

0

0

1

1

0

X

16位高速输出

PCA模块工作模式设定(CCAPMn寄存器,n = 0、1、2)

3.原理图

3.1 8位脉宽调节模式(PWM)

当[EBSn_1,EBSn_0]=[0,0]或[1,1]时,PCA模块n工作8位PWM模式,此时将{0,CL[7:0]}与捕获寄存器[EPCnL,CCAPnL[7:0]]进行比较。

PWM模式的结构如下图所示。

PCA PWM mode/可调制脉冲宽度输出模式结构图(PCA模块工作于8位PWM模式)

当PCA模块工作于8位PWM模式时,由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL,CCAPnL[7:0]}有关。当{0,CL[7:0]}的值小于{EPCnL,CCAPnL[7:0]}时,输出为低;当{0,CL[7:0]}的值等于或大于{EPCnL,CCAPnL[7:0]}时,输出为高。当CL的值由FF变为00溢出时,{EPCnH,CCAPnH[7:0]}的内容装载到{EPCnL,CCAPnL[7:0]}中。这样就实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

PCA时钟输入源频率

当PWM是8位的时:PWM的频率=

256

PCA时钟输入源可以从以下8中中选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,

SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P1.2输入。

如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源

当EPCnL = 0及CCAPnL = 00H时,PWM固定输出高

当EPCnL = 1及CCAPnL = 0FFH时,PWM固定输出低

当某个I/O作为PWM使用时,该口的状态:

PWM之前口的状态

PWM输出时的状态

弱上拉/准双向

强推挽输出/强上拉输出,要加输出限流电阻1K~10K

强推挽输出/强上拉输出

强推挽输出/强上拉输出,要加输出限流电阻1K~10K

仅为输入/高阻

PWM无效

开漏

开漏

3.2 7位脉宽调节模式(PWM)

当[EBSn_1,EBSn_0]=[0,1]时,PCA模块n工作7位PWM模式,此时将{0,CL[6:0]}与捕获寄存器[EPCnL,CCAPnL[6:0]]进行比较。PWM模式的结构如下图所示。

PCA PWM mode/可调制脉冲宽度输出模式结构图(PCA模块工作于7位PWM模式)

当PCA模块工作于7位PWM模式时,由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL,CCAPnL[6:0]}有关。当{0,CL[6:0]}的值小于{EPCnL,CCAPnL[6:0]}时,输出为低;当{0,CL[6:0]}的值等于或大于{EPCnL,CCAPnL[6:0]}时,输出为高。当CL的值由7F变为00溢出时,{EPCnH,CCAPnH[6:0]}的内容装载到{EPCnL,CCAPnL[6:0]}中。这样就实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

PCA时钟输入源频率

当PWM是7位的时:PWM的频率=

128

PCA时钟输入源可以从以下8中中选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,

SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P1.2输入。

如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源

当EPCnL = 0及CCAPnL = 80H时,PWM固定输出高

当EPCnL = 1及CCAPnL = 0FFH时,PWM固定输出低

3.2 6位脉宽调节模式(PWM)

当[EBSn_1,EBSn_0]=[1,0]时,PCA模块n工作6位PWM模式,此时将{0,CL[5:0]}与捕获寄存器[EPCnL,CCAPnL[5:0]]进行比较。PWM模式的结构如下图所示。

PCA PWM mode/可调制脉冲宽度输出模式结构图(PCA模块工作于6位PWM模式)

当PCA模块工作于6位PWM模式时,由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL,CCAPnL[5:0]}有关。当{0,CL[5:0]}的值小于{EPCnL,CCAPnL[5:0]}时,输出为低;当{0,CL[5:0]}的值等于或大于{EPCnL,CCAPnL[5:0]}时,输出为高。当CL的值由3F变为00溢出时,{EPCnH,CCAPnH[5:0]}的内容装载到{EPCnL,CCAPnL[5:0]}中。这样就实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

PCA时钟输入源频率

当PWM是6位的时:PWM的频率=64

PCA时钟输入源可以从以下8中中选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,

SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P1.2输入。

如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源

当EPCnL = 0及CCAPnL = 0C0H时,PWM固定输出高

当EPCnL = 1及CCAPnL = 0FFH时,PWM固定输出低

4.程序

//P3.7输出PWM波形

#include<reg51.h>

sfr CCON = 0xd8;

sfr CMOD = 0xd9;

sfr CCAPM2 = 0xdc;

sfr CL = 0xe9;

sfr CH = 0xf9;

sfr CCAP2L = 0xec;

sfr CCAP2H = 0xfc;

sfr PCA_PMW2 = 0xf4;

code unsigned char seven_seg[] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char cp1,cp2 = 255;

unsigned int cp0;

sbit P3_4 = P3^4;

sbit P3_5 = P3^5;

sbit P3_6 = P3^6;

void timer0_isr(void) interrupt 1

{

TH0= (65536 - 1000) / 256; //重装初值

TL0= (65536 - 1000) % 256;       //重装初值

cp0++;                                     //中断1次,变量加1

if(cp0>=  100)                  //1秒到了

{

cp0= 0;

cp2--;                    //cp2为脉宽控制变量

if(cp2<= 1)

cp2= 255;

}

P2= 0xff;

P3= 0xff;

switch(cp1)

{

case0: P2 = seven_seg[cp2 % 100 % 10]; P3_6 = 0;break;

case1: P2 = seven_seg[cp2 % 100 / 10]; P3_5 = 0;;break;

case2: P2 = seven_seg[cp2 / 100]; P3_4 = 0;break;

}

cp1++;

if(cp1>=3)cp1 = 0;

}

/*********************Timer0初始化函数***********************/

void timer0_init(void)

{

TMOD= 0x01;                        //T0工作方式1

TH0= (65536 - 1000) / 256;        //对机器脉冲计数1000个计满溢出引发中断

TL0= (65536 - 1000) % 256;

EA= 1;                                  //开总中断

ET0= 1;                                  //开T0中断

TR0= 1;                                  //启动定时器T0

}

void pwm0_init(void)

{

CCON= 0x00;

CL= 0x00;

CH= 0x00;

PCA_PMW2= 0x00;     //8位PMW,占空比的第九位EPC0L为0

CCAPM2= 0x42;         //允许比较,P3.7输出

CCON= 0x40;              //允许PAC计数

}

void main(void)

{

timer0_init();

pwm0_init();

while(1)

{

if(CL== 0xff)

{

CCAP2L = cp2;

CCAP2H= cp2;

}

}

}

STC15F2K60S2芯片PWM的应用相关推荐

  1. 基于stc15f2k60s2芯片单片机编程(时钟DS1302)

    **stc15f2k60s2芯片编程(时钟DS1302)** main.c函数 #include <STC15F2K60S2.H> #include <intrins.h> # ...

  2. 基于stc15f2k60s2芯片单片机编程(数码管)

    **蓝桥杯stc15f2k60s2芯片编程(数码管)** ** ** (1)数码管显示01234567 ** ** #include <stc15f2k60s2.h>unsigned ch ...

  3. STC15F2K60S2芯片A/D转换器的应用

    STC15F2K60S2芯片A/D转换器的应用 1.目的 在工业控制过程中,它是控制系统与微机之间不可缺少的接口方式.要实现自动控制,就要检测有关参数,A/D转换器,把检测到的电压或电流信号(模拟量) ...

  4. 中科蓝讯AB536X系列芯片PWM使用说明

    AB536X 支持 3 个定时器(Timer3,Timer4,Timer5,)PWM 输出,每个定时器支持 3 路 PWM 输出 ,分别是 PWM0 ,PWM1,PWM2,其中每个定时器支持 3 路周 ...

  5. HM3416H降压IC芯片PWM/PFM 控制 DC-DC 降压转换器

    产品概述HM3416H是一款由基准电压源.振荡电路.比较器. PWM/PFM 控制电路等构成的 CMOS 降压型 DC/DC 调整 器.利用 PWM/PFM 自动切换控制电路达到可调占空比,具 有全输 ...

  6. FP7195芯片PWM转模拟调光至0.1%低亮度时恒流一致性的控制原理

    常规的PWM调光和模拟调光对比: 在传统模拟调光原理中,Dimming讯号会转换出VOFFSET电压跨在VFB与VCS中间,所以当调整Dimming讯号时候即可调整输出电流值ILED=VCS/RCS. ...

  7. stc15系列c语言pwm编程,stc15f2k60s2单片机 pwm程序 可调占空比

    #include #define u8 unsigned char #define u16 unsigned int sbit PWM = P1^0; extern void InitLcd1602( ...

  8. 基于stc15f2k60s2芯片单片机编程(串口+超声波)

    通过单片机发送当前超声波测量的距离给串口1显示 (感谢广东某大神的帮助) #include <stc15f2k60s2.h> #include <intrins.h>void ...

  9. 基于stc15f2k60s2芯片单片机编程(闹铃)

    用定时器中断写时钟加调节 1)关闭蜂鸣器.继电器等无关外设: 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒. A.时间显示格式 2 3 - 5 9 - 5 ...

最新文章

  1. LeetCode题解——Longest Palindromic Substring
  2. signature=6a8815f5009aacac86e725bea54f840f,A wave packet signature for complex networks
  3. frame或者iframe的contentwindow属性
  4. 【Leetcode】【Regular Expression Matching】【正则表达式匹配】【C++】
  5. SVG 坐标和 viewBox
  6. IEEE会议(期刊)检索
  7. 百度地图SDK集成定位,卫星地图
  8. android手写计算器,MyScript Calculator(高级手写计算器) V1.2.2.479 安卓版
  9. java知识分享篇(八)
  10. ubuntu16.04 双显卡 安装N卡驱动
  11. [Essay]看《Re:从零开始的异世界生活》的一些感想
  12. 【Spark NLP】第 16 章:对象字符识别(OCR)
  13. 用Python去优惠券,看到结果我惊呆了!
  14. vue中enter回车键事件
  15. win10计算机运行在哪里,Win10运行在哪(开始、快捷键、所有应用)
  16. PAT甲级1062 Talent and Virtue
  17. linux删除screen命令,Linux下Screen的常用命令
  18. android调出系统设置
  19. windows和Linux分区相互访问
  20. web应用防火墙是什么?有哪些作用?

热门文章

  1. VRay Next(4.0) for SketchUp 室内局部空间渲染教程
  2. Eclipse如何开发Android?
  3. 记录一次git解决冲突的过程
  4. plc 梯形图 转c语言,电路与PLC之间的梯形图转化,电气人必备技能!
  5. mysqli 连接数据库
  6. 权衡使用云计算解决方案的利与弊
  7. Android Service服务不被杀死(保活)
  8. 【基于C语言的随机点名器】
  9. 学英语的网站[转载]
  10. 重磅 | 推荐一款技术人必备的写作神器 (支持多平台博客群发)