De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce.

Verwante presentaties


Presentatie over: "2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce."— Transcript van de presentatie:

1 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce A/D conversie Seriele communicatie met een PC (UART - USB - VCP) IR Muziek

2 2PROJ5 – PIC assembler Code paging 11 bits == 2k instructies...

3 2PROJ5 – PIC assembler Code paging Als je minder dan 2k code gebruikt  geen probleem Anders: GOTO  LGOTO CALL  LCALL Maar: LGOTO en LCALL worden vertaald naar meerdere instructies, dus je kan niet skippen! Wel kan: BANKSEL daarzo SKPNZ GOTO daarzo

4 2PROJ5 – PIC assembler Switch bounce (denderen) Als je een drukknop indrukt maakt hij niet 1 keer contact: hij dendert een tijdje (maximaal ~ 50 ms)

5 2PROJ5 – PIC assembler PIC - USART USART = Universal Synchronous / Asynchronous Receiver + Transmitter wij gebruiken asynchroon PIC UART pins zijn verbonden met een FT232R USB-to- asynchronous converter Op de PC wordt een (virtuele) seriele poort aangemaakt (XP heeft al een driver) control panel  system  hardware  device manager  ports evt driver van www.ftdichip.com gebruiken op de PC gebruik je een terminal, bv HyperTerminal (hypertrm, 19k2, no parity, no flow control, hu: com3 (?)) In de image staat een icoon

6 2PROJ5 – PIC assembler PIC - USART

7 2PROJ5 – PIC assembler

8 BRGH = 0 BRGH = 1

9 2PROJ5 – PIC assembler 100-1--R

10 RR-0101-

11 PIC – USART - init make TxD (RC6) output, RxD (RC7) input SPBRG: 19k2 value for high speed TXSTA: 8 bit, enable, asynch, high speed RCSTA: enable, 8 bit, continuous, no ADDEN

12 2PROJ5 – PIC assembler PIC – USART - send wacht tot TSR bit aangeeft dat TSR empty is copy het te verzenden byte naar TXREG (wacht tot TSR bit aangeeft dat TSR empty is)

13 2PROJ5 – PIC assembler PIC – USART - receive als OERR bit gezet is: –clear CREN –wacht een paar instructies –set CREN als PIR1 : TXIF op 0 gezet is: –lees RCREG, dit is het ontvangen byte (anders is er nog niets ontvangen)

14 2PROJ5 – PIC assembler power van de 2e USB poort

15 2PROJ5 – PIC assembler PIC – USART – demo code subroutines UART_INIT : call to inistialise the UART for 19k2 UART_CHAR_SEND : sends the char in W UART_CHAR_RECEIVE : checks the UART for a received char, C flag set when a char is received (char in W), C flag is cleared when no char is received UART_CLRF_SEND : sends the CR LF sequence

16 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 16 PIC – USART – demo code main MAIN CALL UART_INIT MOVLW 'H' CALL UART_CHAR_SEND MOVLW 'i' CALL UART_CHAR_SEND CALL UART_CLRF_SEND MAIN_LOOP CALL UART_CHAR_RECEIVE SKPC GOTO MAIN_LOOP MOVWF Char MOVLW '"' CALL UART_CHAR_SEND MOVFW Char CALL UART_CHAR_SEND MOVLW '"' CALL UART_CHAR_SEND CALL UART_CLRF_SEND GOTO MAIN_LOOP

17 2PROJ5 – PIC assembler De IR ontvanger (1) TFM5360 (alleen) gevoelig voor een ~ 36 kHz signaal. Dat signaal mag niet continu zijn (goed is bv.1 kHz: 500 us signaal, 500 us uit)

18 2PROJ5 – PIC assembler De IR ontvanger (2) (alleen) gevoelig voor een 36 kHz signaal. Bij 10% afwijking, dus 33-40 kHz, 60% vd. Afstand.

19 2PROJ5 – PIC assembler De IR ontvanger (3) Aanbevolen: puls >= 400uS, periode =< 0.4

20 2PROJ5 – PIC assembler De IR ontvanger (4)

21 2PROJ5 – PIC assembler Eenvoudig IR zenden / ontvangen 36 kHz  28 us per puls  5 * 28 instructies per fase (hoog en laag) 400 us / 28 us  minimaal 14 pulsen, neem bv 30 pulsen Onmiddelijk daarna de IR ingang lezen (laag == signaal gedetecteerd) Pauze! (bv. 400 us) herhaal

22 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 22 DB038 circuit – multiplexers

23 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 23 PIC – A/D A/D converter vertaald een analoge spanning naar een waarde 0..255 (8 bits) of 0..1023 (10 bits) RA0 

24 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 24 PIC – A/D – configure pin as analog

25 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 25 PIC – A/D – aan zetten

26 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 26 PIC – A/D – channel 

27 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 27 PIC – A/D – clock

28 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 28 PIC – A/D – start, wait

29 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 29 PIC – A/D – start, wait  

30 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 30 PIC – A/D – enable, go / done

31 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 31 PIC – A/D – result format

32 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 32 Read an analog input Zet de juiste code op poort RE Configureer de pin (RA0) als input (TRISA) Configureer de pin (RA0 = AN0) in ANSEL als analoog Activeer de A/D, selecteer het betreffende kanaal, selecteer de conversie clock (ADCON0) Selecteer VSS en VDD als referenties, en de alignment (ADCON1) wacht 100 us start de conversie (ADCON0) wacht tot de conversie voltooid is (ADCON0) lees het resultaat (ADRESH, eventueel ADRESL)

33 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 33 DB038 circuit – luidspreker

34 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 34 piepen RE0..RE3 output, waarde 0x02 RA1 output En nu maar ‘knipperen’ op RA1

35 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 35 Hoogte en duur Met een punt er achter: 50% langer

36 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 36 nootnaam  frequentie

37 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 37 C4 – ¼ E4 – ¼ C4 – ¼ E4 – ¼ C4 – ¼ E4 – ¼ G4 – 3/8 Stilte – 1/8 G4 – 3/8 F4 – 1/8...

38 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 38 oefening (facultatief): toetsenbord, A/D, display, UART Schrijf een programma dat het toetsenbord leest, en de ingedrukte toets laat zien op het meest linker display. De ingedrukte toets bepaald het A/D kanaal dat wordt gelezen, en (hexadecimaal) wordt weergegeven op de rechter 2 displays.

39 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 39 oefening ‘A/D’ (facultatief) 1) Lees met de A/D converter de potentiometer uit en laat het 8-bits resultaat zien op 2 zeven- segment displays. 2) Lees met de A/D converter de LDR uit en laat het 8-bit resultaat zien op de LEDs

40 2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 40 oefening ‘piepen’ (facultatief) Maak een programma dat 1 keer een piep laat horen (bv 4 seconde op 1 kHz) Piepen is niets anders dan knipperen, maar dan met een luidspreker in plaats van een LED, en wat sneller. 1 kHz = 1ms per puls = 500 us hoog / 500 us laag 4 seconde = 4000 pulsen = 80 x 250


Download ppt "2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen Code paging Switch bounce."

Verwante presentaties


Ads door Google