




已阅读5页,还剩106页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汽车电脑原理与维修长沙理工大学汽车技术培训中心,单片机概论,单片机即一块芯片上的计算机,以单片机为核心组成的硬件电路称为单片机系统,嵌入了应用软件的单片机系统则称为单片机应用系统。,微处理器、微型计算机与单片机,典型的微型计算机,包括运算器、控制器、存储器、输入输出接口四个基本组成部分。 如果把运算器与控制器封装在一小块芯片上,则称该芯片为微处理器(MPU, Micro Processing Unit)或称中央处理器(CPU, Central Processing Unit)。 如果在一块芯片上,集成了一台微型计算机的四个基本组成部分,则这种芯片就被称为单片微型计算机(Single Chip Microcomputer),简称单片机。,微型计算机的基本结构,单片机的结构与组成,单片机的内部基本组成,单片机的结构与组成,程序存储器(ROM):用来存放用户程序,可分类为EPROM、Mask ROM、OTP ROM和Flash ROM等。 中央处理器(CPU):是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。随机存储器(RAM):用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百字节。 并行输入/输出(I/O)端口:通常为独立的双向I/O口,任何口既可以用作输入方式,又可以用作输出方式,通过软件编程设定。,单片机的结构与组成,串口输入/输出口:用于单片机和串行设备或其他单片机的通信。定时器/计数器(T/C):用于单片机内部精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。系统时钟:通常需要外接石英晶体或其他振荡源提供时钟信号输入,也有的使用内部RC振荡器。系统时钟相当于PC微机中主频。,单片机技术的特点 纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。,1. 单片机应用周期长 与微处理器相比,其应用周期更长。随着半导体技术的飞速发展,MPU 更新换代的速度越来越快,以386、486、586为代表的MPU,很短的时间内就被淘汰出局, 而传统的单片机如68HC0 5、8051等年龄已有15岁,产量仍是上升的。,2. 应用领域广 据统计我国的单片机年容量已达1 3 亿片且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1% 。这说明单片机应用在我国才刚刚起步有着广阔的前景培意义合也毫不逊色。3. 体积小4. 内部存储量较小, I/0功能控制性强,但具有局限性。,5. 借助专门的开发系统进行开发。6 功耗低。7 价格低。以2002年的市场价为例, 89C51的单价为人民币7元,单片机的类型国际上比较流行的单片机有以下几种Intel系列Motorola系列.NEC系列Philip系列.NS系列(美国国家半导体公司生产.Zilog系列(美国Zilog公司生产ATMEL系列(美国ATMEL公司生产.MSP430系列(TI ).ARM系列,,典型单片机生产厂家及性能概览,美国IntelMotorolaZilogNSMicrochipAtmelTI日本NECToshibaFujitsuHitachi,荷兰Philips英国Inmos德国Siemens (Infineon)中国台湾Acer 宏基Winbond 华邦Holtek 合泰凌阳,典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。 MCS-51为主流产品,性能如表1.1.1。 MSP430为低功耗产品,功能较强,性能如表1.1.2。 EM78为低功耗产品,价格较低,性能如表1.1.3。 PIC为低电压、低功耗、大电流LCD驱动、低价格产品,性能如表1.1.4。 Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。性能如表1.1.5。 AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。性能如表1.1.6。,1.1 典型单片机性能概览,Intel 单片机,,TI公司MSP430单片机,美国德州仪器1996年推出MSP430,这款单片机以它的高性能逐渐被广大单片机设计者接受,MSP430目前的型号已达到100多种,使用的技术包括超低功耗、FLASH在线编程、数控振荡器(DCO)、FFL倍频、硬件乘法器、JTAG调试等微控制器领域的先进技术产品种类齐全,既有能够通用类型的单片机,也有具有一定专用性能的单片机,如MSP430FE42x、MSP430FW42x,可以适合不同的产品开发需要MSP430单片机的设计充分考虑了设计者对功能模块的需求,功能模块比较适合设计的需要,很多设计可以达到一片设计,比如MSP430FE427一片即可设计多功能电表MSP430已经被广泛用于家用仪表(水表、气表、热表、电表等)、家用电器、热工仪表、医疗仪器、安保产品、无线通讯等许多产品中,,TI公司MSP430单片机,极低功耗,支持电池工作数据保持模式0.1uA,2.2V 能够响应来自外部的中断信号时钟运行模式0.8uA, 2.2V 内部定时器继续工作活动模式200 A, 1MHz, 2.2V 正常处理、复杂运算等MSP430 是工业级16 bit RISC MCU-40 85 C 工作在各种复杂工作环境成为可能运行速度快指令周期125ns,8MHz晶振6 s 从备用模式唤醒 唤醒过程的功耗极低FLASH支持在线编程支持FLASH保存数据支持程序在线升级,程序修改方便内部资源丰富、功能模块强一片解决方案:许多产品中一片MSP430完成,单片机技术的应用遍布国民经济与人民生活的各个领域,,,,,,,,ICE-200,UPNetARM2410S,目前常用的嵌入式开发平台,一。AVR系列单片MCU为核心构成的单片嵌入式系统,数字电路与计算机二进制,掌握二进制,十六进制,十进制之间的换算关系。13F4H = 1*4096+3*256+15*16+40110B=0*8+1*4+1*2+0*113F4H=0001001111110100B0101011010101110B=56AEH,二进制 B (Binary)十进制 D (Decimal)十六进制 H (Hexadecimal),BCD码(Binary Coded Decimal)二进制代码表示的十进制数.(参右图) 例:求十进制数876的BCD码 876BCD= 1000 0111 0110,压缩的BCD码:用4位二进制数表示一个十进制数位,整个十进制数用一串BCD码来表示.例如,十进制数 59表示成压缩的BCD码为0101 1001 十进制数1946表示成压缩的BCD码为0001 1001 0100 0110.非压缩的BCD码:用8位二进制数表示一个十进制数位,其中低4位是BCD码,高4位是0.例如,十进制数78表示成压缩的BCD码为0000 0111 0000 1000.,美国标准信息交换码ASCII (American Standard Code for Information Interchange) 用于计算机与计算机、计算机与外设之间传递信息.,记忆:0-9 30H-39H; A-Z 41H-5AH;a-z 61H-7AH,位、字节、字位 (bit) 1位二进制代码字节(byte) 8位二进制代码字 (word) 16位,两个字节半字节即4位二进制数.,编程器 编程器(又称烧写器、下載器),通过它将调试好的程序烧写到程序存贮器中(单片机内程序存贮器或片外的EPROM、EEPROM 或FLASH),不同档次的编程器价格相差很大,从几百元几千多元不等,档次的差别在于烧写的可编程芯片的类型多少,使用界面是否方便及是否还有其他功能等,目前市面编程器型号很多,根据应用对象及单位经济实力进行选择.通常专用编程器应具备以下功能:对多种型号单片机(MCU)、E(E)PROM、FLASH、ROM、PLD、FPGA等进行读取,擦除、烧写、加密等操作,高档的编程器可独立于电脑运作.编程的方法可以脱机编程或在系统编程.,计算机的基本结构,计算机主要模块,CPU、存储器、接口连接三者用“总线”:数据总线DB;地址总线AB;控制总线CB接口连接外部设备:显示器;键盘;鼠标;打印机;以及硬盘;光盘;软盘;U盘、还有互联网等等,单片机浓缩了计算机基本模块,两种计算机对比,计算机的内存,内存分为只读存储器ROM和随机存储器RAM两类。ROM存放启动/开机程序以及一些系统子程序。PC机的BIOS就是存放在ROM中。用户编写的单片机程序也是存放在ROM中。RAM存放变量,数据。PC机还要存放从硬盘等处读入的可执行程序。ROM中的程序用于开机时,计算机能引导进入运行状态,这些程序在掉电后应保证不会消失。,单片机:麻雀虽小,五脏俱全,单片机设计为:专用于控制目的计算机。用于专门目的,为了降低成本,没有必要将不用的功能包含进来。单片机通常只有8位,16位字长,运算速度不是很快,但用于专门的控制足够了。因数据量不大,单片机内存也没有必要做得太大。单片机应用系统功能单一,可见于我们生活中的时时处处:手机、微波炉、洗衣机、电视机、遥控器、电子词典、高档玩具,计算机的数据交换接口,尽管计算机外部设备多种多样,根本上来说就是数据的传输:外部设备把指令、数据送到计算机内让计算机进行处理计算机把处理情况和处理结果,以及需要保存的数据送到外部设备:显示;打印;保存;交换计算机接口就是完成以上数据传输任务的基本电路模块。,计算机基本接口,并行接口:多条线(8线)同时传输数据。一次传输一字节。串行接口:单线传输,一次传输一位,分时传送。定时器:产生设定的时间间隔信号,用于安排计算机的多种任务执行时间。中断控制器:用于使CPU能及时响应多种外部设备申请的服务。,通讯接口举例,并行接口:LPT打印机;内部FDD软驱;IDE光驱/硬盘串行接口:COM1/COM2串行接口;USB通用串行接口;键盘、鼠标接口;红外线接口;网络接口串行接口还有更广泛的应用:手机,数字电视,卫星通讯,MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线 和中断系统等。,组成:运算器、控制器(1)8位CPU。(2)布尔代数处理器,具有位寻址能力。(3)128B内部RAM数据存储器,21个专用寄存器。(4)4KB内部掩膜ROM程序存储器。(5)2个16位可编程定时器/计数器。(6)32个(48位)双向可独立寻址的I/O口。,1. 中央处理器(CPU),1. 中央处理器(CPU),(7)1个全双工UART(异步串行通信口)。(8)5个中断源、两级中断优先级的中断控制器。(9)时钟电路,外接晶振和电容可产生1.2MHz12 MHz的时钟频率。(10)外部程序/数据存储器寻址空间均为64KB。(11)111条指令,大部分为单字节指令。(12)单一+5V电源供电,双列直插40引脚DIP封装。,(1)运算器组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。功能:完成算术运算和逻辑运算。,1. 中央处理器(CPU),1. 中央处理器(CPU),(2)控制器组成:程序计数器PC(Program Counter)、指令 寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。,2. 存储器,MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。(1)程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。,(2)数据存储器,一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。片外RAM:最大范围:0000HFFFFH,64KB;用指令MOVX访问。片内RAM: 最大范围:00HFFH,256B;用指令MOV访问。又分为两部分:低128B(007FH)为真正的RAM区,高128B(80FFH)为特殊功能寄存器(SFR)区。,2. 存储器,单片机的时序,时序:CPU在执行指令时所需控制信号的时间顺序称为时序。 时序是用定时单位来描述的,MCS-51的时序单位有四个,分别是时钟周期(节拍)、状态、机器周期和指令周期。,MCS-51的时序单位,1. 时钟周期:又称为振荡周期、节拍(用P表示),定义为单片机提供时钟信号的振荡源(OSC)的周期。它是时序中的最小单位。2. 状态(用S表示):单片机振荡脉冲经过二分频后即得到整个单片机工作系统的状态。一个状态有两个节拍,前半周期对应的节拍定义为P1,后半周期对应的节拍定义为P2。,3. 机器周期:通常将完成一个基本操作所需的时间称为机器周期。 MCS-51中规定一个机器周期包含12个时钟周期,即有6个状态,分别表示为S1S6。 若晶振为6MHz,则机器周期为2s,若晶振为12MHz,则机器周期为1s。4. 指令周期:执行一条指令所需要的时间称为指令周期。它是时序中的最大单位。一个指令周期通常含有14个机器周期。指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。 以机器周期为单位,指令可分为单周期、双周期和四周期指令。,(a) (b) (c)(a)双列直插封装(DIP: Dual In-line Package)(b)塑料双列直插封装(PDIP: Plastic Dual In-line Package)(c)超小型双列直插封装(SDIP: Shrink Dual In-line Package),微控制器常用封装,(d) (e) (f)(d)塑料有引线芯片载体(PLCC: Plastic Leaded Chip Carrier)(e)四边引出扁平封装(QFP: Quad Flat Package)(f)薄形四边引出扁平封装 (LQFP: Low Quad Flat Package),(g) (h) (i) (g)薄小外形封装 (TSOP: Thin Small Outline Package)(h)小外形集成电路封装 (SOIC: Small Outline Integrated Circuit Package) (i) 底触点无引脚扁平封装( HVQFN : heatsink very thin quad flat pack no leads ),7. 微控制器常用封装,MSP430专题,超低电压范围:1.8V-3.6V超低功耗,待机模式1.6uA,关闭模式0.1uA16位RISC结构48个I/O引脚FLASH闪存技术,空调机控制系统框图,CPU单元,温度采集单元,压缩机风机,键盘,显 示,MSP430开发流程,编写源代码,修改程序,硬件准备,结束,仿真调试,满意?,修改硬件,软件不满意,硬件不满意,满意,MSP430开发调试过程,1、建立工程项目2、编写源代码3、将源代码添加到项目文件4、选择器件5、选择仿真方式6、编译下载代码到芯片7、仿真调试(演示),MSP430 C语言,表达式语句(结构),条件语句 开关语句 循环语句 返回语句,条件语句,语句表达形式有3种(a、b、c):a if(条件表达式) 语句bif(条件表达式) 语句1else 语句2cif(条件表达式) 语句1else if(条件表达式) 语句2else if(条件表达式) 语句3,开关语句,switch(表达式)case 常量表达式1:语句1break;case 常量表达式2:语句2break;case 常量表达式3:语句3break;default: 语句d,循环语句,while(条件表达式) 语句;当条件满足时,就反复执行后面的语句,一直执行到条件不满足时。以软件延时程序为例说明该语句是如何执行的。void delay(long v) while(v!=0)v-;,do 语句 while(条件表达式)先执行一次循环体的语句,再判断条件是否满足,以决定是否再执行循环体。下面的程序将数组BUFF20中的全部数据相加。Int x=0;Char I=0;Dox =BUFFI + x;I=I+1;while(I20);,for(初值设定表达式;循环条件表达式;条件更新表达式)语句for语句常用于需固定循环次数的循环。下面的程序段同样实现将数组BUFF20中的全部数据相加的功能。Int x=0;Char I=0;for(I=0;I20;I+)x =BUFFI + x;,函数的定义与调用,函数类型 函数名(形式参数表)形式参数说明局部变量定义函数体语句存储变量类型 interrupt 中断矢量变量 函数类型 函数名(形式参数表)形式参数说明局部变量定义函数体语句,经常使用的延时函数,void delay(long v) while(v!=0)v-;delay(100)究竟延时多久呢?就是这句话执行需要的时间。时间等于:机器周期需要的机器周期数(在仿真环境中可以测试出来),MSP430单片机的输入输出,P1P2P3P4P5P6,引脚控制寄存器,PnDIR方向寄存器 1为输出、0为输入PnOUT输出寄存器1输出高、0为低PnIN输入寄存器读出口线的状态PnSEL第二功能寄存器n=1,2,3,4,5,6,引脚使用举例,控制连接在P2.1口线的发光二极管的亮与熄: P2DIR=0Xff; P2OUT=0XFF; for(;) P2OUT=0Xfd; ,如何让发光二级管闪烁?,1、亮2、延时1秒钟3、熄灭4、延时1秒钟5、跳转到 步骤1,while(1) P2OUT=0Xfd ; delay(); P2OUT=0XFF; delay(); ,void delay() unsigned int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论