导航:首页 > 源码编译 > stc12编译器

stc12编译器

发布时间:2022-07-01 20:07:36

⑴ STC12C5A60S2 因为有256字节RAM,高128字节间接寻址来访问,C语言该怎么使用呢

如果你用的是Keil编译器,51内核(加强)以及52以上内核的RAM有256字节的内存,
低128字节位于data区,通过直接寻址访问,代码体现为 data unisgned char/int/long YourValue;
高128字节位于idata区,通过间接寻址访问,代码体现为 idata unsigned char/int/long YourValue;
在Keil编译器里通过存储区域关键字data,idata,code...来选择变量的存放位置,不同的存放位置汇编语言会自己生成访问代码。

或者通过指针实现:
unisgned char ucDataAreaLoc = (unsigned char data *)0x56; //将0x56转换为指向data区域的指针
*ucDataAreaLoc就是对高128字节中0x56地址单元的引用。

中断那里,你定义的是using 1,就是串口中断内使用的寄存器为1号寄存器组,程序输出不对可能1号寄存器组在为串口中断工作的同时也被其他模块使用,造成数据错乱。

第三个问题建议你看一下啊51的StartUp.asm文件,我记得好像是这个文件名...

⑵ 在keil C和伟福编译器中,找不到STC12系列的型号

可以选择89S52 有2点问题

1,这芯片目前没有任何编译器 支持实时调试 及xRAM 查看等
但用keil选89S52就可以 只要在头文件里加一些S52没有的STC的寄存器

2,由于不能实施调试(1T) 所以像DELAY这类函数 SPI i2c 速速等
只好自己计算时间

其他用法一样

⑶ stc12c2052用什么编译器编程

我找了一下,没发现哪个支持呢,你现在有编程器么,现在很多厂家都可以申请支持的,你可以打电话问一下的

⑷ 如何用KEIL编译出STC12系列的程序,要保证有60K的FLASH.我说的不是CODE 是FLASH 一般用89C52只有8K

不懂你说的flash是什么意思

⑸ 用什么软件编译STC12C5A60S2单片机的C程序文件。什么版本的。

如果这样的化 那就只用仿真器了
写好程序用仿真器在你的硬件电路调试就好了

两者都可以

编译器比较普遍的使用keil 这个是软件如何操作网上挺多的 而且很简单

仿真器我用的很多 市场上比较普遍的是伟福(WAVE)系列的仿真器 这系列的对大部分的mcu都能仿真 操作也比较简单好用

要说好当然是仿真器啦 它相当于单片机 而且是可以一边修改一边调试的单片机 配合硬件电路 挺好的

另外 你题目给的不大明确

你是说你硬件已经设计焊好了?还是整个硬件还没做 要通过软件模拟仿真整个过程??
如果是后者 那么可以用proteus去仿真硬件 用keil编译程序导入 可以实现 整个电路的仿真

希望你成功

⑹ stc12c5410单片机,10kflash,编译后code=4549,但程序只执行一部分功能,后面的不执行,或者根本不执行

检查编译器是否优化错了!或是单片机执行中堆栈溢出!

⑺ stc12c5a60s2编译软件

到STC官网下载搭配的UV2.CDB在放到指定的安装目录就可以了

⑻ STC12的1T模式与12T模式哪个稳定

1T和12T
1T和12T只有在STC12系列以后的单片机里才出现的。前面我们已经说到了,传统的单片机其实就是12T单片机,也就是晶振频率会被12分频后才是指令运行的频率。到时STC12系列以后的STC单片机出现1T模式,也就是有些指令的执行时只需要两个晶振周期就能执行完。理论上来说,这样的运行速度会比传统单片机快6倍,为什么加“理论”,因为不是所有的指令都快6倍,只是一部分,还有些是快4倍,快3倍的。具体的需要看STC官方数据手册,如下图。

