请问下面这个单片机编程步骤程序该怎么编写

第四阶段是依靠实验板学习掌握单片机编程步骤的组合语言指令系统和简单编程。同时和前面所学硬体知识结合组装起到主学软体,巩固硬体的双重作用开始时 可鼡别人编的简单程式在实验板上进行验证、分析,主要是熟悉该学习方法在应用方面主要针对单片机编程步骤I/O各项介面的使用,如A/DD/A,PWM輸出口 的应用LCD与VFD的控制,以及如何规范各项串列输出入口的通讯协定等对其所控制的各项元器件须先分析驱动能力,如电流电压问题等

.cn/referanc/ht-ide3k.pdf,第十章有详细介绍而关于汽车电子 设计的资料或网站地址您可以到GOOGLE上面去搜索一下,应该有比较多的链接地址

51. 如何理解如下概念:

答:MTP即指单片机编程步骤的程序可重复烧写,其程序记忆体(Program ROM)可分以下几种:

? Window with EPROM:提供使用者更改程式的空间具视窗式陶瓷包装,利鼡紫外线灯清除资料可重复烧写,但包装成本非常高仅适合小量生产或实验使用。

? EEPROM:属于可重复写入/清除之元件此类记忆体使得程式之内容可加以清除或修改,而无需使用开窗之包装可节省包装之成本,亦方便重复使用但生产制程较复杂。

? Flash EPROM:当须要清除/写入較大量的非挥发性程式记忆体时Flash EPROM比传统式EEPROM可提供较好的解决之道,因为Flash EPROM较EEPROM于清除/写入周期次数及速度上表现更好利用Flash ROM来当作程式记忆體,由于封装上不需要EPROM特殊的视窗式陶瓷包装使用上价格与OTP(One Time Programming)相差不大,相当合理又具有多次重复烧写的功能。

ISP(In-System Programming)在系统可编程指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件已经编程的器件也可以用ISP方式 擦除或再编程。ISP的实现相对要簡单一些一般需要很少的外部电路辅助实现,通用做法是内部的记忆体可以由上位机的软体通过串口来进行改写对于单片机编程步骤 來讲可以通过SPI或其他的串列介面接收上位机传来的资料并写入记忆体中。所以即使我们将晶片焊接在电路板上只要留出和上位机介面的這个串口,就可以实 现晶片内部记忆体的改写而无须再取下晶片。

ISP的优点 ISP技术的优势是不需要编程器就可以进行单片机编程步骤的实验囷开发单片机编程步骤晶片可以直接焊接到电路板上,调试结束即成成品免去了调试时由于频繁地插入取出晶片对晶片和电路板带来嘚不便。

IAP(In-Application Programming)指MCU可以在系统中获取新代码并对自己重新编程即可用程式来改变程式。IAP的实现相对要复杂一些在实现IAP功能时,单 片机内部一萣要有两块存储区一般一块被称为BOOT区,另外一块被称为存储区单片机编程步骤上电运行在BOOT区,如果有外部改写程式的条件满足则对存储区 的程式进行改写操作。如果外部改写程式的条件不满足程式指标跳到存储区,开始执行放在存储区的程式这样便实现了IAP功能。IAP技术是从结构上将 Flash记忆体映射为两个存储体当运行一个存储体上的用户程式时,可对另一个存储体重新编程之后将程式从一个存储体轉向另一个。

IAP的优点 IAP技术是从结构上将Flash记忆体映射为两个存储体当运行一个存储体上的用户程式时,可对另一个存储体重新编程之后將程式从一个存储体转向另一 个。而IAP的实现更加灵活通常可利用单片机编程步骤的串列口接到电脑的RS232口,通过专门设计的固件程式来编程内部记忆体可以通过现有的 INTERNET或其他通讯方式很方便地实现远端升级和维护。

52. 目前市场上单片机编程步骤开发系统产品型号很多想开發51系列单片机编程步骤,选用什么型号的仿真器和编程器(每次编一片即可)比较好?

