ImageVerifierCode 换一换
格式:PPT , 页数:42 ,大小:1.57MB ,
资源ID:378301      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-378301.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(An Introduction to PIC Microcontrollers.ppt)为本站会员(eveningprove235)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

An Introduction to PIC Microcontrollers.ppt

1、An Introduction to PIC Microcontrollers,Supervised by : Dr. Loai Tawalbeh,Jordan University of Science & Technology Faculty of Computer & Information Technology Computer Engineering Department,Rami Mohammad Al-Sheikh Fady Ahmad Ghanim,Overview,Introduction,What is PIC? - A family of Harvard architec

2、ture microcontrollers made by Microchip Technology- Derived from the PIC1650 originally developed by General Instrument Microelectronics Division. - The name PIC was originally an acronym for “Programmable Intelligent Computer“.,Introduction,Why PIC is popular?,low cost ,wide availability with high

3、clock speed availability of low cost or free development tools Only 37 instructions to remember serial programming and re-programming with flash memory capability Its code is extremely efficient, allowing the PIC to run with typically less program memory than its larger competitors PIC is very small

4、 and easy to implement for non-complex problems and usually accompanies to the microprocessors as an interface,Two Different Architectures,Harvard Architectures (newer arch.),Von-Neumann Architecture,Two Different Architectures,Harvard ArchitecturesUsed mostly in RISC CPUs Separate program bus and d

5、ata bus: can be of different widths For example, PICs use: Data memory (RAM): a small number of 8bit registers Program memory (ROM): 12bit, 14bit or 16bit wide (in EPROM, FLASH, or ROM),Von-Neumann ArchitectureUsed in: 80X86 (CISC PCs) Only one bus between CPU and memory RAM and program memory share

6、 the same bus and the same memory, and so must have the same bit width Bottleneck: Getting instructions interferes with accessing RAM,RISC vs. CISC,Reduced Instruction Set Computer (RISC) Used in: SPARC, ALPHA, Atmel AVR, etc. Few instructions(usually 50) Only a few addressing modes Executes 1 instr

7、uction in 1 internal clock cycle (Tcyc),Complex Instruction Set Computer (CISC) Used in: 80X86, 8051, 68HC11, etc. Many instructions(usually 100) Several addressing modes Usually takes more than 1 internal clock cycle (Tcyc) to execute,Family Core Architecture Differences,The PIC Family: Cores 12bit

8、 cores with 33 instructions: 12C50x, 16C5x14bit cores with 35 instructions: 12C67x,16Cxxx16bit cores with 58 instructions: 17C4x,17C7xxEnhanced 16bit cores with 77 instructions: 18Cxxx,The PIC Family: Speed,Can use crystals, clock oscillators, or even an RC circuit. Some PICs have a built in 4MHz RC

9、 clock, Not very accurate, but requires no external components! Instruction speed = 1/4 clock speed (Tcyc = 4 * Tclk)All PICs can be run from DC to their maximum specified speed:,Clock and Instruction Cycles,Instruction Clock Clock from the oscillator enters a microcontroller via OSC1 pin where inte

10、rnal circuit of a microcontroller divides the clock into four even clocks Q1, Q2, Q3, and Q4 which do not overlap. These four clocks make up one instruction cycle (also called machine cycle) during which one instruction is executed. Execution of instruction starts by calling an instruction that is n

11、ext in string. Instruction is called from program memory on every Q1 and is written in instruction register on Q4. Decoding and execution of instruction are done between the next Q1 and Q4 cycles. On the following diagram we can see the relationship between instruction cycle and clock of the oscilla

12、tor (OSC1) as well as that of internal clocks Q1-Q4. Program counter (PC) holds information about the address of the next instruction.,Pipelining in PIC,Instruction Pipeline Flow,The PIC Family: Program Memory,Technology: EPROM, FLASH, or ROM It varies in size from one chip to another.- examples:,Th

13、e PIC Family: Data Memory,PICs use general purpose “File registers” for RAM (each register is 8bits for all PICs)- examples:,PIC Programming Procedure,For example: in programming an embedded PIC featuring electronically erasable programmable read-only memory (EEPROM). The essential steps are:Step 1:

14、 On a PC, type the program, successfully compile it and then generate the HEX file.Step 2: Using a PIC device programmer, upload the HEX file into the PIC. This step is often called “burning“.Step 3: Insert your PIC into your circuit, power up and verify the program works as expected. This step is o

15、ften called “dropping“ the chip. If it isnt, you must go to Step 1 and debug your program and repeat burning and dropping.,PIC16F877A Features,High Performance RISC CPU: Only 35 single word instructions to learnAll single cycle instructions except for program branches, which are two-cycleOperating s

16、peed: DC - 20 MHz clock input DC - 200 ns instruction cycle,PIC16F877A Pin Layout,PIC Memory,The PIC16F877A has an 8192 (8k) 14bit instruction program memory368 Bytes Registers as Data Memory : Special Function Registers: used to control peripherals and PIC behaviors General Purpose Registers: used

17、to a normal temporary storage space (RAM)256 Bytes of nonvolatile EEPROM,PIC Program Memory,The PIC16F877 8192 (8k) 14bit instructions,PIC Data Memory,Register Addressing Modes,Indirect Addressing: Full 8 bit register address is written the special function register FSR INDF is used to get the conte

