如何将.a文件如何将c语言程序导入单片机机中?

  2. 修正发布项目的不兼容问题

  1. 代码文件和数据文件的校验和增加为3字节

  2. ISP下载时增加对PL2303的支持(部分国产兼容芯片的仿真暂未支持)

  1. 修正U8工具对如下型号的旧固件版本在脱机下载时的问题

  2. 加强发布项目文件的加密性

  1. 增加ISP下载时对ID号进行运算,并将运算后的结果写入指定的FLASH中,

  注意:软件Ver6.85C版本由于自动增量的修改,下载协议进行了修改

  1. 修正波特率计算器中的错误

  1. 将范例程序代码针对学生进行简化

  2. 修正在WIN7下保存范例代码为Keil项目会有警告的问题

  1. 去掉打开软件时默然为下载范例程序的功能

  3. 所有的范例程序都支持直接下载

  4. 更正选型表中的一些错误

  6. 定时器计算器中增加STC15系列的定时器3和定时器4

     使用U7/U8在线重复下载时,钩选上"在线下载完成后持续给目标芯片供电"选项后,

  1. 增加芯片的各种封装的管脚排布图

  2. 调整定时器计算器中的部分算法

  2. 发布项目文件中,增加记录当前的自动增量和下载次数

  3. 解决部分客户设置自动增量下载会失败的问题

  4. 解决部分客户带光耦的用户板不能下载的问题

  6. 增加范例代码(使用STC15W4K系列的PWM输出任意周期和任意占空比的波形)

  8. 发布项目中支持U8/U7在线下载完成后持续供电选项

  9. 更新选型表(对部分系列的价格进行调整)

     (解决对有大电容的用户板进行脱机下载时会自动重复下载的问题)

     (增加脱机下载时对目标芯片重新上电的等待时间参数设置,

  1. 更新选型表(对部分15系列的价格进行下调)

     (注意:需要在可以正常使用的范围)均可更加快速稳定的下载,

  1. 修正对对部分型号下载不正常的问题

  2. 发布项目时增加支持EEPROM区的自动增量(之前版本只支持程序区)

  3. 解决发布项目中用户增量不能修改的问题

  4. 对固件版本为7.2.x或高于此版本的STC15系列增加下载口令的功能

  3. 更新"官方网站资源"链接(增加STC15系列软件范例和PCB元件库链接)

  4. 脱机下载的最高波特率的默认值修改为115200

  6. 支持用户在发布项目时设置目标芯片型号的名称

  1. 更新选型表,调整部分芯片价格

  2. 修正发布项目文件不能支持485下载的问题

  3. 更新重要说明,主要包括如下内容:

  1. 对U7脱机下载界面中的按钮进行调整

  2. 提高U7脱机下载时的最高波特率,加快脱机下载速度

  4. 支持将EEPROM缓冲区的数据复制为16进制文本(可直接将数据粘贴到串口助手)

  5. 更新"程序加密后传输"的文本提示信息

  6. 对于选择较低的低压复位门槛电压进行口令确认

  7. 增加"通过BandGap电压精确测量外部输入电压值"的示例代码

  1. 对"使用主芯片对从芯片(限STC15系列)进行ISP下载"的示例代码添加注解和说明

  5. 发布项目时,支持自定义图标

  6. 不限制发布项目中自动增量的长度

  7. 发布项目的界面可任意放大缩小

  3. 增加读取掉电唤醒定时器频率和内部BandGap电压值的范例代码

  1. 更新选型表,调整部分芯片价格

  2. 对单片机型号的下拉列表进行调整,隐藏部分不生产的型号

  4. 对串口助手的接收/发送框增加右键支持

  1. 仿真芯片制作完成后,等待1秒再切换为原型号

  1. U7下载界面中增加了清除用户数据按钮

  2. 将U7驱动打包到用户发布项目的文件中

  4. 修正串口助手对接收数据不记数的问题

  4. 调整下载脱机代码时的提示信息

  5. 官方网站链接刷新的问题

     进行脱机下载时复位脚功能不能正确设置的问题

  2. STC15系列的硬件选项中,将上电复位后将某个IO输出低电平的

     (即自动检测放入芯片则自动开始烧录,完成后等待下一个新的芯片放入)

  3. 修正文件改变时自动下载功能有时会不正常的问题

  5. 修正了独立串口打不开的问题

  7. 将串口助手中HEX数据采用文本方式显示,以便直接复制/粘贴HEX数据

  1. 官方研发顾问启用新企业技术支持QQ:(因旧的QQ容量不够,已停用)

  2. 增加用户接口界面,支持接收用户自定义数据

  3. 支持直接保存网站链接文件

  5. 支持清空单片机型号中的常用型号列表

     (将光标定位到常用型号,选中常用型号根节点,然后按删除键即可)

  1. 修正之前版本下载成功率不高的问题

  2. 在单片机型号列表中增加常用型号的列表,记录最近使用的10个型号

  3. 在网站资源页中增加U7/U7-S1编程器的USB转串口驱动下载链接

  2. 修正打开数据异常的HEX文件界面会关闭的问题

  4. 解决部分USB转串口线下载不兼容的问题

  1. 修正界面上的一些显示问题

  1. 修正6.39版和6.38D版因开放89系列而导致其它系列烧录的兼容问题

  3. 修正了界面的一些显示问题

  4. 优化代码,加速程序的启动速度

  2. 增加STC15F408AD系列的芯片选型,并将选型表按芯片系列进行颜色区分

  3. 开放89系列的在线烧录(不支持脱机下载和项目发布)

  1. 修正界面上的一些显示问题

  2. 在指令表中增加指令总时钟数信息

  1. 修正界面上的一些显示问题

  2. 修正了15系列范例程序中SPI口定义错的问题

  3. 硬盘号正确读取后,复制到剪贴板的同时将硬盘号显示出来

  2. 发布项目时,增加了对硬盘号校验的支持(仅STC15系列及后续新产品有此功能)

     发布项目时,增加了对目标芯片的ID号校验的支持(仅STC15系列及后续新产品有此功能)

     发布项目时,增加了对用户自定义下载命令功能的支持

  3. 对于固件版本号高于7.1.1的芯片,在RAM区的末尾区域增加了重要

  4. 对于固件版本号高于7.1.1的芯片,当选择了在程序区添加复位指令

     的硬件选项时,会将RAM区增加的重要测试参数同步写入程序区的

  1. 修正485功能所导致的下载兼容性的问题

  2. 修正了重复下载时,自动增量不能更新的问题

  3. 增加自动检测新版本的功能

  1. 修正增加软复位指令后会导致下载出错的问题

  1. 项目发布软件界面增加重复下载按钮

  3. 芯片选型增加新型号和部分型号的价格

  4. 修正网上发布版本6.33版的一些问题(详细说明请参考重要说明)

  1. 使用新版的项目发布软件,用户可以定制界面

  2. 支持在发布软件中将自动增量改名为机器编号

  2. 修正脱机下载中大文件不能下载的问题

  2. 修正脱机下载芯片内部42K代码空间最后5K不能写入的问题

  5. 对脱机下载中分选机自动控制接口信号进行说明

  3. 脱机下载增加分选机自动控制接口

  4. 脱机下载新增支持用户自定义加密下载功能

  7. 去掉了STC15F2K60S2系列在下载时进行内部/外部时钟切换需要重新上电的提示对话框

  8. 更新重要说明信息(增加低压复位门槛电压设置参考)

  1. 对可执行文件添加数字签名

  1. 将脱机下载母片的硬件选项固定设置为:

  2. 添加STC的MCU型号到Keil中的同时,复制仿真驱动和头文件

  3. 将仿真芯片的制作过程人性化,一键制作

  4. 在界面中添加“重要说明”部分,并更新“重要说明”

  1. 对脱机下载程序增加蜂鸣器的控制,用于提示脱机下载是否正确.

  2. 增加单芯片仿真器方案的帮助文档链接.

  2. 增加单芯片仿真器方案(不占用串口和定时器).

  1. 对脱机下载控制界面进行调整,并进行详细说明.

  2. 在STC104E系列的范例程序中,增加软件模拟串口的范例代码.

  1. 脱机下载板支持全系列芯片的脱机下载和在线直通下载.

  1. 兼容老版本软件的项目文件.

  1. 修正仿真器的单CPU方案中不能仿真双数据指针(DPTR)的问题.

  2. 增加项目文件功能(可以保存和打开项目文件).

 (备注: 目前485控制之针对固件版本号为7.1版的15系列C版工程测试样片)

}