答:正如您所说的现在51系列单片机编程步骤的仿真器产品型号很多关于选用什么型号的仿真器,因为HOLTEK的IC不是51内核仿真器都是 HOLTEK自行开发,故并不能给你非常好的建议而且市面的51仿真器,林林總总价格不等所以要选择的话可以在网上 google一下有关仿真器的论坛,看看其他用户的评价选择一个性价比最好的仿真器。

53. HOLTEK的C语言是否有關于位操作和读定义的寄存器地址的指令如果有,它们是什么?

答:HOLTEK的C语言与标准C类似不仅有标准C的位操作、&(按位与、按位或)、^(按位异戓)、~(取反)、<<(左 移)和>>(右移);还有相应的内建函数实现对整型和长整型的带和不带进位C的左移和右移。对已定义变量的地址的操作也与标准C相同可通过 指针运算符 * 和 & 来实现。

54. 在完成程序编写运行以后看到的结果是存储器中从R0到R7都被占用而我根本就没用到几个,这是为什么?

答:偠看用的是什么型号的单片机编程步骤不同型号的单片机编程步骤R0到R7的定义是不同的。如果R0~R7是被定义成特殊寄存器的话那么运行过程Φ自然会影响 到这些寄存器,例如执行运算程序就会影响状态特殊寄存器的值如果R0~R7是被定义成通用寄存器的话,那么可能就是在程序的開头没有初始化单片机编程步骤在上 电复位时,通用寄存器的值通常是随机的

55. 请推荐一些比较好的理论及实践教材,以其配套的编译汸真烧录的硬软件?

答:当今单片机编程步骤市场种类繁多应用广泛。以HOLTEK公司为例HOTLEK的单片机编程步骤是RISC结构的8位单片机编程步骤,它可鉯广泛应用在家用电器、安 全系统、掌上游戏等方面大概来说可以分成I/O型单片机编程步骤、LCD型单片机编程步骤、A/D型单片机编程步骤、A/D with LCD型單片机编程步骤等等。

答:要做到PWM频率100kHz(8bit)以上单片机编程步骤的频率要求100kHz*256=25。6MHz所以,要实现这种要求的单片机编程步骤需要满 足两个条件:1单片机编程步骤有PWM输出;2。系统频率达到256MHz,或者单片机编程步骤内部能自己提供256MHz的频率(ATtiny15内部就有提供一 个25。6MHz的频率做为定时/计数器嘚时钟)

57. ARM董事长认为,医疗电子将成为下一个10年推动电子产业增长的动力EMS预测医疗电子将成为最大的代工市场。蓝牙使医疗产品移动能仂增强将会广泛应用那么随着医疗电子发展,单片机编程步骤在这一领域应用会变大吗?医疗电子应用的最多是几位单片机编程步骤?

答:隨着16/32位嵌入式RISC发展是会扩大医疗电子领域的应用。

一般的电子医疗保健系列产品有如下: 笔式电子体温计、婴儿奶嘴式电子体温计、测溫音乐奶瓶、妇女电子体温计电子血压计等系列产品,在医疗电子仪器有酸碱度测定器比色计等此类产品可用8位单片机编程步骤来完荿。

但从研究制造方面来说针对医疗电子仪器,目前已有厂商制造心电图机、酸碱度测定器、电子测温计等仪器仪器中心可自制示波器 (oscilloscope)、显微镜等,以及X光机、超声诊断仪、电脑断层成像系统、心脏起博器、监护仪、辅助诊断系统、专家系统等较大型复制的医疗 嵌入式系统电子仪器就须用上16位,32位单片机编程步骤来完成

58. 普通商业级单片机编程步骤的使用温度范围为0-70度,在低于0度和高于70度环境中使用會出现什么问题?商业级芯片和工业及芯片除温度范围不同外在其他方面还有区别吗?(如抗干扰性能)

答:一般单片机编程步骤根据工作温度鈳分为民用级(商业级)、工业级和军用级三种:民用级的温度范围是0℃~70℃,工业级是-40℃~85℃其 HOLTEK的MCU就属于此项等级,军用级是-55℃~125℃如果是一般普通商业级单片机编程步骤,在超规格范围使用IC时就有可能部份IC无法工作,或 工作运作不正常等发生

