新能源车cmp是啥
1、cmp是比较指令, cmp的功能相当于减法指令,只是不保存结果。
2、cmp指令执行后,将对标志寄存器产生影响。
3、其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
4、比如:mov ax,8mov bx,3cmp ax,bx执行后:ax=8,ZF=0,PF=1,SF=0,CF=0,OF=0.通过cmp指令执行后,相关标志位的值就可以看出比较的结果。
5、cmp ax,bx的逻辑含义是比较ax,bx中的值。
6、如果执行后:ZF=1则AX=BXZF=0则AX!=BXSF=1则AX
=BXSF=0并ZF=0则AX>BXSF=1或ZF=1则AX<=BXCPU在执行cmp指令的时候,也包含两种含义:进行无符号运算和进行有符号数运算。
7、cmp ah,bh如果ah=bh则ah-bh=0所以ZF=1如果ah≠bh则ah-bh≠0所以ZF=0所以我们根据cmp指令执行后ZF的值,就可以知道两个数据是否相等。
8、如果ah
9、ah=0FEH,bx=OFFH;则ax-bx=-2-(-1)=OFFH,因为结果为负,所以SF=1。
10、扩展资料:汇编语言的常用指令集如下:数据传送指令集MOV功能: 把源操作数送给目的操作数语法: MOV 目的操作数,源操作数格式: MOV r1,r2MOV r,mMOV m,rMOV r,dataXCHG功能: 交换两个操作数的数据语法: XCHG格式: XCHG r1,r2 XCHG m,r XCHG r,mPUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH操作数POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能:堆栈指令群格式: PUSHF POPF PUSHA POPALEA,LDS,LES功能: 取地址至寄存器语法: LEA r,m LDS r,m LES r,mXLAT(XLATB)功能:查表指令语法: XLAT XLAT m算术运算指令ADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,Z,S,OSUB,SBB功能:减法指令语法: SUB OP1,OP2 SBB OP1,OP2格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data影响标志: C,P,A,Z,S,OINC,DEC功能: 把OP的值加一或减一语法: INC OP DEC OP格式: INC r/m DEC r/m影响标志: P,A,Z,S,ONEG功能: 将OP的符号反相(取二进制补码)语法: NEG OP格式: NEG r/m影响标志: C,P,A,Z,S,OMUL,IMUL功能: 乘法指令语法: MUL OP IMUL OP格式: MUL r/m IMUL r/m影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志)DIV,IDIV功能:除法指令语法: DIV OP IDIV OP格式: DIV r/m IDIV r/mCBW,CWD功能:有符号数扩展指令语法: CBW CWDAAA,AAS,AAM,AAD功能: 非压BCD码运算调整指令语法: AAA AAS AAM AAD影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD)参考资料来源:百度百科-CMP指令。
新能源汽车排名前十名有:小鹏汽车P7、唐新能源、蔚来ES6、小鹏汽车G3、欧拉好猫、汉、蔚来ES8、Aion LX、几何A、宏光MINIEV。
1、 小鹏汽车P7
定位中型纯电动汽车的小鹏p7整体外观设计比较前卫,前脸采用封闭式中网设计,和很多新能源车型一样,保持简约的设计风格。小鹏p7的内饰依旧和外观一样简洁,整体营造出更具家、更前卫的座舱氛围。最长续航里程达到706km,国内目前的顶尖水准。
2、 蔚来ES6
蔚来ES6是一款中型纯电SUV,相比ES8来说它的价格更加容易让人接受。感官方面,ES6的外观内饰都很有档次感,空间的表现也很不错。驾驶方面,蔚来ES6的感受会比较模糊,介于运动和舒适之间,这一方面仍需改善。
3、小鹏汽车G3
作为小鹏汽车的第一款上市车型,小鹏G3具有很多比较前卫的智能型的理念。它的外形比较时尚,配置水平非常高,获得了不少年轻互联网消费者的青睐。小鹏G3的搭载了145千瓦的前置电机,能够提供300牛米的扭矩,最高365公里的NEDC续航里程完全能够满足城市用车的需求。
4、汉
比亚迪汉定位为品牌旗舰轿车,分别有纯电动ev和混合动力DM版本,两者在外观造型上有一定的差异,动力必定也是比亚迪汉的最大亮点,混合动力DM版本由2.0T涡轮增压发动机与电动机组成,百公里综合油耗可达1.4L,官方百公里加速仅需2.9秒,性能十分强劲。
5、蔚来ES8
蔚来ES8是一款中大型纯电家用SUV,而且性能也非常强悍,百公里加速只要4.4秒。作为家用车,蔚来ES8主打豪华感和舒适性,与传统豪华车相比有过之而无不及。不过有一个不容忽视的缺点,就是ES8的体积太大吨位太重,所以能耗偏高。
1:电动汽车是新能源车的第一类型,这种车的电池组容量按照车型(尺寸)分为多个标准。一般微型汽车会在40kwh(度)左右,紧凑级车大多在60/70kwh之间,中型车则大多在70/90kwh之间。
网传的更换成本一般在1500¥/1kwh左右,实际也基本在这个范围内;这就造成了很多消费者的顾虑,毕竟微型车更换一组也需要六万元左右,是不是有些夸张了呢?但好在是否需要更换本就是个问题,因为家用汽车的用车频率本就不是很高。
问题:家用代步汽车年均行驶里程≤10000km的有多少?
也许大部分会选择电动汽车的家庭都会在这个范围内,因为车辆大多作为城市通勤的短途代步用车;那么就按照10000km为标准,每天行驶的里程还不足28公里。正常的电动汽车的真实续航按照300/400/500km三个标准为参考,充电的标准则大致如下。
300÷28=10.71天 400÷28=14.28天 500÷28=17.85天基于电动汽车不会将电量用尽采取充电,那就平均减去两天吧,每年要充电多少次呢?答案是37.59,27.48和21.66次!动力电池计算使用寿命是按照完整充放电次数为标准,这个标准基本没有需要考虑换电池的顾虑,原因第二节解析。
2:插电式混动与增程式混动汽车的充电频率会高一些,因其电池组的容量普遍在10-30kwh之间,高标准选项也才20kwh左右。折算为续航里程则多为50/100/120/150km四个标准,目前保有量最大的是续航100km左右的混动汽车,这就决定了充电频率会比较高,基本为两天充电一次。
每年充电超过180次,这些车的电池组使用寿命还能很长吗?电池容量虽然低但是价格基数却不是很低哦。
电池类型 钛酸锂 镍钴铝 镍钴锰 磷酸铁锂 概念电池第一种钛酸锂电池基本被淘汰,原因不在于其超长的使用寿命,而是制造成本实在是太高了。其代表品牌是银隆汽车,也就是格力掌门人董小姐投资的商用车品牌;然而在超高成本面前还是破产收场。
镍钴铝电池也应该到了尾声阶段,因制造成本和能量密度都很高,高密度不是缺点但应该有个阈值;这种锂电池过高的密度造成了热失控极限太低,数千节成组的电池组很容易出现异常,所以使用镍钴铝电池的特斯拉是自燃率最高的品牌且没有之一。
而且该品牌的汽车作为“洋大牌”在换电中也有过高的品牌溢价,更换的成本会比能计算出的合理成本高得多。
【镍钴锰·NCM】电池是现阶段装机量最大但也将要被淘汰的电池类型,这种电池的特点是均衡了能量密度与稳定性,找到了理想的中和标准。不过因钴和锰的成本越来越难以控制,且安全性仍有很大的提升空间,所以数十个使用这种电池的自主和合资品牌都有转向的刚需。
不过客观评价其电池类型仍旧可以考虑,毕竟使用寿命可以超过1000次完整充放电,此时电池组容量还能剩下70%~80%。按照500km的续航为计算参考,第一节计算的年均充电次数不过是20余次,电续航的微型汽车不足40次,充电十年也只是下降10%~15%而与。
至于插电式混动汽车则是十年充电1800次左右,容量下降会比较快,不过仍旧不用担心;因为电池组的质保标准最低为「8年或12万公里」,一线车企往往会提供15万公里的质保。
8年之内足够让电池组的容量下降到满足质保更换(无成本)的标准线,更换一组后再用几年还是没有问题的,而此时车辆的残值率不过几千元,还顾虑什么换不换电呢?所以在NCM阶段换电已经不是需要考虑的问题,进入铁锂阶段更不用担心。
就目前新能源汽车实际状况而言,不同品牌的新能源汽车更换电池的周期是不同的,不能一概而论。新能源汽车更换电池的成本还是蛮高的,一般都需要花上好几万元,是一笔不小的费用开销!
01、新能源汽车多久要换一次电池?电池是新能源电动汽车最重要也是最昂贵的部件。在很多方面,电动汽车都比普通汽车简单。与汽油发动机相比,电力机车发动机要小得多。电动汽车只使用单速变体。电动汽车避开20多辆普通汽车,这些汽车可能最终会出现故障,需要更换。新能源汽车电池如下图所示:
电动汽车使用的锂离子电池与手机和笔记本电脑使用的锂离子电池类似,但要大得多。它们与传统汽车中使用的重型铅电池非常不同,而且比镍充电电池具有更高的能量密度。与其他类型的电池相比,如果不使用,它们不容易失去电力。电动汽车的电池通常由一系列独立的电池组成。根据类型的不同,这些电池可以由数百个电池组成,而不是大量的电池。
电机中的电池容量用千瓦表示,简称度。选择能量等级较高的电力机车,就是买一辆油箱较大的汽车,这样你就可以在需要“加油”之前开得更远。请注意,电力机车控制系统可防止电池100%充满充电或100%放电,以保持其效率,延长其使用寿命。
电力机车的使用寿命因发动机而异。发动机驱动也很不一样,成本也很不一样。然而,电力机车的电池不需要经常更换。一般使用寿命为2 ~ 5年,有的甚至更长。长功率电池,要6-8年,如果不是,但在电池寿命范围内,通常不需要更换电池。
02、新能源汽车换一次电池多少钱?虽然电动汽车电池在每次充放电循环中都会有一定程度的退化,但这是一个非常渐进的过程。例如,根据美国电力机车协会(American Electric L机车的电池不需要经常更换。一般使用寿命为2 ~ 5年,有的甚至更长。长功率电池,电力机车的使用寿命因发动机而异。发动机驱动也很不一样,成本也很不一样。然而,电要力6-8年,如果不是,但在电池寿命范围内,通常不需要更换电池。
电池技术队新能源汽车的影响较大。电池比能量影响新能源汽车的续时里程,比功率影响汽车的最高时速,电池充电次数影响新能源汽车电池系统的使用寿命,电池的稳定性影响新能源汽车的安全性。相对发电机和电动机,电池成本也较高。虽然电动汽车电池在每次充放电循环中都会有一定程度的退化,但这是一个非常渐进的过程。例如,根据美国电力机车协会(American Electric Locomotive Association)汇编的数据,特斯拉的电池在最初的8万公里中只损失了大约5%的初始容量,而且消耗速度实际上正ocomotive Association)汇编的数据,特斯拉的电池在最初的8万公里中只损失了大约5%的初始容量,而且消耗速度实际上正在放缓。在特斯拉Reddy网络最近的一次讨论中,大多数拥有Model S的人表示,在运行几年之后,汽车的初始电池容量只下降了几个百分点。
目前,这三种类型的锂电池普遍使用,它们的优点非常明显,足够高,污染严重,最重要的是使用寿命长,但是也有正反两面,即它们很容易老化。在同意了利弊之后,让我们来讨论一下这个生命周期。一个合格的锂电池正常使用寿命为8年,续航里程为150 ~ 20万公里。这两个阶段只要达到一个,就必须替换。本田(Honda)、丰田(Toyota)、比亚迪(BYD)、奇瑞(Chery)和大众(Volkswagen)都使用三种锂元素,甚至特斯拉(Tesla)也不例外。
一般来说,目前更换电池的成本在6万到8万元左右,但是很多厂家也开始新老服务,解决消费者的顾虑。一般来说,更换电池的费用在5万元左右。当然,这并不是说新技术越来越好。新能源电池将在这里购买。我说的是新能源汽车如特斯拉和其他豪华汽车更换电池的成本。当然更贵了。和宝马8系列一样,这款车的电池至少已经被20万块电池取代。
03、未来新能源汽车更换电池的成本会降低吗?随着目前新能源汽车数量的增加,电池产量也在持续增长,再加上电动电池生产链的成熟,电池生产受到国家的鼓励和支持,替换新能源汽车电池的成本将会下降。总之,作为新能源汽车的核心——电池的高科技,如果没有重大突破,将严重影响新能源的引进规模。在当前形势下,动力电池技术寿命长、成本低、负荷大、工作环境不利,电池能耗不断增加。
未来更换新能源汽车的电池成本会越来越低。随着国家大力推广新能源汽车,未来会有更多的废旧新能源汽车的电池被重复利用,这是目前推广阶段所稀缺的,电池的回收与重复利用也将有效地减少新能源汽车换电池的成本,我想这一天离我们已经不远了!
在目前常用的电池中,镉镍电池湿搁置使用寿命2~3年,铅酸电池3~5年,锂离子电池5~8年,锌银电池最短,只有1年左右。
电池的寿命电池的寿命有"干贮存寿命"和"湿贮存寿命"。这两个概念仅是针对电池自放电大小而言的,并非电池的实际使用期限。电池的真正寿命是指电池实际使用的时间长短。
对一次电池而言,电池的寿命是表征给出额定容量的工作时间(与放电倍率大小有关)。
对二次电池而言,电池的寿命分充放电循环寿命和湿搁置使用寿命两种。
充放电循环寿命,是衡量二次电池性能的一个重要参数。经受一次充电和放电,称为一次循环(或一个周期)。在一定的充放电制度下,电池容量降至某一规定值之前,电池能耐受的充放电次数,称为二次电池的充放电循环寿命。充放电循环寿命越长,电池的性能越好。在目前常用的二次电池中,镉镍电池的充放电循环寿命500~800次,铅酸电池200~500次,锂离子电池600~1000次,锌银电池很短,约100次左右。
二次电池的充放电循环寿命与放电深度、温度、充放电制式等条件有关。所谓"放电深度"是指电池放出的容量占额定容量的百分数。减少放电深度(即"浅放电"),二次电池的充放电循环寿命可以大大延长。
湿搁置使用寿命,也是衡量二次电池性能的重要参数之一。它是指电池加入了电解液后开始进行充放电循环直至充放电循环寿命终止的时间(包括充放电循环过程中电池处于放电态湿搁置的时间)。湿搁置使用寿命越长,电池性能越好。在目前常用的电池中,镉镍电池湿搁置使用寿命2~3年,铅酸电池3~5年,锂离子电池5~8年,锌银电池最短,只有1年左右。
单片机发展简史
单片机出现的历史并不长,但发展十分迅猛。 它的产生与发展和微处理器(CPU)的产生与发展大体同步,自1971年美国英特尔公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段。下面以英特尔公司的单片机发展为代表加以介绍。
1971年~1976年
单片机发展的初级阶段。 1971年11月英特尔公司首先设计出集成度为2000只晶体管/片的4位微处理器英特尔4004,并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器英特尔8008, 以及其它各公司相继推出的8位微处理器。
1976年~1980年
低性能单片机阶段。 以1976年英特尔公司推出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。
1980年~1983年
高性能单片机阶段。 这一阶段推出的高性能8位单片机普遍带有串行口,有多级中断处理系统, 多个16位定时器/计数器。片内RAM、 ROM的容量加大,且寻址范围可达64 KB,个别片内还带有A/D转换接口。
1983年~80年代末
16位单片机阶段。 1983年英特尔公司又推出了高性能的16位单片机MCS-96系列,由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管/片。
1990年代
单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
单片机的分类及应用
MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。对于无片内ROM型的芯片,必须外接EPROM才能应用(典型为8031);带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内Flash型(典型芯片为89C51)等类型。
按用途可分为通用型和专用型;根据数据总线的宽度和一次可处理的数据字节长度可分为8、16、32位MCU。
目前,国内MCU应用市场最广泛的是消费电子领域,其次是工业领域、和汽车电子市场。消费电子包括家用电器、电视、游戏机和音视频系统等。工业领域包括智能家居、自动化、医疗应用及新能源生成与分配等。汽车领域包括汽车动力总成和安全控制系统等。
单片机的基本功能
对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:
TImer(定时器):TImer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的TImer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类TImer在4位MCU中比较常见,因此可以用来实现时钟、计时等相关的功能。
另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出。
由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起。
IO口:任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。根据IO口的可配置情况,可以分为如下几种类型:
纯输入或纯输出口:此类IO口有MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定。
直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口当执行写IO口指令则自动为输出口。
程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等。
对于IO口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现)而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。
外部中断:外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启若为输出口,则外部中断功能将自动关闭(ATMEL的ATiny系列存在一些例外,输出口时也能触发中断功能)。外部中断的应用如下:
外部触发信号的检测:一种是基于实时性的要求,比如可控硅的控制,突发性信号的检测等,而另一种情况则是省电的需要。
信号频率的测量,为了保证信号不被遗漏,外部中断是最理想的选择。
数据的解码:在遥控应用领域,为了降低设计的成本,经常需要采用软件的方式来对各种编码数据进行解码,如Manchester和PWM编码的解码。
按键的检测和系统的唤醒:对于进入Sleep状态的MCU,一般需要通过外部中断来进行唤醒,最基本的形式则是按键,通过按键的动作来产生电平的变化。
通讯接口:MCU所提供的通讯接口一般包括SPI接口,UART,I2C接口等,其分别描述如下:
SPI接口:此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号有些情况下则可能没有Ready信号此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。
UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。
对于大多数的MCU来讲,数据为的长度、数据校验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。
I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。
Watchdog(看门狗定时器):Watchdog也是绝大多数MCU的一种基本配置(一些4位MCU可能没有此功能),大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭(有的是在程序烧入时来设定的,如Microchip PIC系列MCU),而有的MCU则是通过特定的方式来决定其是否打开,如Samsung的KS57系列,只要程序访问了Watchdog寄存器,就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。
单片机的学习窍门
任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。
对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。
了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确哪些资源是目前所需要的,哪些是本项目所用不到的。
对于项目中需要用到的而所选MCU不提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现,例如,所开发的项目需要与PC机COM口进行通讯,而所选的MCU不提供UART口,则可以考虑用外部中断的方式来实现。
对于项目开发需要用到的资源,则需要对其Manua*进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。对于MCU学习来讲,应用才是关键,也是最主要的目的。
明确了MCU的相关功能后,接下来就可以开始编程了。
对于初学者或初次使用此款MCU的设计者来说,可能会遇到很多对MCU的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能另一种则可以暂时忽略,单片机程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定单片机开发经验的人或项目进度较紧迫的情况。
指令系统千万不要特别花时间去理解。指令系统只是一种逻辑描述的符号,只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可,而且随着编程的进行,对指令系统也会越来越熟练,甚至可以不自觉地记忆下来。
单片机的程序编写
MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计者来讲,汇编语言仍然是最简洁、最有效的编程语言。
对于MCU的程序编写,其基本的框架可以说是大体一致的,一般分为初始化部分(这是MCU程序设计与PC最大的不同),主程序循环体和中断处理程序三大部分,其分别说明如下:
初始化:对于所有的MCU程序的设计来讲,出世化是最基本也是最重要的一步,一般包括如下内容:
屏蔽所有中断并初始化堆栈指针:初始化部分一般不希望有任何中断发生。
清除系统的RAM区域和显示Memory:虽然有时可能没有完全的必要,但从可靠性及一致性的角度出发,特别是对于防止意外的错误,还是建议养成良好的编程习惯。
IO口的初始化:根据项目的应用的要求,设定相关IO口的输入输出方式,对与输入口,需要设定其上拉或下拉电阻对于输出口,则必须设定其出世的电平输出,以防出现不必要的错误。
中断的设置:对于所有项目需要用到的中断源,应该给予开启并设定中断的触发条件,而对于不使用的多余的中断,则必须给予关闭。
其他功能模块的初始化:对于所有需要用到的MCU的外围功能模块,必须按项目的应用的要求进行相应的设置,如UART的通讯,需要设定Baud Rate,数据长度,校验方式和Stop Bit的长度等,而对于Programmer Timer,则必须设置其时钟源,分频数及Reload Data等。
参数的出世化:完成了MCU的硬件和资源的出世化后,接下来就是对程序中使用到的一些变量和数据的初始化设置,这一部分的初始化需要根据具体的项目及程序的总体安排来设计。对于一些用EEPROM来保存项目预制数的应用来讲,建议在初始化时将相关的数据拷贝到MCU的RAM,以提高程序对数据的访问速度,同时降低系统的功耗(原则上,访问外部EEPROM都会增加电源的功耗)。
主程序循环体:大多数MCU是属于长时间不间断运行的,因此其主程序体基本上都是以循环的方式来设计,对于存在多种工作模式的应用来讲,则可能存在多个循环体,相互之间通过状态标志来进行转换。对于主程序体,一般情况下主要安排如下的模块:
计算程序:计算程序一般比较耗时,因此坚决反对放在任何中断中处理,特别是乘除法运算。
显示传输程序:主要针对存在外部LED、LCD Driver的应用。
中断处理程序:中断程序主要用于处理实时性要求较高的任务和事件,如,外部突发性信号的检测,按键的检测和处理,定时计数,LED显示扫描等。
一般情况下,中断程序应尽可能保证代码的简洁和短小,对于不需要实时去处理的功能,可以在中断中设置触发的标志,然后由主程序来执行具体的事务――这一点非常重要,特别是对于低功耗、低速的MCU来讲,必须保证所有中断的及时响应。
对于不同任务体的安排,不同的MCU其处理的方法也有所不同。
例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目均为手持式设备和采用普通的LCD显示,对按键的反应和显示的反应要求实时性较高,应此一般采用定时中断的方式来处理按键的动作和数据的显示;而对于高速的MCU,如Fosc》1MHz的应用,由于此时MCU有足够的时间来执行主程序循环体,因此可以只在相应的中断中设置各种触发标志,并将所有的任务放在主程序体中来执行。
在MCU的程序设计中,还需要特别注意的一点就是:要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是,将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行该数据的相关操作;而在其他的程序体中(主要是中断),对需要进行该数据的处理的地方只设置触发的标志。――这可以保证数据的执行是可预知和唯一的。
全球主流单片机制造商
欧美地区
1、Freescale+NXP(飞思卡尔+恩智浦):荷兰,主要提供16位、32位MCU。应用范围:汽车电子、LED和普通照明、医疗保健、多媒体融合、家电和电动工具、楼宇自动化技术电机控制、电源和功率转换器、能源和智能电网、自动化、计算机与通信基础设施。
2、Microchip+Atmel(微芯科技+爱特梅尔):美国,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子设备、计算机外设。
3、Cypress+Spansion(赛普拉斯+飞索半导体):美国,主要提供8位、16位、32位MCU。应用范围:汽车电子、家用电器、医疗、消费类电子、通信与电信、工业、无线。
4、ADI(亚德诺半导体):美国,主要提供8位、16位、32位MCU。应用范围:航空航天与国防、汽车应用 、楼宇技术 、通信 、消费电子 、能源 、医疗保健 、仪器仪表和测量 、电机、工业自动化 、安防。
5、Infineon(英飞凌):德国,主要提供16位、32位MCU。应用范围:汽车电子、消费电子、工程、商用和农用车辆、数据处理、电动交通、工业应用、医疗设备、移动设备、电机控制与驱动、电源、面向摩托车电动自行车与小型电动车、智能电网、照明、太阳能系统解决方案、风能系统解决方案。
6、ST Microelectronics(意法半导体):意大利/法国,主要提供32位MCU。应用范围:LED和普通照明、交通运输、医疗保健、多媒体融合、家电和电动工具、楼宇自动化技术电机控制、电源和功率转换器、能源和智能电网、自动化、计算机与通信基础设施。
7、Qualcomm(高通):美国,主要提供16位,32位MCU。应用范围:智能手机、平板电脑、无线调制解调器。
8、Texas Instruments(德州仪器):美国,主要提供16位、32位MCU。应用范围:汽车电子、消费电子、医疗设备、移动设备、通信。
9、Maxim(美信):美国,主要提供32位MCU。应用范围:汽车电子、消费电子、工业应用、安防。
日韩地区
1、Renesas(瑞萨):日本,主要提供16位、32位MCU。应用范围:电脑及外设、消费类电子、健康医疗电子、汽车电子、工业、通信。
2、Toshiba(东芝):日本,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、无线通信、移动电话、电脑与周边设备、影像及音视频、消费类(家电)、LED照明、安全、电源管理、娱乐设备。
3、Fujitsu(富士通):日本,主要提供32位MCU。应用范围:汽车、医疗、机械,家电。
4、Samsung Electronics(三星电子):韩国,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子设备、计算机外设。
台湾地区
1、宏晶科技:台湾,主要提供32位MCU。应用范围:通信、工业控制、信息家电、语音。
2、盛群半导体:台湾,主要提供8位、32位MCU。应用范围:消费电子、LED照明等。
3、凌阳科技:台湾,主要提供8位、16位MCU。应用范围:家庭影音。
4、中颖电子:台湾,主要提供4位、8位MCU。应用范围:充电器、移动电源、家电、工业控制。
5、松翰科技:台湾,主要提供8位、32位MCU。应用范围:摇控器、智能型充电器、大小系统、电子秤、耳温枪、血压计、胎压计、各类量测及健康器材。
6、华邦电子:台湾,主要提供8位、16位MCU。应用范围:车用电子、工业电子、网络、计算机、消费电子、物联网。
7、十速科技:台湾,主要提供4位、8位、51位MCU。应用范围:遥控器、小家电。
8、佑华微电子:台湾,主要提供4位、8位MCU。应用范围:录音集成电路产品、消费电子、家用产品。
9、应广科技单片机:台湾,主要提供4位、8位MCU。应用范围:机械、自动化、家电、机器人。
10、义隆电子:台湾,主要提供8位、16位MCU。应用范围:消费电子、电脑、智能手机。
大陆地区
1、希格玛微电子:主要提供32位MCU,应用范围:电信、制造、能源、交通、电力等。
2、珠海欧比特:主要提供32位MCU,应用范围:航空航天:星箭站船、飞行器高端工控:嵌入式计算机舰船控制、工业控制、电力设备、环境监控。
3、兆易创新:主要提供32位MCU,应用范围:工业自动化、人机界面、电机控制、安防监控、智能家居、物联网。
4、晟矽微电子:主要提供8位、32位MCU,应用范围:小家电、消费类电子、遥控器、鼠标、锂电池、数码产品、汽车电子、医疗仪器及计量、玩具、工业控制、智能家居及安防等领域。
5、芯海科技:主要提供16、32位MCU,应用范围:仪器仪表、物联网、消费电子、家电、汽车电子。
6、联华集成电路:主要提供8位、16位MCU,应用范围:消费电子、白色家电、工业控制、通信设备、汽车电子、计算机。
7、珠海建荣:主要提供8位MCU,应用范围:家用电器 、移动电源。
8、炬芯科技:主要提供8位至32位MCU,应用范围:平板电脑、智能家居、多媒体、蓝牙、wifi音频。
9、爱思科微电子:主要提供8位、16位MCU,应用范围:消费类芯片、通讯类芯片、信息类芯片、家电。
10、华芯微电子:主要提供8位、4位MCU,应用范围:卫星接收器、手机充电器、万年历、多合一遥控器。
11、上海贝岭(华大半导体控股):主要提供8位、16位、32位MCU,应用范围:计算机周边、HDTV、电源管理、小家电、数字家电。
12、海尔集成电路:主要提供14位、15位、16位MCU,应用范围:消费电子、汽车电子、工业、智能仪表。
13、北京君正:主要提供32位MCU,应用范围:可穿戴式设备、物联网、智能家电、汽车、费类电子、平板电脑。
14、中微半导体:主要提供8位MCU,应用范围:智能家电、汽车电子、安防监控、LED照明及景观、智能玩具、智能家居、消费类电子。
15、神州龙芯集成电路:主要提供32位MCU,应用范围:电力监控、智能电网、工业数字控制、物联网、智能家居、数据监控。
16、紫光微电子:主要提供8位、16位MCU,应用范围:智能家电。
17、时代民芯:主要提供32位MCU,应用范围:汽车导航、交通监控、渔船监管、电力电信网络。
18、华润矽科微电子(华润微旗下公司):主要提供8位、16位MCU,应用范围:消费电子、工业控制、家电。
19、国芯科技:主要提供32位MCU,应用范围:信息安全领域 、办公自动化领域、通讯网络领域、 信息安全领域。
20、中天微:主要提供32位MCU,应用范围:智能手机、数字电视、机顶盒、汽车电子、GPS、电子阅读器、打印机。
21、华润微电子:主要提供8位、16位MCU,应用范围:家电,消费类电子、工业自动化控制的通用控制电路。
22、中颖电子:主要提供4位、8位、16位、32位MCU,应用范围:家电、电机。
23、灵动微电子:主要提供32位,应用范围:电机控制、蓝牙控制、高清显示、无线充、无人机、微型打印机、智能标签、电子烟、LED点阵屏等。
24、新唐科技:主要提供8位MCU,应用范围:照明、物联网等。
25、东软载波:主要提供8位、32位MCU,应用范围:家电、智能家居、仪器仪表、液晶面板控制器、工业控制等。
26、贝特莱:主要提供32位MCU,应用范围:智能家居、工业控制以及消费类产品领域。
27、笙泉科技:主要提供8位MCU,应用范围:车用、教育、工控、医疗等中小型显示面板。
28、航顺芯片:主要提供8位、32位MCU,应用范围:汽车、物联网等。
29、复旦微电子:主要提供16位、32位MCU,应用范围:智能电表、智能门锁等。
30、华大半导体:主要提供8位、16位、32位MCU,应用范围:工业控制、智能制造、智慧生活及物联网等。
软件工程专业课程有程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构。软件工程专业可从事可视化编程、数据库管理等工作。
软件工程专业主修课程
专业基础课:计算机网络、操作系统、程序设计、数据库基础、软件工程、C++面向对象程序设计、C++语言程序设计、数据结构、编译原理等相关课程。
专业课:软件体系结构、软件系统分析与设计、需求分析与建模、面向对象与UML、项目管理与案例分析等课程。
专业选修课:计算机系统结构、计算机组成原理、软件质量保证、Java语言、VB语言、UNIX、汇编语言、信息理论与编码、网络工程、软件测试、程序设计模式、嵌入式系统及其软件工具等。
专业实践课:编程实践、软件测试实践、需求分析与建模课程设计、系统分析实践、毕业实习、毕业论文等实践课程安排。
软件工程专业本专业学生毕业后可在计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业工作。
从事行业:
毕业后主要在新能源、计算机软件、互联网等行业工作,大致如下:
1.新能源
2.计算机软件
3.互联网/电子商务
4.电子技术/半导体/集成电路
5.计算机服务(系统、数据服务、维修)