.cn )免费下载使用。

12时钟模式(6时钟模型)应该就是MCS51系列中,12个系统时钟为一个机器周期,2个系统时钟为一个状态,即一个机器周期有6个状态。

至于D/A,一般是指PWM输出,HOLTEK A/D Type MCU都带有8bitPWM输出,但HOLTEK PWM特点是其输出频率由系统频率决定(既系统频率选定后,PWM频率也就定了),其占空比对[PWM]寄存器赋值进行控制,不需要占用定时/计数器资源。

34. 采用AT89S51时,出现了按了复位按钮,RAM中数据被修改了。这是怎么回事?注:数据放特殊寄存器之外。
答:是RESET脚复位按钮:一般MCURESET复位,其特殊寄存器会被重新初始化,而通用寄存器值保持不变。

复位按钮是电源复位:那就是MCU上电复位,其特殊寄存器会被初始化,而通用寄存器值是随机数。

35. 将P2.7用来驱动一个NPN三极管,中间串接了一个1K电阻。问题是:当我尝试向P2.7写’1’时,发现管脚只能输出大约0.5V一个电平。这个电路使用妥当么?如何正确使用IO功能?
答:是仿真时遇到问题,烧录芯片后遇到问题?

可以先将P2.7外部电路断开,测量输出电压是否正常。断开后输出电压正常,那就说明P2.7驱动能力不够,不能驱动NPN三极管,应该改用PNP三极管(一般MCU应用中,都采用PNP方式驱动)。断开后输出电压还不正常,那有可能是仿真器(或芯片)已经损坏。