18、nt of the address pointed by FSR Exp : A sample program to clear RAM locations H20 H2F:MOVLW 0x20 ;initialize pointerMOVWF FSR ;to RAM NEXT CLRF INDF ;clear INDF registerINCF FSR,F ;inc pointerBTFSS FSR,4 ;all done?GOTO NEXT ;no clear next CONTINUE : ;yes continue,Immediate Addressing:Movlw H0F,Dire

19、ct Addressing: Uses 7 bits of 14 bit instruction to identify a register file address 8th and 9th bit comes from RP0 and RP1 bits of STATUS register. i.e. Z equ D2 ; Z=2btfss STATUS, Z ; test if the 3rd bit of the STATUS register is set,PIC Family Control Registers,Uses a series of “Special Function

20、Registers” for controlling peripherals and PIC behaviors.,STATUS Bank select bits, ALU bits (zero, borrow, carry) INTCON Interrupt control: interrupt enables, flags, etc. OPTION_REG contains various control bits to configure the TMR0 prescaler/WDT postscaler ,the External INT Interrupt, TMR0 and the

21、 weak pull-ups on PORTB,Special Function Register ”STATUS Register“,Special Function Register ”INTCON Register“,PIC Peripherals,Each peripheral has a set of SFRs to control its operation.Different PICs have different on-board peripherals,Peripheral Features,5 Digital I/O Ports Three timer/counter mo

22、dules Timer0: 8-bit timer/counter with 8-bit pre-scaler Timer1: 16-bit timer/counter with pre-scaler, can be incremented during SLEEP via external crystal/clock Timer2: 8-bit timer/counter with 8-bit period register, pre-scaler and post-scaler A 10-bit ADC with 8 inputs Two Capture, Compare, PWM mod

23、ules Capture is 16-bit, max. resolution is 12.5 ns Compare is 16-bit, max. resolution is 200 ns PWM max. resolution is 10-bit Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave) Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection P

24、arallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls,PIC Peripherals: Ports (Digital I/O),Ports are basically digital I/O pins which exist in all PICsThe PIC16F877A have the following ports: PORT A has 6 bit wide, Bidirectional PORT B,C,D have 8 bit wide, Bidirectional PORT E h

25、as 3 bit wide, BidirectionalPorts have 2 control registers TRISx sets whether each pin is an input (1) or output (0) PORTx sets their output bit levels or contain their input bit levelsPin functionality “overloaded” with other features Most pins have 25mA source/sink thus it can drive LEDs directly,

26、PIC Peripherals: Analogue to Digital Converter,Only available in 14bit and 16bit coresFs (sample rate) 54KHzthe result is a 10 bit digital numberCan generate an interrupt when ADC conversion is done,PIC Peripherals: Analogue to Digital Converter,The A/D module has four registers. These registers are

27、: A/D Result High Register (ADRESH) A/D Result Low Register (ADRESL) A/D Control Register0 (ADCON0) A/D Control Register1 (ADCON1) Multiplexed 8 channel inputs Must wait Tacq to charge up sampling capacitor Can take a reference voltage different from that of the controller,PIC Peripherals: USART: UA

28、RT,Serial Communications Peripheral: Universal Synch./Asynch. Receiver/TransmitterInterrupt on TX buffer empty and RX buffer fullAsynchronous communication: UART (RS-232C serial) Can do 300bps - 115kbps 8 or 9 bits, parity, start and stop bits, etc. Outputs 5V so you need a RS232 level converter (e.

29、g., MAX232),PIC Peripherals: USART: UART,Synchronous communication: i.e., with clock signalSPI = Serial Peripheral Interface 3 wire: Data in, Data out, Clock Master/Slave (can have multiple masters) Very high speed (1.6Mbps) Full speed simultaneous send and receive (Full duplex)I2C = Inter IC 2 wire

30、: Data and Clock Master/Slave (Single master only; multiple masters clumsy) Lots of cheap I2C chips available; typically 100kbps,PIC Peripherals: Timers,Available in all PICs.generate interrupts on timer overflow.Some 8bits, some 16bits, some have prescalers and/or postscalersCan use external pins a

31、s clock in/clock out (ie, for counting events or using a different Fosc),Timer 0 Block Diagram,Special Function Register OPTION_REG Register,PIC16F877A Block Diagram,PIC16F877A Block Diagram,Brown-out: when the supplying voltage falls below a trip point (BVDD).,This ensures that the device does not

32、continue program execution outside the valid operation range of the device,Typically used in AC line or large battery application where large loads maybe switched in and cause the device voltage to temporarily fall below the specified operating minimum,PIC16F877A Instruction Set,Literal and Control

33、Instructions,Byte-Oriented Instructions,Bit-Oriented Instructions,PIC Applications,LED Flasher,Loop: bsf PORTB, 0call Delay_500msbcf PORTB, 0call Delay_500msgoto Loop,PIC Applications,Button Read,Movlw 0movwf TRISD, fbsf TRISD, 2 Loop: btfsc PORTD, 2goto lightgoto No_light Light:bsf PORTB,0goto Loop No_light:bcf PORTB,0goto Loop,References and Further Readings,http:/http:/en.wikipedia.org/wiki/PIC_microcontroller16F87x Data SheetMid Range Manual,Thank You For Your Attendance.,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1