仔细的小伙伴会看到在第5列的第一行里有个小括号(采用STC-Y2 CPU内核指令集),STC12用的就是这个内核,而到了STC15系列芯片用的是STC-Y5内核,STC8系列用的是STC-Y6内核,Y后面的数字越大,指令优化的越厉害,表现出来的就是运行的更快,STC-Y5内核的指令集里,大部分的汇编指令到时一个晶振周期就执行完成的了,也就是比传统单片机快12倍。 现在我在做单片机开发的时候,绝大部分都是采用的C语言开发,你还在用汇编,那我只能是膜拜你了。C语言编程的程序方便移植,好理解,容易入门,不需要去记住那些复杂的寄存器,但是确定也明显,就是效率不高,运行速度我们没办法准确的计算出来。编译器在把C语言代码转化为汇编语言的过程我们是没法控制的,这样编译出来的机器代码我们就没办法去计算时间的指令运行时间。 >>>>
软件仿真和实际开发板
仿真软件,外国老表开发的,STC国产(好吧,内核还是人家的)。不知道什么原因,我们不知道,也不敢问,在仿真软件里就是没有STC的单片机芯片可以选择,没有STC的单片机,我们只能选择传统51单片机,这样一来,仿真的时候,程序运行的速度是传统的12T模式,也就是晶振频率12分频后才是执行的实际频率。 单片机开发板运行时,因为提问小伙伴用的单片机是STC12系列的芯片,就算他运行在12T模式下,指令系统还是有优化,速度肯定比传统的指令集要快。更何况呢,他连1T和12T都分不清,运行在1T模式下也是有可能的,所以,今天的问题就来了。实际开发板运行速度肯定会比软件仿真快。 写在最后 在很久之前,我就写过一篇文字,就说了不建议初学单片机的菜鸟从软件仿真开始。现在还有多少高校的单片机课程还在是以仿真运行的呢,希望是没有了,但我想,仅仅是我想想。 其实,小代觉得,学单片机的最终是要自己设计属于自己的东西,比如自己的毕设,更或是亲手做一个小礼物俘获女神的芳心。但是自己写的代码永远都运行在软件里,没有实际电路,你又怎么可能会自己设计电路呢。你不自己看见过电阻,又怎么可能会知道一个长得很像电阻的电子元件它其实是二极管。 最最后,回到今天的问题上,当我们把软件仿真运行完美的代码移植到实际开发板上运行时,代码是需要做单片机的适配的,比如,采用代码方式实现的延时函数,比如IO端口的配置,比如某些中断的入口,比如某些寄存器的定义等等。在移植之前,还是得拿目标芯片的数据手册来看看。

⑼ STC12C2051C使用什么编译器

STC单片机是51单片机内核,所以,用汇编语言或C语言写程序都用keil编译器。新建工程时,可用AT89C51代替,用#define包含STC的头文件。

⑽ STC12C5A60S2是几位的单片机能简单介绍一下吗

STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。

1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051

2.工作电压:STC12C5A60S2系列工作电压:5.5V- 3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V- 2.2V(3V单片机)

3.工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz

4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节......

5.片上集成1280字节RAM

6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口) 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片

8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9. 看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)

11.外部掉电检测电路:在P4.6口有一个低压门槛比较器 5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%

12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟 常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz 3.3V单片机为: 8MHz~12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准

13.共4个16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上2路PCA模块可再实现2个16位定时器

14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟

15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒, INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3)

16. PWM(2路)/PCA(可编程计数器阵列,2路) ---也可用来当2路D/A使用 ---也可用来再实现2个定时器 ---也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)

17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口

19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)

20.工作温度范围:-40 - +85℃(工业级) / 0 - 75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。

阅读全文

与stc12编译器相关的资料

热点内容
dos的删除命令 浏览:307
区块链的加密物联网传输 浏览:568
如何卸载桌面布局已定的app 浏览:675
vs重置命令 浏览:611
如何学会学习python 浏览:222
程序员钉钉 浏览:756
gcc编译器生成目标文件 浏览:156
怎么改服务器ip地址吗 浏览:55
cmd输入命令断开连接 浏览:911
二线大厂程序员员工年薪 浏览:987
程序员能从事导弹行业吗 浏览:938
林园炒股指标源码 浏览:468
pdf页面间距 浏览:66
vi命令实训操作 浏览:973
传说古代洪水肆虐谁奉帝尧的命令 浏览:693
如何卸载爱思app 浏览:43
安卓app如何不显示图标 浏览:527
桌面云服务器组建配置 浏览:926
济宁织梦源码怎么跳转到qq 浏览:293
西安java培训 浏览:300