答:你所说PWM是定时/计数器来控制其频率和占空比,要提高频率,必然会降低精度。要提高PWM频率,只能提高系统振荡频率来解决。

37. 汽车电子用单片机是8位多,32位?如何看待单片机汽车电子市场中前景?
答:现今汽车制造也是一个进步很快工业,特别是电子应用于汽车上,令多种新功能以实现。

总来说,汽车电子应用分三部份。

 汽车发动机控制:限速控制,涡轮增压,燃料喷注控制等。
 汽车舒适装置:遥控防盗系统,自动空调系统,影音播放系统,卫星导航系统等。
 汽车操控和制动:刹车防抱死系统(ABS),循迹系统(TCS),防滑系统(ASR),电子稳定系统(ESP)等。

汽车上各系统繁多,且日新月异,故利用何种单片机是依各系统规格,要求不一,但有一样可肯定是该单片机要符工业规格,才能忍受汽车应用恶劣环境,高温,电源干扰,可靠度要求。不同档次汽车其功能配置相对亦有差别,故8位单片机较低阶系统如机械控制,遥控防盗等应该还有空间,但高阶系统如影音、导航及将来无人驾驶,就非一般单片机能实现。

因汽车工业现阶段由欧美日数个大集团所把持,相关汽车电子配件各集团会挑选单片机大厂合作, 故汽车内置电子系统亦由单片机大厂把持,市场只剩外置系统如遥控防盗,影音导航供小厂开发。

答:您是需要三个外部counter需要三个定时器?是三个定时器标志话,可以取这三个定时最基本时基作为timer基础计数,然后以这个时基来计算这三个需要计数标志flag,程序中只需要查询flag是否到,再采取动作。

要3个外部脉冲计数话,这个有一定难度,外部脉冲很频繁,可以考虑外部中断进行,这个方法必须是外部脉冲频率与MCU执行速度有一定数量级差,否则mcu可能无法处理其它程序,一直处理外部中断。

39. 芯片集成技术日益进步今天,单片机集成技术发展也很迅速,传统40引脚基础上,飞利浦公司推出20引脚单片机系列,使很多引脚可以复用,这种复用技术使用实际应用中会不会影响其功能执行?
答:现有很多品牌单片机都有引脚复用功能,不止飞利浦一家,应该说这个方式前几年就已经有了。实际应用中不会影响其功能执行,要注意是,有MCU采用复用引脚话,该引脚会有一些应用上限制,这相应datasheet里面都会有描述,系统规划时候都要予以注意。

答:Delta-Sigma原理一般应用ADC应用中。具体来说,Delta-Sigma ADC工作原理是由差动器、积分器和比较器构成调制器,它们一起构成一个反馈环路。调制器以大大高于模拟输入信号带宽速率运行,提供过采样。模拟输入与反馈信号(误差信号)进行差动 (delta)比较。该比较产生差动输出馈送到积分器(sigma)中。然后将积分器输出馈送到比较器中。比较器输出同时将反馈信号(误差信号)传送到差动器,而自身被馈送到数字滤波器中。这种反馈环路目是使反馈信号(误差信号)趋于零。比较器输出结果就是1/0 流。该流1密度较高,则意味着模拟输入电压较高;反之,0密度较高,则意味着模拟输入电压较低。接着将1/0流馈送到数字滤波器中,该滤波器过采样与抽样,将1/0流从高速率、低精度位流转换成低速率、高精度数字输出。

简而言之,Delta就是差动,Sigma就是积分意思。Delta-Sigma软件测试,我理解应该是软件模拟差动积分过程。具体来说,就是侦测外部输入电压(电流)信号变化,然后软件积分运算,出外部信号随时间变化基本状况。

41. 通常采用什么方法来测试单片机系统可靠性?
答:单片机系统可以分为软件和硬件两个方面,我们要保证单片机系统可靠性就必须从这两方面入手。

首先设计单片机系统时,就应该充分考虑到外部各种各样可能干扰,尽量利用单片机提供一切手段去割断解良外部干扰造成影响。我们以HOLTEK最基本I/O单片机HT48R05A-1为例,它内部提供了看门狗定时器WDT防止单片机内部程序乱跑出错;提供了低电压复位系统LVR,当电压低于某个允许值时,单片机会自动RESET防止芯片被锁死;HOLTEK也提供了最佳外围电路连接方案,最大可能避免外部干扰对芯片影响。

