\\OHARARP-PC\Users\ohararp\Documents\PICBASIC\18F25K20\GM862\GM862_D.bas
|
|
- Estella Sullivan
- 6 years ago
- Views:
Transcription
1 Device = 18F25K20 Xtal = 16 'Declare PLL_REQ = On 'OPTIMISER_LEVEL = 6 Clear All_Digital = TRUE 'Device Fuse configuration Config_Start FOSC = HS ; HS oscillator FCMEN = OFF ; Fail-Safe Clock Monitor disabled IESO = OFF ; Oscillator Switchover mode disabled PWRT = OFF ; PWRT disabled BOREN = OFF ; Brown-out Reset disabled in hardware and software BORV = 30 ; VBOR set to 3.0 V nominal WDTEN = OFF ; WDT is controlled by SWDTEN bit of the WDTCON register MCLRE = On ; MCLR pin enabled, RE3 input pin disabled LVP = OFF ; Single-Supply ICSP disabled Config_End 'HSERIAL = 9600 BAUD RCSTA = $90 ' Enable serial port & continuous receive TXSTA = $24 ' Enable transmit, BRGH = 1 SPBRG = 160 ' MHz, -0.08% SPBRGH = 1 ' BRGH =1 Option in SPRBG Calculator BAUDCON.3 = 1 ' Enable 16 bit baudrate generator 'Extract the Value Variables Dim GM862_BLOOP As Byte ' \ Dim GM862_EXTRACT_ITEM As Byte ' \ Dim GM862_COMMA_COUNT As Byte ' General purpose variables Dim GM862_CHARPOS As Byte ' / Dim GM862_CHAR As Byte ' / Dim GM862_LEN As Byte Dim GPSACP_TEST As Byte 'HARDWARE PINS Dim ON_OFF_PIN As PORTC.0 Dim RESET_PIN As PORTC.1 ' LED VARIABLES Dim BLINKM_BLU As PORTB.2 Dim BLINKM_GRN As PORTB.3 Dim BLINKM_RED As PORTB.4 Dim BLINKM_NUM As Byte'# of blinks Dim BLINKM_DEL As Byte 'Blink Delay Value Dim BLINKM_VAR As Byte 'Control LED Color bit.4=r, bit.3=g, bit.2=b Dim BLINKM_IDX As Byte 'GM862_PARSE Variables Dim GM862_DATA_STRING[20] As Byte ' Temp buffer Symbol GM862_RXBUFFER_LENGTH = 100 Dim GM862_RXBUFF[GM862_RXBUFFER_LENGTH] As Byte ' Serial buffer for NMEA sentences Dim GPSACP_STR[GM862_RXBUFFER_LENGTH] As Byte 'String to Float Variables Dim N As Byte Dim STF_STRING_IN[20] As Byte 'String to Float Variables Dim STF_POWER_10 Page 1 of 9
2 Dim STF_RESULT Dim STF_SIGN As Byte Dim STF_CHAR As Byte Dim STF_CHARPOS As Byte Dim STF_TEMP Dim TEST_CHAR As Byte Dim TEST_CHAR_IDX As Byte 'String to Float Variables Dim DDMM_STRING_IN[20] As Byte 'String to Float Variables Dim DDMM_POWER_10 Dim DDMM_RESULT Dim DDMM_SIGN As Byte Dim DDMM_CHAR As Byte Dim DDMM_CHARPOS As Byte Dim DDMM_CHARPOS_LOW As Byte Dim DDMM_TEMP Dim DDMM_TEMP_STR[6] As Byte 'GPS Varibles Dim LAT Dim SIGN_LAT Dim LON Dim SIGN_LON Dim FIX As Byte Dim SAT As Byte Dim ALT Dim SPD Dim HDG 'Position of Dilution Precision Variables Dim PDOP Dim HDOP Dim VDOP 'GENERIC VARIABLES Dim IDX_MAIN0 As Byte Dim IDX_MAIN1 As Byte Dim IDX_SEND_TEXT As Byte Dim IDX_GPSACP As Byte IDX_SEND_TEXT = 0 Dim CZ_TEST As Byte DelayMS INIT: SerOut PORTB.7,84,["BEGIN INIT",13,10] High BLINKM_BLU High BLINKM_GRN High BLINKM_RED BLINKM_VAR = %111 BLINKM_NUM = 10 High ON_OFF_PIN SerOut PORTB.7,84,["PULLING ON_OFF PIN HIGH",13,10] Page 2 of 9
3 DelayMS 2500 Low ON_OFF_PIN Low RESET_PIN SerOut PORTB.7,84,["PULLING ON_OFF PIN LOW",13,10] DelayMS 5000 MAIN: SerOut PORTB.7,84,["SENDING AT#BND=1",13,10] HSerOut ["AT#BND=1",13,10] GoSub RECEIVE_OK DelayMS 1000 IDX_GPSACP = 0 Clear GM862_CHARPOS For IDX_GPSACP = 0 To 24 'Setup reasonable # of tries to get a GPS Fix SerOut PORTB.7,84,["GETTING GPS LOCATION - ",Dec IDX_GPSACP,13,10] GoSub GPSACP_EXTRACT GoSub GPSACP_PROCESS If Len (GM862_RXBUFF) > 54 Then Break 'Breakout of loop when reasonable gps fix is received Next GoSub SEND_TEXT SerOut PORTB.7,84,["ENTERING WAIT LOOP",13,10] For IDX_MAIN0 = 1 To 1 For IDX_MAIN1 = 0 To 59 DelayMS 1000 BLINKM_VAR = %101 BLINKM_DEL = 10 BLINKM_NUM = 5 SerOut PORTB.7,84,["WAIT LOOP TIME - ",Dec IDX_MAIN0,":",Dec2 IDX_MAIN1," MIN",13,10] Next Next GoTo MAIN RECEIVE_OK: HSerIn 1000, TOUT0, [Wait("OK")] SerOut PORTB.7,84,["OK FOUND",13,10] BLINKM_VAR = %010 TOUT0: SerOut PORTB.7,84,["OK NOT FOUND",13,10] BLINKM_VAR = %100 GoTo INIT Page 3 of 9
4 BLINKM: For BLINKM_IDX = 0 To BLINKM_NUM If BLINKM_VAR.0 = 1 Then Low BLINKM_BLU If BLINKM_VAR.1 = 1 Then Low BLINKM_GRN If BLINKM_VAR.2 = 1 Then Low BLINKM_RED DelayMS BLINKM_DEL High BLINKM_BLU High BLINKM_GRN High BLINKM_RED DelayMS BLINKM_DEL Next SEND_TEXT: IDX_SEND_TEXT = 0 SEND_TEXT_RESTART: SerOut PORTB.7,84,["SENDING AT#BND=1",13,10] HSerOut ["AT#BND=1",13,10] GoSub RECEIVE_OK SerOut PORTB.7,84,["SENDING AT+CSCA= ,145",13,10] HSerOut["AT+CSCA= ,145",13,10] DelayMS 1000 SerOut PORTB.7,84,["SENDING AT+CMGF=1",13,10] HSerOut["AT+CMGF=1",13,10] DelayMS 1000 SerOut PORTB.7,84,["SENDING AT+CMGS=40404",13,10] HSerOut["AT+CMGS=40404",13,10] CZ_TEST = 1 HSerIn 2500,SEND_TEXT_TIMEOUT,[Wait(">")] SEND_TEXT_TIMEOUT_RETURN: Select CZ_TEST Case 1 SerOut PORTB.7,84,["> FOUND ",13,10] SerOut PORTB.7,84,[" LAT,44,Dec8 LON,13,10] HSerOut[" LAT,44,Dec8 LON,$1A,13, 10] BLINKM_VAR = %010 Case 0 SerOut PORTB.7,84,["SEND TEXT ERROR - ",Dec IDX_SEND_TEXT,13,10] If IDX_SEND_TEXT < 5 Then DelayMS SerOut PORTB.7,84,["RESENDING TEXT - ",Dec IDX_SEND_TEXT,13,10] Inc IDX_SEND_TEXT GoTo SEND_TEXT_RESTART Page 4 of 9
5 EndSelect SEND_TEXT_TIMEOUT: SerOut PORTB.7,84,["> NOT FOUND",13,10] BLINKM_VAR = %100 CZ_TEST = 0 GoTo SEND_TEXT_TIMEOUT_RETURN GPSACP_EXTRACT: GPSACP_TEST = 1 SerOut PORTB.7,84,["SENDING AT$GPSACP",13,10] HSerOut["AT$GPSACP",13,10] HSerIn 2500,GPSACP_TIMEOUT,[Wait("$GPSACP: ")] GPSACP_TIMEOUT_RETURN: Select GPSACP_TEST Case 1 GoSub RECEIVE_GP_SENTENCE BLINKM_VAR = %010 If Len (GM862_RXBUFF) < 54 Then BLINKM_VAR = %110 Case 0 SerOut PORTB.7,84,["GPSACP ELSE IF",13,10] EndSelect GPSACP_TIMEOUT: SerOut PORTB.7,84,["$GPSACP: NOT FOUND",13,10] BLINKM_VAR = %110 GPSACP_TEST = 0 GoTo GPSACP_TIMEOUT_RETURN RECEIVE_GP_SENTENCE: Clear GM862_CHARPOS Clear GM862_RXBUFF Repeat ' Create a loop to receive the serial string HSerIn [GM862_CHAR] ' Receive a character serially If GM862_CHAR = 13 Then Break ' Exit the loop if the string reaches the end GM862_RXBUFF[GM862_CHARPOS] = GM862_CHAR ' Convert ASCII to INT and load array GM862_RXBUFF Inc GM862_CHARPOS ' Increment Character Position Until GM862_CHARPOS > GM862_RXBUFFER_LENGTH ' Repeat the loop until the buffer runs out SerOut PORTB.7,84,["MESSAGE RECEIVED - ",Str GM862_RXBUFF," CHARPOS - ",Dec GM862_CHARPOS,13,10] Page 5 of 9
6 GPSACP_PROCESS: 'GET LAT GM862_EXTRACT_ITEM = 1 GoSub EXTRACT_THE_VALUE GM862_LEN = Len (GM862_DATA_STRING) 'SerOut PORTB.7,84,["GM862_DATA_STRING:",Str GM862_DATA_STRING,":LEN = ", Dec GM862_LEN,13,10] If GM862_LEN > 0 Then If GM862_DATA_STRING[GM862_LEN-1] = "N" Then SIGN_LAT = 1 If GM862_DATA_STRING[GM862_LEN-1] = "S" Then SIGN_LAT = -1 'SerOut PORTB.7,84,["SIGN_TEST:",GM862_DATA_STRING[GM862_LEN-1], ":SIGN_LAT = ",Dec SIGN_LAT,13,10] GM862_DATA_STRING[GM862_LEN-1] = 0 'Null Terminate This Value Str STF_STRING_IN = Str GM862_DATA_STRING GoSub STRING_TO_FLOAT LAT = STF_RESULT / 100 StrN DDMM_STRING_IN = Str$(Dec8 LAT) GoSub DDMM_TO_FLOAT LAT = DDMM_RESULT * SIGN_LAT 'SerOut PORTB.7,84,["LAT:",Dec8 LAT,13,10] 'GET LON GM862_EXTRACT_ITEM = 2 GoSub EXTRACT_THE_VALUE GM862_LEN = Len (GM862_DATA_STRING) 'SerOut PORTB.7,84,["GM862_DATA_STRING:",Str GM862_DATA_STRING,":LEN = ", Dec GM862_LEN,13,10] If GM862_LEN > 0 Then If GM862_DATA_STRING[GM862_LEN-1] = "E" Then SIGN_LON = 1 If GM862_DATA_STRING[GM862_LEN-1] = "W" Then SIGN_LON = -1 'SerOut PORTB.7,84,["SIGN_TEST:",GM862_DATA_STRING[GM862_LEN-1], ":SIGN_LON = ",Dec SIGN_LAT,13,10] GM862_DATA_STRING[GM862_LEN-1] = 0 'Null Terminate This Value Str STF_STRING_IN = Str GM862_DATA_STRING GoSub STRING_TO_FLOAT LON = STF_RESULT / 100 StrN DDMM_STRING_IN = Str$(Dec8 LON) GoSub DDMM_TO_FLOAT LON = DDMM_RESULT * SIGN_LON 'SerOut PORTB.7,84,["LON:",Dec8 LON,13,10] EXTRACT_THE_VALUE : Clear GM862_DATA_STRING GM862_COMMA_COUNT = 0 ' Reset the comma counting variable GM862_CHARPOS = 0 ' Start at the beginning of the array Repeat GM862_CHAR = GM862_RXBUFF[GM862_CHARPOS] ' Scan the array to parse Page 6 of 9
7 If GM862_CHAR = "," Then Inc GM862_COMMA_COUNT GM862_COMMA_COUNT if a comma is found If GM862_COMMA_COUNT = GM862_EXTRACT_ITEM Then the correct comma? GM862_BLOOP = 0 ' Increment ' Have we found ' Yes. So... Repeat ' Form a loop Inc GM862_CHARPOS ' Skip over the comma and keep scanning the array GM862_CHAR = GM862_RXBUFF[GM862_CHARPOS] ' Extract the pieces of the value into GM862_CHAR If GM862_CHAR = 0 Then If GM862_CHAR = "," Then GM862_DATA_STRING[GM862_BLOOP] = GM862_CHAR'- 48 ' Fill GM862_DATA_STRING with the value, (converted into integers) Inc GM862_BLOOP ' Point to the next data piece Until GM862_CHARPOS > GM862_RXBUFFER_LENGTH ' Keep looping until a terminator is found, or the array runs out Inc GM862_CHARPOS Until GM862_CHARPOS > GM862_RXBUFFER_LENGTH STRING_TO_FLOAT: STF_POWER_10 = 1 STF_RESULT = 0 STF_SIGN = 0 STF_CHARPOS = 0 STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Get a character from the String Inc STF_CHARPOS ' / If STF_CHAR = "-" Then ' Have we found a "-" character? STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Yes. So Discard the "-" character Inc STF_CHARPOS ' / STF_SIGN = 1 ' Indicate that the value is negative Else If STF_CHAR = "+" Then ' Have we found a "+" character? STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Yes. So Discard the "+" character Inc STF_CHARPOS ' / While 1 = 1 ' Scan the digits before the decimal point (if included) If STF_CHAR < "0" Then Break ' \ If STF_CHAR > "9" Then Break ' / Exit the loop if non numeric characters found STF_RESULT = STF_RESULT * 10 ' \ STF_RESULT = STF_RESULT + STF_CHAR ' Calculate the whole part of the floating point value STF_RESULT = STF_RESULT - "0" ' / string Wend STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Inc STF_CHARPOS ' / Get another character from the If STF_CHAR == "." Then ' Have we found a "." character? STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Yes. So Discard the "." character Inc STF_CHARPOS ' / While 1 = 1 included) ' Scan the digits after the decimal point (if Page 7 of 9
8 If STF_CHAR < "0" Then Break ' \ If STF_CHAR > "9" Then Break ' / Exit the loop if non numeric characters found STF_POWER_10 = STF_POWER_10 * 10 ' \ STF_TEMP = (STF_CHAR - "0") / STF_POWER_10 ' Calculate the fractional part of the floating point value STF_RESULT = STF_RESULT + STF_TEMP ' / STF_CHAR = STF_STRING_IN[STF_CHARPOS] ' \ Inc STF_CHARPOS ' / Get another character from the string Wend If STF_SIGN = 1 Then STF_RESULT = -STF_RESULT ' Convert to negative if required ' 'Convert from DD.MMSS to Decimal Degrees DDMM_TO_FLOAT: DDMM_POWER_10 = 1 DDMM_RESULT = 0 DDMM_SIGN = 0 DDMM_CHARPOS = 0 DDMM_CHARPOS_LOW = 0 DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Get a character from the String Inc DDMM_CHARPOS ' / If DDMM_CHAR = "-" Then ' Have we found a "-" character? DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Yes. So Discard the "-" character Inc DDMM_CHARPOS ' / DDMM_SIGN = 1 ' Indicate that the value is negative Else If DDMM_CHAR = "+" Then ' Have we found a "+" character? DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Yes. So Discard the "+" character Inc DDMM_CHARPOS ' / While 1 = 1 ' Scan the digits before the decimal point (if included) If DDMM_CHAR < "0" Then Break ' \ If DDMM_CHAR > "9" Then Break ' / Exit the loop if non numeric characters found DDMM_RESULT = DDMM_RESULT * 10 ' \ DDMM_RESULT = DDMM_RESULT + DDMM_CHAR ' Calculate the whole part of the floating point value DDMM_RESULT = DDMM_RESULT - "0" ' / DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Inc DDMM_CHARPOS ' / Get another character from the string Wend If DDMM_CHAR == "." Then ' Have we found a "." character? DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Yes. So Discard the "." character Inc DDMM_CHARPOS ' / While 1 = 1 ' Scan the digits after the decimal point (if included) If DDMM_CHAR < "0" Then Break ' \ If DDMM_CHAR > "9" Then Break ' / Exit the loop if non numeric characters found DDMM_TEMP_STR[DDMM_CHARPOS_LOW] = DDMM_CHAR Page 8 of 9
9 DDMM_CHAR = DDMM_STRING_IN[DDMM_CHARPOS] ' \ Inc DDMM_CHARPOS ' / Get another character from the string Inc DDMM_CHARPOS_LOW If DDMM_CHARPOS_LOW = 5 Then Break 'Quit at DEC6 Wend DDMM_TEMP = Val(DDMM_TEMP_STR,Dec) ' Convert String to Decimal DDMM_TEMP = DDMM_TEMP / ' Convert.MMMMM to.dddd DDMM_RESULT = DDMM_RESULT + DDMM_TEMP If DDMM_SIGN = 1 Then DDMM_RESULT = -DDMM_RESULT ' Convert to negative if required Page 9 of 9
#pragma config Usage. #pragma config Settings. #pragma config <setting>=<named value>
1 z 6 27.3.2015 17:21 #pragma config Usage #pragma config = // Oscillator Selection bits: 11XX External RC oscillator, CLKO function on RA6 // Fail-Safe Clock Monitor Enable bit:
More informationELCT 912: Advanced Embedded Systems
ELCT 912: Advanced Embedded Systems Lecture 10: Applications for Programming PIC18 in C Dr. Mohamed Abd El Ghany, Department of Electronics and Electrical Engineering Programming the PIC18 to transfer
More informationEET203 MICROCONTROLLER SYSTEMS DESIGN Serial Port Interfacing
EET203 MICROCONTROLLER SYSTEMS DESIGN Serial Port Interfacing Objectives Explain serial communication protocol Describe data transfer rate and bps rate Describe the main registers used by serial communication
More information* File: 8x8_matrix_vinyl.c. * Author: Phil Glazzard. * Created on 16 August 2016, 17:59. /* This design drives five 8x8 common cathode LED matrices
/* * File: 8x8_matrix_vinyl.c * Author: Phil Glazzard * * Created on 16 August 2016, 17:59 */ /* This design drives five 8x8 common cathode LED matrices * via MAX7219 constant current drivers using SPI
More informationPIC18LF46K50. Flash Memory Programming Specification 1.0 DEVICE OVERVIEW 2.0 PROGRAMMING OVERVIEW. 2.2 Dedicated ICSP/ICD Port (44-Pin TQFP Only)
Flash Memory Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F24K50 PIC18F25K50 PIC18F26K50 PIC18F45K50 PIC18F46K50 PIC18LF24K50
More informationELCT706 MicroLab Session #4 UART Usage for Bluetooth connection PC - PIC
ELCT706 MicroLab Session #4 UART Usage for Bluetooth connection PC - PIC USART in PIC16F877A Universal Synchronous/Asynchronous Receiver Transmitter - Can receive and transmit - Can be synchronous or Asynchronous
More informationHong Kong Institute of Vocational Education Digital Electronics & Microcontroller. 8. Microcontroller
8. Microcontroller Textbook Programming Robot Controllers, Myke Predko, McGraw Hill. Reference PIC Robotics: A Beginner's Guide to Robotics Projects Using the PIC Micro, John Iovine, McGraw Hill. Embedded
More informationFlash Microcontroller Programming Specification PIN DESCRIPTIONS (DURING PROGRAMMING): PIC18F872X FAMILY. During Programming
Flash Microcontroller Programming Specification 10 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F6527 PIC18F6622 PIC18F6627 PIC18F6628 PIC18F6722
More informationQuick Reference Guide
SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD mikroelektronika Development tools - Books - Compilers Quick Reference Quick Reference Guide with EXAMPLES for Basic language This reference guide
More informationInfinity Project. an additional memory for GLCD where to store programs. July Infinity Project. Additional memory for GLCD by Tony, i2tzk Pag.
Infinity Project an additional memory for GLCD where to store programs July 2014 Infinity Project. Additional memory for GLCD by Tony, i2tzk Pag. 1 INDEX 1. Project description 3 2. Getting started 6 2.1
More informationTransmitting GPS position by an Iridium phone
Transmitting GPS position by an Iridium phone F. SIGERNES AND JEFF HOLMES University Centre in Svalbard (UNIS), Box 156, N 9170 Longyearbyen, Norway Abstract This document describes how to send GPS information
More informationum-fpu V3.1.0 Release Notes
um-fpu V3.1.0 Release Notes This document describes the new features, enhancements and bug fixes in the um-fpu V3.1.0 chip. For a detailed description of the features, refer to the um-fpu V3.1 Datasheet
More informationSerial Communication with PIC16F877A
Serial Communication with PIC16F877A In this tutorial we are going to discuss the serial/uart communication using PIC16F877A. PIC16F877A comes with inbuilt USART which can be used for Synchronous/Asynchronous
More informationELCT706 MicroLab Session #4 UART Usage for Bluetooth connection PC - PIC
ELCT706 MicroLab Session #4 UART Usage for Bluetooth connection PC - PIC USART in PIC16F877A Universal Synchronous/Asynchronous Receiver Transmitter - Can receive and transmit - Can be synchronous or Asynchronous
More informationUniversity of Hawaii EE 361L MPLab Quick Tutorial and Project 2.1 Last updated September 1, 2011
University of Hawaii EE 361L MPLab Quick Tutorial and Project 2.1 Last updated September 1, 2011 This is a quick tutorial of programming the PIC 16F684A processor using the MPLab Integrated Development
More informationSection 8. Reset. Reset HIGHLIGHTS. This section of the manual contains the following topics:
Section 8. HIGHLIGHTS This section of the manual contains the following topics: 8.1 Introduction... 8-2 8.2 Clock Source Selection at... 8-5 8.3 POR: Power-on... 8-5 8.4 External (EXTR)... 8-7 8.5 Software
More informationHow to use RFpro in Packet Mode
How to use RFpro in Packet Mode Jumper Setting Priority Jumper J1 à Configuration Mode Jumper à Higher Priority Jumper J2 à Packet Mode Jumper à Lower Priority When both the jumpers are connected, by default,
More informationPIC12(L)F1501/PIC16(L)F150X
PIC12(L)F1501/PIC16(L)F150X Memory Programming Specification This document includes the programming specifications for the following devices: PIC12F1501 PIC16F1503 PIC16F1507 PIC16F1508 PIC16F1509 1.0
More informationChapter 10 Sections 1,2,9,10 Dr. Iyad Jafar
Starting with Serial Chapter 10 Sections 1,2,9,10 Dr. Iyad Jafar Outline Introduction Synchronous Serial Communication Asynchronous Serial Communication Physical Limitations Overview of PIC 16 Series The
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting
More informationSection 28. WDT and SLEEP Mode
Section 28. WDT and SLEEP Mode HIGHLIGHTS This section of the manual contains the following major topics: 28 28.1 Introduction... 28-2 28.2 Control Register... 28-3 28.3 Watchdog Timer (WDT) Operation...
More informationPIC18F1XK50/PIC18LF1XK50
Flash Memory Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F13K50 PIC18F14K50 PIC18LF13K50 PIC18LF14K50 2.0 PROGRAMMING
More informationHi Hsiao-Lung Chan Dept Electrical Engineering Chang Gung University, Taiwan
PIC18 Serial Port Hi Hsiao-Lung Chan Dept Electrical Engineering Chang Gung University, Taiwan chanhl@mail.cgu.edu.twcgu Serial vs. parallel data transfer 2 Simplex, half-, and full-duplex transfers 3
More information/*Algorithm: This code display a centrifuge with five variable speed RPM by increaseing */
/*Algorithm: This code display a centrifuge with five variable speed RPM by increaseing */ /*the speed the cell which are less dense can float and the cell that are denser can sink*/ /*the user has five
More informationVariables Data types Variable I/O. C introduction. Variables. Variables 1 / 14
C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition
More informationEasy GPS Readings for the Basic Stamp Chip. By Randy R. Price Kansas State University Biological and Agricultural Engineering Department
Easy GPS Readings for the Basic Stamp Chip By Randy R. Price Kansas State University Biological and Agricultural Engineering Department Introduction: Small microcontrollers, such as the Basic Stamp II
More informationSection 8. Reset HIGHLIGHTS. Reset. This section of the manual contains the following major topics:
Section 8. HIGHLIGHTS This section of the manual contains the following major topics: 8.1 Introduction... 8-2 8.2 Control Registers...8-3 8.3 System...8-6 8.4 Using the RCON Status Bits... 8-11 8.5 Device
More informationAn Introduction to Designing Ham Radio Projects with PIC Microcontrollers. George Zafiropoulos KJ6VU
An Introduction to Designing Ham Radio Projects with PIC Microcontrollers George Zafiropoulos KJ6VU Topics Ham radio applications Microcontroller basics Hardware design examples Implementing your design
More informationThe University of Texas at Arlington Lecture 21_Review
The University of Texas at Arlington Lecture 21_Review CSE 5442/3442 Agenda Tuesday December 1st Hand back Homework 7,8 and 9. Go over questions and answers Exam 3 Review Note: There will be a take home
More informationFeatures 2.4 GHz Carrier Frequency RS232 UART interface with variable baud rate Input supply voltage: 5V to 12V 255 possible Channels frequencies (0 to 255) Programmable Device Address (255 per channel)
More informationEmbedded Systems Module. 6EJ505. C Tutorial 3: using the ICD3 rev tjw
Embedded Systems Module. 6EJ505 C Tutorial 3: using the ICD3 rev. 27.9.16 tjw Images are reproduced from Reference 1. Microchip permits the use of its images for educational purposes. Main Learning Points
More informationLABORATORY UNIT ON MICROCONTROLLERS ** AND FEEDBACK: AN INTRODUCTION
Chemistry 628 University of Wisconsin-Madison LABORATORY UNIT ON MICROCONTROLLERS ** AND FEEDBACK: AN INTRODUCTION A microcontroller is a mini-computer on a single, highly-integrated chip. It contains
More informationPIC16F87XA to PIC16F88X Migration
PIC16F87XA to PIC16F88X Migration DEVICE MIGRATIONS This document provides an overview of considerations for migrating from the PIC16F87XA product family to the PIC16F88X devices. When undertaking this
More informationSection 29. Device Configuration Bits
Section 29. Device Configuration Bits HIGHLIGHTS This section of the manual contains the following major topics: 29.1 Introduction... 29-2 29.2 Configuration Word Bits... 29-3 29.3 Program Verification/Code
More information' The highest number we can use is in a PIC is 65,535. Therefore, we ' Must use small numbers for our math.
'****************************************************************** '* Name : Compass.BAS * '* Author : Ed Cannady edcannady@earthlink.net * '* Notice : Copyright (c) 2003 * '* All Rights Reserved * '*
More informationPIC Microcontroller Introduction
PIC Microcontroller Introduction The real name of this microcontroller is PICmicro (Peripheral Interface Controller), but it is better known as PIC. Its first ancestor was designed in 1975 by General Instruments.
More informationCHAPTER 6 CONCLUSION AND SCOPE FOR FUTURE WORK
134 CHAPTER 6 CONCLUSION AND SCOPE FOR FUTURE WORK 6.1 CONCLUSION Many industrial processes such as assembly lines have to operate at different speeds for different products. Process control may demand
More informationThere are a number of ways of doing this, and we will examine two of them. Fig1. Circuit 3a Flash two LEDs.
Flashing LEDs We re going to experiment with flashing some LEDs in this chapter. First, we will just flash two alternate LEDs, and then make a simple set of traffic lights, finally a running pattern; you
More informationFLASH Microcontroller Programming Specification PIN DESCRIPTIONS (DURING PROGRAMMING): PIC18FXX2/XX8. During Programming
FLASH Microcontroller Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448
More informationFLASH Microcontroller Programming Specification PIN DESCRIPTIONS (DURING PROGRAMMING): PIC18FXX20. During Programming
FLASH Microcontroller Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F6520 PIC18F6620 PIC18F6720 PIC18F8520 PIC18F8620
More informationIntroduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.
Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform www.sierraradio.net www.hamstack.com Topics Introduction Hardware options Software development HamStack project
More informationunsigned char ReadADC() { /************* start A/D, read from an A/D channel *****************/ unsigned char ADC_VALUE;
/*********************************************************************************************/ /* BME 361 Biomeasurement Lab - PIC18F4525BT Demo */ /* Laboratories 1-8: A/D, D/A, LCD display, ECG simulation,
More informationProgramming for PIC18FXX2/FXX8 FLASH MCUs PIN DESCRIPTIONS (DURING PROGRAMMING): PIC18FXX2/XX8. During Programming. Pin Name Pin Type Pin Description
M Programming for PIC18FXX2/FXX8 FLASH MCUs 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448
More informationn Group of statements that are executed repeatedly while some condition remains true
Looping 1 Loops n Group of statements that are executed repeatedly while some condition remains true n Each execution of the group of statements is called an iteration of the loop 2 Example counter 1,
More information1 Introduction to Computers and Computer Terminology Programs Memory Processor Data Sheet Example Application...
Overview of the PIC 16F648A Processor: Part 1 EE 361L Lab 2.1 Last update: August 19, 2011 Abstract: This report is the first of a three part series that discusses the features of the PIC 16F684A processor,
More informationName :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70
Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give
More informationApplication Note 101 um-fpu64. Reading GPS Data. Microcontroller. GPS Receiver. Introduction. um-fpu64
Application Note 101 um-fpu64 Reading GPS Data Introduction GPS data is used in a wide range of embedded systems applications. Adding a GPS device to an application can consume significant resources on
More informationUsing BasicX to Derive Acceleration From GARMIN GPS Text Data
Basic Express Application Note Using BasicX to Derive Acceleration From GARMIN GPS Text Data Introduction Global Positioning System (GPS) receivers are typically able to measure position, velocity and
More informationDept. of CSE, IIT KGP
Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of
More informationToday. o main function. o cout object. o Allocate space for data to be used in the program. o The data can be changed
CS 150 Introduction to Computer Science I Data Types Today Last we covered o main function o cout object o How data that is used by a program can be declared and stored Today we will o Investigate the
More informationEmbedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester
Embedded Systems PIC16F84A Internal Architecture Eng. Anis Nazer First Semester 2017-2018 Review Computer system basic components? CPU? Memory? I/O? buses? Instruction? Program? Instruction set? CISC,
More informationRemember you can download a complete NMEA 0183 reference manual here:
GPS Series - Part 3 By Michael Simpson Interface to a GPS Module or Receiver As seen in December 2007 of Servo Magazine Pick up an issue at www.servomagazine.com At this point you should understand how
More informationTable of Contents. PREFACE... vii CONVENTIONS... vii HOW TO USE THIS MANUAL... vii Further Information...viii
Table of Contents PREFACE... vii CONVENTIONS... vii HOW TO USE THIS MANUAL... vii Further Information...viii USING BASIC-52... 1 BASIC-52 PINOUT AND FEATURES... 1 8052AH and 80C52 DIFFERENCES... 1 DEFINITION
More informationAPPLICATION NOTE 2361 Interfacing an SPI-Interface RTC with a PIC Microcontroller
Maxim/Dallas > App Notes > REAL-TIME CLOCKS Keywords: DS1305, SPI, PIC, real time clock, RTC, spi interface, pic microcontroller Aug 20, 2003 APPLICATION NOTE 2361 Interfacing an SPI-Interface RTC with
More informationSyntax and Variables
Syntax and Variables What the Compiler needs to understand your program, and managing data 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line
More informationLecture (03) PIC16F84 (2)
Lecture (03) PIC16F84 (2) By: Dr. Ahmed ElShafee ١ PIC16F84 has a RISC architecture, or Harvard architecture in another word ٢ PIC16F84 belongs to a class of 8 bit microcontrollers of RISC architecture.
More informationCLCD1 Serial 1 wire RS232 LCD development board
CLCD1 Serial 1 wire RS232 LCD development board Can be used with most 14 pin HD44780 based character LCD displays Use with 1,2,3 or 4 line displays. (Four line LCD shown above) Shown assembled with optional
More informationProgramming Examples for Picaxe BASIC. NC Engineering Systems
Programming Examples for Picaxe BASIC NC Engineering Systems C:\Users\Mike\Desktop\TechStudies\Programs\Updated Programs\Example.bas 'EXAMPLE 4 'This program shows how to use the 5 'HIGH and LOW commands
More informationKit Contents. Getting Started Kits. Board. Board
Kit Contents Getting Started Kits Each kit has the following items: Board with microcontroller (18(L)F4620) Power brick for the board. Programmer, and power brick for programmer. USB logic analyzer Digital
More informationdspic30f dspic30f Flash Programming Specification 1.0 OVERVIEW AND SCOPE 2.0 PROGRAMMING OVERVIEW OF THE dspic30f 2.1 Hardware Requirements
dspic30f Flash Programming Specification 1.0 OVERVIEW AND SCOPE This document defines the programming specification for the dspic30f family of Digital Signal Controllers (DSCs). The programming specification
More informationPICAXE X2 Product Briefing.
PICAXE X2 Product Briefing. Introduction This product briefing is designed to inform existing PICAXE users about the enhanced programming commands and features of the exciting new X2 range of PICAXE microcontrollers.
More informationOverview RFSv4.3 is a RF module providing easy and flexible wireless data transmission between devices. It is based on AVR Atmega8 with serial output which can be interfaced directly to PC. Features 2.4
More informationPIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features:
PIC16F7X 2/40-pin -Bit CMOS FLASH Microcontrollers Devices Included in this Data Sheet: PIC16F7 PIC16F74 PIC16F76 PIC16F77 Microcontroller Core Features: High-performance RISC CPU Only 5 single word instructions
More informationn/a PIC12F629-I/P (RC) n/a PIC12F629-I/SN (RC) n/a PIC12F675-I/P (RC) n/a PIC12F675-I/SN MICROCONTROLLER (RC)
DATA SHEET PIC Microcontrollers Order code Manufacturer code Description 73-36 n/a PICF69-I/P (RC) 73-364 n/a PICF69-I/SN (RC) 73-34 n/a PICF675-I/P (RC) 73-36 n/a PICF675-I/SN MICROCONTROLLER (RC) PIC
More informationNumber Systems Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. Indian Institute of Technology Kharagpur Number Representation
Number Systems Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. Indian Institute of Technology Kharagpur 1 Number Representation 2 1 Topics to be Discussed How are numeric data items actually
More informationSection 33. Device Configuration (Part II)
Section 33. Device Configuration (Part II) HIGHLIGHTS This section of the manual contains the following major topics: 33.1 Introduction... 33-2 33.2 Device Configuration Registers... 33-2 33.3 Configuration
More informationNotes on Chapter 1 Variables and String
Notes on Chapter 1 Variables and String Note 0: There are two things in Python; variables which can hold data and the data itself. The data itself consists of different kinds of data. These include numbers,
More informationELE492 Embedded System Design
Overview ELE9 Embedded System Design Examples of Human I/O Interfaces Types of System Interfaces Use of standards RS Serial Communication Overview of SPI, I C, L, and CAN Class //0 Eugene Chabot Examples
More information3. Java - Language Constructs I
Educational Objectives 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations, Evaluation of Expressions, Type Conversions You know the basic blocks
More informationGNU ccscript Scripting Guide IV
GNU ccscript Scripting Guide IV David Sugar GNU Telephony 2008-08-20 (The text was slightly edited in 2017.) Contents 1 Introduction 1 2 Script file layout 2 3 Statements and syntax 4 4 Loops and conditionals
More informationPIC18F2XJXX/4XJXX FAMILY
Flash Microcontroller Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F24J10 PIC18F25J10 PIC18F44J10 PIC18F45J10 PIC18F24J11
More informationAPPLICATION NOTE Wire Communication with a Microchip PICmicro Microcontroller
Maxim > App Notes > 1-Wire DEVICES BATTERY MANAGEMENT Keywords: 1-wire, PICmicro, Microchip PIC, 1-Wire communication, PIC microcontroller, PICmicro microcontroller, 1 wire communication, PICs, micros,
More informationFlow Control. CSC215 Lecture
Flow Control CSC215 Lecture Outline Blocks and compound statements Conditional statements if - statement if-else - statement switch - statement? : opertator Nested conditional statements Repetitive statements
More informationPIC16(L)F153XX Memory Programming Specification
PIC16(L)F153XX Memory Programming Specification 1.0 OVERVIEW This programming specification describes an SPI-compatible programming method for the PIC16(L)F153XX family of microcontrollers. Section 3.0
More informationIntroduction to PIC Programming
Introduction to PIC Programming Programming Baseline PICs in C by David Meiklejohn, Gooligum Electronics Lesson 3: Sleep Mode and the Watchdog Timer Continuing the series on C programming, this lesson
More informationFLASH Microcontroller Programming Specification PIN DESCRIPTIONS (DURING PROGRAMMING): PIC18FXX80/XX85. During Programming
FLASH Microcontroller Programming Specification 1.0 DEVICE OVERVIEW This document includes the programming specifications for the following devices: PIC18F6585 PIC18F8585 PIC18F6680 PIC18F8680 2.0 PROGRAMMING
More informationObjectives. Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments
Basics Objectives Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments 2 Class Keyword class used to define new type specify
More informationBinghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program
Syntax What the Compiler needs to understand your program 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line Possibly replacing it with other
More informationIntroduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur
Introduction to Internet of Things Prof. Sudip Misra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 23 Introduction to Arduino- II Hi. Now, we will continue
More informationHBI-232MKII. MSX-BASIC commands and functions used for RS-232C communication.
HBI-232MKII MSX-BASIC commands and functions used for RS-232C communication. CLOSE (close) Closes a file opened by an OPEN statement. CLOSE [#] [file number] Pile number] File number: Integer constants,
More informationAX-12. PIC12F675 microcontroller Activity board
AX- PICF67 microcontroller Activity board Optional of AX- board DC adaptor 9-V Small stepper motor Microcontroller unit features : Microchip s 8-pin PIC microocntroller PICF67 on-board KWord Program memory
More informationMarshallSoft GPS Component. Reference Library
MarshallSoft GPS Component Reference Library (MGC_REF) Version 2.2 June 8, 2011. This software is provided as-is. There are no warranties, expressed or implied. Copyright (C) 2002-2011 All rights reserved
More informationSC168MBM 16x8 Characters MODBUS MASTER LCD
Product Description SC168MBM is a programmable LCD that serve as MASTER RTU MODBUS device. It reads and display registers values from MODBUS Slave devices through its RS485 port. The LCD can be configured
More informationunsigned char ReadADC() { /************* start A/D, read from an A/D channel *****************/ unsigned char ADC_VALUE;
/*********************************************************************************************/ /* BME 361 Biomeasurement Lab - PIC18F4525BT Demo */ /* Laboratories 1-8: A/D, D/A, LCD display, ECG simulation,
More informationsomedata = { } somedata[ cheese ] = dairy somedata[ Cheese ] = dairy items = ( ( 3, 2 ), ( 5, 7 ), ( 1, 9 ), 0, ( 1 ) )
Structuring State 4 Self-Review Questions Self-review 4.1 What are the values of the variables a, b, c and d after the following statements have been executed? a = 1 b = 2 c = a + b d = a + c a will be
More informationWeb Site: Forums: forums.parallax.com Sales: Technical:
Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com Office: (916) 624-8333 Fax: (916) 624-8003 Sales: (888) 512-1024 Tech Support: (888) 997-8267
More informationMARSLIFE Technical Report #3
MARSLIFE Technical Report #3 The SMITH Control System and Control Software B. Broekhoven 1 1. Introduction The Sampling Microbes In The High atmosphere (SMITH) pump control subsystem provides control and
More informationPIC18(L)F26/27/45/46/47/55/56/57K42
1.0 OVERVIEW PIC18(L)F26/27/45/46/47/55/56/57K42 PIC18(L)F26/27/45/46/47/55/56/57K42 Memory Programming Specification This programming specification describes an SPI-based programming method for the PIC18(L)F26/27/45/46/47/55/56/
More informationSection 9. Watchdog Timer (WDT) and Power-Saving Modes
Section 9. Watchdog Timer (WDT) and Power-Saving Modes HIGHLIGHTS This section of the manual contains the following topics: 9.1 Introduction... 9-2 9.2 Power-Saving Modes... 9-2 9.3 Watchdog Timer (WDT)...
More informationSirfGPSTweaker documentation. Contents. What is SirfGPSTweaker. Downloads. Concepts by Marcin Gosiewski
SirfGPSTweaker documentation 2007 by Marcin Gosiewski www.gosiewski.pl/marcin/programming Contents SirfGPSTweaker documentation Contents What is SirfGPSTweaker Downloads Concepts Screenshots with explaination
More informationCoDeSys Library Extension for EASY242 Applications. FBE - Library. Reference Guide for use with EASY242
CoDeSys FBE - Library Reference Guide for use with EASY242 frenzel + berg electronic GmbH & Co. KG Turmgasse 4 89073 Ulm Germany - phone +49(0)731/970 570 - fax +49(0)731/970 5739 www.frenzel-berg.de FbeE242Libraries_rev2.doc
More informationUNIVERSAL SERIAL INTERFACE
UNIVERSAL SERIAL INTERFACE Coastal Environmental Systems Application Note ZENO_MANUAL_USI.DOC 4/21 UNIVERSAL SERIAL INTERFACE Overview The Universal Serial Interface lets you program your ZENO to communicate
More informationET-BASE PIC40/4550(ICSP)
ET-BASE PIC0/550(ICSP) ET-BASE PIC0/550(ICSP) is Board Microcontroller in the series of PIC that is designed to use and install Chip Microcontroller 0PIN No.PIC8F550; it can support program development
More informationJX-12. JX-12 : PIC12F6xx/PIC16F630/676 Project board 1
JX- PICF9/7, PICF0/7 Project board On-Board PICF7, can use with PICF0/7.00 x. Prototype area with 94 pads Downloading of program via PC parallel port Selection of RUN/PROG mode by switch Built in RS- interface
More informationCHAPTER 1 - World of microcontrollers
CHAPTER 1 - World of microcontrollers One Time Programmable ROM (OTP ROM) One time programmable ROM enables you to download a program into it, but, as its name states, one time only. If an error is detected
More informationPIC Simulator IDE BASIC Compiler Reference Manual
PIC Simulator IDE BASIC Compiler Reference Manual Table Of Contents: General info Show Warnings, Do Not Compile Unused Code, Initialize Variables On Declaration, About variables Dim, As, Bit, Byte, Word,
More information1 Introduction to Computers and Computer Terminology Programs Memory Processor Data Sheet... 4
Overview of the PIC 16F648A Processor: Part 1 EE 361L Lab 2.1 Last update: August 1, 2016 Abstract: This report is the first of a three part series that discusses the features of the PIC 16F648A processor,
More informationPIC16(L)F184XX Memory Programming Specification
PIC16(L)F184XX Memory Programming Specification Overview The PIC16(L)F184XX Memory Programming Specification describes the programming method for the PIC16(L)F184XX family of 8-bit microcontrollers. The
More informationGPS Series - Part 1 EM-406A. Interface to a GPS Module or Receiver. By Michael Simpson
GPS Series - Part 1 By Michael Simpson Interface to a GPS Module or Receiver As seen in October 2007 of Servo Magazine Pick up an issue at www.servomagazine.com I m sure you all have had dreams of using
More informationFBE - Library. Reference Guide for use with EASY242 & EASY2606
CoDeSys FBE - Library Reference Guide for use with EASY242 & EASY2606 frenzel + berg electronic GmbH & Co. KG Turmgasse 4 89073 Ulm Germany - phone +49(0)731/970 570 - fax +49(0)731/970 5739 www.frenzel-berg.de
More information