至于抗干扰性能,是属于整个產品的EMS(电磁杂讯耐受性)检测它是EMC(电磁相容)中的一项检测, 另一项是EMI(电磁辐射干扰)各国都有其EMC认证标准,例如目前在欧洲EMC指令下常用的測试规范下针对其中法规EN是做静电 试验(ESD),本项试验目的为测试试件承受直接来自操作者及相对物件所产生之静电放电效应的程度其法規范如下:

以上是举个例子,就如抗静电能力不只跟IC性能有关,也跟应用电路及PCB Layout有直接关联

59. 各种各样的输入怎么样与MCU进行通讯?

答:首先必须确定此类输入信号是否与MCU系统的信号电平兼容,如果不兼容则需要外接电路或用集成块来完成电平转换。其次就是选择通讯方式通信 的基本方式分为并行通信和串行通信,两者各有其优劣并行通信速度快,缺点是数据有多少位就需要多少根传输线。这在位数較多传输距离又远时就不太适 宜;而串行通信与前者相反,传输成本低但是传送速度较低。最后为了确保通信的成功,通信双方必须囿一系列的约定即通信协议,它对什么时候开始通信、 什么时候结束通信、何时交换信息等问题都必须作出明确的规定

61. 在嵌入式开发Φ软件抗干扰有哪些问题?如何解决?

答:关于软件抗干扰问题和策略,如果在实际应用中能很好的遵循这些原则再配合硬件电路的抗干扰措施,基本上可以消除干扰影响但有时往往因为程序 本身的复杂度和芯片资源的限制,再加上编程人员本身的能力限制不能做到十分唍善。所以我们只能给出一些建议至于具体的实现,就需要各位在平时的项目实 践中不断的摸索和积累经验以下是之前有关软件抗干擾的问题答复,谨供参考:

防止干扰最有效的方法是去除干扰源、隔断干扰路径但往往很难做到,所以只能看单片机编程步骤抗干扰能仂够不够强了单片机编程步骤干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单爿机编程步骤软件抗干扰最重要的是处理好复位状态

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

62. 语音识别会不会是单片机编程步骤下个消费热点?

答:语音识別在多年前即开始应用在低阶玩具上如遥控车的左右前后控制,教育玩具利用发语音方式依记忆体大少能容纳的长度经压缩编码采集後储存各 字词,日后再发相同语音经单片机编程步骤处理辨识后即可作出相应动作。 依成本不同影响相关的MCU资源和速度,以及所利用嘚辨识技术algorithm (运算法则)的优劣记忆体大少等,所设计出的产品其辨识率和字词长度亦有很大差异 此低阶市场在现今芯片价格下降应有可為,就看产品创新应用是否吸引人!高阶的语音识别应用是在PC(个人计算机)上有CPU等级的资源速度和硬盘大少的 记忆容量, 但此市场和硬件(单爿机编程步骤)无关!

另一个语音识别应用是嵌入式系统如目前的手机大都配备语音辨识电话簿,其实一般的嵌入式系统如PDADSC,MP3……等都有能力builtin此功能就看需占用多少硬件资源和所能作出的效果。产品的功能定位很重要语音识别是否必需要评估实际使用率!

63. 如何设计实现一個共模范围在0 - 120V 之间的低成本测量电池组电压的装置?

答:这里所谓高共模输入电压,是指高范围的同相输入电压下面先说明运放一些概念:

运放有所谓的dynamic range是指运放(OP)未饱和时,正常动作时的输出、入电压范围一般而言dynamic range越大,电源电压的有效利用率越高例如处理同等级的信號时,就不需刻意提高电源电压也获得省能源效应尤其是可携式消费性电子产品要求低电压低 耗电量的场合,高效率的电源电压始终是備受重视的焦点尤其是运放的ground电位,若是设于Vcc~VEE正负电源电压的中点(亦即动作点)时就可 获得极宽广的dynamic range。有鉴于此设计人员通常会在不减損输出dynamic range的前提下使输入dynamic range大于输出dynamic range。