当一个单片机系统设计完成,不同单片机系统产品会有不同测试项目和方法,有一些是必须测试:

 测试单片机软件功能完善性。 这是针对所有单片机系统功能测试,测试软件是否写正确完整。
 上电掉电测试。使用中用户必然会遇到上电和掉电情况,可以进行多次开关电源,测试单片机系统可靠性。

 老化测试。测试长时间工作情况下,单片机系统可靠性。必要话可以放置高温,高压以及强电磁干扰环境下测试。

 ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统可靠性。例如使用静电模拟器测试单片机系统抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。

当然没有此类条件,可以模拟人为使用中,可能发生破坏情况。例如用人体衣服织物故意摩擦单片机系统接触端口,由此测试抗静电能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。

42. 开发单片机系统时,具体有那些是衡量系统稳定性标准?
答:从工业角度来看,衡量系统稳定性标准有很多,也针对不同产品标准不同。下面我们大概介绍单片机系统最常用标准。

本试验目为测试试件承受直接来自操作者及相对对象所产生之静电放电效应程度。

本试验为验证试件对射频产生器透过空间散射之噪声耐受程度。

本试验目为验证试件之电源线,信号线(控制线)遭受重复出现之快速瞬时丛讯时之耐受程度。

本试验为针对试件操作状态下,承受开关或雷击瞬时之过电压/电流产生突波之耐受程度。

本试验为验证试件对射频产生器透过电源线传导之噪声耐受程度。

脉冲经由耦合注入电源线或控制线所作杂抗扰性试验。

43. 设计软体时,大多单片机都设有看门狗,需要软体适当位置去喂狗,止软体复位和软体进入死循环,如何适当喂狗,即如何精确判定软体运行时间?
答:大多数单片机都有看门狗定时器功能(WDT,Watch Dog Timer)以避免程序跑错。HOLTEK有一款基本I/O型单片机--HT48R05A-1,我们就以它为例做个说明吧。

首先了解一下WDT基本结构,它其实是一个定时器,所谓喂狗是指将此定时器清零。喂狗分为软件和硬件两种方法。软件喂狗就是用指令来清除WDT,即CLR WDT;硬件喂狗就是硬件复位RESET。当定时器溢出时,会造成WDT复位,也就是我们常说看门狗起作用了。程序正常执行时,我们并不希望WDT复位,要看门狗溢出之前使用软件指令喂狗,也就是要计算WDT相隔多久时间会溢出一次。HT48R05A-1WDT溢出时间计算公式是:256*Div*Tclock。其中Div是指wdt预分频数1~128,Tclock是指时钟来源周期。使用内部RC振荡作为WDT时钟来源(RC时钟周期为65us/5V),最大WDT溢出时间为2.1秒。

当我们到了WDT溢出时间Twdt后,一般选择Twdt/2左右时间进行喂狗,以保证看门狗不会溢出,同时喂狗次数不会过多。

软件运行时间是不同运行路线来决定,可以预见软件运行路线,那么可以T=n*T1来计算软件运行时间。n是指运行机器周期数,T1是指机器周期。HOLTEK单片机是RISC结构,大部分指令由一个机器周期组成,只需要知道软件运行了多少条指令,就可以算出运行时间了。HOLTEK编译软件HT-IDE3000中,就有计算运行时间工具。CISC结构单片机,一条指令可以由若干个机器周期组成,那么就需要具体执行指令来计算了。

我们是一家开发数控系统专业厂,利用各种单片机和CPU开发了很多产品,软件开发上也采用了很多通用抗干扰技术,如:软件陷阱、指令允余、看门狗和数字滤波等等,但实际运用中很不可靠,如:经常莫名其妙死机、程序跳段、I/O数据错误等,故障重复性很不确定,也周期性重复。往往用户使用中出现故障,但又无法重现,很让人头痛。反复检查硬件也设查出原因,对软件可靠性很是怀疑。怎么办?
答:防止干扰最有效方法是去除干扰源、隔断干扰路径,但往往很难做到,只能看单片机抗干扰能力够不够强了。单片机干扰最常见现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;单片机软件抗干扰最重要是处理好复位状态。

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外也可以自己RAM中埋一些标志。每次程序复位时,判断这些标志,可以判断出不同复位原因;还可以不同标志直接跳到相应程序。这样可以使程序运行有连续性,用户使用时会察觉到程序被重新复位过。

可以定时中断里面设置一些暂存器累加,然后加到预先设定值(一个比较长时间),SET标志位,这些动作都中断程序里面。而主程序只需要查询标志位就好了,注意标志位使用后,记清除,还有中断里面时基累加器使后也要记清除。

}

我要回帖

更多关于 如何将c语言程序导入单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信