导航:首页 > 操作系统 > stc12c2052单片机

stc12c2052单片机

发布时间:2022-10-07 03:12:22

⑴ 用c语言为单片机STC12C2052写一段简单的延时程序!

下面几个是单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0000MHz的晶振,而在AVR单片机上常用的有8.000MHz和4.000MH的晶振所以在网上查找程序时如果涉及到精确延时则应该注意晶振的频率是多大。
软件延时:(asm)
晶振12MHZ,延时1秒
程序如下:
DELAY:MOV
72H,#100
LOOP3:MOV
71H,#100
LOOP1:MOV
70H,#47
LOOP0:DJNZ
70H,LOOP0
NOP
DJNZ
71H,LOOP1
MOV
70H,#46
LOOP2:DJNZ
70H,LOOP2
NOP
DJNZ
72H,LOOP3
MOV
70H,#48
LOOP4:DJNZ
70H,LOOP4
定时器延时:
晶振12MHZ,延时1s,定时器0工作方式为方式1
DELAY1:MOV
R7,#0AH
;;晶振12MHZ,延时0.5秒
AJMP
DELAY
DELAY2:MOV
R7,#14H
;;晶振12MHZ,延时1秒
DELAY:CLR
EX0
MOV
TMOD,#01H
;设置定时器的工作方式为方式1
MOV
TL0,#0B0H
;给定时器设置计数初始值
MOV
TH0,#3CH
SETB
TR0
;开启定时器
HERE:JBC
TF0,NEXT1
SJMP
HERE
NEXT1:MOV
TL0,#0B0H
MOV
TH0,#3CH
DJNZ
R7,HERE
CLR
TR0
;定时器要软件清零
SETB
EX0
RET
C语言延时程序:
10ms延时子程序(12MHZ)
void
delay10ms(void)
{
unsigned
char
i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
1s延时子程序(12MHZ)
void
delay1s(void)
{
unsigned
char
h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
200ms延时子程序(12MHZ)
void
delay200ms(void)
{
unsigned
char
i,j,k;
for(i=5;i>0;i--)
for(j=132;j>0;j--)
for(k=150;k>0;k--);
}
500ms延时子程序程序:
(12MHZ)
void
delay500ms(void)
{
unsigned
char
i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
下面是用了8.0000MHZ的晶振的几个延时程序(用定时0的工作模式1):
(1)延时0.9MS
void
delay_0_9ms(void)
{
TMOD=0x01;
/*定时器0工作在模式1下(16位计数器)*/
TH0=0xfd;
TL0=0xa8;
TR0=1;
/*启动定时器*/
while(TF0==0);
TR0=0;
}
(2)延时1MS
void
delay_1ms(void)
{
TMOD=0x01;
/*定时器0工作在模式1下(16位计数器)*/
TH0=0xfd;
TL0=0x65;
TR0=1;
/*启动定时器*/
while(TF0==0);
TR0=0;
}
(3)延时4.5ms
void
delay_4_5ms(void)
{
TMOD=0x01;
/*定时器0工作在模式1下(16位计数器)*/
TH0=0xf4;
TL0=0x48;
TR0=1;
/*启动定时器*/
while(TF0==0);
TR0=0;
}

⑵ 新买的STC12C2052AD单片机 P3^7口 PWM0 输出一直为高 代码为说明文档里面的代码如下:

CCAP1H = CCAP1L = 0xff;这有问题,这一句意思是P3.5输出的脉冲占空比是99%这样测量就感觉一直高电平,因为只有1%的低电平只有示波器能测出来。
CCAP1H = CCAP1L = 0x80;就是50%的占空比,CCAP1H = CCAP1L = 0x00;是1%的占空比
如果还不行,你把这句删掉试试看PCAPWM0 = 0x00;反正我没写这句能有波形

⑶ stc12c2052ad 单片机接收模拟毫伏信号吗

STC12C2052AD 系列工作电压: 5.5V - 3.5V(5V单片机)
A/D转换, 8位精度ADC,共8路。 要ADC转换基准电压为5V, 5V/255=0.0196V=19.6mV
19.6mV就能转换成1个数字量的电压信号。接受模拟毫伏信号。

⑷ 烧录单片机STC12C2052的问题

这个问题我已经解决,现在分享一下!主要注意以下几个问题:

1.需要使用Keil uVision 2 版本,我之前使用的是Keil uVision 4 版本,Keil uVision 4的在编译HEX文件时可能有问题,所以导致无效区间800--fff中有数据,使用Keil uVision 2 版本编译的HEX文件可以顺利打开。

2.编写STC12C02052AD的程序时,在Keil中需要选择使用STC12C02052AD芯片,但是该软件默认状况下没有该芯片,那么需要利用单片机程序下载软件“stc-isp”,该软件可以自动为Keil软件添加所需的芯片,但是注意这个软件需要用V6.6以上的版本,低版本没有该功能,首先打开stc-isp v6.63如下图所示:

经过上述设置后,就可以生成可以顺利打开的HEX文件了!!经过我多次尝试发现,最关键的问题是Keil 软件的版本问题,我的Keil uVision 4可能不是完整版的,或是有其它问题,导致生成的HEX文件有问题,而换用Keil uVision 2完整版后问题得以解决!

⑸ stc单片机有哪些优缺点

stc单片机的优点:

1、下载烧录程序用串口方便好用,容易上手,拥有大量的学习资料及视频,最着名的要属于昌晖仪表网的那个视频了,好多对单片机有兴趣的朋友都是通过这个视频入门的,同时具有宽电压:5.5~3.8V,2.4~3.8V, 低功耗设计:空闲模式,掉电模式(可由外部中断唤醒)。

2、STC单片机具有在应用编程,调试起来比较方便;带有10位AD、内部EEPROM、可在1T/机器周期下工作,速度是传统51单片机的8~12倍,价格也较便宜。

3、4通道捕获/比较单元,STC12C2052AD系列为2通道,也可用来再实现4个定时器或4个外部中断,2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器,具有硬件看门狗、高速SPI通信端口、全双工异步串行口,兼容普通8051的串口。

4、同时还具有先进的指令集结构,兼容普通8051指令集。

⑹ 请问STC12C2052单片机与我们常见的STC89系列、AT89系列、8051等有什么区别

8051一般理解是是一个大类的名字,泛指所有51内核的单片机。
AT89系列51是指ATMEL出的51单片机,特点是AT发挥了自己在FLASH上的特长,把flash储存器集成到单片机里(是的老51单片机内部是没有flash储存器的,裸核,AT89单片机也是很久以前就出了的),然后推广的也好用的人多,其实和标准的51单片机没有太大不同,可以认为就是标准51单片机。这些单片机都是需要把晶振频率除以12后才是机器周期,所以慢。
STC单片机还是51的内核(或者说是架构更适合),然后外围辅以其它设备,所以功能比51多很多,但用起来并没有太大区别,方便初学者使用,毕竟51现在还是好多初学单片机人的入门单片机,突然放弃改学其它的也不是很方便。
STC单片机可以理解成是把传统51单片机+AD芯片+定时芯片+复位芯片全做到一个芯片里,同时还内置RC振荡(是RC振荡电路,不是晶振),单片机的运行速度也比传统51快了12被(晶振频率除以12了)用起来自然比51要方便的多,

⑺ STC12C2052单片机在工作时可以写入程序吗

首先工作的时候,插入USB是不会烧坏元器件的
但是STC的单片机,只能在冷启动的时候才能够下载程序(第一次上电工作的时候)
所以工作的时候是不能烧写程序的

⑻ 单片机高手来帮忙!STC12C2052AD怎么把软件烧写进去备注,我没有开发板

1、首先在keil上编辑好代码,用keil 4 编译一下,在工程文件夹中找到编译出的HEX文件,要烧写到单片机的文件。

⑼ 单片机对讲机原理

方案一 以单片机为核心处理器的DMR对讲机方案(MSP430F149+AMBE1000)
1.工作原理
发射时,由麦克送来的模拟语音经CSP1027进行A/D转换,由声码器AMBE1000进行语音压缩,交单片机MSP430F149进行协议填充组帧,送到CC1101进行调制后发射。接收时,由CC1101解调出来的码流经MSP430F149进行帧恢复,交由声码器进行解压,数据经CSP1027进行D/A转换为模拟语音信号。
2.关键器件
微控制器采用TI公司的MSP430F149,它是16位超低功耗、混合信号微控制器,采用“冯·诺依曼”结构,可用JTAG(一种标准测试接口)进行仿真调试。
芯片的电源电压为(1.8~3.6)V,在RAM数据保持方式下耗电仅0.1uA,活动模式耗电250 uA/MIPS(每秒百万条指令数)。运算时由于本单片机采用16位RISC(精简指令集计算机),一个时钟周期可以执行一条指令,而传统的单片机要12个时钟周期才执行一条指令。工作在8MHz的晶振频率时,指令速度可达8MIPS,而同样这个指令速度,16位处理器比8位处理器高远不止两倍。
概述
声码器AMBE1000在国内已有产品,价格比较合理。CC1101的灵敏度为-116dBm(1.2kbps,1%数据包误码率,工作在433MHz时),与国内的对讲机可用灵敏度-120dBm相比偏低,但符合欧盟的CE标准规定小于-107dBm.另外,射频模块的功率输出仅12dBm(16mW),所以本方案仅适用短距离范围的通信。提高灵敏度可考虑用器件ADF7021作为射频模块。
方案二 以DSP+MCU为核心处理器的对讲机方案
1.工作原理
方案以MSP430为中心系统来完成数据的收、发控制等工作,系统采用MSP430中 USART模块的SPI同步通信模式。在接收过程中,首先接收来自射频芯片的FSK数据,解调后由MSP430将数据帧的同步域、尾域、ID域以及命令字节去除后,数据发至C5402进行去压缩处理,数据交AIC23进行D/A转换为语音信号。在发送过程中,首先由AIC23进行A/D转换,数据交C5402将语音压缩,再由微控制器MSP430进行协议填充,加上头域、尾域、ID域以及命令字节形成数据帧,然后控制射频模块将数据发送。
2.关键器件
TMS320C5402是TI公司于1996年推出的一种定点DSP芯片,采用先进的修正哈佛结构和8总线结构,使处理器的性能大大提高。其独立的程序和数据总线允许同时访问程序存储器和数据存储器,实现高速并行操作。如,可以在一条指令中同时执行3次读操作和1次写操作。TMS320C5402的运行速度为40MIPS,指令周期为25ns.此外,还可以在数据总线与程序总线之间相互传送数据。从而使处理器具有单个周期内同时执行算术运算、逻辑运算、位移操作、乘法累加运算以及访问程序、数据存储等强大功能。
概述
采用DSP方案时,免去选用语音芯片声码器的烦恼,提高了数字对讲机对语音处理的能力,可让语音编码的算法尽量优化,从而使对讲机语音信号的处理更具通用性和扩展性。本方案是以DSP为开发平台,经过连续可变斜率增量(CVSD)调制编解码得到语音信号的清晰度和自然度好,但软件开发工作量大。CC1000不支持4FSK调制与解调,本方案不适用于DMR与dPMR协议。另外CC1000的接收可用灵敏度为-110dBm,国内对讲机厂家可能嫌低。
方案三 以单片机为核心处理器的dPMR对讲机方案(CMX618+CMX7141)
1.工作原理
发射时,麦克送来的模拟语音经CMX618内部进行增益调节,A/D转换和压缩处理,然后通过SPI(串行外围设备接口)进入CMX7141基带处理器,在微控制器LPC2138的控制和管理下经CMX7141芯片内部进行信道编码,dPMR协议栈打包,数字滤波以及4FSK调制,调制编码后的语音数据经CMX7141芯片的MOD1/2管脚分别输出给外部的发射VCO和压控温补参考时钟,经两点调制输出射频载波给发射功放,并到天线输出。
接收时,CMX7141对基于超外差射频接收模块送来的4FSK解调信号在微控制器LPC2138的控制和管理下进行4FSK解调,dPMR拆包,信道解码,最终得到语音编码数据,经SPI串口送给CMX618进行语音解压缩并恢复语音信号。
2.关键器件
语音编解码片CMX618是CML微电子(新加坡)私人有限公司的产品,芯片由音频压缩/解压器、RALCWI编解码器、前向纠错编解码器和其他特殊功能模块几部分组成。
RALCWI是一种鲁棒的先进的复杂性波形插入技术,与其他语音编解码技术不同,它使用独有的信号分解和参数编码方法,可确保在较高的压缩率下有较好的语音质量。
在声码器中,采用RALCWI技术实现的语音质量与编码速率在4kbps以上的标准声码器话音质量相当。
概述
本方案优点是开发时的灵活性高,模拟与数字可双模设计,且同一个硬件开发平台能满足不同的数字对讲机标准,支持多种语音声码器,射频的接收灵敏度可做得较高达到-118dBm(误码率为1%时)。发射功率0.5W,功率容易提升。
缺点是前期的软件开发成本高并有一定难度,射频模块ATB010只支持dPMR的EN301,166标准,不支持DMR.
方案四 以MCU+DSP的DMR对讲机方案(MSP430FG4619+VC5510)
1.工作原理
发射时,由麦克送来的模拟语音经模数转换器AD73311采样成数字信号,AMBE2000对语音数字信号进行压缩编码,数字信号由VC5510进行DMR通信协议填充组成帧信号和4FSK的调频波成形,最后由微控制器MCU进行D/A转换,送往射频模块进行发射调制,实现发射。
接收时,MCU将射频模块送来已解调数据进行A/D转换,经VC5510进行拆帧,交AMBE2000进行解压,数据由AD73311数模转换为语音信号。
微控制器MSP430FG4619是整个系统的控制中心,人机接口如键盘、显示器与MCU直接连接。微控制器实现对射频模块的控制,包括基带信号的发送与接收、射频频率点的控制、信道检测等,MCU还负责DMR协议的高层信令控制、人机接口的互通等。
另外,请注意微控制器还要完成基带信号的AD/DA转换功能。
2.关键器件
AMBE2000TM声码器是美国语音公司DVSI推出的一款适应性强、高性能、单芯片的语音压缩编解码器。它能在低速率下提供优良的语音质量,并实现了实时的、全双工的标准设定的AMBE语音压缩软件算法。
大量的评估显示,这款声码器具有在一般数据速率下提供同数字蜂窝系统一样性能的能力。AMBE在2.4kbps速率下保持自然语音质量和清晰度,由于AMBE算法复杂性低,所以它能够完全集成在成本低、功耗低的芯片上。
概述
方案简单,实用。
软件开发中,微控制器和数字处理器的程序对DMR协议的分层必须有清晰的概念,正确的程序设计是硬件实现的保证。声码器的选用有较大的余地。
方案五 以ARM+DSP的DMR对讲机方案
1.工作原理
发射时,由麦克送来的话音信号由数模转换器AD73311进行采样,数据由声码器进行压缩,OMAP5910内的DSP与ARM对压缩的数据进行协议添加与控制,形成4FSK波形,数模转换器AIC23将4FSK数字波形模拟化后进行射频调制,调频载波由天线发射。
接收时,射频模块对接收的模拟信号进行解调,模拟信号交AIC23进行数字化处理,OMAP5910对接收到的数据进行信道解码和拆帧,帧信号交声码器进行解压,数据由AD73311还原为模拟语音信号。
2.关键器件
OMAP5910是一款嵌入式双核处理器,它集成了高性能的ARM925、TMS320C55x DSP核和已经得到的广泛应用的各种接口与外设,具有较强的处理能力、较低的功耗和较高的信价比。ARM处理器内核用于DMR协议的处理与系统控制,DSP内核用于完成数字信号的实时处理。
OMAP5910及其设计套件具有多个目标应用市场,提供多媒体功能、改善人机界面并延长电池寿命。
概述
从技术上讲,双核处理器方案与前面介绍的DSP+MCU相比,可以降低系统体积,减少电路的复杂性,对通信协议能作较好的兼容,升级空间大。声码器的应用有可选国产芯片的余地。
缺点是前期的软件开发工作量大,ARM与DSP间的协调工作要深入研究,以免浪费处理器的资源。此外,由于OMAP的功能十分强大,该平台还可以有更多的应用,如加入视频、娱乐等功能。
方案六
1.工作原理
发射时,麦克送来的模拟语音经WM8758B进行A/D转换,送到SCT3252进行压缩处理,经SCT3252进行dPMR协议处理后送到WM8758B的D/A转换单元调制成4FSK信号,经两点调制输出射频载波给发射功放,送天线输出。
接收时,WM8758B对射频模拟信号进行A/D转换,送到SCT3252进行4FSK解调,dPMR拆包,信道解码,最终得到语音编码数据,经解码处理后把语音数据送到WM8758B进行D/A转换,经由外部放大电路送入喇叭还原成话音。
2.关键器件
SCT3252是上海士康公司生产的语音编解码及dPMR协议栈处理芯片。具有较好的语音质量及较高的接收灵敏度(可达-126dBm)。
概述
本方案的特点是语音编解码及dPMR协议栈都集成在SCT3252中,大大减少了控制单元MCU的工作量,另外SCT3252为LQFP100封装,焊接方便。整个方案简单,软件升级的空间大。本方案可以实现数模兼容,通过开关可方便进行数字与模拟通信之间的切换。
WM8758B只起模数转换作用,厂家认为,把它集成进SCT3252是指日可待的事。

⑽ 用STC12C2052AD的单片机进行串口通信,波特率为115200HZ,那么怎样设置相关寄存器 请大师指教,谢谢!

void UartInit(void) //[email protected]
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设定定时器1为16位自动重装方式
TL1 = 0xE8; //设定定时初值
TH1 = 0xFF; //设定定时初值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
或者
UARTINIT: ;[email protected]
MOV SCON,#50H ;8位数据,可变波特率
ORL AUXR,#40H ;定时器1时钟为Fosc,即1T
ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器
ANL TMOD,#0FH ;设定定时器1为16位自动重装方式
MOV TL1,#0E8H ;设定定时初值
MOV TH1,#0FFH ;设定定时初值
CLR ET1 ;禁止定时器1中断
SETB TR1 ;启动定时器1
RET

阅读全文

与stc12c2052单片机相关的资料

热点内容
马桶app怎么开通 浏览:592
军官和程序员哪个更好一点 浏览:244
一个和尚和一个女人的电影叫什么 浏览:510
手机外网服务器地址是多少 浏览:31
单片机外接锂电池供电 浏览:357
文件夹u盘锁 浏览:313
家佳源电影票 浏览:758
人间中不用解压 浏览:704
哪些网站可以免费看会员 浏览:309
python函数提示 浏览:524
cmd跟踪命令 浏览:266
电影下载免费网站推荐 浏览:364
泰国永恒无删减版 浏览:42
我的世界服务器如何更改地皮地形 浏览:505
山西联通app是什么软件 浏览:355
更新电视剧最快的网站 浏览:134
兄弟训诫文严厉 浏览:608
李楠程序员 浏览:288
山推管家app怎么改密码 浏览:682
贷款结束什么时候解压 浏览:142