输入信号的电位为VEE(电源电压)时有些OP它的极性会造成反转,虽然Output允许因过大输入造成的饱和不过大蔀份的情况却不允许极性反 转,所以两单电源用在运放输入信号到达VEE之前输出会反转需注意的是即使是单电源使用运放,如果超越VEE下05V亦即VEE-0。5V 时输出的极性也可能会反转。

所谓的同相输入电压范围VICM(共模输入电压)是指两个输入端子与ground之间可施加的同相电压范围。虽然施加的同相电压超过该范围时并 不会造成元件损坏等问题,不过却会使运放的功能停止只要差动输入电压作为增幅器时的动作正常基本仩是0伏特。同相输入电压范围VICM与正负电源电压相 同是属于理想状态

一般运放会利用差动放大器的CMR(共模信号消除比)来做相同成份的去除时,在有必要将同相范围扩大的情况可用增益(Game)1/10的反相放 大器A2 之输入Vs2讯号,另外用加法方式再加入一级也是增益(Game)1/10反相放大器A1之输入Vs1讯号这樣就可以达到同相输入范围扩大之差动放大。

如果要设计共模范围在0 - 120V 之间其上述反相放大器A1,可用R1=100KRf=10K,而反相放大器A2也是用R1=100K, Rf=10K并且反相放大器A1输出串一10K电阻到反相放大器A2的负端输入口即可。

64. 在使用单片机编程步骤控制LCD的时候利用T1的溢出中断显示刷新时钟信息,在主程序循环时中为了显示浮点数不断调用了spritf()函数,可是时钟信息不在刷新了把这个函数屏蔽后,就恢复正常请问调用这个函数会不会影响定时/计数器的中断?

答:这应该与程序有关,一般来说sprintf()函数不会影响定时/计数器的中断,因为没看到具体程序所以猜测原因可能是程序里面对定时器初始化的部分与sprintf()使用的buffer有些冲突,造成了定时器初始化的错误

答:LM4915是一款音频功率放大器,常用于带单听筒的手机、PDA囷其他的便携式音频装置等低电压的应用场合在外接极少的元器件情况下,为其提供高质量的功率输出以驱动发声装置

}

请问一下各位大神如何画主程序,子程序流程图程序有了,不会画流程图


}

推荐于 · TA获得超过1238个赞

相信很多初学者都有同样的疑问也有同样的希望。就是用C++语言来写单片机编程步骤程序的源代码现在我来解释一下单片机编程步骤的源代码程序几乎没有人用C++来写的。

1. 假设一下你现在用C++写完了一个程序代码那么你要让单片机编程步骤认识必须要编译吧,对吧 请问你有合适的編译软件来编译你的代码吗?

2. 就算有编译器能编译你能保证它的代码效率一定能给单片机编程步骤用吗?

单片机编程步骤的ROM是K级的水平执行指令的速度也远远小于PC。绝对不能和PC机相比的这个就决定了单片机编程步骤编程时很多时候要考虑它的代码效率和代码大小问题。所以一般情况下对于单片机编程步骤编程我们之用汇编语言或者C语言就算是用C写程序也要注意代码的效率等问题。

还有就是只有很大型的项目及应用程序开发才有可能有C++来写程序一般的系统文件,应用程序都是用C来写的有的系统代码甚至要用汇编语言来写。

举个生活中的例子:如果你从家里去公司上班你一般的出行方式是什么

1.坐公车 2.骑车 3.自己开车 4.坐地铁 5.走过去。如果谁说他是做直升飞机去上班的那要么这个人脑子不正常,要么就是太有钱了炫富如果你要打苍蝇用苍蝇拍子就行了。如果要你用巡航导弹来打苍蝇你认为可能吗?

所以我们单片机编程步骤写程序的话一般就是汇编语言和C语言几乎没有人用C++语言的。

你对这个回答的评价是


其实楼上回答还是有点爿面,那应该是n年前的回答现在的单片机编程步骤牛多了,arduino单片机编程步骤有了解过吗这个挺多人用的,其就是c++编译的程序到8位的avr单爿机编程步骤上它能省去你写驱动库的麻烦,编写效率很高当然现在keil编译器也支持c++编译的,用来写新版本的51是没问题的

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 单片机编程步骤 的文章

更多推荐

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

点击添加站长微信