MicroChip单片机知识要点
- 格式:docx
- 大小:140.96 KB
- 文档页数:6
单片机知识点单片机是一种集成电路芯片,它包含了微处理器、存储器、输入输出接口等多种功能模块,可以用于控制、测量、通信等多种应用领域。
单片机具有体积小、功耗低、成本低等优点,因此在嵌入式系统中得到广泛应用。
以下是单片机的一些知识点:1. 微处理器:单片机中的微处理器是其核心部件,它负责执行指令、进行运算、控制程序流程等操作。
常见的单片机微处理器有8051、PIC、AVR等。
2. 存储器:单片机中的存储器包括程序存储器和数据存储器。
程序存储器用于存储程序代码,数据存储器用于存储程序运行时的数据。
常见的存储器类型有ROM、RAM、EEPROM等。
3. 输入输出接口:单片机通过输入输出接口与外部设备进行数据交互。
输入接口可以接收外部信号,如按键、传感器等,输出接口可以控制外部设备,如LED、继电器等。
4. 中断:单片机中的中断是一种异步事件处理机制,当某个事件发生时,可以通过中断来打断当前程序的执行,转而执行中断服务程序。
常见的中断类型有外部中断、定时器中断等。
5. 定时器:单片机中的定时器可以用于计时、延时、产生脉冲等操作。
定时器一般由计数器和控制电路组成,可以通过编程来设置计数器的初值、计数方式等参数。
6. PWM:PWM(Pulse Width Modulation)是一种脉冲宽度调制技术,可以通过改变脉冲宽度来控制输出信号的电平。
单片机中的PWM可以用于控制电机、LED亮度等应用。
7. ADC:ADC(Analog to Digital Converter)是一种模数转换器,可以将模拟信号转换为数字信号。
单片机中的ADC可以用于测量模拟量信号,如温度、光线等。
8. UART:UART(Universal Asynchronous Receiver/Transmitter)是一种通用异步收发器,可以实现串口通信。
单片机中的UART可以用于与PC、蓝牙模块等设备进行通信。
9. SPI:SPI(Serial Peripheral Interface)是一种串行外设接口,可以实现单片机与外部设备之间的数据传输。
单片机常考知识点总结归纳一、单片机概述单片机是一种集成了微处理器、存储器和输入/输出功能的集成电路芯片,也称为微控制器。
常见的单片机有8051系列、AVR系列、PIC系列等。
单片机通常具有CPU、存储器、定时器、串行通信接口、模拟输入/输出和数字输入/输出等外围设备。
二、单片机的基本特点1. 控制功能:单片机是用来控制各种设备和系统的,其核心是实现程序控制和数据处理。
2. 内部存储器:单片机有自带的ROM、RAM和EEPROM存储器,存储程序和数据。
3. 输入输出功能:单片机通过外设和接口实现与外部设备的连接和通信。
4. 超低功耗:单片机通常工作在微功耗下,能长时间运行在电池供电环境中。
5. 嵌入式应用:单片机广泛应用于嵌入式系统、家电控制、自动化设备等领域。
三、单片机常考的知识点1. 单片机的基本原理:包括单片机的工作原理、内部结构、外围设备和程序存储等内容。
2. 单片机的硬件结构:包括CPU、存储器、输入输出设备、定时器计数器、串行通信接口等部分。
3. 单片机的编程开发:包括汇编语言编程、C语言编程、软件开发工具和调试技术等内容。
4. 单片机的应用实例:包括LED显示、按键控制、数码管驱动、定时器应用、串口通信等应用案例。
5. 单片机的系统设计:包括单片机系统设计的原则、方法和技术要点等内容。
6. 单片机的外围接口:包括串行通信接口、模拟输入输出、数字输入输出等外围接口知识。
7. 单片机的存储器管理:包括ROM的存储器结构、程序存储、数据存储和EEPROM的应用。
8. 单片机的中断处理:包括中断的类型、中断的嵌套、中断的优先级和中断的应用等知识点。
9. 单片机的定时器应用:包括定时器的工作原理、定时器的编程、定时器的应用实例等内容。
10. 单片机的串口通信:包括串口的工作原理、串口的编程、串口的数据传输和应用实例等。
11. 单片机的模拟输入输出:包括模拟输入输出的工作原理、模拟输入输出的编程和应用实例等。
Microchip Technology Inc.User GuideSensor less Field Oriented Control with SAM E54Contents1. Introduction (2)1.1. SAME54 Microcontroller Card for ATBLDC24V Motor Control Starter Kit (2)1.2. ATBLDC24V-STK Features (3)1.3. Microchip ATSAME54 MOTOR MCU Board (4)1.3.1. MCU Card (4)1.3.2. Power Supply (4)1.3.3. Embedded Debugger (4)1.3.4. 67-pin MCU-DRIVER Board Interface (5)1.4. Motor Specification (6)2. Software Requirement (7)3. Getting Started with ATBLDC24V-STK (7)4. Firmware User Configuration (11)5. Software Implementation (12)6. References (14)7. Revision History (14)1.Introduction1.1.S AME54 Microcontroller Card for ATBLDC24V Motor Control Starter KitThe ATSAME54MOTOR is a MCU card for Atmel® Motor control low voltage starter kits. The hardware has the ARM® M4 core -based SAME54 MCU, with integrated on-board debug support. The MCU card can be directly used with the currently available ATSAMD21BLDC24V-STK®, a low voltage BLDC, PMSM motor control starter kit. The kit contains a driver board hardware with half-bridge power MOSFET drivers, current and voltage sensing circuit, Hall, and Encoder interface, fault protection circuits, etc. Supported by the Atmel studio integrated development platform, the kit provides easy access to the features of SAME54 MCU and explains how to integrate the device in a custom motor control application.Figure 1 Atmel low voltage motor control kit1.2.A TBLDC24V-STK FeaturesATBLDC24V-STK has the following features:• Pluggable MCU card interface• Debug support using on-board Atmel EDBG device• Three half-bridge MOSFET driver• Motor BEMF sensing• Motor individual phase current sensing• DC-bus voltage sensing• Hall sensor interface• Encoder s ensor interface• Over-current protection support• Over-voltage protection at 30VDC• 5V and 3.3V MCU card support• Selectable MCU supply voltage• Reverse power supply voltage protection• Atmel Xplained Pro compatible header interface• On board Temperature sensor• On board serial flash• LED fault indications• Atmel studio plug-and-use support using unique ID device1.3.M icrochip ATSAME54 MOTOR MCU Board1.3.1.MCU CardSAM E54 is a high-performance Flash microcontroller (MCU) based on the 32-bit ARM® Cortex®-M4 RISC (403 CoreMark at 120MHz) processor with floating point unit (FPU). The device operates at a maximum speed of 120 MHz, features up to 1024 Kbytes of Flash, up to 4 Kbytes of TCM (Tightly Coupled Memory)and up to 256 Kbytes of SRAM.The device is intended to work with external 12MHz oscillator. An external reset switch is connected to the MCU RESET pin.Figure 2 ATSAME54 MCU Card1.3.2.Power SupplyThe ATSAME54 MOTOR MCU card takes 3.3VDC supply from the 67-pin edge connector. Both the EDBG device and the Main MCU operate from 3.3VDC. The power supply selection jumper on the Driver board should be connected to 3V3 selection..1.3.3.Embedded DebuggerThe ATSAME54 MCU is interfaced to the EDBG debug device. The EDBG uses SWD interface for programming and debugging the main MCU. A debug header is also provided on the MCU board with ARM Cortex® debug pin out. An external debugger can be connected to this debug port.The DGI is a proprietary communication interface used by the Atmel Data Visualizer software to communicate with the development kits through the EDBG. ATSAME54 connected to the EDBG device, with DGI SPI interface and uses the Atmel ADP protocol.High Speed USB port of the EDBG is accessible at the driver board. EDBG USB enumerates as a composite device supporting debug, DGI SPI, and CDC interfaces.The USB port of the EDBG is connected to the Micro-USB connecter on the driver board.1.3.4.67-pin MCU-DRIVER Board InterfaceATSAME54 MCU card is connected to driver board through 67-pin interface as shown below.Figure 3 67 Pin MCU-Driver Board Interface1.4.M otor Specification2.Software RequirementTo run this demo below mentioned software should be installed on the PC.3.Getting Started with ATBLDC24V-STKThis chapter is a step-by-step guide to get started with the ATSAME54 for ATBLDC24V-STK.1.ATBLDC24V-STK kit contains a fully assembled chassis and 24VDC power adaptor.2.Make sure switch SW1 on driver board (ATBLDC24V) is set to USB/X5V.3.Make sure jumper (J26) on driver board (ATBLDC24V) is set to 3.3V.4.Connect the power adaptor to the “SUPPLY-IN connector”. Connect white color cable to + PIN.Figure 4 Kit with Power and USB Ports Connected5.Connect the Micro-USB cable to the “EDBG-USB connector” and PC USB port.6.Switch ON the power adaptor.7.The power LED indications on the MCU card are now ON.8. If MCU is pre-programmed then directly open "Data Visualizer". If it’s not, then program itthrough Atmel studio and run the program first and then open the data visualizer9.In the "Data Visualizer Connect Window" select the kit from the DGI control panel's drop downlist.Figure 5 Data Visualizer Connect Window10.Click "Connect".11.The Data Visualizer default window will pop up once the connection is made. All the fields shallshow default values as shown below.Figure 6 Data Visualizer Start Window12.Click on "START/STOP" button to turn the motor ON with default values.Figure 7 Data Visualizer Motor Start Window13.One can adjust the graph by selecting checkbox "Automatically fit Y" for better visualization.14.To change the parameter, enter the value in a input field and press "Enter". For example, tochange the motor speed, type in the desired speed within the Reference Speed (RPM) input box and press "Enter".Figure 8 Data Visualizer Change Parameter Online15.To stop the motor, click on the “Stop" button. It will ramp down and stop the motor.Figure 9 Data visualizer Stop motor window4.Firmware User ConfigurationAlgorithm can be fine-tuned for any motor by updating motor parameters in “userparams.h” file. Following are the configurations available for the user to modify the motor and algorithm parameters.5.Software ImplementationPWM event generation unit is configured to trigger AFEC module to start adc conversion. Once the trigger is received by AFEC module, two configured phase current measurements are simultaneously sampled and conversion takes place. Phase current result ready event will generate interrupt. Then DC bus voltage is measured inside interrupt. In addition, speed POT is measured if it is enabled.The FOC algorithm is executed inside ADC end of conversion interrupt handler. This interrupt is dedicated for fast controlling and it’s in sync with PWM. If any fast controlling tasks need to be added then this is the place. Apart from this, slow control loop is also available and its frequency can be configured by “SLOW_LOOP_TIME_SEC” in user configurations. Slow loop execution frequency should be in multiple of PWM frequency. Speed ramp and speed PI control loop is executed from slow control loop. If any additional tasks one has to execute at slower rate, then “SlowControlLoop()” function is a place holder.ADCEOCInterruptHandlerRead 2 phase currents Software trigger for DC bus and POTmeasurementClarke Transform Convert balanced three-phase quantities to balanced two-phase quadrature quantitiesPark TransformTwo-phase orthogonal stationary system to orthogonal rotating reference framePLL EstimatorBEMF based PLL observer to Estimate Motor Position and SpeedPI ControllersId(Flux), Iq (Torque) PI controllersInverse Park Transform Rotating reference frame to Orthogonal stationary reference frame Inverse Clarke Transform2 axis orthogonal frame to3 phase stationary frameSVPWMSpace vector modulation to update PWM duty cycleSTOP SlowControlLoopSpeedRamp()PI ControlSpeed PI controlSTOPFigure 10 Control loop flow chart6.ReferencesApp Note - /downloads/en/AppNotes/00002520B.pdfAtmel Studio 7 - /microsite/atmel-studio/Data Visualizer - https:///Products/Details/0b2891f4-167a-49fc-b3f0-b882c7a11f98 7.Revision History。
单片机重点知识点单片机是嵌入式系统开发中的重要组成部分,广泛应用于各种领域,如家电、汽车、医疗等。
本文将对单片机重点知识点进行介绍。
一、单片机的基础知识点1. 单片机的定义单片机是一种集成了处理器、存储器和输入/输出接口的微型计算机系统,具有体积小、功耗低、成本低等特点。
常用的单片机有AVR、PIC、STM32等。
2. 单片机的组成单片机由以下几个部分组成:- 中央处理器- 存储器- 输入/输出接口- 时钟电路- 辅助电路3. 单片机的工作原理单片机的工作原理可分为以下几个步骤:- 程序存储器中的指令被取出并送到中央处理器中执行;- 执行指令时,进行数据读取和存储;- 中央处理器将结果写入存储器或输出到外部设备。
二、单片机编程的知识点1. 单片机编程语言单片机编程语言主要有汇编语言和高级语言两种。
常用的高级语言有C语言和Basic语言。
2. 单片机的寄存器单片机寄存器是指内部的用于存储数据和控制单元的设备。
常用的寄存器有通用寄存器、状态寄存器、计数寄存器等。
3. 单片机的输入/输出单片机的输入/输出通常使用端口操作来实现。
输入操作可以通过读取端口输入的信号,输出操作可以通过向端口输出信号来实现。
4. 单片机的中断中断是指单片机在执行程序时遇到某些事件时,暂停程序的执行,跳转到中断服务程序中去处理该事件。
常见的中断有外部中断、定时中断和任务间中断等。
三、单片机应用的知识点1. 单片机应用领域单片机应用广泛,涉及的领域包括:- 家电控制- 汽车电子- 机器人控制- 医疗器械等。
2. 单片机的通信方式单片机的通信方式有多种,常用的有串口通信、并口通信、SPI通信、I2C通信等。
其中串口通信应用最为广泛。
3. 单片机的电源管理单片机的电源管理是指如何控制单片机系统的供电,以保证单片机正常工作。
常见的电源管理方式有降压稳压和电源管理芯片等。
4. 单片机的调试与测试单片机的调试与测试是指如何验证单片机系统的正确性,包括硬件测试和软件测试。
单片机基础知识点全攻略单片机 (Microcontroller) 是一种内含的微处理器、存储器以及各种输入输出接口的集成电路芯片。
它广泛应用于各种嵌入式系统中,如家电、汽车、电子设备等。
单片机的基础知识点主要包括以下几个方面:1.单片机的基本结构:单片机由中央处理器单元(CPU)、存储器、输入输出(I/O)接口和定时器/计数器等组成。
其中,CPU是单片机最重要的部件,负责执行程序指令。
存储器可分为随机存取存储器(RAM)和只读存储器(ROM),其中ROM存储着程序代码和常量数据,RAM用于存储运行时的数据。
2.单片机的工作原理:单片机通过执行存储在ROM中的程序指令,完成各种任务。
CPU从ROM中读取指令并执行,将结果存储在RAM中。
由于单片机通常工作在时钟信号的控制下,故CPU在时钟的辅佐下工作。
3.单片机的编程语言:单片机的编程语言通常采用汇编语言或高级语言(如C语言)。
汇编语言是一种机器指令的助记符,编程复杂、灵活、直接,通常用于对程序执行效率要求较高的场合;而C语言则具有语法简洁、易读易写的特点,适合快速开发程序。
4.单片机的输入输出接口:单片机通过输入输出接口与外部设备进行数据交互。
常见的输入接口有开关、按钮、传感器等;常见的输出接口有LED灯、蜂鸣器、电机等。
通过编程,用户可以控制这些接口的状态,与外设实现数据的输入和输出。
5.单片机的定时器/计数器:单片机的定时器/计数器模块用于生成精确的时间间隔或计数外部事件。
它可以被用来实现定时中断、测量脉冲宽度、计数等功能,是单片机中非常重要的功能模块之一6.单片机的中断和中断服务程序:单片机在执行程序的过程中,可以接收和响应外部的中断信号。
当中断发生时,单片机会立即暂停当前任务,跳转执行预先定义好的中断服务程序,处理中断事件。
中断机制是实现实时响应和多任务操作的重要手段。
7.单片机的电源与时钟:单片机需要稳定可靠的电源和时钟信号供给。
电源通常由直流电源或电池提供,特别是在嵌入式系统中,通常需要考虑功耗和电池寿命等因素;时钟信号则是单片机正常工作的基础,它通过晶体振荡电路或者外部时钟源提供。
单片机基本知识点总结
单片机是一种微处理器,通常被用于控制电子设备和系统中的逻辑操作。
单片机具有计算和控制功能,并能够以无需外部其他器件而单独运行。
以下是单片机的基本知识点:
1. 单片机的结构:由中央处理器(CPU)、存储器、外设和输入/输出(I/O)口组成。
2. 单片机的分类:根据CPU内核类型可分为8051系列、AVR系列、PIC系列等。
3. 单片机的指令系统:单片机指令分为操作指令和数据传输指令。
4. 单片机的存储器:包括ROM(只读存储器)和RAM(随机存储器),ROM用于储存程序,RAM用于储存变量和临时数据。
5. 外设:可连接到单片机的设备,如LED灯、LCD显示器、电机等。
6. I/O口:单片机用于与外部设备通信的接口,包括输入口和输出口。
7. 中断系统:单片机可快速响应外部事件的能力,通过设置中断自动运行中断服务子程序。
8. 特殊功能寄存器(SFR):用于控制单片机内部外设的寄存器。
9. 微控制器编程:可用汇编语言或高级语言如C语言来编写单片机程序。
10. 调试工具:用于调试和测试单片机程序的工具,如仿真器、调试器等。
以上是单片机的基本知识点,了解这些内容可以帮助初学者更好地理解和掌握单片机编程技术。
干货10个单片机MCU常用的基础知识在单片机(MCU)的学习和应用中,掌握一些基础知识是非常重要的。
本文将为您介绍10个常用的单片机MCU基础知识,希望能够给您带来干货。
1. 什么是单片机(MCU)单片机(Microcontroller Unit)是一种集成了中央处理器(CPU)、存储器(ROM和RAM)、输入/输出接口(IO)以及外设接口等功能于一体的微型计算机系统。
它可以完成逻辑控制、数据处理和通信等功能。
2. 单片机与微处理器的区别单片机与微处理器(Microprocessor)相比,最大的区别在于单片机集成了更多的外设接口,使其具备了更强的实时控制能力。
而微处理器则更适用于需要大量计算和处理的场景。
3. 单片机的工作原理单片机的工作原理可以简单描述为:接收输入信号,经过处理后,产生输出结果。
它通过运行存储在ROM中的程序指令来完成这一过程。
4. 单片机的主要用途单片机广泛应用于各个领域,如家电控制、工业自动化、医疗设备、车载电子等。
由于其低功耗、成本低廉、体积小等优势,使其成为许多嵌入式系统的首选控制器。
5. 常见的单片机开发平台目前市场上有许多单片机开发平台,如Arduino、Raspberry Pi等。
这些开发平台提供了丰富的开发资源和友好的开发环境,方便初学者上手。
6. 单片机的编程语言单片机常用的编程语言有汇编语言和C语言。
汇编语言直接操作单片机的底层寄存器和指令,控制精度高。
C语言较为高级,易读易写,适合进行复杂的控制和计算。
7. 单片机的输入输出单片机通过IO口实现与外部设备的数据交换。
一般情况下,输入是通过传感器或按钮等设备获取外部信号,输出是通过驱动电机、LED等设备实现对外部环境的控制。
8. 单片机的定时器与计数器单片机的定时器与计数器是实现计时和计数功能的重要模块。
它可以用来生成精确的时间延时、产生PWM波形、计算脉冲个数等操作。
9. 单片机的中断系统中断是单片机应对外部事件的一种重要机制。
32 位单片机知识讲解
电子发烧友网讯:32 位单片机已经占据了市场的大部分份额,随着单
片机领域技术的发展,32 位单片机以其超强的性能优势逐渐成为单片机的主流。
本内容整理了32 位单片机的厂商之一美国微芯科技PIC32 单片机的一些内容供大家参考。
微芯科技最新32 位单片机产品
Microchip 扩展低成本、小封装32 位PIC32 单片机系列
Microchip Technology Inc.(美国微芯科技公司)在德国嵌入式世界大会上宣布,推出全新低引脚数32 位PIC32 单片机(MCU)系列,以小至5mm x 5mm 的封装提供61 DMIPS 性能,适合空间受限和成本敏感的设计。
PIC32 MX1 和MX2 MCU 是体积最小且成本最低的PIC32 单片机,也是第一款具有专用音频和电容式传感外设的PIC32 MCU。
最新器件还配备了USB On- the-Go(OTG)功能,使其成为开发消费类、工业、医疗和汽车市场音频配件及其他应用的理想选择。
MICROCHIP直流无刷电机应用笔记及源代码介绍MICROCHIP直流无刷电机应用笔记及源代码介绍MICROCHIP在推出包括PIC18FXX31和DSPIC30F电机专用系列的芯片的同时,也在2004年专门成立了在线电机控制设计中心,为电子电机控制市场提供了更多的技术资源,经过三年时间的发展,MICROCHIP 的电机应用方案日益为广大的电机驱动开发工程师所接受,日益丰富的电机应用笔记为电机驱动开发提供了便利,详实的介绍和公开的源程序大大地缩短了电机相关产品的开发进程和大大降低项目风险。
高奇晶圆电子科技有限公司(GOLDECNCHIP)作为MICROCHIP的代理商,秉承了MICROCHIP的做法,成立专业的电机应用部门,把MICROCHIP的方案应用于实际,加速客户的开发进程,在技术上,我们保持和MICROCHIP设计中心同步,在应用上,我们密切为客户解决具体的实际问题,完成从原理到应用的飞跃,作为MICROCHIP芯片的专业代理商,我们具有一流的技术团队,我们专致于BLDC,ACIM和PMSM电机的驱动应用。
下面列出来的是MICROCHIP在BLDC方面的应用笔记,所有的源代码都是公开的,客户可以完全在这个基础之上进行二次开发,从而缩短开发过程,我们欢迎需要电机驱动开发技术的公司和我们联系,我们既能提供MICROCHIP芯片,也能提供优秀的技术支持服务,欢迎致电联系(0755-********或135********,林志武)下面所列出来的应用笔记是关于无刷电机“6步换相法”,这种控制方法也叫做“120度换相法”或“梯形波控制法”无刷直流电机基础如果你不熟悉无刷直流电机的驱动原理,这是一份很好的入门教程无刷直流电机控制轻松入门这个应用笔记很好地概述了无刷电机的特性,并使用PIC16F的单片机来做电机驱动PIC18FXX31驱动无刷直流电机(有传感器)一个有传感器BLDC的基本驱动方法PIC18FXX31驱动无刷直流电机(无传感器)使用反电动势的方法来驱动无传感器的BLDCdsPIC30F2010驱动无刷直流电机(有传感器)使用霍尔传感器确定电机定子位置,源程序采用C语言完成,适用于DSPIC30F2010及28脚DSPIC芯片dsPIC30F驱动无刷直流电机(无传感器)此应用笔记描述了使用反电动势(BEMF)的方法来控制无传感器的BLDC。
Microchip的PIC系列单片机开发板选用指南Microchip全程为Microchip Technology Incorporated中文名称为美国微芯科技公司或者美国微芯半导体,它是全球领先的单片机和模拟半导体的供应商,为全球数以千计的消费类产品提供低风险的产品开发和更低的系统总成本。
现在Microchip公司已推出微控制器外围设备、模拟产品、RFID 智能卡、KEELOQ保安产品,可以设计出更全面,更具价值的嵌入控制系统方案,可以满足用户日益增长的需求。
Microchip生产的单片机芯片类型主要是PIC12\PIC16\PIC17\PIC18系列,它们的特点是:1.PIC系列从低到高有几十个型号,可以满足各种需要;2.精简指令使其执行效率大为提高;3.上市等待时间少;4.具有优越的开发环境,不会出现仿真和实际运行情况不同的情况;5.引脚具有防瞬态能力;6.彻底的保密性;7.自带看门狗;8.拥有睡眠和低功耗模式。
鉴于PIC单片机拥有以上的一系列的优点,它的适用范围是非常的广,现在全世界都可以见到它的身影。
下面就介绍几种基于PIC单片机的开发系统开发板。
目前而言,与Microchip合作的比较成功的开发板制造商家有MikroE这一家,它制造若干款基于Microchip的PIC芯片的开发板,例如EasyPIC v7、EasyPIC PRO v7、mikromedia for PIC18FJ、mikromedia Workstation v7、PICPLC16 v6、UNI-DS 6、SmartGLCD 240x128、Ready for PIC、Ready for PIC (DIP28)和StartUSB for PIC。
那么这几款开发板都有什么特点呢?下面就来详细介绍一下。
首先是EasyPIC v7,它是可用于Microchip PIC 单片机编程和调试的开发板,它包含强大的板载mikroProg这一款编程器和电路内调试器,能够编程超过250多种单片机。
浮点数的加减乘除运算步骤1、浮点加减法的运算步骤设两个浮点数X=Mx※2Ex Y=My※2Ey实现X±Y要用如下5步完成:①对阶操作:小阶向大阶看齐②进行尾数加减运算③规格化处理:尾数进行运算的结果必须变成规格化的浮点数,对于双符号位的补码尾数来说,就必须是001×××…×× 或110×××…××的形式若不符合上述形式要进行左规或右规处理。
④舍入操作:在执行对阶或右规操作时常用“0”舍“1”入法将右移出去的尾数数值进行舍入,以确保精度。
⑤判结果的正确性:即阶码是否溢出若阶码下溢(移码表示是00…0),要置结果为机器0;若阶码上溢(超过了阶码表示的最大值)置溢出标志。
例题:假定X=0 .0110011*211,Y=0.1101101*2-10(此处的数均为二进制)?? 计算X+Y;:0 1 010 *******解:[X]浮[Y]浮:0 0 110 1101101符号位阶码尾数第一步:求阶差:│ΔE│=|1010-0110|=0100第二步:对阶:Y的阶码小,Y的尾数右移4位[Y]浮变为0 1 010 ******* 1101暂时保存第三步:尾数相加,采用双符号位的补码运算00 1100110+00 000011000 1101100第四步规格化:满足规格化要求第五步:舍入处理,采用0舍1入法处理故最终运算结果的浮点数格式为:0 1 010 *******,即X+Y=+0. 1101101*2102、浮点乘除法的运算步骤①阶码运算:阶码求和(乘法)或阶码求差(除法)即[Ex+Ey]移= [Ex]移+ [Ey]补[Ex-Ey]移= [Ex]移+ [-Ey]补②浮点数的尾数处理:浮点数中尾数乘除法运算结果要进行舍入处理例题:X=0 .0110011*211,Y=0.1101101*2-10求X※Y解:[X]:0 1 010 *******浮[Y]浮:0 0 110 1101101第一步:阶码相加[Ex+Ey]移=[Ex]移+[Ey]补=1 010+1 110=1 0001 000为移码表示的0第二步:原码尾数相乘的结果为:0 10101101101110第三步:规格化处理:已满足规格化要求,不需左规,尾数不变,阶码不变。
单片机知识要点1、概念:单片机(Single chip microcomputer)亦称单片微电脑或单片微型计算机,国际上统称为微控制器(microcontrollor, MCU, μC),就是把中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出端口I/O等主要的计算机功能部件,都集成在一块集成电路芯片上,从而形成一部完整的微型计算机,就称其为单片机。
目前市场做单片机的产家很多,如ATMEL,Microchip,Cypress,AMD,Intel,STC,HOLTEK 等等。
2、结构:一般的单片机内部结构如下图:以上为简单的结构图,对应关系是:CPU包含控制器和运算器;ROM和RAM对应着存储器,前者存放程序,后者存放数据;I/O则对应着输入设备和输出设备,用总线(BUS)实现各模块之间的信息传递。
ROM 和RAM存储器容量可多可少,但CPU只有一个,另外,为了提高单片机的性能和扩展单片机的用途,厂家通常将一些不同功能的专用模块也集成到单片机芯片内部当中来,比如定时器模块、数模转换模块、串行端口模块等等,同时,习惯于把这些模块与I/O端口模块一起统称为外围模块。
3、单片机应用介绍:(1)电信:电话机、无绳电话、投币电话机、无线对讲机、传真机、来电显示器(caller ID)等;(2)家用电器:智能电视、电磁炉、DVD、卫星电视接收机,音响、空调、各种报警器等;(3)计算机外围设备:键盘、打印机、Modem、无线网卡等;(4)办公自动化:复印机、智能打字机、PDA等;(5)工业控制:数控机床、智能机器人、电机控制、过程控制、温度控制、智能传感技术等;(6)商用电子:自动售货机、电子收款机、电子秤、IC卡等;(7)玩具:袖珍游戏机、电子宠物、遥控玩具等;(8)仪器仪表:用于医疗、化工、电子、计量等各种智能仪器仪表;(9)汽车电子:点火控制、变速控制、防滑控制、防撞控制、排气控制、GPS等;(10)军用电子:各种导弹和鱼雷的精确制导控制、智能武器、雷达系统等。
4、PIC单片机的特点:PIC是美国Microchip公司生产的单片机系列产品型号的前缀,PIC系列单片机的硬件系统设计简洁,指令系统设计精炼,在所有单片机品种中是最容易学习、最容易应用的单片机品种之一。
PIC单片机相比其它品种单片机有以下优点:(1)哈佛总线结构:其设计异同于其它单片机之处是:不仅采用了哈佛体系结构,而且还采用了哈佛总线结构,在芯片内部将数据总线和指令总线分离,并且采用不同的宽度,这样做的好处在于,实现指令提取的“流水作业”,也就是在执行一条指令的同时对下一条指令进行取指操作,以便实现全部指令的单字节化,单周期化,从而有利于提高CPU执行指令的速度。
如下图结构:(2)指令单字节化因为数据总线和指令总线是分离的,并且采用了不同的宽度,所以程序存储器ROM和数据存储器RAM的寻址空间(即地址编码空间)是互相独立的,而且两种存储器宽度也不同。
这种设计既可以确保数据的安全性,还可提高运行速度和实现全部指令的单字节化。
(3)精简指令集(RISC)技术PIC系列单片机的指令系统(就是该单片机所能识别的全部指令的集合,叫做指令系统或者指令集,Instruction set)只有35条指令,易学好用。
而MCS-51单片机指令系统共有111条指令。
(4)寻址方式简单寻址方式就是寻找操作数的方法。
PIC系列单片机只有4种寻址方式(即寄存器间接寻址、立即数寻址、直接寻址和位寻址),容易掌握,而MCS-51单片机则有7种寻址方式。
(5)代码压缩率高1KB的存储器空间,对于像MCS-51单片机,大约只能存放600条指令,而对于PIC系列单片机则能够存放的指令条数可达1024条。
(6)运行速度高由于采用了哈佛总线结构,以及指令的读取和执行采用了流水作业方式,使得运行速度大大提高,在所有8位机中,PIC17CXX是目前世界上速度最快的品种之一。
(7)功耗低PIC系列单片机的功率消耗极低,是目前世界上最低的单片机品种之一。
在4MHz时钟下工作时耗电不超过2mA,在睡眠模式下耗电可以低到1μA以下。
(8)驱动能力强I/O端口驱动负载的能力较强,每个I/O引脚吸入和输出电流的最大值可分别达到25mA和20mA,能够直接驱动发光二极管LED、光电耦合器或者微型继电器等。
(9)I2C和SPI串行总线端口PIC系列单片机的一些型号具备I2C和SPI串行总线端口。
I2C(Inter IC bus,也可以记为IIC)和SPI (Serial peripheral interface)分别是由Philips公司和Motorola公司发明的两种串行总线技术,是在芯片之间实现同步串行数据传输的技术,利用这些串行总线端口可以方便灵活地扩展一些必要的外围器件。
(10)外接电路简洁PIC系列单片机内集成了上电复位电路、I/O引脚上拉电路、看门狗定时器等,可以最大程度地减少或免用外接器件,以便实现“纯单片”应用,这样即方便开发,也可以节省电路板空间和制造成本。
5、PIC单片机电路设计的构成和应用Microchip微芯公司的单片机种类繁多,可以从系列为:10F系列、12F系列、16F系列、18F或18LF系列、24F系列、30F系列和dsPic33F系列等等,但核心都是一样的,所以,现在我们以16F系列中的PIC16F84A 为代表来学习PIC家族单片机,来研究自动化控制电路的构成原理。
(1)电路的基本构成PIC单片机与其它的单片机有着很多的共同点,都是由振荡电路,复位电路,I/O电路组成。
上图是一个简单的LED灯控制电路,分别由MUC(PIC16F84A)、振荡器XT、复位电路R1、触发开关SW、限流电路(R7、R6、R5、R4)、去耦电容C1、上拉电阻R2、下拉电阻R3组成。
我们用这个电路实现LED灯流水闪动(LED1-LED2-LED3-LED4),由触发开关SW触发启动。
具体的流程如下:ASM格式汇编语言程序如下:LIST P=16F84A,R=DEC ;清单标示MCU种类,以DEC(十进制)为默认INCLUDE P16F84A.INC ;加入PIC16F84A文件头,主要是各寄存器的定义CB = _CP_OFF ;代码保护关CB &= _PWRTE_ON ;上电延时开CB &= _WDT_OFF ;看门狗关CB &= _XT_OSC ;XT晶振,标准振荡__CONFIG CB__IDLOCS H'3FFF' ;以上是定义芯片配置位TIME10_C1 EQU 20H ;定义变量的寄存器位置地址TIME10_C2 EQU 21HTIMES1 EQU 22HTIMES2 EQU 23HTIMES3 EQU 24H;------------------------------------------------------------------------------;宏定义Bank0 和Bank1;------------------------------------------------------------------------------BANK0 MACRO ;定义BANK0BCF STATUS,5ENDMBANK1 MACRO ;定义BANK1BSF STATUS,5ENDM;------------------------------------------------------------------------------;程序初始化;------------------------------------------------------------------------------CLRF PORTA ;清空portA端口CLRF PORTB ;清空portB端口BANK1 ;选择Bank1MOVLW 0XFF ;赋值1111 1111BMOVWF TRISA ;设定所有RA端口为高阻输入MOVLW 0X0F ;赋值0000 1111BMOVWF TRISB ;设定RB口中RB7~RB4为输出,RB3~RB0输入BANK0 ;选择Bank0;------------------------------------------------------------------------------;SW检测;------------------------------------------------------------------------------KEY_CHECKBTFSC PORTA,2 ;检测RA2是否按下(低电位)GOTO KEY_CHECK ;否!返回继续检测CALL TIME10 ;是!延时10msBTFSC PORTA,2 ;延时10ms之后重新检测是否按下开关(低电位)GOTO KEY_CHECK ;否!误判,返回重新检测!BSF PORTB,7 ;LED1亮CALL TIME500 ;延时500msBSF PORTB,6 ;LED2亮CALL TIME500 ;延时500msBSF PORTB,5 ;LED3亮CALL TIME500 ;延时500msBSF PORTB,4 ;LED4亮CALL TIME500 ;延时500msCLRF PORTB ;全灭CALL T TIME500 ;延时500msGOTO LED_ON ;返回到Led_ON开始下一轮;------------------------------------------------------------------------------;10mS DELAY (10ms延时);------------------------------------------------------------------------------TIME10MOVLW 10 ; 1μs,外循环10*1ms=10ms左右MOVWF TIME10_C1 ; 1μsTIME10_LOOP1MOVLW 250 ; 1μs,内循环250*4μs=1ms左右MOVWF TIME10_C2 ; 1μsTIME10_LOOP2NOP ; 1μsDECFSZ TIME10_C2 ; 1(2)μs,结果为0时增加1μsGOTO TIME10_LOOP2 ; 2μsDECFSZ TIME10_C1 ; 1(2)μs,结果为0时增加1μsGOTO TIME10_LOOP1 ; 2μsRETURN;------------------------------------------------------------------------------;500mS DELAY (500ms延时);------------------------------------------------------------------------------TIME500 MOVLW 26MOVWF TIMES1TEMP_LOOP1 MOVLW 35MOVWF TIMES2TEMP_LOOP2 MOVLW 149MOVWF TIMES3TEMP_LOOP3 DECFSZ TIMES3,1GOTO TEMP_LOOP3DECFSZ TIMES2,1GOTO TEMP_LOOP2DECFSZ TIMES1GOTO TEMP_LOOP1RETURN;---------------------------------------------------------------------------------------END ;程序结束以上是一个简单的循环闪亮的电路设计,这种设计也可以延伸到其它的控制设计当中。