推荐阅读最新更新时间:2024-03-16 15:41
使keil5支持51单片机
需要用到的工具:https://download.csdn.net/download/qq_33160790/10302877 PS:两个工具都是要用管理员身份运行。 keil5默认不支持51,51单片机的工程放到keil5会报错: keil5 --- Error: failed to execute 'G:keilC51BINC51.EXE' 安装方法: 1.运行c51v954a.exe,将路径选成之前keil5的安装路径。 2.使用keygen.exe破解License PS:管理员身份打开keil5 破解步骤: 将CID复制到破解机。 将生成的LIC拷贝至keil5。
[单片机]
stm32cube生成的keil5工程添加group时死机
通过摸索实践,找到一个可用的方法: 在New Group上点右键,选择Manage Progect Item...,可修改group name,也可添加item。
[单片机]
keil提示仿真器SWD/JTAG Communication Failure的问题解决
问题现象 在使用CMSIS-DAP仿真器的时候,经常出现连不上仿真器,很烦人,就算你重启MDK或者重启电脑,插拔主板的电源或者仿真器的usb连接线都无济于事。错误提示: 问题分析: 把可能出现硬件问题都一遍遍排除了,剩下就是软件问题了,莫非是MDK的配置问题,打开仿真器的设置 ,上面的设置似乎也没啥问题,只提示仿真器通讯错误。心里想:莫非是工程配置文件的问题?于是打开其他工程,下载,仿真,果然没问题。再打开刚才出问题的工程,问题依旧。这样可以确定是项目配置文件的问题,可能是之前仿真出错,强制关闭Keil导致项目配置文件出错了。 问题解决 最后定位到一个以“uvoptx”后缀的配置文件,把它拷贝到有问题的工程项目里,替换原
[单片机]
Keil C51,内存与指针 反汇编比较
dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idATa:固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相同,只是因为访问的方式不同。 idATa是用类似C中的指针方式访问的。 汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idATa做指针式的访问效果很好) xdATa: 外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。 pdATa: 外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG, 建议少用。但也有他的
[单片机]
keil c51红外遥控解码程序
本keil c51程序适用uPC1621/uPC1622及兼容的红外遥控器芯片,占用外部中断0和定时器1,以中断方式解码,节省系统资源,以查询方式检测遥控信号是否有效. 解码思路: 红外线经一体化接受头解码放到后送到单片机的外部中断0,单片机设置外部中断下降沿触发,T0和T1为16位定时器,T0在系统启动后定时5ms.T1在外部中断0启动后开始定时,初值为0,每次在INT0中断后先读T1计数值,并重设初值为0,而且判断T1的计数值, 代码 //Fosc=11.0592MHz //statesforandvariablesIRdataprocessing typedefenum{ IR_idle, IR_waitsta
[单片机]
基于IAP和Keil MDK的远程升级设计
写在前面:三个周之前,我突然想写一个远程升级的程序。那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知。我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题。三个周之后,我用自己设计的方法实验了50多次,无一例升级失败。 三个周来,遇到了很多的不解、困惑,甚至是想放弃,但我现在想说的是:很多未知的困难会挡在我们面前,我们会感觉毫无头绪甚至觉得毫无出路忍不住要放弃,但多坚持一下,那些困难不但能烟消云散还能带给我们进步。 本设计是基于LPC2114和Keil MDK(V4.10),但所有支持IAP的处理器都可借鉴本方案,重要的是思想,而不是用什么。 0 引言 在应用编程(IAP)技术为系统
[单片机]
Keil c51指针变量
单片机c语言支持一般指针(Generic Pointer)和存储器指针(Memory_Specific Pointer)。 1. 1. 一般指针 一般指针的声明和使用均与标准C相同,不过同时还能说明指针的存储类型,例如: long * state;为一个指向long型整数的指针,而state本身则依存储模式存放。 char * xdata ptr;ptr为一个指向char数据的指针,而ptr本身放于外部RAM区,以上的long,char等指针指向的数据可存放于任何存储器中。 一般指针本身用3个字节存放,分别为存储器类型,高位偏移,低位偏移量。 2. 2. 存储器指针 基于存储器的指针说明时即指定了存贮类
[单片机]
关于keil中编译程序的一些问题
1:当需要申请大量的存储空间时使用这样的方法程序如下: #ifndef ADC_H #define ADC_H//头文件内容 extern uchar xdata adc_ua ; //name = 0x0a extern uchar xdata adc_ub ; extern uchar xdata adc_uc ; extern uchar xdata adc_ia ; extern uchar xdata adc_ib ; extern uchar xdata adc_ic ; #endif 以上出现在头文件中,但是在对应的 .c
[单片机]