<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkMGQXo8fSp7ImA9WhRUE0k.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644</id><updated>2012-01-23T10:47:00.475-08:00</updated><category term="Zero crossing detection section" /><category term="LMC 6482 OP-Amp" /><category term="Linear Congruential" /><category term="heart beat meter" /><category term="rs232 pic 12f508" /><category term="moving led sign" /><category term="DISPLAY" /><category term="C example for pic microcontroller" /><category term="Interface  switch  microcontroller PIc16f84" /><category term="16f876" /><category term="SD Card Interface with Microcontroller" /><category term="X24C01" /><category term="Lcd_Init" /><category term="Built in ADC of microcontroller PIC16f877 resolution is 10bit" /><category term="7-segment" /><category term="Software UART Library" /><category term="dice control algorithm" /><category term="Read/Write and Control Logic of 82c55" /><category term="communication path" /><category term="difference between arrays" /><category term="LongToStr" /><category term="Project information file" /><category term="measure torque and acceleration" /><category term="RoHS Compliant" /><category term="PIC18F2455" /><category term="Programmable read only memory" /><category term="8 data bits" /><category term="16F876A" /><category term="simple pic lcd display for calculator" /><category term="serial communication" /><category term="visitor counter" /><category term="lowest possible frequency" /><category term="parameters to 2400 baud" /><category term="Dec temperature" /><category term="USB based Data loger" /><category term="Single Cycle Instructions" /><category term="VOLTMETER WITH LCD DISPLAY" /><category term="Interfacing lm35 to pic microcontroller." /><category term="evaluate factorial" /><category term="Embedded C Programming and the Microchip PIC" /><category term="sound generatation with microcontroller" /><category term="ICD-U draws" /><category term="Data logging with PIC16f84 Microcontroller" /><category term="Slope Analog to Digital" /><category term="LongToStr Convert a long into string" /><category term="pic16f877 controlled lcd and keypad" /><category term="serial communication of PIC18f452" /><category term="MPLAB  Integrated Development Environment" /><category term="Archive includes SD cards" /><category term="type T (copper-constantan)" /><category term="DelayMS" /><category term="EECON2 register" /><category term="circuit serial port to program pic16f877" /><category term="24C16" /><category term="Keypad Tutorial Microcontroller" /><category term="pic 16f84 keypad code" /><category term="PC serial port1" /><category term="strncpy" /><category term="PIC16F877 basic station circuit" /><category term="PWRT" /><category term="13 channels of 10-bit Analog-to-Digital (A/D) converter" /><category term="Interfacing of DAC0800 with microcontrollers" /><category term="dac 0800" /><category term="PIC 16F877" /><category term="READING AND WRITING TO SERIAL PORT VIA USART" /><category term="ADC" /><category term="DIGITAL to ANALOG converter dac080" /><category term="chicago furnace PLC" /><category term="microcontrollers to calculate the volume of this cylinder" /><category term="universal input" /><category term="24C32" /><category term="PIC processor’s memory area" /><category term="transducer for heart beats" /><category term="call by reference" /><category term="Stereo FM band receiver RDS decoding  mobile applications Microcontroller PIC18f452" /><category term="EL MICROCONTROLADOR ES EL CEREBRO DEL SISTEMA" /><category term="vector type function" /><category term="seven segment" /><category term="Serial interface" /><category term="Full Radio Text supported" /><category term="DS2408" /><category term="16F84A program memory" /><category term="PIC microcontroller" /><category term="PIC18F452 based Calculator with Keypad and LCD" /><category term="Lucent" /><category term="fancy LED matrix display" /><category term="PIC16F54 interrupt enabled" /><category term="matlab programs for PID tuning" /><category term="the gain and controls used for controlling temperature" /><category term="High blood pressure detection system" /><category term="house temperature monitoring" /><category term="cryptography" /><category term="18F4550" /><category term="Projects uC Microcontroller" /><category term="SD cards with Microcontroller 18F452" /><category term="Highest" /><category term="RS232" /><category term="scalar type function" /><category term="call by value" /><category term="LCD" /><category term="structure of CID register" /><category term="how to make a sound with PIC" /><category term="multiply matrices" /><category term="Automatic Furnace" /><category term="Multi Media Card" /><category term="UART/USART" /><category term="hardware design" /><category term="nested call limit" /><category term="buffer" /><category term="flash memory storage" /><category term="monitor feature" /><category term="file format" /><category term="DS2890" /><category term="Operation of the SD Card in SPI Mode" /><category term="operation of while" /><category term="deigital BP Apparatus" /><category term="Digital Dice with PIC 16F877 Microcontroller" /><category term="PIC-ICD2-POCKET" /><category term="Dec COUNT skip if 0" /><category term="Math calculation with PIC microcontroller" /><category term="create a swap file" /><category term="Boot Loader" /><category term="PLC Cable" /><category term="MBasic Compiler for PIC microcontrollers" /><category term="Data transmission in Memory devices SD cards" /><category term="18f4550 portb" /><category term="Random number generate with basic language for microcontrollers" /><category term="MMC interface with Microcontroller PIC16f877 and serial communication with PC" /><category term="Calculate the area of circle using microcontroller" /><category term="8 Character x 2 line LCD" /><category term="BASIC Stamp comienza" /><category term="Lcd interfacing with PIC18f452" /><category term="Assembler programming language" /><category term="presses of a switch" /><category term="eeprom coding using ccs compiler" /><category term="74ls244" /><category term="Lights counterller" /><category term="microcontroller projects" /><category term="PIC18f452 serial Data acquisition for Temperature Monitoring" /><category term="Delay_ms" /><category term="Simulator" /><category term="move message from left to right" /><category term="Hewlett-Packard" /><category term="redundant critical systems monitoring" /><category term="pcf8583 led clock circuit" /><category term="automatic celestial furnace" /><category term="ANSI C Library in MikroC for PIC MicroControllers" /><category term="periféricos externos por la patita" /><category term="programming cable" /><category term="font converter led message" /><category term="RTC" /><category term="PIC Data logger process industry" /><category term="Two digits digital counter" /><category term="SECCIÓN DE LA ENTRADA/SALIDA SERIE DEL PC" /><category term="LIN-bus RS-232 with DB-9S" /><category term="mikroc example" /><category term="external power supply" /><category term="and PDAs" /><category term="Mode Selection 82c55" /><category term="LCD_CLEAR" /><category term="remove contineous input" /><category term="Example Project with PIC12f508 for electronic Dice" /><category term="microcontroller play sound" /><category term="Description of SD card" /><category term="data Logging" /><category term="Mmc_Fat_Read" /><category term="Control of Power with TRIAC  through Microcontroller PIC16f84" /><category term="Components of a C program" /><category term="Digitl thermometer with PIC12c671 Microcontroller" /><category term="Interfacing LCD on pic16f877a portd" /><category term="disposición del usuario una memoria RAM" /><category term="El módulo OEM BS2-IC" /><category term="TTL logic" /><category term="mechanism of reset in CPU" /><category term="PIC-PG1" /><category term="VB6 Data logger example program RS232 serial communication" /><category term="Input-output unit" /><category term="24c08" /><category term="volatge inversion and level shifting" /><category term="mobile phones" /><category term="ABCDEF PIN Connection" /><category term="Lcd_Cmd" /><category term="USB human interface device" /><category term="“inline” routine or inline function" /><category term="64MB Flash MMC" /><category term="pic16f877a portc" /><category term="encryption" /><category term="RAM ROM EEPROM register A/d LED ports microcntroller PIC 12c508" /><category term="PC based security system" /><category term="PIC-MCP-USB" /><category term="Program passing an array to a function" /><category term="Internal RC Oscillator" /><category term="USB Projects with Microcontroller" /><category term="LED Display driver" /><category term="12keys  keypad interface" /><category term="number is odd or even" /><category term="Microcontroller PIC Family" /><category term="noise effect" /><category term="write protection flags" /><category term="Data Communication of SD Card in SPI Mode" /><category term="pic16f877a portb" /><category term="Analog to digital conversion  PIC 16f877 subroutine example program in assembly microcontroller" /><category term="24C02" /><category term="warnings" /><category term="24C04" /><category term="rs422" /><category term="largest element of an integer array" /><category term="pic microcontroller lcd graphics" /><category term="strcpy" /><category term="length limitation" /><category term="MOSI" /><category term="Trigonometry functions" /><category term="Timebase task" /><category term="c language programming" /><category term="16f877 gas" /><category term="chip reset" /><category term="Johnson counter" /><category term="Toshiba" /><category term="Central Processing Unit" /><category term="STATUS registers" /><category term="4-digit display" /><category term="16f84" /><category term="Telephone Card Chip Example Project with PIC12f675" /><category term="do-while" /><category term="Start of MAIN program" /><category term="HD44780" /><category term="GPS Logger" /><category term="PIC-PG2" /><category term="RD bit set in EECON1" /><category term="diac" /><category term="adc interfacing with Pic16f877" /><category term="Absolute listing file" /><category term="FlashPIC-DEVelopment Board" /><category term="operation of PWM" /><category term="MikroC" /><category term="advantages of rs485 interface" /><category term="pic microcontroller code" /><category term="multiplexed display led" /><category term="Initialize the SPI bus" /><category term="code for pic18f452 pwm port" /><category term="Calculator using Microcontroller" /><category term="IC-Prog" /><category term="get file size in bytes" /><category term="16f877 mikroc lcd" /><category term="Digital volt meter with LED 7segment display PIC16f877" /><category term="practice interrupts" /><category term="Jump to main program" /><category term="oscilloscope" /><category term="ICSP" /><category term="furnace installation" /><category term="speed sensor" /><category term="ADC and TEMPERATURE sensor interfacing" /><category term="lm335" /><category term="ICD-S Debugger and Programmer" /><category term="I/O Ports" /><category term="MAX485" /><category term="InfraRed ReceiveR" /><category term="poweer supply circuit diagram for SD cards" /><category term="pic microcontroller projects" /><category term="PIC MICROCONTROLLER PROGRAMMER" /><category term="PIC-MCP" /><category term="pic16f877 counter on lcd" /><category term="channel 0 (AN0)" /><category term="SPI" /><category term="MultiMediaCard" /><category term="tiny chips" /><category term="scrol text from right to left" /><category term="inline routines" /><category term="Lcd_Chr" /><category term="CPU" /><category term="programming and debugging" /><category term="PIC C code" /><category term="assignment statement" /><category term="24C64" /><category term="PICBL" /><category term="CCS PIC-C compiler" /><category term="Microcontroller PIC16F87 Tutorial:Microcontrollers are used due to following reasons in control systems" /><category term="EPROM" /><category term="microcontroller calculator" /><category term="Serial LCDs" /><category term="PIC12C67X" /><category term="atmel tsop80 programmer" /><category term="Reload value for Phase Control" /><category term="event counter" /><category term="moving message on LCD using PIC microcontroller 16f84" /><category term="seven segment dice with pic 16f84" /><category term="sirven para conectar los periféricos" /><category term="10-bit ADC channels" /><category term="Interfacing of 82c55 for peripheral devices" /><category term="pic18f8520" /><category term="MikroC code for CALCULATOR WITH KEYPAD AND LCD" /><category term="requirements of the function" /><category term="PIC18F46K20" /><category term="pic16f877a porta" /><category term="Flash PIC development board" /><category term="Development Pic Microcontroller Assembler Control System Pic Series" /><category term="program example of analog to digital conersion of PIC18f452 or 16f877a" /><category term="Microcontroller based data logger" /><category term="PICINFO" /><category term="USB DAQ" /><category term="PIC mikroC Sound Library" /><category term="Built In Function &quot;Highest&quot;" /><category term="automatic temperature control" /><category term="BPM" /><category term="Program passing an array using pointers" /><category term="complex home automation" /><category term="PIC Microcontroller 16f877 based calculator with LCD" /><category term="Western Design Center" /><category term="DS2450" /><category term="WDT" /><category term="ICPROG" /><category term="50% duty cycle" /><category term="PIC16f84 SD card" /><category term="Random Number Generator for Microcontrollers" /><category term="PIC PIC18F" /><category term="kepad asm program for microcontroller" /><category term="Microcontroller pic16f873" /><category term="arrays and pointers" /><category term="counter timer" /><category term="structure" /><category term="SHA" /><category term="xtal" /><category term="Serial LCD" /><category term="MISO" /><category term="LD1086V33 voltage regulator" /><category term="AM ROM EEPROM register A/d LED ports microcntroller PIC 12c508" /><category term="SPI bus" /><category term="IR" /><category term="Parallel LCD" /><category term="Motor Speed Sensing with PIC Microcontroller" /><category term="how microcontroller goes to reset condition" /><category term="interfacing of LED seven segment display with microcntroller PIC 16F877" /><category term="Display result on LCD" /><category term="example program in basic proton compiler LM-35 10mv/C Temperature measurement PIC 16F877  microcontroller built in ADC LCD 2 line display" /><category term="Usart_Write" /><category term="characterize a DC-motor" /><category term="LCD of heart beat monitor" /><category term="Zilog" /><category term="EEPROM I2C (IIC): X24C01" /><category term="PIC18F452 microcontroller" /><category term="and for loops in C" /><category term="PWM motor control by using PIC16f877" /><category term="Low Voltage Programming mode" /><category term="Tracing code" /><category term="Hitachi HD44780" /><category term="DS28E04" /><category term="gas furnaces" /><category term="Usart_Read" /><category term="Transmit Enable Bit" /><category term="High power load driver section" /><category term="Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628" /><category term="builtin two usart in pic microcontrollers" /><category term="EEDATA and EEADR" /><category term="PIC16F877 Microcontroller" /><category term="Usart_Init" /><category term="DS2413" /><category term="interface of button" /><category term="seven segment led display" /><category term="digital thermometer" /><category term="PIC 12f509 microcontroller and dice project" /><category term="serial comms RS232" /><category term="LED interfacing with microcontroller" /><category term="DS18B20" /><category term="filp flop" /><category term="SD Card Association" /><category term="analog comparators" /><category term="Raw TMC" /><category term="TRIAC control program in HitechC for Microcontroller PIC16f84" /><category term="current sensor" /><category term="tuning of pid" /><category term="Program Counter" /><category term="PIC18F2220/2320/4220/4320 Datasheet" /><category term="PIC 16F877A Beginner Tutorials" /><category term="Wait for data byte" /><category term="Data acquisition" /><category term="OCR" /><category term="Random Digression" /><category term="Increment data byte" /><category term="PIC18F452" /><category term="LED moving message diaply using PIC16f628 CD4017 and  74LS595" /><category term="maximum distance is 1200m" /><category term="PIC18F1320" /><category term="PIC18F4550 USB Data acquisition project" /><category term="write system timestamp to a file" /><category term="self-programming" /><category term="regulated programming voltages" /><category term="IC-PROG v1.05D" /><category term="lm34" /><category term="PWM" /><category term="Universal asynchronous receiver transmitter" /><category term="18f452 icsp schema" /><category term="passenger counter" /><category term="connect PIc 16f877 to burglar system" /><category term="Delay_Cyc" /><category term="Workspace information file" /><category term="conversion analogica digital mikroc" /><category term="PIC" /><category term="Circle_Area" /><category term="scroll text" /><category term="MAX6674/5 Thermocouple" /><category term="PIC microcontrollers sound generator" /><category term="Quiz Game Controller" /><category term="pcf8583" /><category term="fabrication technology" /><category term="lm35" /><category term="Single step technique" /><category term="analog temperature sensor." /><category term="RS232 to RS485 converter" /><category term="LCD using 18F4550" /><category term="actual mnemonic" /><category term="duct cleaning" /><category term="microcontroller operation" /><category term="air conditioning furnace" /><category term="and Philips" /><category term="Delay_us" /><category term="PIC 16F88 MCUs" /><category term="Running in emulation mode" /><category term="Output Display Code" /><category term="Project code" /><category term="c program for factorial" /><category term="interfacing switch on pic16f877a portd" /><category term="common cathode seven segment display" /><category term="OCR register" /><category term="Digital Thermometer LM35 Seven segment display" /><category term="RF transmitter" /><category term="lm317 circuit diagram" /><category term="differentail voltages" /><category term="mikroC language library functions" /><category term="PIC-PG3 or PIC-PG4 and programming and debugging with PIC-ICD2" /><category term="controlling a dice with microcontroller pic16f84" /><category term="Dallas 1 wire" /><category term="mikroC Language SD Card Library Functions" /><category term="PIC microcontrollers" /><category term="LM2940" /><category term="An LED Dice using a PIC 16F84 or 16F88" /><category term="pic16f84" /><category term="SECCIÓN DE LAS LÍNEAS DE E/S PARA INFORMACIÓN" /><category term="RAM ROM EEPROM register A/d LED ports microcntroller PIC 8051" /><category term="calling statement" /><category term="Heart rate monitor" /><category term="PIC16f877a" /><category term="example c language program of pic16f84" /><category term="Skip this location" /><category term="8051" /><category term="ASC750SCA" /><category term="Parallel Slave Port" /><category term="differential equations used in temperature controlling and modelling" /><category term="dac0800 multiplier" /><category term="9Vdc power" /><category term="robotic programming" /><category term="Brown-out Reset (BOR)" /><category term="Automatic Controls" /><category term="24C01A" /><category term="matrices and microcontroller" /><category term="EEPROM I2C" /><category term="check heart beats with LDR" /><category term="Fractional part" /><category term="rs423" /><category term="Clock oscillator and instruction cycle" /><category term="Common Cathode type display" /><category term="core architecture" /><category term="button actually pressed" /><category term="Data Acquisition System using PIC Microcontroller" /><category term="A LED Dice implemented with a PIC microprocessor" /><category term="POR" /><category term="Xilinx" /><category term="MMC" /><category term="programming process" /><category term="example program in basic proton compiler in Basic language" /><category term="How to Creating a new Project in MPLAB IDE" /><category term="Características generales del PIC16C57" /><category term="modules" /><category term="GPS systems" /><category term="FM transmitter   LM324   LM723   TL4942N3055   LM338   SG3525   Li-ion battery charger   Pulse generator" /><category term="PIC MikroC" /><category term="electronics applications using microcontrollers" /><category term="PIC18F8722-E/PT Brown-out Detect" /><category term="RISC" /><category term="potentiometer" /><category term="erase sector size" /><category term="TRIAC Control Turns ON part way through cycle" /><category term="frequency counter" /><category term="MPLAB" /><category term="measure frequency real time" /><category term="PIC18F4550" /><category term="watchdog timer in PIC 16f84a" /><category term="PIC12c509 Microcontroller based data Logging Project" /><category term="download free microcontroller compiler" /><category term="Heart beat monitor PIC16f84 Microcontroller display on LCD" /><category term="16f877 simple mikroc led program" /><category term="multiplexed display with pic16f84" /><category term="autotune PID" /><category term="swap function to exchange the values in between" /><category term="Subdirectory in SD card" /><category term="SPI protocol" /><category term="PIC18F458" /><category term="selects LP oscillator" /><category term="Clock_Khz" /><category term="alternate method of rs232" /><category term="Security System Using PIC16f877" /><category term="HMI touchscreen operator panels and SCADA software" /><category term="Interfacing LED matrix" /><category term="PIC18F" /><category term="PWM of PIC16f877" /><category term="PIC12CE673 and PIC12CE674" /><category term="example programs in PICC" /><category term="ZEROBIT" /><category term="Voltage References" /><category term="Library functions simplify programmers" /><category term="Microcontroller Based Voltmeter with LCD Display" /><category term="Random number generate" /><category term="SD cards based data logger" /><category term="8 bit digital to analog conversion using microcontroller PIC16f877 and dac0800" /><category term="Multiplexed LED Display 4-digit with PIC16f877" /><category term="Hardware USART Library" /><category term="CLRF COUNT" /><category term="max6674" /><category term="adc_conversion" /><category term="burglar System on 16F877 circuit" /><category term="Dice with microcontroller 16f84" /><category term="analog-to-digital converter" /><category term="PIC calculator" /><category term="Arithmetic Types" /><category term="PIC micro-controller 16f877 LED display flashing circuit diagram a small project" /><category term="Ubicom" /><category term="SN75176" /><category term="flash Program store" /><category term="Interface of LCD with PIC using MikroC builtin Library" /><category term="MikroC programm of Microcontroller Based Voltmeter with LCD Display" /><category term="PIC16F873" /><category term="datasheet PIN configuration of PIC 16F877 ADC PWM PORT wave interrupt timer counter input output signal crystal" /><category term="Library file" /><category term="MikroC Projects" /><category term="Requires ICD-2" /><category term="Temperature Logger based on PIC18f452" /><category term="example program of factorial" /><category term="The SPI (Serial Peripheral Interface) bus" /><category term="PIC 12f675 Example Project for Quiz Game Controller" /><category term="Lcd_Out_Cp" /><category term="beginning of main function" /><category term="High performance RISC CPU" /><category term="Microcontroller Basic Elements" /><category term="Clock_Mhz" /><category term="Brown-out Reset" /><category term="PIC-ICD2-TINY" /><category term="Lcd_Chr_Cp" /><category term="A/D converters" /><category term="Interface of Lights and Switches with microcontroller" /><category term="RS232 cabel" /><category term="PIC Microcontroller Data Acquisition System" /><category term="74hc245 and pic16f877" /><category term="PIC12C672" /><category term="use pointer for c-language code for pic microcontrollers" /><category term="Vdelay_ms" /><category term="soft-uart" /><category term="repeat the required operation" /><category term="circuit diagrams" /><category term="PIC16F84 device" /><category term="MikroC Code for VOLTMETER WITH LCD DISPLAY" /><category term="pic datalogger 18f" /><category term="digital counter" /><category term="Serial to parallel" /><category term="Microchip compatible standard HEX code file" /><category term="digit LED" /><category term="Pinout compatible to the PIC16C73B/74B/76/77" /><category term="8x8x8 matrix" /><category term="inline functions" /><category term="a stand-alone “programmer”" /><category term="Watchdog Timer" /><category term="Orthogonal Instruction Set" /><category term="debouncing effect" /><category term="Interrupt operation Revision" /><category term="Read Write SD Card Sectors using PIC18F452" /><category term="Single Bit Set/Reset Feature of  82C55" /><category term="Usart_Data_Ready" /><category term="Erasable programmable read only memory" /><category term="SMS messaging using AT commands" /><category term="an ICD" /><category term="PIC12C671" /><category term="PIC16F" /><category term="moc3021" /><category term="String Manipulation in MikroC" /><category term="Digital UP and DOWN counter based on Microcontroller PIC16f877" /><category term="seven segment display" /><category term="18F452 and 18F4550" /><category term="16f877a microcontroller c code" /><category term="type K (chromel-alumel)" /><category term="rs485" /><category term="Digital pulse generator section" /><category term="Ccs Picc" /><category term="MAX667x chips" /><category term="central processing device" /><category term="PIC16F877" /><category term="DS2433" /><category term="single loop integrity" /><category term="Secure Digital (SD) memory" /><category term="desired frequency" /><category term="temperature sensor" /><category term="Exercises for the MicroC programming using various PIC microcontrollers" /><category term="INterfacing key board matrix" /><category term="Send the byte byte" /><category term="USB to RTOS" /><category term="ICD version" /><category term="EEPROM location" /><category term="12c509" /><category term="I2c" /><category term="Interface of MAX232 with microcontroller PIC 16f877" /><category term="lcd display of counter" /><category term="DS2417" /><category term="74ls138" /><category term="Data logger SD cards" /><category term="temperature records" /><category term="Power ON reset" /><category term="temperature sensor lm35 circuit diagram pic project" /><category term="LED multiplexed display Display of two numbers" /><category term="Subtract Interrupt time and other delays" /><category term="The Tracker 300 series of PID Controllers are fully configurable by PC software" /><category term="Flash memory based" /><category term="MPLAB project development" /><category term="Texas Instruments" /><category term="common cathode type digits" /><category term="Structure of C Programs" /><category term="DS2423" /><category term="HyperTerminal terminal emulation software" /><category term="74ls595" /><category term="LED on pic16f877a portb" /><category term="when a microcontroller is reseted" /><category term="smart cards" /><category term="2 capture/compare/PWM functions" /><category term="STM Microelectronics" /><category term="proggrammer cable" /><category term="example program of pic16f877" /><category term="Proton Basic code example for PIC18f452 counter project" /><category term="Mmc_Fat_Assign in SD card" /><category term="Breakpoint technique" /><category term="HLVD" /><category term="beats per minutes" /><category term="CMOS FLASH/EEPROM technology" /><category term="programming in mikroc" /><category term="one-time programmable ROM" /><category term="Data acquisition Unit" /><category term="PIC16F874" /><category term="vehicles access control" /><category term="Basic Synchronous Serial Port" /><category term="RTC interface with microcontroller PIC16f84" /><category term="Hex file Downloading" /><category term="high speed serial communicataion" /><category term="LM35 adc PC serial port LCD" /><category term="use of pointers" /><category term="PIC18f452 counter UP and Down display on LCD" /><category term="PIC 16f877 interface with SD cards" /><category term="chip select" /><category term="SOIC to DIP converter board" /><category term="Arithmetic Types and Pointers" /><title>Data logger based on PIC 16F877, 18F452 and 18F4550</title><subtitle type="html">Developement of Data Logger for temperature pressure DC voltage current plant data environment windspeed data logger and wind direction data loger</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://picinf.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>137</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DataLoggerBasedOnPic16f87718f452And18f4550" /><feedburner:info uri="dataloggerbasedonpic16f87718f452and18f4550" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEUMSH48eCp7ImA9WhdVGEk.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6016122074745615196</id><published>2011-09-22T11:55:00.000-07:00</published><updated>2011-09-23T22:31:29.070-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T22:31:29.070-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VB6 Data logger example program RS232 serial communication" /><category scheme="http://www.blogger.com/atom/ns#" term="pic datalogger 18f" /><title>VB6 Data logger example program RS232 serial communication</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
Introduction of VB6 Data Logger Program:-&lt;br /&gt;
&lt;br /&gt;
This is the second of data logger project using PIC18f452. In the previous post we have discussed the hardware of data acquisition system and now in this post we will learn how we can develop a simple data logger to log the process inputs using visual basic VB6.pic datalogger 18f&lt;br /&gt;
&lt;br /&gt;
Following components are used in this project:-&lt;br /&gt;
1. Text box&lt;br /&gt;
2. Command buttons&lt;br /&gt;
3. Com control for serial communication.&lt;br /&gt;
&lt;br /&gt;
Steps to develop a simple program in VB6 for serial communication:-&lt;br /&gt;
1. Open a new project and using standard exe in vb6.&lt;br /&gt;
2. select text box and drag and drop it on form, re-size it and change with following properties of text box in properties section. (a) enable the multi-line , (b) in text property delete the text1.&lt;br /&gt;
3. drag and drop two commands button and change their caption in property section by "Connect" and "Disconnect"&lt;br /&gt;
4. Go toll bar, click on project, open component addition menu, find Ms-comm Control 6, and add this to left component section.&lt;br /&gt;
5. Drag and drop the MsComm on the form any where.&lt;br /&gt;
6. Copy and paste the following code in the code section of the project, compile and enjoy.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Photograph of the Data logger:-&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XZ3v_lWGSaw/TnuFa0aDPLI/AAAAAAAADNk/hfMGQnnkcNw/s1600/Data+logger+PIC18f452+Temperature+VB6+Code+example.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-XZ3v_lWGSaw/TnuFa0aDPLI/AAAAAAAADNk/hfMGQnnkcNw/s1600/Data+logger+PIC18f452+Temperature+VB6+Code+example.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Code (program) in VB6&lt;/b&gt;:-&lt;/div&gt;The VB6 code for the data logger is as under:-&lt;br /&gt;
Private Sub Command1_Click()&lt;br /&gt;
If (MSComm1.PortOpen = False) Then&lt;br /&gt;
MSComm1.PortOpen = True&lt;br /&gt;
End If&lt;br /&gt;
Command1.Enabled = False&lt;br /&gt;
Command2.Enabled = True&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub Command2_Click()&lt;br /&gt;
If (MSComm1.PortOpen = True) Then&lt;br /&gt;
MSComm1.PortOpen = False&lt;br /&gt;
End If&lt;br /&gt;
Command1.Enabled = True&lt;br /&gt;
Command2.Enabled = False&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub Form_Load()&lt;br /&gt;
With MSComm1&lt;br /&gt;
.CommPort = 5&lt;br /&gt;
.RThreshold = 1&lt;br /&gt;
.RTSEnable = True&lt;br /&gt;
.Settings = "9600,N,8,1"&lt;br /&gt;
.InputLen = 127&lt;br /&gt;
.SThreshold = 1&lt;br /&gt;
End With&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub Form_Unload(Cancel As Integer)&lt;br /&gt;
If (MSComm1.PortOpen = True) Then&lt;br /&gt;
MSComm1.PortOpen = False&lt;br /&gt;
End If&lt;br /&gt;
End Sub&lt;br /&gt;
Private Sub MSComm1_OnComm()&lt;br /&gt;
Dim Buffer As String&lt;br /&gt;
&lt;br /&gt;
Select Case MSComm1.CommEvent&lt;br /&gt;
Case comEvReceive&lt;br /&gt;
'Text1.Text = " "&lt;br /&gt;
Buffer = MSComm1.Input&lt;br /&gt;
Text1.Text = Text1.Text &amp;amp; Buffer&lt;br /&gt;
End Select&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;/div&gt;temperature data logger using lm35, microcontroller and lcd purpose of c5 and c6 of pic18f4550 pic programming with max485 pic based data logger lcd pic18f452 free pic based timer program in mikroc free how to interface alphanumeric keypad in mikroc 18f4520 datalogger&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6016122074745615196?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r5OZgd-rWne_QBzaY5jL4UwQoDU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r5OZgd-rWne_QBzaY5jL4UwQoDU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r5OZgd-rWne_QBzaY5jL4UwQoDU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r5OZgd-rWne_QBzaY5jL4UwQoDU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/w74S4VSm2y4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6016122074745615196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/vb6-data-logger-example-program-rs232.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6016122074745615196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6016122074745615196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/w74S4VSm2y4/vb6-data-logger-example-program-rs232.html" title="VB6 Data logger example program RS232 serial communication" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-XZ3v_lWGSaw/TnuFa0aDPLI/AAAAAAAADNk/hfMGQnnkcNw/s72-c/Data+logger+PIC18f452+Temperature+VB6+Code+example.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/vb6-data-logger-example-program-rs232.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04DRngzfSp7ImA9WhdVGEk.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-3306318864452911219</id><published>2011-09-22T11:41:00.000-07:00</published><updated>2011-09-23T22:26:17.685-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T22:26:17.685-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Dec temperature" /><category scheme="http://www.blogger.com/atom/ns#" term="adc_conversion" /><category scheme="http://www.blogger.com/atom/ns#" term="temperature sensor lm35 circuit diagram pic project" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18f452 serial Data acquisition for Temperature Monitoring" /><category scheme="http://www.blogger.com/atom/ns#" term="Transmit Enable Bit" /><category scheme="http://www.blogger.com/atom/ns#" term="Data acquisition Unit" /><category scheme="http://www.blogger.com/atom/ns#" term="DelayMS" /><title>PIC18f452 serial Data acquisition for Temperature Monitoring</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Introduction of Data Logger Project:-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is project is about the construction of simple data logger using PIC microcontroller PIC18f452 and Visual basic-6 VB6.&lt;br /&gt;
The project is consist of two posts:&lt;br /&gt;
&lt;br /&gt;
1. In the first post, we will discuss the Hardware of Data acquisition Unit and the programming of PIC Microcontroller PIC18f452.&lt;br /&gt;
2. The second post will be about the development of PC side code, the Data logger is designed and developed using Visual basic VB6 programming language.&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;pic16f877 uart code&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;b&gt;Hardware of Data acquisition Unit:-&lt;/b&gt;&lt;br /&gt;
This is a simple example project for the understanding of how data loggers and data acquisitions systems works. Students can design the project their won after reading the post.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Componenets List:-&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The components used in this Project are as follows:-&lt;br /&gt;
1. The heart of the data acquisition (DAQ )is PIC18f452 microcontroller&lt;br /&gt;
2. Crystal used is 20MHz&lt;br /&gt;
3. Capacitors used are 20pF&lt;br /&gt;
4. Push buton for manual reset&lt;br /&gt;
5. Liquid crystal Display LCD 2 line 20 Characters&lt;br /&gt;
6. LM35 the analog temperature sensor&lt;br /&gt;
7. variable resistor 10K ohm to set the contrast of LCD&lt;br /&gt;
8. 10K ohm pull up resistor&lt;br /&gt;
9. 5V DC regulated power supply&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Features of Data acquisition Unit:-&lt;/b&gt;&lt;br /&gt;
1. The PIC18f452 have 8 buitin analog to digital converters ADC of 10 bits resulations. So we have used only one builtin ADC to convert the analog signals of Temperature from LM35.&lt;br /&gt;
2. Only one analog Temperature sensor LM35 is used to sense the temperature.&lt;br /&gt;
3. The software is written to take the average of 10 consective readings of ADC for smooth monitoring of temperature.&lt;br /&gt;
4. The measured temperature is display on LCD.&lt;br /&gt;
5. the progress of sampling is also shown on LCD.&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;pic18f542 lcd&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
6. The average value of temperature is then transmitted to PC using serial communication through RS232 port at 9600 buad rate with setting 9600,N,8,1.&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;pic data logger&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Circuit diagram of Data acquisition Unit:-&lt;/b&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;temperature sensor lm35 circuit diagram pic project&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--hPREUQjKgI/TnuBJNV314I/AAAAAAAADNM/uMuh07vHqn8/s1600/Data%2Blogger%2BPIC18f452%2BTemperature%2BDisplay%2Band%2BRS232%2Bserial%2Btransfer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Data logger PIC18f452 Temperature Display and RS232 serial transfer" border="0" height="329" src="http://1.bp.blogspot.com/--hPREUQjKgI/TnuBJNV314I/AAAAAAAADNM/uMuh07vHqn8/s400/Data%2Blogger%2BPIC18f452%2BTemperature%2BDisplay%2Band%2BRS232%2Bserial%2Btransfer.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;This project in which PIC452 is used but in old post you can find &lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;data logger using pic 16f877a.&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;b&gt;Software of Data acquisition Unit:-&lt;/b&gt;&lt;br /&gt;
&lt;strong&gt;We can say that it is &lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;thermometer uart.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
The program for PIC18f452 is written in proton basic language and listing is as under.&lt;br /&gt;
UART CODE for PIC18f452 here &lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;max232 interfacing pc is used.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
'****************************************************************&lt;br /&gt;
'*  Name    : Temperature_data_logger.BAS                       *&lt;br /&gt;
'*  Author  : Dr.Rana                                           *&lt;br /&gt;
'*  Date    : 22/9/2011                                         *&lt;br /&gt;
'*  Version : 1.0                                               *&lt;br /&gt;
'*  Notes   : This is simple program for PIC18f452              *&lt;br /&gt;
'*          : The LM25 sensor is connected to PIC452            *&lt;br /&gt;
'*            The temperature measured is transfered to PC via  *&lt;br /&gt;
'*            serial port RS232 for temerature data logger      *&lt;br /&gt;
'****************************************************************&lt;br /&gt;
Device = 18F452&lt;br /&gt;
Xtal=20     ' The crystal frequency is 20MHZ&lt;br /&gt;
LCD_DTPin PORTD.4    ' LCD is conected to PIC18f452 using four bit mode&lt;br /&gt;
LCD_RSPin PORTD.3&lt;br /&gt;
LCD_ENPin PORTD.2&lt;br /&gt;
Adin_Res 10     ' Set the resolution to 10&lt;br /&gt;
Adin_Tad FRC     ' Choose the RC osc for ADC samples&lt;br /&gt;
Adin_Stime 100           ' Allow 100us for charge time&lt;br /&gt;
ADCON1 = %10000010    ' Set PORTA analog and right justify result&lt;br /&gt;
Input PORTA.0&lt;br /&gt;
TXSTA.5=1  ' setting Transmit Enable Bit&lt;br /&gt;
RCSTA.7=1&lt;br /&gt;
RCSTA.4=1&lt;br /&gt;
Hserial_Baud 9600 ' Setting Baud rate&lt;br /&gt;
&lt;br /&gt;
Dim raw_adc_conversion As Word&lt;br /&gt;
Dim temperature As Float&lt;br /&gt;
Dim x As Byte&lt;br /&gt;
Print Cls&lt;br /&gt;
Print At 1,1,"T.Logger"&lt;br /&gt;
Loop:&lt;br /&gt;
raw_adc_conversion=0&lt;br /&gt;
For x=0 To 9&lt;br /&gt;
raw_adc_conversion = raw_adc_conversion + ADIn 0&lt;br /&gt;
DelayMS 200&lt;br /&gt;
Print At 1,10,"Samp.", Dec x&lt;br /&gt;
Next x&lt;br /&gt;
raw_adc_conversion = raw_adc_conversion/10&lt;br /&gt;
temperature = (5/1023) * raw_adc_conversion&lt;br /&gt;
temperature = temperature * 100&lt;br /&gt;
'1 degree centigrade for every 10mV &lt;br /&gt;
Print At 2,2,"Temp:", Dec temperature ,"C"&lt;br /&gt;
HRSOut Dec temperature,13,10&lt;br /&gt;
DelayMS 1000&lt;br /&gt;
GoTo Loop&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-3306318864452911219?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ebMd_i_Z0K2sLiO2uDY_KJuzB7Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ebMd_i_Z0K2sLiO2uDY_KJuzB7Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ebMd_i_Z0K2sLiO2uDY_KJuzB7Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ebMd_i_Z0K2sLiO2uDY_KJuzB7Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/9wfzXFVYr4g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/3306318864452911219/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/pic18f452-serial-data-acquisition-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3306318864452911219?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3306318864452911219?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/9wfzXFVYr4g/pic18f452-serial-data-acquisition-for.html" title="PIC18f452 serial Data acquisition for Temperature Monitoring" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/--hPREUQjKgI/TnuBJNV314I/AAAAAAAADNM/uMuh07vHqn8/s72-c/Data%2Blogger%2BPIC18f452%2BTemperature%2BDisplay%2Band%2BRS232%2Bserial%2Btransfer.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/pic18f452-serial-data-acquisition-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcESHszfSp7ImA9WhdVE0g.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-247053724168893273</id><published>2011-09-18T07:26:00.000-07:00</published><updated>2011-09-18T07:26:49.585-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-18T07:26:49.585-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Proton Basic code example for PIC18f452 counter project" /><title>Proton Basic code example for PIC18f452 counter project</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif; font-size: large;"&gt;&lt;strong&gt;PROTON BASIC UP and DOWN Counter PROJECT with RESET USING PIC Microcontroller PIC18f452&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;Introduction of counter Project:-&lt;br /&gt;
This is a simple microcontroller project build for a Up and Down Counter with Reset of counts facility.&lt;br /&gt;
In this project PIC18f452 is used for processing and this device is the heart of the project. A 2 line 20 character General purose LCD is used as basic display of the counter.&lt;br /&gt;
In this project three push button are used as inputs of counter, but any TTL signal provider ciruit cn be interfaced which uses IR,LDR,phototransistor or optocoupler as input. Because this counter can be used any where, to counts any object passing through a certain location. This counter project counts up to 1000000 counts.&lt;br /&gt;
Thus this counter project is suitable where we have to counts any large number of objects.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif; font-size: large;"&gt;Parts of the Counter Project:-&lt;/span&gt;&lt;br /&gt;
This counter project is based on a very few components which are listed as follows:-&lt;br /&gt;
&lt;br /&gt;
1. The heart of the counter project is PIC18f452 (1Nos)&lt;br /&gt;
2. Liquid Crystal Display LCD ( 2 line 20 Characters 1Nos)&lt;br /&gt;
3. crystal 4MHz (1Nos)&lt;br /&gt;
4. Capacitor 20pF (2Nos)&lt;br /&gt;
5. Push Buttons (4 Nos)&lt;br /&gt;
6. Resistors (10K ohm 4Nos)&lt;br /&gt;
7. variable resistor (10K ohm 1 Nos)&lt;br /&gt;
&lt;br /&gt;
A regulated power supply of +5V DC is required to make this project operational.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-family: &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, sans-serif; font-size: large;"&gt;Circuit Diagram of Counter Project:-&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
Below is the circuit diagram of counter using PIC18f452 PIC Microcontroller and LCD.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jnRVTb2-Bag/TnX_fPF46SI/AAAAAAAADMc/sIRv_ZH0tfM/s1600/proton+basic+example+project+pic18f452+up+and+down+counter+with+lcd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://4.bp.blogspot.com/-jnRVTb2-Bag/TnX_fPF46SI/AAAAAAAADMc/sIRv_ZH0tfM/s400/proton+basic+example+project+pic18f452+up+and+down+counter+with+lcd.jpg"alt="proton basic example project pic18f452 up and down counter with lcd" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: large;"&gt;Main Features of Up and Down Counter:-&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
The object counter based on PIC Microcontroller have following three basic inputs.&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;&lt;li&gt;Up button for increment the nuber of counts&lt;/li&gt;
&lt;li&gt;Down Button for decrement the number of counts&lt;/li&gt;
&lt;li&gt;Reset Button for reset the counted value to zero.&lt;/li&gt;
&lt;/ol&gt;Although in this project push button are being used as the input to counter, but this project accept any TTL input from any circuit which used IR,optocoupler,phototransistor,relays,LDR. Actually this counter is ready to use counting any object, the only thing it requires is TTL pulses for increment , decrement or reset the operation.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;Code of counter:-&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
The code of this project is written in basic language and compiled using proton basic compiler from &lt;span lang="EN-GB" style="color: black;"&gt;&lt;span style="font-family: Verdana;"&gt;Crownhill&lt;/span&gt;&lt;/span&gt;. &lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;Proton&lt;/span&gt; &lt;span style="font-size: small;"&gt;IDE is a professional and powerful visual Integrated Development  Environment (IDE) designed specifically for &lt;span style="color: black;"&gt;the Proton Plus compiler&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&amp;nbsp; The code is written below which uses many built in functions and commands.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;'****************************************************************&lt;br /&gt;
'*  Name    : LCD_pic18f452.BAS                                  *&lt;br /&gt;
'*  Author  : [Dr.Rana]                                         *&lt;br /&gt;
'*  Notice  : &lt;a href="http://www.picinf.blogspot.com/"&gt;www.picinf.blogspot.com&lt;/a&gt; All Rights Reserved                               *&lt;br /&gt;
'*  Date    : 9/18/2011                                         *&lt;br /&gt;
'*  Version : 1.0                                               *&lt;br /&gt;
'*  Notes   : Students can use this program for learning                                                  *&lt;br /&gt;
'*          :                                                   *&lt;br /&gt;
'****************************************************************&lt;br /&gt;
Device = 18F452&lt;br /&gt;
Xtal=4&lt;br /&gt;
All_Digital=true&lt;br /&gt;
Output PORTD&lt;br /&gt;
TRISB = %11100000           ' only last three pin are inputs&lt;br /&gt;
Declare LCD_Interface 4&lt;br /&gt;
Declare LCD_Lines 2&lt;br /&gt;
Declare LCD_DTPin PORTD.0     ' first four lines Used for 4-line interface.&lt;br /&gt;
Declare LCD_ENPin PORTD.4     ' Enable  PIN of LCD&lt;br /&gt;
Declare LCD_RSPin PORTD.5      ' RS PIN of LCD&lt;br /&gt;
Symbol up_counter = PORTB.7&lt;br /&gt;
Symbol down_counter = PORTB.6&lt;br /&gt;
Symbol reset_counter = PORTB.5&lt;br /&gt;
Dim old_b1 As Bit&lt;br /&gt;
Dim old_b2 As Bit&lt;br /&gt;
Dim old_b3 As Bit&lt;br /&gt;
Dim my_counts As Dword&lt;br /&gt;
Dim old_counts As Dword&lt;br /&gt;
Print At 1 , 5 , "HELLO WORLD"&lt;br /&gt;
Print At 2 , 1 , "Counts = "&lt;br /&gt;
old_counts = 0&lt;br /&gt;
my_counts  = 0&lt;br /&gt;
old_b1 = 1&lt;br /&gt;
old_b2 = 1&lt;br /&gt;
old_b3 = 1&lt;br /&gt;
PORTB = 255&lt;br /&gt;
loop:&lt;br /&gt;
If  up_counter = 0 And old_b1 = 1 Then GoSub increment_counts&lt;br /&gt;
If  down_counter = 0 And old_b2 = 1 Then GoSub decrement_counts&lt;br /&gt;
If  reset_counter = 0 And old_b3 = 1 Then GoSub reset_counts   &lt;br /&gt;
If old_counts&amp;nbsp;&amp;lt; &amp;gt;&amp;nbsp;my_counts Then GoSub print_counts&lt;br /&gt;
old_counts = my_counts&lt;br /&gt;
old_b1 =  up_counter&lt;br /&gt;
old_b2 =  down_counter&lt;br /&gt;
old_b3 =  reset_counter&lt;br /&gt;
GoTo loop    &lt;br /&gt;
End&lt;br /&gt;
increment_counts:&lt;br /&gt;
Inc my_counts&lt;br /&gt;
If my_counts &amp;nbsp;&amp;gt; = 1000000 Then my_counts = 0&lt;br /&gt;
Return &lt;br /&gt;
decrement_counts:&lt;br /&gt;
If my_counts&amp;nbsp; &amp;gt;&amp;nbsp; 0 Then Dec my_counts &lt;br /&gt;
Return &lt;br /&gt;
reset_counts:&lt;br /&gt;
my_counts = 0&lt;br /&gt;
Return &lt;br /&gt;
print_counts:&lt;br /&gt;
Print At 2 , 10 , Dec my_counts&lt;br /&gt;
Return    &lt;br /&gt;
&lt;div&gt;&lt;/div&gt;proton basic example project pic18f452 up and down counter with lcd&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-247053724168893273?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O4BAQ2hZtGd9Do1avU8s-hweQ44/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O4BAQ2hZtGd9Do1avU8s-hweQ44/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O4BAQ2hZtGd9Do1avU8s-hweQ44/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O4BAQ2hZtGd9Do1avU8s-hweQ44/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/DntZKTl47nI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/247053724168893273/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/proton-basic-code-example-for-pic18f452.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/247053724168893273?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/247053724168893273?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/DntZKTl47nI/proton-basic-code-example-for-pic18f452.html" title="Proton Basic code example for PIC18f452 counter project" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-jnRVTb2-Bag/TnX_fPF46SI/AAAAAAAADMc/sIRv_ZH0tfM/s72-c/proton+basic+example+project+pic18f452+up+and+down+counter+with+lcd.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/proton-basic-code-example-for-pic18f452.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcCRnk7eip7ImA9WhdVE0g.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-8293758424261760096</id><published>2011-09-18T04:34:00.000-07:00</published><updated>2011-09-18T06:21:07.702-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-18T06:21:07.702-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC18f452 counter UP and Down display on LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="remove contineous input" /><category scheme="http://www.blogger.com/atom/ns#" term="check heart beats with LDR" /><category scheme="http://www.blogger.com/atom/ns#" term="IR" /><category scheme="http://www.blogger.com/atom/ns#" term="debouncing effect" /><category scheme="http://www.blogger.com/atom/ns#" term="18f452 icsp schema" /><category scheme="http://www.blogger.com/atom/ns#" term="interface of button" /><category scheme="http://www.blogger.com/atom/ns#" term="programming in mikroc" /><title>PIC18f452 counter MIKROC UP and Down display on LCD</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;PIC counter with source code written in MIKROC&lt;br /&gt;
&lt;br /&gt;
In this project we will learn how interface an LCD with microcontroller PIC18f452. This is a simple counter project. The project can be used to count any thing like person entering and exiting&amp;nbsp;into a hall or vehicles in a parking.&lt;br /&gt;
The input to counter is any thing which can give logic zero when activated like button, infrared receiver, photodiode,LDR, etc.&lt;br /&gt;
In the case of button or any other input, the software is writen in such a way that it handles the debouncing effects and remove contineus input counting. Because it remmbers the previous state of the input and compare it each time then decide , the counter shouldbe incremented or decremented or reseted.&lt;br /&gt;
&lt;br /&gt;
Components list:-&lt;br /&gt;
1. Microcontroller PIC18f452&lt;br /&gt;
2. LCD ( any general purpose 2 line 20 character LCD can be used.)&lt;br /&gt;
3. Crystal = 4MHz&lt;br /&gt;
4. capacitors (22 pf&amp;nbsp;&amp;nbsp; 2Nos)&lt;br /&gt;
5. Push buttons (4 Nos, one for master reset of microcontroller, one for up button, one for&amp;nbsp;down button and one for reset counts)&lt;br /&gt;
6. PULLUP resistors (10k ohm 4Nos)&lt;br /&gt;
&lt;br /&gt;
Circuit diagram:-&lt;br /&gt;
below is the circuit diagram for UP and Down counter with reset button.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4qk4sCMqWaA/TnXWKIvcidI/AAAAAAAADMY/dOtisBPzP7E/s1600/pic18f452+up+and+down+counter+with+lcd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="PIC18f452 counter UP and Down display on LCD, programming in mikroc,interface of button, debouncing effect, remove contineous input, IR, check heart beats with LDR, " border="0" height="268" src="http://1.bp.blogspot.com/-4qk4sCMqWaA/TnXWKIvcidI/AAAAAAAADMY/dOtisBPzP7E/s400/pic18f452+up+and+down+counter+with+lcd.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
main features of the counter:-&lt;br /&gt;
1. It can be used to counts any thing like person passing through a wake way, cars entering to car parking place,etc.&lt;br /&gt;
2. The project has three inputs named UP,DOWN,REST.&lt;br /&gt;
3. The program take care the debouncing and contineus input by comparing the current state with previous state of input each time then if these found different then counter is updated by increment of decrement or reset depending upon the input.&lt;br /&gt;
4. The major purpose of the project to become familar with the interfacing of LCD with PIC microcontroller PIC18f452.&lt;br /&gt;
5. Button interface with microcontroller and its programming.&lt;br /&gt;
Coding:-&lt;br /&gt;
The program is written in MikroC&amp;nbsp;pro for PIC version 5.0.1, which can be downloaded from mikro.com.&lt;br /&gt;
&amp;nbsp;The code listing are as under:-&lt;br /&gt;
&lt;br /&gt;
// Lcd pinout settings&lt;br /&gt;
sbit LCD_RS at RD5_bit;&lt;br /&gt;
sbit LCD_EN at RD4_bit;&lt;br /&gt;
sbit LCD_D7 at RD3_bit;&lt;br /&gt;
sbit LCD_D6 at RD2_bit;&lt;br /&gt;
sbit LCD_D5 at RD1_bit;&lt;br /&gt;
sbit LCD_D4 at RD0_bit;&lt;br /&gt;
&lt;br /&gt;
// Pin direction&lt;br /&gt;
sbit LCD_RS_Direction at TRISD5_bit;&lt;br /&gt;
sbit LCD_EN_Direction at TRISD4_bit;&lt;br /&gt;
sbit LCD_D7_Direction at TRISD3_bit;&lt;br /&gt;
sbit LCD_D6_Direction at TRISD2_bit;&lt;br /&gt;
sbit LCD_D5_Direction at TRISD1_bit;&lt;br /&gt;
sbit LCD_D4_Direction at TRISD0_bit;&lt;br /&gt;
// inputs from buttons&lt;br /&gt;
sbit up_counter at RB7_bit;&lt;br /&gt;
sbit down_counter at RB6_bit;&lt;br /&gt;
sbit reset_counter at RB5_bit;&lt;br /&gt;
// functions to perform different tasks&lt;br /&gt;
void increment_counts(void);&lt;br /&gt;
void decrement_counts(void);&lt;br /&gt;
void reset_counts(void);&lt;br /&gt;
void print_counts (void);&lt;br /&gt;
// Global varaibles&lt;br /&gt;
unsigned int my_counts;&lt;br /&gt;
unsigned int pre_counts;&lt;br /&gt;
bit old_b1;&lt;br /&gt;
bit old_b2;&lt;br /&gt;
bit old_b3;&lt;br /&gt;
char *text = "WELCOME";&lt;br /&gt;
char *text1 = "counts = ";&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
Lcd_Init();             // Initialize LCD connected to PORTD&lt;br /&gt;
&lt;br /&gt;
TrisB = 0xE0; // last three PINS as input and other are output. 11100000&lt;br /&gt;
PortB = 0xE0;&lt;br /&gt;
up_counter = 1;&lt;br /&gt;
down_counter = 1;&lt;br /&gt;
reset_counter = 1;&lt;br /&gt;
my_counts = 0;&lt;br /&gt;
pre_counts = 0;&lt;br /&gt;
old_b1 = 1;&lt;br /&gt;
old_b2 = 1;&lt;br /&gt;
old_b3 = 1;&lt;br /&gt;
Lcd_Cmd(_LCD_CLEAR);       // Clear display&lt;br /&gt;
Lcd_Out(1, 6, text);       // Print text to LCD, 2nd row, 1st column&lt;br /&gt;
Lcd_Out(2, 1, text1);      // Print text to LCD, 2nd row, 1st column&lt;br /&gt;
while(1){&lt;br /&gt;
if( up_counter == 0&amp;nbsp;&amp;amp; &amp;amp;&amp;nbsp;old_b1 == 1) increment_counts();&lt;br /&gt;
if( down_counter == 0&amp;nbsp; &amp;amp; &amp;amp;&amp;nbsp;old_b2 == 1) decrement_counts();&lt;br /&gt;
if( reset_counter == 0&amp;nbsp;&amp;amp; &amp;amp;&amp;nbsp;old_b3 == 1 ) reset_counts();&lt;br /&gt;
&lt;br /&gt;
if(pre_counts != my_counts) print_counts ();&lt;br /&gt;
pre_counts = my_counts;&lt;br /&gt;
old_b1 = up_counter;&lt;br /&gt;
old_b2 = down_counter;&lt;br /&gt;
old_b3 = reset_counter;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
void increment_counts(void)&lt;br /&gt;
{&lt;br /&gt;
my_counts++;&lt;br /&gt;
if(my_counts&amp;nbsp;&amp;gt; = 10000) my_counts = 0;&lt;br /&gt;
}&lt;br /&gt;
void decrement_counts(void)&lt;br /&gt;
{&lt;br /&gt;
if(my_counts&amp;nbsp;&amp;gt; = 0)my_counts--;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void reset_counts(void)&lt;br /&gt;
{&lt;br /&gt;
my_counts = 0;&lt;br /&gt;
}&lt;br /&gt;
void print_counts (void)&lt;br /&gt;
{&lt;br /&gt;
unsigned int temp;&lt;br /&gt;
unsigned char lcd_out_char;&lt;br /&gt;
lcd_out_char = (my_counts/1000)+48;&lt;br /&gt;
temp  = my_counts % 1000;&lt;br /&gt;
Lcd_Chr(2, 11, lcd_out_char); //print on line 2 at char# 11 the 1000th digit&lt;br /&gt;
lcd_out_char = (temp/100)+48;&lt;br /&gt;
temp  = temp % 100;&lt;br /&gt;
Lcd_Chr_Cp(lcd_out_char); //print the 100th digit&lt;br /&gt;
lcd_out_char = (temp/10)+48;&lt;br /&gt;
Lcd_Chr_Cp(lcd_out_char); //print the 10th digit&lt;br /&gt;
lcd_out_char = (temp % 10)+48;&lt;br /&gt;
Lcd_Chr_Cp(lcd_out_char); //print the unit digit&lt;br /&gt;
}&lt;/div&gt;Tags:-&lt;br /&gt;
18f452 icsp schema,18f4550 +usb+mikroc+deux interrupts,data logger mikrobasic 18f4550,fan timer circuit using a cd 4001 applications,hitech seven segment display d 0916,18f4550 pwm tuto,mikroc 12f675,mikroc 18f452,&lt;br /&gt;
18f4550 lcd example code in MIKROC ,18f452 LCD example circuit diagram,c program for lcd interface,c programming for controllers,lcd display programming by microc,bpm counter на lcd shematic,pic18f452 + c code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-8293758424261760096?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5qAK8mSvsOB_gHiJkpPvUasRVh0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5qAK8mSvsOB_gHiJkpPvUasRVh0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5qAK8mSvsOB_gHiJkpPvUasRVh0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5qAK8mSvsOB_gHiJkpPvUasRVh0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/mRbXBw0zPSc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/8293758424261760096/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/pic18f452-counter-mikroc-up-and-down.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/8293758424261760096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/8293758424261760096?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/mRbXBw0zPSc/pic18f452-counter-mikroc-up-and-down.html" title="PIC18f452 counter MIKROC UP and Down display on LCD" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-4qk4sCMqWaA/TnXWKIvcidI/AAAAAAAADMY/dOtisBPzP7E/s72-c/pic18f452+up+and+down+counter+with+lcd.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/pic18f452-counter-mikroc-up-and-down.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4ERHozeyp7ImA9WhdWFko.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-5430784833816669821</id><published>2011-09-10T10:15:00.000-07:00</published><updated>2011-09-10T10:15:05.483-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-10T10:15:05.483-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="moving led sign" /><category scheme="http://www.blogger.com/atom/ns#" term="8x8x8 matrix" /><category scheme="http://www.blogger.com/atom/ns#" term="LED moving message diaply using PIC16f628 CD4017 and  74LS595" /><category scheme="http://www.blogger.com/atom/ns#" term="font converter led message" /><category scheme="http://www.blogger.com/atom/ns#" term="fancy LED matrix display" /><title>LED moving message diaply using PIC16f628 CD4017 and  74LS595</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="color: #b45f06; font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif; font-size: x-large;"&gt;SECOND MMD PROJECT&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: large;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: large;"&gt;LED moving message diaply using PIC16f628 CD4017 and&amp;nbsp; 74LS595&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #274e13; font-size: large;"&gt;&lt;strong&gt;Introduction of MMD Project-2:- &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
The PIC microcontroller PIC16f628 is used the main processor in the MMD. The difference from the previous moving message diaply and this is method for scaning the rows. In previous MMD a decoder 74LS138 was used to scan the rows. But in this project, i have used CD4017 for row scanning instead of use of any decoder.&lt;br /&gt;
&lt;br /&gt;
Components of the LED moving message display:-&lt;br /&gt;
LED matrix = 8x8 LED matrix&amp;nbsp;8 Nos,&lt;br /&gt;
MCU = PIC16f628&lt;br /&gt;
Shift registers = 74LS595 8Nos&lt;br /&gt;
crystal = 4MHz with 22 pF capacitors.&lt;br /&gt;
and other basic components like reset switches and regulated power suplly of 5V which have enough current baring for this project like 1Amp max.&lt;br /&gt;
The circuit diagram of the 8 x 8 x 8 LED matrix moving message display using PIC microcontroller is as under:-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RL8WfdETl_U/TmuXmiNeTjI/AAAAAAAADKI/eZ2FqeE5aQs/s1600/microcontroller+16f628+CD4017+74LS595+based+Moving+message+display+MMD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="LED moving message diaply using PIC16f628 CD4017 and  74LS595 " border="0" height="276" src="http://3.bp.blogspot.com/-RL8WfdETl_U/TmuXmiNeTjI/AAAAAAAADKI/eZ2FqeE5aQs/s400/microcontroller+16f628+CD4017+74LS595+based+Moving+message+display+MMD.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/2W0ejniCaGg?hl=en&amp;amp;fs=1" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Code of the Moving message diaply is written in proton basic compiler and is as under:-&lt;br /&gt;
Device=16F628A&lt;br /&gt;
XTAL=4&lt;br /&gt;
ALL_DIGITAL=true&lt;br /&gt;
Output PORTB&lt;br /&gt;
Symbol SER = PORTB.0 ' Serial data Pin&lt;br /&gt;
Symbol SRCLK = PORTB.1 ' Serial data Clock Pin&lt;br /&gt;
Symbol SRClr = PORTB.2 ' Serial data Clear&lt;br /&gt;
Symbol Latch = PORTB.3 ' Columns, Latch&lt;br /&gt;
Symbol RowClk = PORTB.4 ' Row clock, to select new row&lt;br /&gt;
Symbol Rowrst = PORTB.5 ' Row reset, selects row 0&lt;br /&gt;
High SRClr ' Turn off the serial register clear&lt;br /&gt;
Dim serial_buffer[128] As Byte&lt;br /&gt;
STR serial_buffer = "&lt;a href="http://www.picinf.blogspot.com/"&gt;www.PICinf.blogspot.com&lt;/a&gt;" , 0&lt;br /&gt;
Dim i As Byte&lt;br /&gt;
Dim n As Byte&lt;br /&gt;
Dim b As Byte&lt;br /&gt;
Dim c As Byte&lt;br /&gt;
dim m as byte&lt;br /&gt;
dim l as byte&lt;br /&gt;
dim ch_index as byte&lt;br /&gt;
dim start_ch_idx as byte &lt;br /&gt;
dim end_ch_idx as byte&lt;br /&gt;
for b =0 to 128&lt;br /&gt;
if serial_buffer[b]&amp;gt;0 then serial_buffer[b] =serial_buffer[b]-32&lt;br /&gt;
next b&lt;br /&gt;
' setup for positive pulses:&lt;br /&gt;
lATCH = 0 : SRCLK = 0 : SER = 0&amp;nbsp; &lt;br /&gt;
&amp;nbsp;c = 0 &lt;br /&gt;
&amp;nbsp;start_ch_idx =0&lt;br /&gt;
&amp;nbsp;end_ch_idx = 30&lt;br /&gt;
Loop:&lt;br /&gt;
PulsOut Rowrst,2 ' give a pulse on row reset pin, to select row 0&lt;br /&gt;
For i=0 To 6&lt;br /&gt;
ch_index = start_ch_idx&lt;br /&gt;
for n = 0 to 10&lt;br /&gt;
GoSub GetPatternAndOut&lt;br /&gt;
inc ch_index &lt;br /&gt;
&amp;nbsp;if ch_index = end_ch_idx then ch_index =0&lt;br /&gt;
next n&lt;br /&gt;
PulsOut Latch,4&lt;br /&gt;
DelayUS 250&lt;br /&gt;
PulsOut RowClk,2&lt;br /&gt;
for n = 0 to 7&lt;br /&gt;
SHOut SER,SRCLK,lsbfirst,[0]&lt;br /&gt;
next n&lt;br /&gt;
PulsOut Latch,4&lt;br /&gt;
Next i&lt;br /&gt;
inc l&lt;br /&gt;
if l = 10 then&lt;br /&gt;
l = 0&lt;br /&gt;
Inc start_ch_idx&lt;br /&gt;
If start_ch_idx = end_ch_idx Then start_ch_idx = 0&lt;br /&gt;
endif&lt;br /&gt;
GoTo Loop&lt;br /&gt;
End&lt;br /&gt;
GetPatternAndOut:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m = LRead LABEL+((serial_buffer[ch_index]) * 8) +i &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m = ~m&lt;br /&gt;
' out a clock pulse and restore data pin to 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'out the low 5 bits of pattern&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;If m.4 = 1 Then SER = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If m.3 = 1 Then SER = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If m.2 = 1 Then SER = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If m.1 = 1 Then SER = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If m.0 = 1 Then SER = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&amp;nbsp; &lt;br /&gt;
LABEL:&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF&amp;nbsp;'Space&lt;br /&gt;
&amp;nbsp;LDATA $FB,$FB,$FB,$FB,$FB,$FF,$FB,$FF&amp;nbsp;'!&lt;br /&gt;
&amp;nbsp;LDATA $F5,$F5,$F5,$FF,$FF,$FF,$FF,$FF&amp;nbsp;'"&lt;br /&gt;
&amp;nbsp;LDATA $F5,$F5,$E0,$F5,$E0,$F5,$F5,$FF&amp;nbsp;'#&lt;br /&gt;
&amp;nbsp;LDATA $FB,$F0,$EB,$F1,$FA,$E1,$FB,$FF&amp;nbsp;'$&lt;br /&gt;
&amp;nbsp;LDATA $E3,$EA,$E5,$FB,$F4,$EA,$F8,$FF&amp;nbsp;'%&lt;br /&gt;
&amp;nbsp;LDATA $F7,$EB,$EB,$F7,$EA,$ED,$F2,$FF&amp;nbsp;'&amp;amp;&lt;br /&gt;
&amp;nbsp;LDATA $F9,$F9,$FD,$FB,$FF,$FF,$FF,$FF&amp;nbsp;''&lt;br /&gt;
&amp;nbsp;LDATA $FD,$FB,$F7,$F7,$F7,$FB,$FD,$FF&amp;nbsp;'(&lt;br /&gt;
&amp;nbsp;LDATA $F7,$FB,$FD,$FD,$FD,$FB,$F7,$FF&amp;nbsp;')&lt;br /&gt;
&amp;nbsp;LDATA $FB,$EA,$F1,$FB,$F1,$EA,$FB,$FF&amp;nbsp;'*&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FB,$FB,$E0,$FB,$FB,$FF,$FF&amp;nbsp;'+&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$FF,$F3,$F3,$FB,$F7,$FF&amp;nbsp;',&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$FF,$F1,$FF,$FF,$FF,$FF&amp;nbsp;'-&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$FF,$FF,$FF,$F3,$F3,$FF&amp;nbsp;'.&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FE,$FD,$FB,$F7,$EF,$FF,$FF&amp;nbsp;'/&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EC,$EA,$E6,$EE,$F1,$FF&amp;nbsp;'0&lt;br /&gt;
&amp;nbsp;LDATA $FB,$F3,$FB,$FB,$FB,$FB,$F1,$FF&amp;nbsp;'1&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$FE,$F1,$EF,$EF,$E0,$FF&amp;nbsp;'2&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$FE,$F9,$FE,$EE,$F1,$FF&amp;nbsp;'3&lt;br /&gt;
&amp;nbsp;LDATA $FD,$F9,$F5,$ED,$E0,$FD,$FD,$FF&amp;nbsp;'4&lt;br /&gt;
&amp;nbsp;LDATA $E0,$EF,$E1,$FE,$FE,$FE,$E1,$FF&amp;nbsp;'5&lt;br /&gt;
&amp;nbsp;LDATA $F9,$F7,$EF,$E1,$EE,$EE,$F1,$FF&amp;nbsp;'6&lt;br /&gt;
&amp;nbsp;LDATA $E0,$FE,$FD,$FB,$F7,$F7,$F7,$FF&amp;nbsp;'7&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EE,$F1,$EE,$EE,$F1,$FF&amp;nbsp;'8&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EE,$F0,$FE,$FD,$F3,$FF&amp;nbsp;'9&lt;br /&gt;
&amp;nbsp;LDATA $FF,$F3,$F3,$FF,$F3,$F3,$FF,$FF&amp;nbsp;':&lt;br /&gt;
&amp;nbsp;LDATA $F3,$FB,$F3,$F3,$FF,$F3,$F3,$FF&amp;nbsp;';&lt;br /&gt;
&amp;nbsp;LDATA $FD,$FB,$F7,$EF,$F7,$FB,$FD,$FF&amp;nbsp;' &amp;lt; ''&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F1,$FF,$F1,$FF,$FF,$FF&amp;nbsp;' = '''&lt;br /&gt;
&amp;nbsp;LDATA $F7,$FB,$FD,$FE,$FD,$FB,$F7,$FF&amp;nbsp;' &amp;gt; '''&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$FE,$FD,$FB,$FF,$FB,$FF&amp;nbsp;'?&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$FE,$F2,$EA,$EA,$F1,$FF&amp;nbsp;'@&lt;br /&gt;
&amp;nbsp;LDATA $FB,$F5,$EE,$EE,$E0,$EE,$EE,$FF&amp;nbsp;'A&lt;br /&gt;
&amp;nbsp;LDATA $E1,$F6,$F6,$F1,$F6,$F6,$E1,$FF&amp;nbsp;'B&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EF,$EF,$EF,$EE,$F1,$FF&amp;nbsp;'C&lt;br /&gt;
&amp;nbsp;LDATA $E1,$F6,$F6,$F6,$F6,$F6,$E1,$FF&amp;nbsp;'D&lt;br /&gt;
&amp;nbsp;LDATA $E0,$EF,$EF,$E3,$EF,$EF,$E0,$FF&amp;nbsp;'E&lt;br /&gt;
&amp;nbsp;LDATA $E0,$EF,$EF,$E3,$EF,$EF,$EF,$FF&amp;nbsp;'F&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EF,$E8,$EE,$EE,$F1,$FF&amp;nbsp;'G&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$EE,$E0,$EE,$EE,$EE,$FF&amp;nbsp;'H&lt;br /&gt;
&amp;nbsp;LDATA $F1,$FB,$FB,$FB,$FB,$FB,$F1,$FF&amp;nbsp;'I&lt;br /&gt;
&amp;nbsp;LDATA $F8,$FD,$FD,$FD,$FD,$FD,$F3,$FF&amp;nbsp;'J&lt;br /&gt;
&amp;nbsp;LDATA $EE,$ED,$EB,$E7,$EB,$ED,$EE,$FF&amp;nbsp;'K&lt;br /&gt;
&amp;nbsp;LDATA $EF,$EF,$EF,$EF,$EF,$EF,$E0,$FF&amp;nbsp;'L&lt;br /&gt;
&amp;nbsp;LDATA $EE,$E4,$EA,$EA,$EE,$EE,$EE,$FF&amp;nbsp;'M&lt;br /&gt;
&amp;nbsp;LDATA $EE,$E6,$EA,$EC,$EE,$EE,$EE,$FF&amp;nbsp;'N&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EE,$EE,$EE,$EE,$F1,$FF&amp;nbsp;'O&lt;br /&gt;
&amp;nbsp;LDATA $E1,$EE,$EE,$E1,$EF,$EF,$EF,$FF&amp;nbsp;'P&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EE,$EE,$EA,$ED,$F2,$FF&amp;nbsp;'Q&lt;br /&gt;
&amp;nbsp;LDATA $E1,$EE,$EE,$E1,$EB,$ED,$EE,$FF&amp;nbsp;'R&lt;br /&gt;
&amp;nbsp;LDATA $F1,$EE,$EF,$F1,$FE,$EE,$F1,$FF&amp;nbsp;'S&lt;br /&gt;
&amp;nbsp;LDATA $E0,$FB,$FB,$FB,$FB,$FB,$FB,$FF&amp;nbsp;'T&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$EE,$EE,$EE,$EE,$F1,$FF&amp;nbsp;'U&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$EE,$F5,$F5,$FB,$FB,$FF&amp;nbsp;'V&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$EE,$EA,$EA,$E4,$EE,$FF&amp;nbsp;'W&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$F5,$FB,$F5,$EE,$EE,$FF&amp;nbsp;'X&lt;br /&gt;
&amp;nbsp;LDATA $EE,$EE,$F5,$FB,$FB,$FB,$FB,$FF&amp;nbsp;'Y&lt;br /&gt;
&amp;nbsp;LDATA $E0,$FE,$FD,$FB,$F7,$EF,$E0,$FF&amp;nbsp;'Z&lt;br /&gt;
&amp;nbsp;LDATA $F1,$F7,$F7,$F7,$F7,$F7,$F1,$FF&amp;nbsp;'[&lt;br /&gt;
&amp;nbsp;LDATA $FF,$EF,$F7,$FB,$FD,$FE,$FF,$FF&amp;nbsp;'backslash&lt;br /&gt;
&amp;nbsp;LDATA $F1,$FD,$FD,$FD,$FD,$FD,$F1,$FF&amp;nbsp;'[&lt;br /&gt;
&amp;nbsp;LDATA $FB,$F5,$EE,$FF,$FF,$FF,$FF,$FF&amp;nbsp;'^&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$FF,$FF,$FF,$FF,$E0,$FF&amp;nbsp;'underline&lt;br /&gt;
&amp;nbsp;LDATA $F3,$F3,$F7,$FB,$FF,$FF,$FF,$FF&amp;nbsp;''&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F1,$FE,$F0,$EE,$F1,$FF&amp;nbsp;'a&lt;br /&gt;
&amp;nbsp;LDATA $EF,$EF,$E9,$E6,$EE,$E6,$E9,$FF&amp;nbsp;'b&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F8,$F7,$F7,$F7,$F8,$FF&amp;nbsp;'c&lt;br /&gt;
&amp;nbsp;LDATA $FE,$FE,$F2,$EC,$EE,$EC,$F2,$FF&amp;nbsp;'d&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F1,$EE,$E0,$EF,$F1,$FF&amp;nbsp;'e&lt;br /&gt;
&amp;nbsp;LDATA $F9,$F6,$F7,$E1,$F7,$F7,$F7,$FF&amp;nbsp;'f&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F0,$EE,$F0,$FE,$F1,$FF&amp;nbsp;'g&lt;br /&gt;
&amp;nbsp;LDATA $EF,$EF,$E9,$E6,$EE,$EE,$EE,$FF&amp;nbsp;'h&lt;br /&gt;
&amp;nbsp;LDATA $FB,$FF,$F3,$FB,$FB,$FB,$F1,$FF&amp;nbsp;'i&lt;br /&gt;
&amp;nbsp;LDATA $FD,$FF,$F9,$FD,$FD,$FD,$F3,$FF&amp;nbsp;'j&lt;br /&gt;
&amp;nbsp;LDATA $F7,$F7,$F6,$F5,$F3,$F5,$F6,$FF&amp;nbsp;'k&lt;br /&gt;
&amp;nbsp;LDATA $F3,$FB,$FB,$FB,$FB,$FB,$F1,$FF&amp;nbsp;'l&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$E5,$EA,$EA,$EA,$EA,$FF&amp;nbsp;'m&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$E9,$E6,$EE,$EE,$EE,$FF&amp;nbsp;'n&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F1,$EE,$EE,$EE,$F1,$FF&amp;nbsp;'o&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$E1,$EE,$E1,$EF,$EF,$FF&amp;nbsp;'p&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F0,$EE,$F0,$FE,$FE,$FF&amp;nbsp;'q&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$E9,$E6,$EF,$EF,$EF,$FF&amp;nbsp;'r&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$F0,$EF,$F1,$FE,$E1,$FF&amp;nbsp;'s&lt;br /&gt;
&amp;nbsp;LDATA $FB,$FB,$F0,$FB,$FB,$FB,$FC,$FF&amp;nbsp;'t&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$EE,$EE,$EE,$EC,$F2,$FF&amp;nbsp;'u&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$EE,$EE,$EE,$F5,$FB,$FF&amp;nbsp;'v&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$EE,$EE,$EA,$EA,$F4,$FF&amp;nbsp;'w&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$EE,$F5,$FB,$F5,$EE,$FF&amp;nbsp;'x&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$EE,$F5,$FB,$FB,$F3,$FF&amp;nbsp;'y&lt;br /&gt;
&amp;nbsp;LDATA $FF,$FF,$E0,$FD,$FB,$F7,$E0,$FF&amp;nbsp;'z&lt;br /&gt;
&amp;nbsp;LDATA $F9,$F7,$F7,$E7,$F7,$F7,$F9,$FF&amp;nbsp;'{&lt;br /&gt;
&amp;nbsp;LDATA $FB,$FB,$FB,$FF,$FB,$FB,$FB,$FF&amp;nbsp;'|&lt;br /&gt;
&amp;nbsp;LDATA $F3,$FD,$FD,$FC,$FD,$FD,$F3,$FF&amp;nbsp;'}&lt;br /&gt;
&amp;nbsp;LDATA $F5,$EA,$FF,$FF,$FF,$FF,$FF,$FF&amp;nbsp;'~&lt;br /&gt;
&amp;nbsp;LDATA $F5,$EA,$F5,$EA,$F5,$EA,$F5H&amp;nbsp;'DEL&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-5430784833816669821?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z1cTB_DkgKcvjrfg6thcZndIkdE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z1cTB_DkgKcvjrfg6thcZndIkdE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z1cTB_DkgKcvjrfg6thcZndIkdE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z1cTB_DkgKcvjrfg6thcZndIkdE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/RkSBWM-8K0s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/5430784833816669821/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/led-moving-message-diaply-using.html#comment-form" title="25 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5430784833816669821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5430784833816669821?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/RkSBWM-8K0s/led-moving-message-diaply-using.html" title="LED moving message diaply using PIC16f628 CD4017 and  74LS595" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-RL8WfdETl_U/TmuXmiNeTjI/AAAAAAAADKI/eZ2FqeE5aQs/s72-c/microcontroller+16f628+CD4017+74LS595+based+Moving+message+display+MMD.jpg" height="72" width="72" /><thr:total>25</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/led-moving-message-diaply-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BQno7eCp7ImA9WhdWFUQ.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-2142791007190065519</id><published>2011-09-09T11:40:00.000-07:00</published><updated>2011-09-09T11:45:53.400-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-09T11:45:53.400-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628" /><category scheme="http://www.blogger.com/atom/ns#" term="fancy LED matrix display" /><category scheme="http://www.blogger.com/atom/ns#" term="74ls138" /><category scheme="http://www.blogger.com/atom/ns#" term="74ls595" /><title>Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: &amp;quot;Helvetica Neue&amp;quot;, Arial, Helvetica, sans-serif; font-size: large;"&gt;PIC MICROCONTROLLER BASED LED MOVING MESSAGE DISPLAY&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #274e13; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: large;"&gt;&lt;strong&gt;MMD PROJECT INTRODUCTION:-&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
This is a simple moving message display project in which LED matrix are used for scanning the text message from right to left. PIC microcontroller 16f628 is used in the LED moving message display project.&lt;br /&gt;
&lt;br /&gt;
Parts of the Moving message display:-&lt;br /&gt;
&lt;br /&gt;
LED Matrix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;br /&gt;
74LS595 serial tp parallel shift registers&amp;nbsp; for columns scanning = 8&lt;br /&gt;
MCU = PIC16f628&lt;br /&gt;
74LS138 decoder for rows scanning = 1&lt;br /&gt;
&lt;br /&gt;
crystal = 4MHz with 22pf capacitors&lt;br /&gt;
&amp;nbsp;and other power supply components.&lt;br /&gt;
&lt;br /&gt;
circuit diagram of the moving message display is as follows:-&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-H4tLCu00gyU/TmpciwuoPfI/AAAAAAAADKE/zwtzbCMAOqs/s1600/Moving+Message+Display+MMD+with+LED+matrix+using+PIC+Microcontroller+PIC16f628.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628" border="0" height="290" src="http://3.bp.blogspot.com/-H4tLCu00gyU/TmpciwuoPfI/AAAAAAAADKE/zwtzbCMAOqs/s400/Moving+Message+Display+MMD+with+LED+matrix+using+PIC+Microcontroller+PIC16f628.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/i4Tj8vbTEtU?hl=en&amp;amp;fs=1" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The program of the moving message display is written in proton basic language is as under:-&lt;br /&gt;
Device=16F628A&lt;br /&gt;
XTAL=4&lt;br /&gt;
ALL_DIGITAL=true&lt;br /&gt;
Output PORTB&lt;br /&gt;
Output PORTA&lt;br /&gt;
Symbol SER = PORTB.0 ' Serial data Pin&lt;br /&gt;
Symbol SRCLK = PORTB.1 ' Serial data Clock Pin&lt;br /&gt;
Symbol SRClr = PORTB.2 ' Serial data Clear&lt;br /&gt;
Symbol Latch = PORTB.3 ' Columns, Latch&lt;br /&gt;
High SRClr ' Turn off the serial register clear&lt;br /&gt;
Dim serial_buffer[120] As Byte&lt;br /&gt;
STR serial_buffer = "Moving Message Display and many other Microcontroller Project can be downloaded free from  www.PICinf.blogspot.com" , 0&lt;br /&gt;
Symbol selectline PORTA  &lt;br /&gt;
Dim row As Byte&lt;br /&gt;
Dim character_counter As Byte&lt;br /&gt;
Dim general_index As Byte&lt;br /&gt;
dim charcter as byte&lt;br /&gt;
dim scrolling as byte&lt;br /&gt;
dim ch_index as byte&lt;br /&gt;
dim start_ch_idx as byte &lt;br /&gt;
dim end_ch_idx as byte&lt;br /&gt;
for general_index =0 to 120&lt;br /&gt;
if serial_buffer[general_index]&amp;gt;0 then serial_buffer[general_index] =serial_buffer[general_index]-32&lt;br /&gt;
next general_index&lt;br /&gt;
' setup for positive pulses:&lt;br /&gt;
lATCH = 0 : SRCLK = 0 : SER = 0  &lt;br /&gt;
start_ch_idx =0&lt;br /&gt;
end_ch_idx = 120&lt;br /&gt;
Loop:&lt;br /&gt;
For row =0 To 6&lt;br /&gt;
ch_index = start_ch_idx&lt;br /&gt;
for character_counter = 0 to 9&lt;br /&gt;
GoSub Get_Pattern&lt;br /&gt;
inc ch_index &lt;br /&gt;
if ch_index = end_ch_idx then ch_index =0&lt;br /&gt;
next character_counter&lt;br /&gt;
PulsOut Latch,4&lt;br /&gt;
selectline = row&lt;br /&gt;
DelayUS 250&lt;br /&gt;
'selectline = 7&lt;br /&gt;
for character_counter = 0 to 7&lt;br /&gt;
SHOut SER,SRCLK,lsbfirst,[0]&lt;br /&gt;
next character_counter&lt;br /&gt;
PulsOut Latch,4&lt;br /&gt;
Next row&lt;br /&gt;
inc scrolling&lt;br /&gt;
if scrolling = 10 then&lt;br /&gt;
scrolling = 0&lt;br /&gt;
Inc start_ch_idx&lt;br /&gt;
If start_ch_idx = end_ch_idx Then start_ch_idx = 0&lt;br /&gt;
endif&lt;br /&gt;
GoTo Loop&lt;br /&gt;
End&lt;br /&gt;
Get_Pattern:&lt;br /&gt;
&lt;br /&gt;
charcter = LRead LABEL+((serial_buffer[ch_index]) * 8) + row &lt;br /&gt;
charcter = ~charcter&lt;br /&gt;
' out a clock pulse and one bit on data pin &lt;br /&gt;
'out the low 5 bits of pattern        &lt;br /&gt;
&lt;br /&gt;
If charcter.4 = 1 Then SER = 1&lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
If charcter.3 = 1 Then SER = 1&lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0&lt;br /&gt;
If charcter.2 = 1 Then SER = 1&lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
If charcter.1 = 1 Then SER = 1&lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
If charcter.0 = 1 Then SER = 1&lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0 &lt;br /&gt;
SRCLK = 1 : SRCLK = 0: SER = 0&lt;br /&gt;
Return  &lt;br /&gt;
&lt;br /&gt;
LABEL:&lt;br /&gt;
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF 'Space&lt;br /&gt;
LDATA $FB,$FB,$FB,$FB,$FB,$FF,$FB,$FF '!&lt;br /&gt;
LDATA $F5,$F5,$F5,$FF,$FF,$FF,$FF,$FF '"&lt;br /&gt;
LDATA $F5,$F5,$E0,$F5,$E0,$F5,$F5,$FF '#&lt;br /&gt;
LDATA $FB,$F0,$EB,$F1,$FA,$E1,$FB,$FF '$&lt;br /&gt;
LDATA $E3,$EA,$E5,$FB,$F4,$EA,$F8,$FF '%&lt;br /&gt;
LDATA $F7,$EB,$EB,$F7,$EA,$ED,$F2,$FF '&amp;amp;&lt;br /&gt;
LDATA $F9,$F9,$FD,$FB,$FF,$FF,$FF,$FF ''&lt;br /&gt;
LDATA $FD,$FB,$F7,$F7,$F7,$FB,$FD,$FF '(&lt;br /&gt;
LDATA $F7,$FB,$FD,$FD,$FD,$FB,$F7,$FF ')&lt;br /&gt;
LDATA $FB,$EA,$F1,$FB,$F1,$EA,$FB,$FF '*&lt;br /&gt;
LDATA $FF,$FB,$FB,$E0,$FB,$FB,$FF,$FF '+&lt;br /&gt;
LDATA $FF,$FF,$FF,$F3,$F3,$FB,$F7,$FF ',&lt;br /&gt;
LDATA $FF,$FF,$FF,$F1,$FF,$FF,$FF,$FF '-&lt;br /&gt;
LDATA $FF,$FF,$FF,$FF,$FF,$F3,$F3,$FF '.&lt;br /&gt;
LDATA $FF,$FE,$FD,$FB,$F7,$EF,$FF,$FF '/&lt;br /&gt;
LDATA $F1,$EE,$EC,$EA,$E6,$EE,$F1,$FF '0&lt;br /&gt;
LDATA $FB,$F3,$FB,$FB,$FB,$FB,$F1,$FF '1&lt;br /&gt;
LDATA $F1,$EE,$FE,$F1,$EF,$EF,$E0,$FF '2&lt;br /&gt;
LDATA $F1,$EE,$FE,$F9,$FE,$EE,$F1,$FF '3&lt;br /&gt;
LDATA $FD,$F9,$F5,$ED,$E0,$FD,$FD,$FF '4&lt;br /&gt;
LDATA $E0,$EF,$E1,$FE,$FE,$FE,$E1,$FF '5&lt;br /&gt;
LDATA $F9,$F7,$EF,$E1,$EE,$EE,$F1,$FF '6&lt;br /&gt;
LDATA $E0,$FE,$FD,$FB,$F7,$F7,$F7,$FF '7&lt;br /&gt;
LDATA $F1,$EE,$EE,$F1,$EE,$EE,$F1,$FF '8&lt;br /&gt;
LDATA $F1,$EE,$EE,$F0,$FE,$FD,$F3,$FF '9&lt;br /&gt;
LDATA $FF,$F3,$F3,$FF,$F3,$F3,$FF,$FF ':&lt;br /&gt;
LDATA $F3,$FB,$F3,$F3,$FF,$F3,$F3,$FF ';&lt;br /&gt;
LDATA $FD,$FB,$F7,$EF,$F7,$FB,$FD,$FF ' &amp;lt;   '''  &lt;br /&gt;
&lt;br /&gt;
LDATA $FF,$FF,$F1,$FF,$F1,$FF,$FF,$FF ' =&amp;nbsp; &lt;br /&gt;
LDATA $F7,$FB,$FD,$FE,$FD,$FB,$F7,$FF&amp;nbsp; '&amp;nbsp; &amp;gt;&lt;br /&gt;
LDATA $F1,$EE,$FE,$FD,$FB,$FF,$FB,$FF '?&lt;br /&gt;
LDATA $F1,$EE,$FE,$F2,$EA,$EA,$F1,$FF '@&lt;br /&gt;
LDATA $FB,$F5,$EE,$EE,$E0,$EE,$EE,$FF 'A&lt;br /&gt;
LDATA $E1,$F6,$F6,$F1,$F6,$F6,$E1,$FF 'B&lt;br /&gt;
LDATA $F1,$EE,$EF,$EF,$EF,$EE,$F1,$FF 'C&lt;br /&gt;
LDATA $E1,$F6,$F6,$F6,$F6,$F6,$E1,$FF 'D&lt;br /&gt;
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$E0,$FF 'E&lt;br /&gt;
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$EF,$FF 'F&lt;br /&gt;
LDATA $F1,$EE,$EF,$E8,$EE,$EE,$F1,$FF 'G&lt;br /&gt;
LDATA $EE,$EE,$EE,$E0,$EE,$EE,$EE,$FF 'H&lt;br /&gt;
LDATA $F1,$FB,$FB,$FB,$FB,$FB,$F1,$FF 'I&lt;br /&gt;
LDATA $F8,$FD,$FD,$FD,$FD,$FD,$F3,$FF 'J&lt;br /&gt;
LDATA $EE,$ED,$EB,$E7,$EB,$ED,$EE,$FF 'K&lt;br /&gt;
LDATA $EF,$EF,$EF,$EF,$EF,$EF,$E0,$FF 'L&lt;br /&gt;
LDATA $EE,$E4,$EA,$EA,$EE,$EE,$EE,$FF 'M&lt;br /&gt;
LDATA $EE,$E6,$EA,$EC,$EE,$EE,$EE,$FF 'N&lt;br /&gt;
LDATA $F1,$EE,$EE,$EE,$EE,$EE,$F1,$FF 'O&lt;br /&gt;
LDATA $E1,$EE,$EE,$E1,$EF,$EF,$EF,$FF 'P&lt;br /&gt;
LDATA $F1,$EE,$EE,$EE,$EA,$ED,$F2,$FF 'Q&lt;br /&gt;
LDATA $E1,$EE,$EE,$E1,$EB,$ED,$EE,$FF 'R&lt;br /&gt;
LDATA $F1,$EE,$EF,$F1,$FE,$EE,$F1,$FF 'S&lt;br /&gt;
LDATA $E0,$FB,$FB,$FB,$FB,$FB,$FB,$FF 'T&lt;br /&gt;
LDATA $EE,$EE,$EE,$EE,$EE,$EE,$F1,$FF 'U&lt;br /&gt;
LDATA $EE,$EE,$EE,$F5,$F5,$FB,$FB,$FF 'V&lt;br /&gt;
LDATA $EE,$EE,$EE,$EA,$EA,$E4,$EE,$FF 'W&lt;br /&gt;
LDATA $EE,$EE,$F5,$FB,$F5,$EE,$EE,$FF 'X&lt;br /&gt;
LDATA $EE,$EE,$F5,$FB,$FB,$FB,$FB,$FF 'Y&lt;br /&gt;
LDATA $E0,$FE,$FD,$FB,$F7,$EF,$E0,$FF 'Z&lt;br /&gt;
LDATA $F1,$F7,$F7,$F7,$F7,$F7,$F1,$FF '[&lt;br /&gt;
LDATA $FF,$EF,$F7,$FB,$FD,$FE,$FF,$FF 'backslash&lt;br /&gt;
LDATA $F1,$FD,$FD,$FD,$FD,$FD,$F1,$FF '[&lt;br /&gt;
LDATA $FB,$F5,$EE,$FF,$FF,$FF,$FF,$FF '^&lt;br /&gt;
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$E0,$FF 'underline&lt;br /&gt;
LDATA $F3,$F3,$F7,$FB,$FF,$FF,$FF,$FF ''&lt;br /&gt;
LDATA $FF,$FF,$F1,$FE,$F0,$EE,$F1,$FF 'a&lt;br /&gt;
LDATA $EF,$EF,$E9,$E6,$EE,$E6,$E9,$FF 'b&lt;br /&gt;
LDATA $FF,$FF,$F8,$F7,$F7,$F7,$F8,$FF 'c&lt;br /&gt;
LDATA $FE,$FE,$F2,$EC,$EE,$EC,$F2,$FF 'd&lt;br /&gt;
LDATA $FF,$FF,$F1,$EE,$E0,$EF,$F1,$FF 'e&lt;br /&gt;
LDATA $F9,$F6,$F7,$E1,$F7,$F7,$F7,$FF 'f&lt;br /&gt;
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$F1,$FF 'g&lt;br /&gt;
LDATA $EF,$EF,$E9,$E6,$EE,$EE,$EE,$FF 'h&lt;br /&gt;
LDATA $FB,$FF,$F3,$FB,$FB,$FB,$F1,$FF 'i&lt;br /&gt;
LDATA $FD,$FF,$F9,$FD,$FD,$FD,$F3,$FF 'j&lt;br /&gt;
LDATA $F7,$F7,$F6,$F5,$F3,$F5,$F6,$FF 'k&lt;br /&gt;
LDATA $F3,$FB,$FB,$FB,$FB,$FB,$F1,$FF 'l&lt;br /&gt;
LDATA $FF,$FF,$E5,$EA,$EA,$EA,$EA,$FF 'm&lt;br /&gt;
LDATA $FF,$FF,$E9,$E6,$EE,$EE,$EE,$FF 'n&lt;br /&gt;
LDATA $FF,$FF,$F1,$EE,$EE,$EE,$F1,$FF 'o&lt;br /&gt;
LDATA $FF,$FF,$E1,$EE,$E1,$EF,$EF,$FF 'p&lt;br /&gt;
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$FE,$FF 'q&lt;br /&gt;
LDATA $FF,$FF,$E9,$E6,$EF,$EF,$EF,$FF 'r&lt;br /&gt;
LDATA $FF,$FF,$F0,$EF,$F1,$FE,$E1,$FF 's&lt;br /&gt;
LDATA $FB,$FB,$F0,$FB,$FB,$FB,$FC,$FF 't&lt;br /&gt;
LDATA $FF,$FF,$EE,$EE,$EE,$EC,$F2,$FF 'u&lt;br /&gt;
LDATA $FF,$FF,$EE,$EE,$EE,$F5,$FB,$FF 'v&lt;br /&gt;
LDATA $FF,$FF,$EE,$EE,$EA,$EA,$F4,$FF 'w&lt;br /&gt;
LDATA $FF,$FF,$EE,$F5,$FB,$F5,$EE,$FF 'x&lt;br /&gt;
LDATA $FF,$FF,$EE,$F5,$FB,$FB,$F3,$FF 'y&lt;br /&gt;
LDATA $FF,$FF,$E0,$FD,$FB,$F7,$E0,$FF 'z&lt;br /&gt;
LDATA $F9,$F7,$F7,$E7,$F7,$F7,$F9,$FF '{&lt;br /&gt;
LDATA $FB,$FB,$FB,$FF,$FB,$FB,$FB,$FF '|&lt;br /&gt;
LDATA $F3,$FD,$FD,$FC,$FD,$FD,$F3,$FF '}&lt;br /&gt;
LDATA $F5,$EA,$FF,$FF,$FF,$FF,$FF,$FF '~&lt;br /&gt;
LDATA $F5,$EA,$F5,$EA,$F5,$EA,$F5H 'DEL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628,74ls595,74ls138,fancy LED matrix display&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-2142791007190065519?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qJV3yvS5K79oy_6QZ1mOeWI4U5o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qJV3yvS5K79oy_6QZ1mOeWI4U5o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qJV3yvS5K79oy_6QZ1mOeWI4U5o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qJV3yvS5K79oy_6QZ1mOeWI4U5o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/nAJS5RjTV4M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/2142791007190065519/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/09/moving-message-display-mmd-with-led.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/2142791007190065519?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/2142791007190065519?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/nAJS5RjTV4M/moving-message-display-mmd-with-led.html" title="Moving Message Display MMD with LED matrix using PIC Microcontroller PIC16f628" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-H4tLCu00gyU/TmpciwuoPfI/AAAAAAAADKE/zwtzbCMAOqs/s72-c/Moving+Message+Display+MMD+with+LED+matrix+using+PIC+Microcontroller+PIC16f628.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/09/moving-message-display-mmd-with-led.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QDQXkzfCp7ImA9WhdVGEk.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-3249592207165810059</id><published>2011-08-28T11:49:00.000-07:00</published><updated>2011-09-23T22:16:10.784-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T22:16:10.784-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="16f877a microcontroller c code" /><category scheme="http://www.blogger.com/atom/ns#" term="simple pic lcd display for calculator" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC Microcontroller 16f877 based calculator with LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC calculator" /><category scheme="http://www.blogger.com/atom/ns#" term="microcontroller calculator" /><title>PIC Microcontroller 16f877 based calculator with LCD</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;PIC Microcontroller 16f877 based calculator with LCD:-&lt;br /&gt;
The mini calculator is developed using PIC16f877 microcontroller with LCD display. The programming language is mikroC. This prject will help the students to learn the designing of microcontroller based project, interfacing of keypad with microcontroller, interfacing the LCD with microcontrollers. handling the strings and their conversions to numbers will be discussed in this project.&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;pic 16f877a calculator&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
The operation of the calculator is as under:&lt;br /&gt;
The display shows a message " CALCULATOR" on powering up the microcontroller on LCD first. Then after a few second display is changed and new message is printed " No1:" at first line of the LCD. This is clear indication that the microcontroller is ready to operate and waiting to feed first number as input.&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;YOu can download the 16f877a microcontroller c code of the calculator project &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
The user should feed a positive number like 219 etc. &lt;br /&gt;
To feed second number press once the key "=" at the keypad. The display is updated on second line of LCD with message "No2:", yes the microcontroller based calculator is ready to accept the second number. using the keypad, user will enter the second number like 2987 etc.&lt;br /&gt;
Now, after entering these two number, the turn come for operator. So, the user will press key "=" once. Now the LCD is again updated with new message like "OP" at first line of LCD. You should feed required operator by pressing right key on keypad, like "+","-","*" or "\"&lt;br /&gt;
The result will be displayed like "res = 456" etc.&lt;br /&gt;
The circuit diagram of PIC Microcontroller 16f877 based calculator with LCD is as shown below:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DT4XxGsqZhE/TlqNk_ggMCI/AAAAAAAADJs/CJnU7Nv4tZs/s1600/pic16F877%2BBASED%2BCALCULATOR%2BWITH%2Blcd%2BDISPLAY.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="PIC Microcontroller 16f877 based calculator with LCD" border="0" height="316" src="http://4.bp.blogspot.com/-DT4XxGsqZhE/TlqNk_ggMCI/AAAAAAAADJs/CJnU7Nv4tZs/s400/pic16F877%2BBASED%2BCALCULATOR%2BWITH%2Blcd%2BDISPLAY.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The code or program for PIC16f877 is written in MikroC language and is presented here:&lt;br /&gt;
/**************************************************************&lt;br /&gt;
In this project a 4 x 4 keypad is connected to PORTB of a PIC18F877&lt;br /&gt;
microcontroller. Also an LCD is connected to PORTC. The project is a simple&lt;br /&gt;
calculator which can perform integer arithmetic.&lt;br /&gt;
The keys on keypad are labeled as follows:&lt;br /&gt;
.............&lt;br /&gt;
7  8  9  /&lt;br /&gt;
4  5  6 *&lt;br /&gt;
1  2  3  -&lt;br /&gt;
C  0  =  +&lt;br /&gt;
In this program mikroC built-in functions are used.&lt;br /&gt;
The crystal frequency for microcontroller PIC16f877 in this project is 8MHz&lt;br /&gt;
****************************************************************/&lt;br /&gt;
#define Enter 0x0C// here it is the key "=" on keypad&lt;br /&gt;
#define Plus 0x0F// The "+" key&lt;br /&gt;
#define Minus 0x0E  // The "-" key&lt;br /&gt;
#define Multiply 0x0B // The "*" key&lt;br /&gt;
#define Divide 0x0D   //  The "/"&lt;br /&gt;
&lt;br /&gt;
unsigned key [17]={0,0x07,0x08,0x09,0x0D,0x04,0x05,&lt;br /&gt;
0x06,0x0B,0x01,0x02,0x03,0x0E,0x00,0x0A,0x0C,0x0F};&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
unsigned char MyKey, i,j,lcd[5],op[12];&lt;br /&gt;
unsigned long Calc, Op1, Op2;&lt;br /&gt;
TRISC = 0; // PORTC are outputs (LCD)&lt;br /&gt;
//&lt;br /&gt;
// Configure LCD&lt;br /&gt;
//&lt;br /&gt;
Lcd_Init(&amp;amp;PORTC); // LCD is connected to PORTC&lt;br /&gt;
Lcd_Cmd(LCD_CLEAR);&lt;br /&gt;
Lcd_Out(1,1,"CALCULATOR"); // Display CALCULATOR&lt;br /&gt;
Delay_ms(2000);&lt;br /&gt;
Lcd_Cmd(LCD_CLEAR);&lt;br /&gt;
//&lt;br /&gt;
// Configure KEYPAD&lt;br /&gt;
//&lt;br /&gt;
Keypad_Init(&amp;amp;PORTB); // Keypad on PORTB&lt;br /&gt;
//&lt;br /&gt;
// Program loop&lt;br /&gt;
//&lt;br /&gt;
for(;;) // Endless loop&lt;br /&gt;
{&lt;br /&gt;
MyKey = 0;&lt;br /&gt;
Op1 = 0;&lt;br /&gt;
Op2 = 0;&lt;br /&gt;
Lcd_Out(1,1,"No1: "); // Display No1:&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
do // Get first number&lt;br /&gt;
MyKey = key[Keypad_Released()];&lt;br /&gt;
&lt;br /&gt;
while(!MyKey);&lt;br /&gt;
// MyKey = key[MyKey];&lt;br /&gt;
if(MyKey == Enter)break; // If ENTER pressed&lt;br /&gt;
if(MyKey == 10)MyKey = 0; // If 0 key pressed&lt;br /&gt;
Lcd_Chr_Cp(MyKey + '0');&lt;br /&gt;
//Lcd_Chr_Cp(key[MyKey] + '0');&lt;br /&gt;
Op1 = 10*Op1 + MyKey;&lt;br /&gt;
}&lt;br /&gt;
Lcd_Out(2,1,"No2: "); // Display No2:&lt;br /&gt;
while(1) // Get second no&lt;br /&gt;
{&lt;br /&gt;
do&lt;br /&gt;
MyKey = key[Keypad_Released()]; // Get second number&lt;br /&gt;
while(!MyKey);&lt;br /&gt;
if(MyKey == Enter)break; // If ENTER pressed&lt;br /&gt;
if(MyKey == 10)MyKey = 0; // If 0 key pressed&lt;br /&gt;
Lcd_Chr_Cp(MyKey + '0');&lt;br /&gt;
Op2 = 10*Op2 + MyKey;&lt;br /&gt;
}&lt;br /&gt;
Lcd_Cmd(LCD_CLEAR);&lt;br /&gt;
Lcd_Out(1,1,"Op: "); // Display Op:&lt;br /&gt;
do&lt;br /&gt;
MyKey = key[Keypad_Released()]; // Get operation&lt;br /&gt;
while(!MyKey);&lt;br /&gt;
Lcd_Cmd(LCD_CLEAR);&lt;br /&gt;
Lcd_Out(1,1,"Res="); // Display Res=&lt;br /&gt;
switch(MyKey) // Perform the operation&lt;br /&gt;
{&lt;br /&gt;
case Plus:&lt;br /&gt;
Calc = Op1 + Op2; // If ADD&lt;br /&gt;
break;&lt;br /&gt;
case Minus:&lt;br /&gt;
Calc = Op1 - Op2; // If Subtract&lt;br /&gt;
break;&lt;br /&gt;
case Multiply:&lt;br /&gt;
Calc = Op1 * Op2; // If Multiply&lt;br /&gt;
break;&lt;br /&gt;
case Divide:&lt;br /&gt;
Calc = Op1 / Op2; // If Divide&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
LongToStr(Calc, op); // Convert to string&lt;br /&gt;
//&lt;br /&gt;
// Remove leading blanks&lt;br /&gt;
//&lt;br /&gt;
j=0;&lt;br /&gt;
for(i=0;i&amp;lt;=11;i++) { if(op[i] != ' ') // If a blank { lcd[j]=op[i]; j++; } } Lcd_Out_Cp(lcd); // Display result Delay_ms(5000); // Wait 5 seconds Lcd_Cmd(LCD_CLEAR); } }   &lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-3249592207165810059?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/anbhmOKH848LvePC8awuWVbIJkc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/anbhmOKH848LvePC8awuWVbIJkc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/anbhmOKH848LvePC8awuWVbIJkc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/anbhmOKH848LvePC8awuWVbIJkc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/kOGJ2khez3w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/3249592207165810059/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/08/pic-microcontroller-16f877-based.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3249592207165810059?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3249592207165810059?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/kOGJ2khez3w/pic-microcontroller-16f877-based.html" title="PIC Microcontroller 16f877 based calculator with LCD" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-DT4XxGsqZhE/TlqNk_ggMCI/AAAAAAAADJs/CJnU7Nv4tZs/s72-c/pic16F877%2BBASED%2BCALCULATOR%2BWITH%2Blcd%2BDISPLAY.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/08/pic-microcontroller-16f877-based.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0INSXs4fip7ImA9WhdXE0o.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-3987619550936467618</id><published>2011-08-26T07:21:00.000-07:00</published><updated>2011-08-26T09:19:58.536-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-26T09:19:58.536-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="move message from left to right" /><category scheme="http://www.blogger.com/atom/ns#" term="moving message on LCD using PIC microcontroller 16f84" /><category scheme="http://www.blogger.com/atom/ns#" term="scroll text" /><category scheme="http://www.blogger.com/atom/ns#" term="scrol text from right to left" /><title>moving message on LCD using PIC microcontroller 16f84</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This post is about the scrolling the moving message from right to left on LCD screen using microcontroller PIC1684. The ciruit diagram of moving message display is shown below. The code of this project is written in proton basic compiler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--w1K1kprw1I/TleriyHHtBI/AAAAAAAADJk/KGk2wnhIgs0/s1600/moving%2Bmessage%2Bon%2BLCD%2Busing%2BPIC%2Bmicrocontroller%2B16f84.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252"alt="moving message on LCD using PIC microcontroller 16f84 move message from left to right moving message on LCD using PIC microcontroller 16f84 scrol text from right to left scroll text"src="http://4.bp.blogspot.com/--w1K1kprw1I/TleriyHHtBI/AAAAAAAADJk/KGk2wnhIgs0/s400/moving%2Bmessage%2Bon%2BLCD%2Busing%2BPIC%2Bmicrocontroller%2B16f84.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
'****************************************************************&lt;br /&gt;
'*  Name    : LCD scrolling text.BAS                            *&lt;br /&gt;
'*  Author  : [Dr.Rana]                                         *&lt;br /&gt;
'*  Date    : 8/25/2011                                         *&lt;br /&gt;
'*  Version : 1.0                                               *&lt;br /&gt;
'*  Notes   : Moveing message on LCD 16 character 2 line                                                  *&lt;br /&gt;
'*          :                                                   *&lt;br /&gt;
'****************************************************************&lt;br /&gt;
Device 16F84A &lt;br /&gt;
Declare LCD_Interface 4         &lt;br /&gt;
' 4-line or 8-line interface is required by the LCD. &lt;br /&gt;
Declare LCD_Lines 4             &lt;br /&gt;
' Inform the compiler as to how many lines the LCD has &lt;br /&gt;
&lt;br /&gt;
Dim SCROL As Word    &lt;br /&gt;
' this viarable is for indexing the characters on LCD&lt;br /&gt;
Dim ASCII  As Byte   &lt;br /&gt;
' second index variable for LCD locations&lt;br /&gt;
Dim CHAR1  As Byte   &lt;br /&gt;
'temparary variable in RAM&lt;br /&gt;
PORTB=0&lt;br /&gt;
PORTA=0&lt;br /&gt;
DelayMS 500		 	 	  &lt;br /&gt;
' to stabilized microcontroller&lt;br /&gt;
&lt;br /&gt;
PRINT_MESSAGE_LCD_scrol:&lt;br /&gt;
For SCROL= 0 To 800 		  											   		  	  		   	  	 	 	  						&lt;br /&gt;
Cursor 1,1	&lt;br /&gt;
For ASCII=0 To 15&lt;br /&gt;
' 0 TO 16 MAKES A TOTAL OF 16 LOCATION IN THE LCD (FOR LCD = 16 CHARS)&lt;br /&gt;
&lt;br /&gt;
CHAR1 = LRead TEXT1 + (ASCII+ SCROL)&lt;br /&gt;
' Read memory location LABEL + LOOP&lt;br /&gt;
Print CHAR1&lt;br /&gt;
Next ASCII&lt;br /&gt;
Cursor 2,1	&lt;br /&gt;
For ASCII=0 To 15&lt;br /&gt;
&lt;br /&gt;
' 0 TO 16 MAKES A TOTAL OF 16 LOCATION IN THE LCD (FOR LCD = 16 CHARS)&lt;br /&gt;
&lt;br /&gt;
CHAR1 = LRead TEXT2 + (ASCII+ SCROL)&lt;br /&gt;
&lt;br /&gt;
' Read memory location LABEL + LOOP&lt;br /&gt;
&lt;br /&gt;
Print CHAR1&lt;br /&gt;
Next ASCII&lt;br /&gt;
DelayMS 250	  		  	&lt;br /&gt;
&lt;br /&gt;
' DELAY IN ORDER TO SEE THE TEXT IN THE LCD	  											&lt;br /&gt;
&lt;br /&gt;
Next SCROL		&lt;br /&gt;
GoTo PRINT_MESSAGE_LCD_scrol&lt;br /&gt;
&lt;br /&gt;
TEXT1: &lt;br /&gt;
LData "                   This is moving message example on LCD, the text will be scrol from right to left on LCD at first line              "&lt;br /&gt;
TEXT2:&lt;br /&gt;
LData "                   This example is written in  IC BASIC Proton. and two line scroling is being performed here"&lt;br /&gt;
GoTo PRINT_MESSAGE_LCD_scrol&lt;br /&gt;
&lt;br /&gt;
This program is tested in proteus ISIS and works fine.&lt;br /&gt;
The crystal frequency for microcontroller PIC 16f84 is 4MHz.&lt;br /&gt;
The text is scroll from right to left at both lines of LCD.&lt;br /&gt;
The user can change their own message in the program and recompile the basic code to hex file. Then using suitable programmer for PIC16f84 and burn the hex file of moving message display into the microcontroller.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-3987619550936467618?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jLCbvvV93EloLb5sSV3AVc8UbLc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLCbvvV93EloLb5sSV3AVc8UbLc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jLCbvvV93EloLb5sSV3AVc8UbLc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLCbvvV93EloLb5sSV3AVc8UbLc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/CAUgVv4EzC0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/3987619550936467618/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/08/moving-message-on-lcd-using-pic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3987619550936467618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3987619550936467618?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/CAUgVv4EzC0/moving-message-on-lcd-using-pic.html" title="moving message on LCD using PIC microcontroller 16f84" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/--w1K1kprw1I/TleriyHHtBI/AAAAAAAADJk/KGk2wnhIgs0/s72-c/moving%2Bmessage%2Bon%2BLCD%2Busing%2BPIC%2Bmicrocontroller%2B16f84.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/08/moving-message-on-lcd-using-pic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUADQXc7eCp7ImA9WhdQFk0.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-3611677614978802357</id><published>2011-08-17T12:01:00.000-07:00</published><updated>2011-08-17T12:02:50.900-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-17T12:02:50.900-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="check heart beats with LDR" /><category scheme="http://www.blogger.com/atom/ns#" term="transducer for heart beats" /><category scheme="http://www.blogger.com/atom/ns#" term="Heart beat monitor PIC16f84 Microcontroller display on LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="pic16f84" /><category scheme="http://www.blogger.com/atom/ns#" term="heart beat meter" /><title>Heart beat monitor PIC16f84 Microcontroller display on LCD</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This is very simple project for heart beat monitoring using microcontroller PIC 16f84.&lt;br /&gt;
A pair of LED and LDR is used as sensor for sensing the pulses of heart. The signal is generated when a finger is placed between LED and LDR. OP amp LM358 is used for the further processing of the signal generated from the LDR, if finger is placed and some obstacle for light is created, which it self is varying with the pressure of blood in the veins of finger.&lt;br /&gt;
The output of two operational amplifiers is TTL pulses. For a healthy person, these pulses should be nearly equal to 70 to 80 BPM and if we convert it into frequency then we will get 1.2 to 1.4 Hz.&lt;br /&gt;
The microcontroller PIC16f84 senses these TTL pulses generated from the analog circuit and count then using a very simple algorithm converts them into beats per minuets. &lt;br /&gt;
The results of the beats are shown on LCD with unit BPM.&lt;br /&gt;
&lt;br /&gt;
For display of heart beat monitor , a general purpose LCD is used. Students can use any single line or two line LCD available in their local market. As, in the program, only first 16 characters and first line is used to display any message on LCD. If any student got 2 line and 20 characters LCD, it will also works good.&lt;br /&gt;
&lt;br /&gt;
Here is circuit diagram of the heart beat monitor using PIC microcontroller 16f84.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-F2uNcHyoAgU/TkwP1fYwChI/AAAAAAAADIQ/PGFU-Li4XkQ/s1600/PIC16f84+based+heart+beat+monitor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236"alt="Heart beat monitor PIC16f84 Microcontroller display on LCD" src="http://2.bp.blogspot.com/-F2uNcHyoAgU/TkwP1fYwChI/AAAAAAAADIQ/PGFU-Li4XkQ/s320/PIC16f84+based+heart+beat+monitor.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
below is c language code for the heart rate monitor using PIC microcontroller 16f84, the c code is written Hi-Tech C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//# define &lt;pic16f84&gt; &lt;br /&gt;
# include &lt; pic . h&gt;&lt;br /&gt;
#define&amp;nbsp;&amp;nbsp;rs&amp;nbsp;&amp;nbsp;&amp;nbsp;RA2&lt;br /&gt;
#define&amp;nbsp;&amp;nbsp;e&amp;nbsp;&amp;nbsp;&amp;nbsp;RA1&lt;br /&gt;
#define&amp;nbsp;&amp;nbsp;lcd_data&amp;nbsp;PORTB&lt;br /&gt;
#define _XTAL_FREQ 4000000&lt;br /&gt;
void delayms(unsigned int itime);&lt;br /&gt;
void pulse(void);&lt;br /&gt;
void send_char(unsigned char data);&lt;br /&gt;
void lcd_goto(unsigned char data);&lt;br /&gt;
void lcd_clr(void);&lt;br /&gt;
void send_string(const char *s);&lt;br /&gt;
void init_lcd(void);&lt;br /&gt;
void dis_num(unsigned int data,unsigned char digit);&lt;br /&gt;
void prog1(void);&lt;br /&gt;
unsigned long no=0;&lt;br /&gt;
void main (void)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;TRISA=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;TRISB=0;&lt;br /&gt;
&amp;nbsp;TRISA3=1;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;init_lcd();&lt;br /&gt;
delayms(10);&lt;br /&gt;
lcd_clr();&lt;br /&gt;
delayms(10);&lt;br /&gt;
send_string("Heart rate meter");&lt;br /&gt;
delayms(1000);&lt;br /&gt;
lcd_clr();&lt;br /&gt;
delayms(10);&lt;br /&gt;
&amp;nbsp;while(1)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;prog1();&lt;br /&gt;
&amp;nbsp;}&lt;/pic.h&gt;&lt;/pic16f84&gt;&lt;br /&gt;
}&lt;br /&gt;
void prog1(void)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;unsigned int temp1=0,temp2=0;&lt;br /&gt;
&amp;nbsp;unsigned char i;&lt;br /&gt;
&amp;nbsp;unsigned int hb=1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;while(RA3);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;while(!RA3){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;hb++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;delayms(1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;hb=30000/hb;&lt;br /&gt;
&amp;nbsp;lcd_goto(2);&lt;br /&gt;
&amp;nbsp;send_string("H.B.R:&amp;nbsp;&amp;nbsp;&amp;nbsp; bpm");&lt;br /&gt;
&amp;nbsp;lcd_goto(8);&lt;br /&gt;
&amp;nbsp;dis_num(hb,3);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void delayms(unsigned int itime)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;unsigned int i;&lt;br /&gt;
for(;itime&amp;gt;0;itime--)&lt;br /&gt;
{&lt;br /&gt;
__delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void send_config(unsigned char data)&amp;nbsp;//send lcd configuration &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;rs=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//set lcd to configuration mode&lt;br /&gt;
lcd_data=data&amp;amp;0xf0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//lcd data port = data&lt;br /&gt;
&amp;nbsp;pulse();&lt;br /&gt;
&amp;nbsp;lcd_data=(data&amp;lt;&amp;lt;4)&amp;amp;0xf0;&lt;br /&gt;
&amp;nbsp;pulse();&lt;br /&gt;
}&lt;br /&gt;
void pulse(void)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;e=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//pulse e to confirm the data&lt;br /&gt;
&amp;nbsp;delayms(1);&lt;br /&gt;
&amp;nbsp;e=0;&lt;br /&gt;
&amp;nbsp;delayms(1);&lt;br /&gt;
}&lt;br /&gt;
void lcd_goto(unsigned char data)&amp;nbsp;&amp;nbsp;//set the location of the lcd cursor&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//if the given value is (0-15) the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;send_config(0x80+data);&amp;nbsp;&amp;nbsp;&amp;nbsp;//cursor will be at the lower line&lt;br /&gt;
}&lt;br /&gt;
void lcd_clr(void)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//clear the lcd&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
send_config(0x01);&lt;br /&gt;
&amp;nbsp;delayms(2);&lt;br /&gt;
}&lt;br /&gt;
void send_string(const char *s)&amp;nbsp;&amp;nbsp;&amp;nbsp;//send a string to display in the lcd&lt;br /&gt;
{&lt;br /&gt;
rs = 1;&amp;nbsp; &lt;br /&gt;
while (*s)send_char (*s++);&lt;br /&gt;
}&lt;br /&gt;
void send_char(unsigned char data)&amp;nbsp;&amp;nbsp;//send lcd character&lt;br /&gt;
{&lt;br /&gt;
rs =1;&lt;br /&gt;
delayms(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//set lcd to display mode&lt;br /&gt;
&amp;nbsp;lcd_data=data&amp;amp;0xf0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//lcd data port = data&lt;br /&gt;
&amp;nbsp;pulse();&lt;br /&gt;
&amp;nbsp;lcd_data=(data&amp;lt;&amp;lt;4)&amp;amp;0xf0;&lt;br /&gt;
&amp;nbsp;pulse();&lt;br /&gt;
}&lt;br /&gt;
void init_lcd(void)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;rs=0;e=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//command mode&lt;br /&gt;
&amp;nbsp;delayms(10);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//delay 10ms&lt;br /&gt;
&amp;nbsp;lcd_data=0x30;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//load initial nibble&lt;br /&gt;
&amp;nbsp;pulse();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Latch initial code&lt;br /&gt;
&amp;nbsp;delayms(5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//delay 5ms&lt;br /&gt;
&amp;nbsp;pulse();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Latch initial code&lt;br /&gt;
&amp;nbsp;delayms(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//delay 1ms&lt;br /&gt;
&amp;nbsp;pulse();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Latch initial code&lt;br /&gt;
&amp;nbsp;lcd_data=0x20;&lt;br /&gt;
&amp;nbsp;pulse();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Latch initial code&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;//configure lcd&lt;br /&gt;
&amp;nbsp;send_config(0x28);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Set 4-bit mode, 2 lines&lt;br /&gt;
&amp;nbsp;send_config(0xF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Switch off display&lt;br /&gt;
&amp;nbsp;&amp;nbsp;send_config(0x06);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Enable cursor auto increase&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void dis_num(unsigned int data,unsigned char digit)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;if(digit&amp;gt;3)&lt;br /&gt;
&amp;nbsp;send_char('0'+(data/1000)%10);&lt;br /&gt;
&amp;nbsp;if(digit&amp;gt;2)&lt;br /&gt;
&amp;nbsp;send_char('0'+(data/100)%10);&lt;br /&gt;
&amp;nbsp;if(digit&amp;gt;1)&lt;br /&gt;
&amp;nbsp;send_char('0'+(data/10)%10);&lt;br /&gt;
&amp;nbsp;if(digit&amp;gt;0)&lt;br /&gt;
&amp;nbsp;send_char('0'+(data/1)%10);&lt;br /&gt;
}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-3611677614978802357?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gllJs_mVe5iocvXRBYkdJ9J2-5c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gllJs_mVe5iocvXRBYkdJ9J2-5c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gllJs_mVe5iocvXRBYkdJ9J2-5c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gllJs_mVe5iocvXRBYkdJ9J2-5c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/FpNPhVSIxeg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/3611677614978802357/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/08/heart-beat-monitor-pic16f84.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3611677614978802357?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3611677614978802357?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/FpNPhVSIxeg/heart-beat-monitor-pic16f84.html" title="Heart beat monitor PIC16f84 Microcontroller display on LCD" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-F2uNcHyoAgU/TkwP1fYwChI/AAAAAAAADIQ/PGFU-Li4XkQ/s72-c/PIC16f84+based+heart+beat+monitor.jpg" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/08/heart-beat-monitor-pic16f84.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYGQHczfip7ImA9WhdQEks.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6322051151320174979</id><published>2011-08-13T12:02:00.000-07:00</published><updated>2011-08-13T12:02:01.986-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-13T12:02:01.986-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Multi Media Card" /><category scheme="http://www.blogger.com/atom/ns#" term="LD1086V33 voltage regulator" /><category scheme="http://www.blogger.com/atom/ns#" term="64MB Flash MMC" /><category scheme="http://www.blogger.com/atom/ns#" term="MultiMediaCard" /><category scheme="http://www.blogger.com/atom/ns#" term="MMC" /><category scheme="http://www.blogger.com/atom/ns#" term="MMC interface with Microcontroller PIC16f877 and serial communication with PC" /><title>MMC interface with Microcontroller PIC16f877 and serial communication with PC</title><content type="html">This project is about How to interface MMC with Microcontroller PIC16f877 and serial communication with PC.&lt;br /&gt;
PIC - MMC (Multi Media Card) Flash Memory Extension &lt;br /&gt;
&lt;br /&gt;
It is easy to interface a MMC (MultiMediaCard) with a MicroChip PIC via the SPI (Serial Port Interface). This is a very handy data logging circuit with lots of memory for data storage. I2C RAM's or EEPROM's are hardly available at sizes bigger than 256kb, but this solution with a 64MB Flash MMC is not to beat in both cost effectiveness and storage volume!&lt;br /&gt;
This version utilizes a PIC16F876, but it's easy to port the schematic and software to other PIC's.&lt;br /&gt;
The MMC is connected to the SPI pins of the PIC via simple resistor voltage dividers to transform the +5V high levels to about 3.3V used by the MMC. The supply voltage for the MMC (2.7V - 3.6V) comes from a LD1086V33 voltage regulator (3.3V) or equivalent. It is possible to run the PIC at 3.3V, but then the AD converters are not as stable as at 5V. The data-out pin from the MMC goes directly to the PIC, because 3.3V is high for the PIC anyway.&lt;br /&gt;
circuit diagram of the MMC interface with Microcontroller PIC16f877 and serial communication with PC is as below:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JXj6ikZKciw/TkbJzDC1HqI/AAAAAAAADII/UBP6HqciJSI/s1600/MMC%2Binterface%2Bwith%2BMicrocontroller%2BPIC16f877%2Band%2Bserial%2Bcommunication%2Bwith%2BPC.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="152" width="200"alt="MMC interface with Microcontroller PIC16f877 and serial communication with PC" src="http://2.bp.blogspot.com/-JXj6ikZKciw/TkbJzDC1HqI/AAAAAAAADII/UBP6HqciJSI/s200/MMC%2Binterface%2Bwith%2BMicrocontroller%2BPIC16f877%2Band%2Bserial%2Bcommunication%2Bwith%2BPC.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
code of the project is as below:-&lt;br /&gt;
/*	PIC MMC Interface Test&lt;br /&gt;
	http://www.captain.at/electronics/&lt;br /&gt;
	&lt;br /&gt;
	Writes ASCII characters to the MMC, reads them back and sends the characters&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Furthermore the PIC returns any character sent to it via the interrupt&lt;br /&gt;
	service routine. Use "ser" for testing:&lt;br /&gt;
	&lt;br /&gt;
	# ./ser&lt;br /&gt;
	baud=9600&lt;br /&gt;
	baud=9600&lt;br /&gt;
	written:ABC&lt;br /&gt;
	readport=ABC&lt;br /&gt;
	#&lt;br /&gt;
	&lt;br /&gt;
	Compile with CC5x: http://www.bknd.com/cc5x/&lt;br /&gt;
	c:\picc\cc5x mmc.c -Ic:\picc\ -ammc.ASM -u&lt;br /&gt;
	&lt;br /&gt;
	CC5x runs nicely on Linux with "dosemu" http://www.dosemu.org/&lt;br /&gt;
	&lt;br /&gt;
	Credit:&lt;br /&gt;
	SPI functions made by Michael Dworkin&lt;br /&gt;
	http://home.wtal.de/Mischka/MMC/&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &lt;16F876.h&gt;&lt;br /&gt;
#include "int16CXX.H"	// interrupt stuff&lt;br /&gt;
&lt;br /&gt;
#define CP_off  |= 0x3F30&lt;br /&gt;
#define LVP |= 128&lt;br /&gt;
#pragma config CP_off,PWRTE=on,WDTE=off,FOSC=HS,BODEN=on,LVP&lt;br /&gt;
&lt;br /&gt;
#pragma bit CS @ PORTC.2	// output pin for chip select (MMC)&lt;br /&gt;
&lt;br /&gt;
#pragma rambank 0&lt;br /&gt;
char sector1[64];&lt;br /&gt;
int currentrambank;&lt;br /&gt;
int counter;&lt;br /&gt;
&lt;br /&gt;
#pragma rambank 1&lt;br /&gt;
char sector2[64];&lt;br /&gt;
&lt;br /&gt;
#pragma rambank 2&lt;br /&gt;
char sector3[64];&lt;br /&gt;
&lt;br /&gt;
#pragma rambank 3&lt;br /&gt;
char sector4[64];&lt;br /&gt;
&lt;br /&gt;
#pragma origin 4		// force interrupt service routine at address 4&lt;br /&gt;
&lt;br /&gt;
interrupt myInterrupt(void)		// ISR&lt;br /&gt;
{&lt;br /&gt;
	int_save_registers&lt;br /&gt;
	char rec;&lt;br /&gt;
	if (RCIF)				// USART interrupt ?&lt;br /&gt;
	{&lt;br /&gt;
		while(!TXIF) {		// wait for serial register to be sent, if there is still something in there&lt;br /&gt;
			nop();&lt;br /&gt;
		}&lt;br /&gt;
		rec = RCREG;		// Get the received character&lt;br /&gt;
		TXREG = rec;		// write to serial register -&gt; start transmission&lt;br /&gt;
&lt;br /&gt;
		RCIF = 0;			// clear USART int flag&lt;br /&gt;
	}&lt;br /&gt;
	int_restore_registers&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void InitUSART()&lt;br /&gt;
{&lt;br /&gt;
	PORTA = 0;&lt;br /&gt;
	PORTB = 0;&lt;br /&gt;
	PORTC = 0;&lt;br /&gt;
	&lt;br /&gt;
	BRGH = 1;		// high speed serial mode&lt;br /&gt;
	SPBRG = 25;		// Set 9600 baud for 4 MHz oscillator&lt;br /&gt;
	SYNC = 0;		// Clear SYNC bit -&gt; Set ASYNC Mode&lt;br /&gt;
	SPEN = 1;		// Set serial port enable&lt;br /&gt;
	TX9 = 0;			// 8-bit transmissions&lt;br /&gt;
	TXEN = 1;		// Enable transmission&lt;br /&gt;
	RCIE = 1;		// Rx interrupts are desired&lt;br /&gt;
	RX9 = 0;			// 8-bit receptions&lt;br /&gt;
	CREN = 1;		// Enable reception&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void initint()		// init interrupts&lt;br /&gt;
{&lt;br /&gt;
	GIE = 1; 		// Set Global Interrupt Enable&lt;br /&gt;
	PEIE = 1;		// Set Peripheral Interrupt Enable&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fillram()		// fill RAM (sector1..4) with ASCII characters&lt;br /&gt;
{&lt;br /&gt;
	int i;&lt;br /&gt;
	int x;&lt;br /&gt;
	for (i=0;i&lt;=63;i++) {
		x = i + 48;
		sector1[i] = x;
		sector2[i] = x;
		sector3[i] = x;
		sector4[i] = x;
	}
}

char SPI(char d)		// send character over SPI
{
	SSPBUF = d;			// send character
	while (!BF);		// wait until sent
	return SSPBUF;		// and return the received character
}

char Command(char befF,uns16 AdrH,uns16 AdrL,char befH )
{	// sends a command to the MMC
	char a;
	SPI(0xFF);
	SPI(befF);
	SPI(AdrH.high8);
	SPI(AdrH.low8);
	SPI(AdrL.high8);
	SPI(AdrL.low8);
	SPI(befH);
	SPI(0xFF);
	return SPI(0xFF);	// return the last received character
}

bit MMC_Init()	// init SPI
{
	SMP = 0;		// input is valid in the middle of clock
	CKE = 0;		// rising edge is data capture
	CKP = 1;		// high value is passive state
	SSPM1 = 1;	// speed f/64(312kHz), Master
	SSPEN = 1;	// enable SPI
	CS = 1; 		// disable MMC

	char i;
	// start MMC in SPI mode
	for(i=0; i &lt; 10; i++)SPI(0xFF);		// send 10*8=80 clock pulses
	CS=0;			// MMC-Enabled

	if (Command(0x40,0,0,0x95) !=1) goto mmcerror; 	// Reset MMC

st: // if there is no MMC, prg. loops here
	if (Command(0x41,0,0,0xFF) !=0) goto st;

	return 1;
mmcerror:
	return 0;
}

void serialterminate() { // terminate sent string!!!
	while(!TXIF);
	TXREG = 0x0d;
	while(!TXIF);
	TXREG = 0x0a;
}

void SerString(const char *str)	// send string via RS232
{
	char ps;
	ps = *str;					// pointer of start of string into ps
	while(ps&gt;0)					// test if end of string is reached&lt;br /&gt;
	{&lt;br /&gt;
		str++;					// set pointer to next char&lt;br /&gt;
		if (ps== 0) break;	// test if end of string is reached&lt;br /&gt;
		while(!TXIF);			// test if TXREG empty&lt;br /&gt;
		TXREG = ps ;			// send character&lt;br /&gt;
	  	ps = *str;				// content of pointer into ps&lt;br /&gt;
	}&lt;br /&gt;
	serialterminate();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bit writeramtommc()		// write RAM (sector1..4) to MMC&lt;br /&gt;
{&lt;br /&gt;
	// 512 byte-write-mode&lt;br /&gt;
	if (Command(0x58,0,512,0xFF) !=0) {&lt;br /&gt;
		SerString("MMC: write error 1 ");&lt;br /&gt;
		return 1;	&lt;br /&gt;
	}&lt;br /&gt;
	SPI(0xFF);&lt;br /&gt;
	SPI(0xFF);&lt;br /&gt;
	SPI(0xFE);&lt;br /&gt;
	uns16 i;&lt;br /&gt;
	// write ram sectors to MMC&lt;br /&gt;
	for (i=0;i&lt;=63;i++) {
		SPI(sector1[i]);
	}
	for (i=0;i&lt;=63;i++) {
		SPI(sector2[i]);
	}
	for (i=0;i&lt;=63;i++) {
		SPI(sector3[i]);
	}
	for (i=0;i&lt;=63;i++) {
		SPI(sector4[i]);
	}
	for (i=0;i&lt;256;i++) { 	// fill rest with 'C'
		SPI('C');
	}
	SPI(255);					// at the end, send 2 dummy bytes
	SPI(255);

	i = SPI(0xFF);
	i &amp;= 0b.0001.1111;
	if (i != 0b.0000.0101) {
		SerString("MMC: write error 2 ");
		return 1;
	}
	while(SPI(0xFF) != 0xFF);	// wait until MMC is not busy anymore
	return 0;
}

bit sendmmc()		// send 512 bytes from the MMC via the serial port
{
	uns16 i;
	// 512 byte-read-mode 
	if (Command(0x51,0,512,0xFF) !=0) {
		SerString("MMC: read error 1 ");
		return 1;
	}
	while(SPI(0xFF) != 0xFE);	// wait for 0xFE - start of any transmission
	for(i=0; i &lt; 512; i++)
	{
		while(!TXIF);   			// wait until TXREG is empty
		TXREG = SPI(0xFF);		// get MMC byte and send via RS232
	}
	serialterminate();
	SPI(0xFF);						// at the end, send 2 dummy bytes
	SPI(0xFF);
	return 0;
}

void main(void)
{
	InitUSART();					// initialize serial port
	initint();						// initialize interrupts

	ADCON1=0x6;						// PortA Digital
	// set ports for I/O
	TRISC = 0b.1101.0011;		// sck rc3-0, sdo rc5-0, CS rc2-0.
	TRISB = 0b.0000.0010;   	// RB2&gt;TX, RB1&gt;RX&lt;br /&gt;
&lt;br /&gt;
	SerString("PIC online ");	// start message&lt;br /&gt;
//	SerString(0x00);	// start message&lt;br /&gt;
	&lt;br /&gt;
	// init MMC and send message if ok&lt;br /&gt;
	if (MMC_Init()) SerString("MMC online ");&lt;br /&gt;
	&lt;br /&gt;
	fillram(); 						// fill the RAM with ASCII characters&lt;br /&gt;
	writeramtommc();				// write RAM to MMC&lt;br /&gt;
	sendmmc();						// send 512 bytes of the MMC via serial port&lt;br /&gt;
			&lt;br /&gt;
	while(1) {&lt;br /&gt;
		nop();&lt;br /&gt;
		nop();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6322051151320174979?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MywnJaK7J1IshzLtT-cAxDDjPfA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MywnJaK7J1IshzLtT-cAxDDjPfA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MywnJaK7J1IshzLtT-cAxDDjPfA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MywnJaK7J1IshzLtT-cAxDDjPfA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/4vxdm2j4EUw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6322051151320174979/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/08/mmc-interface-with-microcontroller.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6322051151320174979?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6322051151320174979?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/4vxdm2j4EUw/mmc-interface-with-microcontroller.html" title="MMC interface with Microcontroller PIC16f877 and serial communication with PC" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-JXj6ikZKciw/TkbJzDC1HqI/AAAAAAAADII/UBP6HqciJSI/s72-c/MMC%2Binterface%2Bwith%2BMicrocontroller%2BPIC16f877%2Band%2Bserial%2Bcommunication%2Bwith%2BPC.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/08/mmc-interface-with-microcontroller.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUECQnkzfSp7ImA9WhdSFU4.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6488760667881149148</id><published>2011-07-14T03:03:00.000-07:00</published><updated>2011-07-24T11:54:23.785-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T11:54:23.785-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Serial interface" /><category scheme="http://www.blogger.com/atom/ns#" term="Stereo FM band receiver RDS decoding  mobile applications Microcontroller PIC18f452" /><category scheme="http://www.blogger.com/atom/ns#" term="Full Radio Text supported" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F46K20" /><category scheme="http://www.blogger.com/atom/ns#" term="Project code" /><category scheme="http://www.blogger.com/atom/ns#" term="Raw TMC" /><title>Stereo FM band receiver with RDS decoding for mobile applications using PIC Microcontroller PIC18f452</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;Stereo FM band receiver with RDS decoding for mobile applications using PIC Microcontroller PIC18f452.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;source of post is http://www.techdesign.be/projects.htm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Stereo FM band receiver with RDS decoding for mobile applications.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-weight: 700;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Continuous full&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;span style="font-weight: 700;"&gt; RDS data output &lt;/span&gt;through RS232: RDS PS, PI, TA/TP/TMC, CT, TMC.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;span style="font-weight: 700;"&gt;Full Radio Text supported: &lt;/span&gt;2x64 characters.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Raw TMC data output.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-TtmlJ-LeV-o/Th6_iA6-NWI/AAAAAAAADF8/d8BKQKULpqE/s1600/Stereo%2BFM%2Bband%2Breceiver%2Bwith%2BRDS%2Bdecoding%2Bfor%2Bmobile%2Bapplications%2Busing%2BPIC%2BMicrocontroller%2BPIC18f452.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-size: large;"&gt;&lt;img alt="Stereo FM band receiver with RDS decoding for mobile applications using PIC Microcontroller PIC18f452" border="0" height="368px" src="http://3.bp.blogspot.com/-TtmlJ-LeV-o/Th6_iA6-NWI/AAAAAAAADF8/d8BKQKULpqE/s400/Stereo%2BFM%2Bband%2Breceiver%2Bwith%2BRDS%2Bdecoding%2Bfor%2Bmobile%2Bapplications%2Busing%2BPIC%2BMicrocontroller%2BPIC18f452.gif" width="400px" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Low power&lt;/span&gt;&lt;/b&gt; operation with two AA (HR6) 1V2 Ni-Mh batteries or power supply.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Power input range is +2.4V ... +3.0V, 50..60mA without OLED and 80..90mA with OLED.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Lucida Sans Unicode; font-size: large;"&gt;Runs on a &lt;b&gt;PIC18F46K20 at 16 MhZ&lt;/b&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Full user control (volume, tune, save preset)&lt;b&gt; &lt;/b&gt;with a&lt;b&gt; 5-way micro joystick.&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Module works as stand-alone without OLED as well.&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;span style="font-size: large;"&gt;Optional &lt;/span&gt;&lt;a href="http://www.techdesign.be/shop/product_info.php?products_id=326" style="text-decoration: none;"&gt;&lt;span style="color: blue; font-size: large;"&gt;OLED Module 1 with RGB OLED 96x64 pixels&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt; shows PS (station name), frequency, TA/TP/TMC, PI, mono/stereo, RT (2 alternating lines of radio text)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;span style="background-color: yellow;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: large;"&gt;Serial interface control&lt;span style="font-family: Lucida Sans Unicode;"&gt;so the player may be used as a playback module.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Analog line stereo output.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;Antenna connection, suggest use of a 30cm -&amp;gt; 2m wire.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;a href="http://www.techdesign.be/shop/index.php?cPath=46_22" style="text-decoration: none;"&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;a href="http://www.techdesign.be/shop/index.php?cPath=46_70" style="text-decoration: none;"&gt;&lt;span style="color: blue; font-size: large;"&gt;now available&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.techdesign.be/shop/index.php?cPath=46_70" style="text-decoration: none;"&gt;&lt;span style="color: blue; font-size: large;"&gt;.&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.techdesign.be/shop/index.php?cPath=46_70" style="text-decoration: none;"&gt;&lt;span style="font-size: large;"&gt;Assembled and fully tested KIT1 &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Lucida Sans Unicode;"&gt;&lt;a href="http://www.techdesign.be/shop/product_info.php?products_id=337" style="text-decoration: none;"&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.techdesign.be/shop/product_info.php?products_id=337"&gt;&lt;span style="font-size: large;"&gt;Project source code&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: large;"&gt;&amp;nbsp;&lt;span style="font-family: Lucida Sans Unicode;"&gt;can be purchased separately.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;arduino 24c16 16f877 rs485 18f4550 gps  canspi initialize 18f4550 circuit diagram a/d led 4 digits different components of c language programs ecg amplifier 18f mcp23017 expander example pic lcd interfacing pic18f4520 program for random number generator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6488760667881149148?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BNpXK4FUvRpnNPJnhKlGSjtrjv4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BNpXK4FUvRpnNPJnhKlGSjtrjv4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BNpXK4FUvRpnNPJnhKlGSjtrjv4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BNpXK4FUvRpnNPJnhKlGSjtrjv4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/kepURA6ijtA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6488760667881149148/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/07/stereo-fm-band-receiver-with-rds.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6488760667881149148?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6488760667881149148?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/kepURA6ijtA/stereo-fm-band-receiver-with-rds.html" title="Stereo FM band receiver with RDS decoding for mobile applications using PIC Microcontroller PIC18f452" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-TtmlJ-LeV-o/Th6_iA6-NWI/AAAAAAAADF8/d8BKQKULpqE/s72-c/Stereo%2BFM%2Bband%2Breceiver%2Bwith%2BRDS%2Bdecoding%2Bfor%2Bmobile%2Bapplications%2Busing%2BPIC%2BMicrocontroller%2BPIC18f452.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/07/stereo-fm-band-receiver-with-rds.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQ38-eyp7ImA9WhdSFU4.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6538609292125391037</id><published>2011-07-02T09:44:00.000-07:00</published><updated>2011-07-24T11:56:22.153-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T11:56:22.153-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Input-output unit" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubicom" /><category scheme="http://www.blogger.com/atom/ns#" term="Toshiba" /><category scheme="http://www.blogger.com/atom/ns#" term="serial communication" /><category scheme="http://www.blogger.com/atom/ns#" term="Xilinx" /><category scheme="http://www.blogger.com/atom/ns#" term="STM Microelectronics" /><category scheme="http://www.blogger.com/atom/ns#" term="Western Design Center" /><category scheme="http://www.blogger.com/atom/ns#" term="Zilog" /><category scheme="http://www.blogger.com/atom/ns#" term="Microcontroller Basic Elements" /><category scheme="http://www.blogger.com/atom/ns#" term="Texas Instruments" /><category scheme="http://www.blogger.com/atom/ns#" term="Central Processing Unit" /><title>Microcontroller Basic Elements Central Processing Unit Serial communication Input-output unit</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;1. Introduction Of Microcontroller&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;The use of microcontroller in industrial and control design has become very common over past the decade. Due to that reason, many appliances become smaller from previous design and easy to use. The sophistication of current technology has made microcontroller possible to store hundreds of thousands of transistors inside it. That was a prerequisite for production of microprocessors, and the first computers were made by adding external peripherals such as memory, input-output lines, timers and other. Further increasing of the volume of the package resulted in creation of integrated circuits. These integrated circuits contained both processor and peripherals. That is how the first chip containing a microcomputer, or what would later be known as a microcontroller came about.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;A microcontroller is a computer control system on a single chip. It has many electronic circuits built into it, which can decode written instructions and convert them to electrical signals. The microcontroller will then step through these instructions and execute them one by one. As an example a microcontroller could be instructed to measure the temperature of a room and turn on a heater if it goes cold. Microcontrollers are now changing electronics design. Instead of hard wiring a number of logic gates together to perform some function and now use instructions to wire the gates electronically. The list of these instructions given to the microcontroller is called a program. Each microcontroller has a number of I/O pins. These pins can be configured to be either used for inputs or outputs. They are specially designed for external devices to be quickly and easily connected with the minimum of hardware. For instance, an LED may be connected directly to an output. Microcontrollers are designed to be part of applications that do not need human intervention, they are therefore reliable. Nowadays there are many microcontroller manufacturers in the market like AMCC (Applied Micro Circuit Corporation), Atmel, Cypress MicroSystems, Freescale Semiconductor, Fujitsu, Holtek, Intel, Microchip, National Semiconductor, NEC, Philips semiconductors, Renesas Tech. Corp, STM Microelectronics, Texas Instruments, Toshiba, Western Design Center, Ubicom, Xilinx, Zilog and Motorola.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2. Microcontroller Basic Elements&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;Microcontroller in design does not need to use more external component to do particular task. This is because microcontroller has several built-in basic elements that can replace the external component task. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.1 Memory unit&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;Memory is part of the microcontroller that functions to store data. It is shown in the figure below. The easiest way to explain it is to describe it as one big closet with lots of drawers. The drawer has been marked to avoid confused and will be easily accessible. It is enough to know the designation of the drawer and its contents will be known.&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;For a certain input, the contents of a certain addressed memory location can be getting. Two new concepts are brought: addressing and memory location. Memory consists of all memory locations, and selecting one of the memory. Reading from a memory location, memory must also provide for writing onto it. This is done by supplying an additional line called control line. This line will designate as R/W (read/write). Control line is used in the following way: if r/w=1, reading is done, and if opposite is true then writing is done on the memory location. Memory is the first element, and need a few operations for the microcontroller. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.2 Central Processing Unit&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;Three more memory locations are added to a specific block that will have a built in capability to multiply, divide, subtract, and move its contents from one memory location onto another as shown in the figure below. The parts that are added in are called "central processing unit" (CPU). Its memory locations are called registers.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;
Registers are therefore memory locations where the role is to help with performing various mathematical operations or any other operations with data wherever data can be found at the current situation. Two independent entities (memory and CPU) which are interconnected, and thus any exchange of data is hindered, as well as its functionality. If, for example, the contents of two memory locations are added and the results are return back again to memory, and need a connection between memory and CPU. Simply stated, that must have some "way" through data goes from one block to another.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.3 Bus&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;When working with it, the port acts like a memory location. Something is simply being written into or read from it, and it could be noticed on the pins of the microcontroller. The figure above shows the input/output unit of microcontroller.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.5 Serial communication&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;Beside the above matter, the possibilities of communication with an outside world were added to the already existing unit. However, this way of communicating has its drawbacks. One of the basic drawbacks is the number of lines which need to be used in order to transfer data. What if it is being transferred to a distance of several kilometers? The number of lines times number of kilometers doesn't promise the economy of the project. The number of lines must be reduced in such a way that its functionality would not. Suppose if three lines were involved, and that one line is used for sending data, other for receiving, and the third one is used as a reference line for both the input and the output side. In order for this to work, the rules of exchange of data need to be set. These rules are called protocol. Protocol is therefore defined in advance so there wouldn't be any misunderstanding between the sides that are communicating with each other. The following protocol is considered. The logical unit "1" is set up on the transmitting line until transfer begins. Once the transfer starts, lower the transmission line to logical "0" for a period of time (which will designate as T), so the receiving side will know that it is receiving data, and so it will activate its mechanism for reception. Now go back to the transmission side and start putting logic zeros and ones onto the transmitter line in the order from a bit of the lowest value to a bit of the highest value. Let each bit stay on line for a time period which is equal to T, and in the end, or after the 8th bit, let us bring the logical unit "1" back on the line which will mark the end of the transmission of one data. The protocol above is called in professional literature NRZ (Non-Return to Zero).&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;It is possible to receive and send data at the same time separate lines for receiving and sending were used. So called full-duplex mode block which enables this way of communication is called a serial communication block. Unlike the parallel transmission, data moves here bit by bit, or in a series of bits what defines the term serial communication comes from. After the reception of data it must be read from the receiving location and stored in memory as opposed to sending where the process is reversed. Data goes from memory through the bus to the sending location, and then to the receiving unit according to the protocol. The figure above shows the serial unit of microcontroller. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.6 Timer unit&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;After the serial communication was explained, the data can be received, sent and processed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;However, in order to utilize it in industry a few additionally blocks were needed. One of those is the timer block which is significant because it can give information about time, duration, protocol etc. The basic unit of the timer is a free-run counter as shown in the figure above which is in fact a register whose &lt;/span&gt;&lt;a href="" name="OLE_LINK8"&gt;&lt;/a&gt;&lt;a href="" name="OLE_LINK7"&gt;&lt;span style="font-family: verdana;"&gt;numeric&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; value increments by one in even intervals, so that by taking its value during periods T1(start time) and T2 (end time) and on the basis of their difference the time elapsed can be determined. This is a very important part of the microcontroller which requires constant understanding.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.7 Watchdog&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: verdana;"&gt;One more thing that needs attention is a flawless functioning of the microcontroller during its run-time. Suppose that as a result of some interference (which often does occur in industry) the microcontroller will stop executing the program, or worse, it starts working incorrectly.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;
Of course, when this happens with a computer, simply it can be reset and it will keep working. However, there is no reset button on the microcontroller and thus solve the problem. To overcome this obstacle, one more block was introduced called watchdog as shown in the figure above. This block is in fact another free-run counter where the program needs to write a zero for every time it executes correctly. In case that program gets "stuck", zero will not be written in, and counter will reset the microcontroller upon achieving its maximum value alone. This will result in executing the program again, and correctly this time around. That is an important element of every program to be reliable without man's supervision.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;2.8 Analog to Digital Converter&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
As the peripheral signals usually are substantially different from the ones that microcontroller can understand (zero and one), they have to be converted into a pattern which can be comprehended by a microcontroller. This task is performed by a block for analog to digital conversion or by an ADC as shown in the figure below. This block is responsible for converting an information about some analog value to a binary number and for follow it through to a CPU block so that CPU block can further process it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;&lt;div align="justify"&gt;Finally, the microcontroller is now completed and needs to be assembled into an electronic component where it will access inner blocks through the outside pins. The figure below shows what a microcontroller looks like inside.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;span style="font-size: 100%;"&gt;Thin lines which lead from the center towards the sides of the microcontroller represent wires connecting inner blocks with the pins on the housing of the microcontroller so called bonding lines. Chart on the following picture represents the center section of a microcontroller.&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,lm34,lm335,temperature sensor,MikroC Projects&lt;/span&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align="justify"&gt;&lt;br /&gt;
That "way" is called "bus". Physically, it represents a group of 8, 16, or more wires there are two types of buses: address and data bus. The first one consists of as many lines as the amount of memory to address and the other one is as wide as data, and in this case are 8 bits or the connection line. First one serves to transmit address from CPU memory, and the second to connect all blocks inside the microcontroller as shown in the figure below.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;As far as functionality, the situation has improved, but a new problem has also appeared: there are units that's capable of working by itself, but which does not have any contact with the outside world. In order to remove this deficiency, a block are added which contains several memory locations whose one end is connected to the data bus, and the other has connection with the output lines on the microcontroller which can be seen as pins on the electronic component.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;&lt;strong&gt;2.4 Input-output unit&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: verdana;"&gt;Those locations added are called "ports". There are several types of ports: input, output or bidirectional ports. When working with ports, first of all it is necessary to choose which port that need to work with, and then to send data to, or take it from the port.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;pic microcontroller usart rs232 bit timing diagram sd card controller ic arduino 24c16 dac0800 example ic bp24c16 epprrom lm 35 ecg microcontroller pic16f84 pic microcontroller based led display projects&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6538609292125391037?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AdhYPgpf6Zd4qSrUskCMkB60W2M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AdhYPgpf6Zd4qSrUskCMkB60W2M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AdhYPgpf6Zd4qSrUskCMkB60W2M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AdhYPgpf6Zd4qSrUskCMkB60W2M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/9c7XBw_nHaw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6538609292125391037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/07/microcontroller-basic-elements-central.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6538609292125391037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6538609292125391037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/9c7XBw_nHaw/microcontroller-basic-elements-central.html" title="Microcontroller Basic Elements Central Processing Unit Serial communication Input-output unit" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/07/microcontroller-basic-elements-central.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8AQXc4fSp7ImA9WhdSFU4.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-4040535713549240066</id><published>2011-06-13T08:33:00.000-07:00</published><updated>2011-07-24T11:57:20.935-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T11:57:20.935-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC Microcontroller Data Acquisition System" /><category scheme="http://www.blogger.com/atom/ns#" term="Data Acquisition System using PIC Microcontroller" /><category scheme="http://www.blogger.com/atom/ns#" term="Development Pic Microcontroller Assembler Control System Pic Series" /><category scheme="http://www.blogger.com/atom/ns#" term="current sensor" /><category scheme="http://www.blogger.com/atom/ns#" term="ASC750SCA" /><title>Data Acquisition System using PIC Microcontroller</title><content type="html">Data Acquisition System using PIC Microcontroller:-&lt;br /&gt;
A data acquisition system is developed and presented here for students to make some idea for their final project for the microcontroller. The Data Acquisition system is developed to monitor power supplies and development tool for the design of a 200 W switch-mode power supply.At the heart of any data acquisition system lies the data acquisition hardware. The main function of this hardware is to convert analog signals to digital signals, and to convert digital signals to analog signals.&lt;br /&gt;
A PIC microcontroller from Microchip is the heart of the data collection system. Internal analog to digital converters acquired data from an analog interface. The analog subsystem gathered data from temperature, voltage, and current sensors. Data is recorded through HyperTerminal in Windows. &lt;br /&gt;
&lt;br /&gt;
In the Data Acquisition System using PIC Microcontroller project the main part is to measure the three basic quantities: voltage, temperature, and current. These three physical quantities can provide enough information to allow for debugging of almost any electrical circuit. The data acquisition system measures one channel of voltage from 0 to 20 volts, one channel of current from –50 to +50 amps, and two channels of temperature (one ambient and one load). &lt;br /&gt;
The Microchip PIC controller; PICs are self-contained microcontrollers often including clock, I/O, and a host of peripherals on-chip. The great advantage seen by adopting the PIC was a chip with onboard analog to digital converters was available in a small 14-pin DIP package. In addition a serial port, and multiple timer/counters were available. A low-cost development kit is available from Microchip to try out any of the 14-pin series of micrcontrollers. Additionally, for the intended application a low-power small form factor device was a plus. Essentially all the PIC needs to create the system is the analog interface and a voltage regulator. At minimum 4 ADC channels, a UART, and one counter timer were needed. The first device found to meet these specifications was the PIC16F688. The ‘688 contains 8 channels of 10-bit AD converters, an enhanced UART, two timer counters, analog input comparison modules, an internal 32kHz to 8MHz clock, and flash program memory. Sensors and actuators can both be transducers. A transducer is a device that converts input energy of one form into output energy of another form. For example, a microphone is a sensor that converts sound energy (in the form of pressure) into electrical energy, while a loudspeaker is an actuator that converts electrical energy into sound energy.&lt;br /&gt;
INTRODUCTION of Data Acquisition System using PIC Microcontroller&lt;br /&gt;
The Data acquisition and control using microcontroller and Fundamental principles of data acquisition are important components to understand for control systems. Some DAQ system are Typical PC based applications and&lt;br /&gt;
ANALOG AND DIGITAL SIGNALS which involves  Sensors, transducers and temperature.Transducers have important features such as Strain gauges,The difference between single ended, differential systems, Grounding and isolation techniques to reduce noise and Cable shielding and grounding&lt;br /&gt;
SIGNAL CONDITIONING. For this The different types of signal conditioners and  Signal conditioning functions and signal filtering are applied in Isolation and overvoltage protection mode.THE PC FOR REAL TIME WORK involves the The different data transfer methods and Streaming of data to hard disk.&lt;br /&gt;
Microchip provides an integrated development environment (IDE) called MPLAB for coding, compiling, setting up, and controlling programmers for the PIC series of microcontrollers. Included in the IDE is a debugger and compiler. The debugger worked well until additional peripherals were initialized and used which then caused the debugger to crash the IDE. Thus, all further testing needed to be conducted on actual hardware. A simple USB powered programmer interfaced to the IDE and reprogrammed the flash program memory in PIC controllers. Eight general purpose digital I/O lines are also provided which allow the board to control external digital circuitry or monitor the state of external devices such as switches or buttons. &lt;br /&gt;
&lt;br /&gt;
Data acquisition software allows you to exchange information between the computer and the hardware. For example, typical software allows you to configure the sampling rate of your board, and acquire a predefined amount of data.&lt;br /&gt;
The high integration of the PIC controller leads to a very simple hardware solution. On the digital side the PIC controller is connected to a MAX232, RS-232 to logic-level converter. A 5 V power supply and some supply decoupling capacitors round out the digital section of the hardware. Figure  shows the implementation of the digital board that was constructed on the PICKit-1 development board. These drivers allow the programmer to perform all the necessary tasks such as initializing, configuring, and sending and receiving data from the board. &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k_Vxel9jQWk/TfYtegW0EHI/AAAAAAAADDU/c4BCObP-aIA/s1600/the%2Bdigital%2Bsection%2Bof%2Bthe%2Bdata%2Bacquisition%2Bsystem.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="119" width="200"alt="the digital section of the data acquisition system" src="http://3.bp.blogspot.com/-k_Vxel9jQWk/TfYtegW0EHI/AAAAAAAADDU/c4BCObP-aIA/s200/the%2Bdigital%2Bsection%2Bof%2Bthe%2Bdata%2Bacquisition%2Bsystem.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Highly integrated sensors reduced the difficulty of implementing an analog interface board. The LM35 temperature sensor features a conditioned output with a 10mV/C output slope. It was decided to use the LM35’s output directly, without amplification, with slightly reduced resolution. A hall-effect current sensor the &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UgS_EEBPTCQ/TfYtGE5asUI/AAAAAAAADDM/3eQXv9W8FCo/s1600/analog%2Binterface%2Bsection%2Bof%2Bthe%2Bdata%2Bacquisition%2Bsystem%2Bcurrent%2Btransducer%2Bmicrocontroller.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="124" width="200"alt="analog interface section of the data acquisition system current transducer microcontroller" src="http://3.bp.blogspot.com/-UgS_EEBPTCQ/TfYtGE5asUI/AAAAAAAADDM/3eQXv9W8FCo/s200/analog%2Binterface%2Bsection%2Bof%2Bthe%2Bdata%2Bacquisition%2Bsystem%2Bcurrent%2Btransducer%2Bmicrocontroller.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
made by Allegro was chosen as an easy integrated solution for current sensing. &lt;br /&gt;
&lt;br /&gt;
The current sensor is capable of resolving –50 to +50 A and outputs a 0 to 5 V signal corresponding to the current through the device. In the original application it was expected to see load currents up to 30 A. However, when demonstrating the device it was not possible to find power supplies capable of supplying more than 2.5A, thus the captured waveforms appear very noisy due to the small currents measured. Figure shows the schematic of the analog board. Two LM35 temperature sensors are attached via twisted cable, enabling them to be clamped onto heatsinks to measure power supply temperatures. A set of binding posts is provided for voltage measurement and current measurement input. The 9 pin serial port hangs off the left side of the development board .Unregulated (9 to 37 VDC) DC input is supplied via two wires exiting the back of the board.The analog digital converters provide a numeric (binary) representation of the analog signal&lt;br /&gt;
applied at their input. Two of the most important characteristics of an analog digital converter are the resolution and the conversion rate. The conversion rate (sometimes defined by its inverse, the conversion time) expresses how fast the conversion is.The output voltage, current, ambient temperature, and temperature of the load resistor were all monitored via the data acquisition system. This data acquisition system, while functional, could be improved. Primarily, the improvements are centered on the lack of resolution of the ADC in the PIC controller and the need for better PC interface software. Other microcontrollers such as the MSC series from Texas Instruments have on-board ADC converters with up to 24 bits of resolution. These microcontrollers also feature programmable gain amplifiers, which effectively increase the dynamic range of the ADC and thus further increase resolution.&lt;br /&gt;
Tags:-PIC CONTROLLED UNIVERSAL DATA ACQUISITION SYSTEM,Data Acquisition System with VB Build a data acquisition system,serial port programmer for PIC microcontroller and I2C EEPROM.,PIC Microcontroller Data Acquisition System, Wireless data acquisition system PIC microcontroller,PIC Microcontroller Data Acquisition System Pic Controllers Microcontrollers Dubai Data Acquisition System Microcontrollers DSP Microcontroller Firmware Microcontrollers Development Pic Microcontroller Assembler Control System Pic Series Computer Automated Measurement And Control, (CAMAC),PIC Based Vehicle Data Acquisition system  data acquisition system pdf pc based data acquisition system data acquisition system ppt data acquisition system using 8051 data acquisition module wireless data acquisition system data acquisition system project data acquisition system applications,problème pico 12 oscillo 18f  usb,mikroc pic,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-4040535713549240066?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qLirBXOLlrr9vX-ma0vV2bVs6i4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qLirBXOLlrr9vX-ma0vV2bVs6i4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qLirBXOLlrr9vX-ma0vV2bVs6i4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qLirBXOLlrr9vX-ma0vV2bVs6i4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/K1oHMkm3us0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/4040535713549240066/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/06/data-acquisition-system-using-pic.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/4040535713549240066?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/4040535713549240066?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/K1oHMkm3us0/data-acquisition-system-using-pic.html" title="Data Acquisition System using PIC Microcontroller" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-k_Vxel9jQWk/TfYtegW0EHI/AAAAAAAADDU/c4BCObP-aIA/s72-c/the%2Bdigital%2Bsection%2Bof%2Bthe%2Bdata%2Bacquisition%2Bsystem.jpg" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/06/data-acquisition-system-using-pic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ECQ3YzcCp7ImA9WhdVGEk.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6789641494343434583</id><published>2011-06-07T12:34:00.000-07:00</published><updated>2011-09-23T22:21:02.888-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T22:21:02.888-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Security System Using PIC16f877" /><category scheme="http://www.blogger.com/atom/ns#" term="RF transmitter" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC16F877 basic station circuit" /><category scheme="http://www.blogger.com/atom/ns#" term="SMS messaging using AT commands" /><category scheme="http://www.blogger.com/atom/ns#" term="serial communication" /><category scheme="http://www.blogger.com/atom/ns#" term="vehicles access control" /><category scheme="http://www.blogger.com/atom/ns#" term="PC based security system" /><title>Security System Using PIC16f877 with vehicles access control</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
This is degree project in which Security system of an organization is formed. Security is an essential issue for a country and as well as offices. It is the level of protection against danger, loss and criminals. In order to get the first degree of protection, people are getting security system installed within their premises in order to prevent or stop incidents to happen.The project is developed using microcontroller PIC16f877. The Vehicle access is controlled through a process of identification and restriced entry is allowed to certain vehicles which fulfil the required arrangements. Other Vehicles will be not alloed to enter the premises of that organization. The heart of the security system is microcontroller.&lt;br /&gt;
The systems allows controlling the access of vehicles to an institution. The system allows only the registered objects to access automatically and stores their access time in a database, unregistered objects must meet the security officer to access.. In this system, the microcontroller does main process. That microcontroller controls the peripheral devices.&lt;br /&gt;
In this project a database is also developed in which all known vehicles are registered and their information is stored. The new vehicles go through the registration process before entering.This security system is created using microcontroller technology as the brain of the system where sensors are connected to the system.&lt;br /&gt;
the Security system contains two parts:&lt;br /&gt;
The part-1 is the base where sensors are applied, connected to the gate and the database.&lt;br /&gt;
The part-2: A certain piece of hardware is placed in each vehicle, saves and transmits the ID number of the vehicle to the base station.&lt;br /&gt;
Actually these two parts are necessary to get the desired results from the security system using microcontroller and database. &lt;br /&gt;
When the vehicle approaches to the gate, an IR sensor informs the base station which requests the ID, that request is done by sending a random key to the (vehicle) using IR transmitter.&lt;br /&gt;
The ID saver (the vehicle) receives the key and generates a cipher containing the ID number encrypted by that key, then sends the cipher by RF transmitter.The device consists of GSM modem, microcontroller, sensors, relays, memory and display. For Infrared emitting diode circuit, a load resistor is requiring to limit the amount of forward current (If) flowing through the diode. Driving the emitter with higher forward current to obtain larger reflected signal strength may cause the diode to burn out due to over current. &lt;br /&gt;
The base decrypts the message, gets the ID and then sends it to a software which looks in the database, if the ID is allowed to access, it sends a message to the base asking to open the gate. If the ID is not allowed, it send an SMS to the security officer asking him to check the gate.&lt;br /&gt;
Unregistered vehicles might not have the ID saver, so it will not reply respond to the ID request, so the base will not receive a cipher. The base waits 2 seconds after the ID request is done, if no cipher received, it sends a dummy (unused) ID to the computer, and the computer will send a SMS to the security officer. &lt;br /&gt;
&lt;br /&gt;
Encryption: the ID is encrypted using a random key, so in the next access the cipher will be changed. saving the cipher and transmitting it will not give you an access.&lt;br /&gt;
&lt;br /&gt;
Intelligent Car Security System Using Dynamic Generation of Random Security codes. &lt;br /&gt;
System components of security system using microcontroller and database management system:&lt;br /&gt;
There are two main components which are the Base station and the ID saver and off course the computer. &lt;br /&gt;
The Base station contains the following components:&lt;br /&gt;
• IR transmitting circuit.&lt;br /&gt;
• 2 IR sensors circuits (transmitters and receivers).&lt;br /&gt;
• RF receiver.&lt;br /&gt;
• Serial data connection with the computer.&lt;br /&gt;
• PIC16F877 basic station circuit.&lt;br /&gt;
&lt;br /&gt;
The ID saver’s components:&lt;br /&gt;
• IR receiving circuit.&lt;br /&gt;
• RF transmitter.&lt;br /&gt;
• PIC16F877 circuit.&lt;br /&gt;
&lt;br /&gt;
The computer side: &lt;br /&gt;
• A software that has access to a Database containing two tables:&lt;br /&gt;
1- Saves the allowed ID numbers to access, and the owner name and all relevant information about that particular vehicle.&lt;br /&gt;
2- The software saves info about all the accesses done (in and out)&lt;br /&gt;
• A mobile phone connected to the computer using IR connection (or serial).&lt;br /&gt;
• Serial connection with the Base.&lt;br /&gt;
GSM is one of the latest mobile technologies using smart MODEM, which can easily interfaced to embedded microcontrollers. Now everything is going to be automated using this technology, using this technology we can access the devices remotely. Using GSM and GPS now we can identify the people, vehicles etc in any where of the world.&lt;br /&gt;
MODEM is communicating with the microcontroller using AT commands, for example if we want to send an SMS to number 98xxxxxxxxx,the commands we have to send is AT+CMGS=”&amp;lt;98xxxxxxxxxx&amp;gt;”, &lt;enter&gt;, &lt;message&gt;, &lt;ctrl-z&gt;.&lt;br /&gt;
&lt;br /&gt;
This software handles the serial communication with the Base, checks whether the ID is allowed to access or not, and send result to the Base. &lt;br /&gt;
It also handles the SMS messaging using AT commands.&lt;/ctrl-z&gt;&lt;/message&gt;&lt;/enter&gt;&lt;/div&gt;PIC16F877 and its peripheral devices mainly construct circuit. 16F877 is an 8-bit CMOS Flash microcontroller. This microcontroller is more advanced than most used PIC16F84 microcontroller. It has flash memory and can erase and program many times easily (for that reason this is a good development tool). It has 33 I/O ports and 10 of them can configure as A/D converters. More properties are going to be describing in my project. In my project, I’m going to be use two interrupt sources, 24 of 33 I/O ports (PIC16F84 has only 13 I/O ports), 4MHz external clock frequency and my own software.&lt;br /&gt;
&lt;br /&gt;
Tags:-&lt;br /&gt;
&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="fr"&gt;&lt;span class="hps" closure_uid_anqf3r="104" title="Click for alternate translations"&gt;Ce&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="105" title="Click for alternate translations"&gt;projet de diplôme&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="106" title="Click for alternate translations"&gt;est&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="107" title="Click for alternate translations"&gt;dans laquelle le système&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="108" title="Click for alternate translations"&gt;de sécurité&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="109" title="Click for alternate translations"&gt;d'une organisation&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="110" title="Click for alternate translations"&gt;est formé.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="111" title="Click for alternate translations"&gt;La sécurité est&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="112" title="Click for alternate translations"&gt;un enjeu essentiel&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="113" title="Click for alternate translations"&gt;pour un pays et&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="114" title="Click for alternate translations"&gt;ainsi que des bureaux&lt;/span&gt;&lt;span closure_uid_anqf3r="115" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="116" title="Click for alternate translations"&gt;Il est&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="117" title="Click for alternate translations"&gt;le niveau de protection&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="118" title="Click for alternate translations"&gt;contre les dangers&lt;/span&gt;&lt;span closure_uid_anqf3r="119" title="Click for alternate translations"&gt;, les pertes&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="120" title="Click for alternate translations"&gt;et les criminels&lt;/span&gt;&lt;span closure_uid_anqf3r="121" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="122" title="Click for alternate translations"&gt;Afin d'obtenir&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="123" title="Click for alternate translations"&gt;le premier degré de&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="124" title="Click for alternate translations"&gt;protection,&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="125" title="Click for alternate translations"&gt;les gens sont&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="126" title="Click for alternate translations"&gt;système de sécurité installé&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="127" title="Click for alternate translations"&gt;dans leurs locaux&lt;/span&gt;&lt;span closure_uid_anqf3r="128" title="Click for alternate translations"&gt;, afin de&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="129" title="Click for alternate translations"&gt;prévenir ou faire cesser&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="130" title="Click for alternate translations"&gt;les incidents à&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="131" title="Click for alternate translations"&gt;des projets&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="132" title="Click for alternate translations"&gt;happen.The&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="133" title="Click for alternate translations"&gt;est développé en utilisant&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="134" title="Click for alternate translations"&gt;un microcontrôleur&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="135" title="Click for alternate translations"&gt;PIC16F877&lt;/span&gt;&lt;span closure_uid_anqf3r="136" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps atn" closure_uid_anqf3r="137" title="Click for alternate translations"&gt;L'&lt;/span&gt;&lt;span closure_uid_anqf3r="138" title="Click for alternate translations"&gt;accès des véhicules&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="139" title="Click for alternate translations"&gt;est contrôlé par&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="140" title="Click for alternate translations"&gt;un processus d'identification&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="141" title="Click for alternate translations"&gt;et de l'entrée&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="142" title="Click for alternate translations"&gt;restriced&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="143" title="Click for alternate translations"&gt;est autorisé à&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="144" title="Click for alternate translations"&gt;certains véhicules&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="145" title="Click for alternate translations"&gt;qui remplissent les&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="146" title="Click for alternate translations"&gt;arrangements&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="147" title="Click for alternate translations"&gt;nécessaires.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="148" title="Click for alternate translations"&gt;Autres véhicules&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="149" title="Click for alternate translations"&gt;ne seront pas&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="150" title="Click for alternate translations"&gt;alloed&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="151" title="Click for alternate translations"&gt;à&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="152" title="Click for alternate translations"&gt;pénétrer dans les locaux&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="153" title="Click for alternate translations"&gt;de cette organisation.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="154" title="Click for alternate translations"&gt;Le cœur du&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="155" title="Click for alternate translations"&gt;système de sécurité est&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="156" title="Click for alternate translations"&gt;un microcontrôleur&lt;/span&gt;&lt;span closure_uid_anqf3r="157" title="Click for alternate translations"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" lang="fr"&gt;&lt;span closure_uid_anqf3r="157" title="Click for alternate translations"&gt;&lt;span closure_uid_anqf3r="178" title="Click for alternate translations"&gt;これは、&lt;/span&gt;&lt;span closure_uid_anqf3r="179" title="Click for alternate translations"&gt;組織&lt;/span&gt;&lt;span closure_uid_anqf3r="180" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="181" title="Click for alternate translations"&gt;セキュリティシステム&lt;/span&gt;&lt;span closure_uid_anqf3r="182" title="Click for alternate translations"&gt;が形成される&lt;/span&gt;&lt;span closure_uid_anqf3r="183" title="Click for alternate translations"&gt;程度&lt;/span&gt;&lt;span closure_uid_anqf3r="184" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="185" title="Click for alternate translations"&gt;プロジェクトです&lt;/span&gt;&lt;span closure_uid_anqf3r="186" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="187" title="Click for alternate translations"&gt;セキュリティ&lt;/span&gt;&lt;span closure_uid_anqf3r="188" title="Click for alternate translations"&gt;は、&lt;/span&gt;&lt;span closure_uid_anqf3r="189" title="Click for alternate translations"&gt;本質的な&lt;/span&gt;&lt;span closure_uid_anqf3r="190" title="Click for alternate translations"&gt;国の&lt;/span&gt;&lt;span closure_uid_anqf3r="191" title="Click for alternate translations"&gt;問題&lt;/span&gt;&lt;span closure_uid_anqf3r="192" title="Click for alternate translations"&gt;と&lt;/span&gt;&lt;span closure_uid_anqf3r="193" title="Click for alternate translations"&gt;同様に&lt;/span&gt;&lt;span closure_uid_anqf3r="194" title="Click for alternate translations"&gt;オフィス&lt;/span&gt;&lt;span closure_uid_anqf3r="195" title="Click for alternate translations"&gt;があります&lt;/span&gt;&lt;span closure_uid_anqf3r="196" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="197" title="Click for alternate translations"&gt;それ&lt;/span&gt;&lt;span closure_uid_anqf3r="198" title="Click for alternate translations"&gt;は&lt;/span&gt;&lt;span closure_uid_anqf3r="199" title="Click for alternate translations"&gt;危険&lt;/span&gt;&lt;span closure_uid_anqf3r="200" title="Click for alternate translations"&gt;、&lt;/span&gt;&lt;span closure_uid_anqf3r="201" title="Click for alternate translations"&gt;損失&lt;/span&gt;&lt;span closure_uid_anqf3r="202" title="Click for alternate translations"&gt;および&lt;/span&gt;&lt;span closure_uid_anqf3r="203" title="Click for alternate translations"&gt;犯罪者&lt;/span&gt;&lt;span closure_uid_anqf3r="204" title="Click for alternate translations"&gt;に対する保護&lt;/span&gt;&lt;span closure_uid_anqf3r="205" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="206" title="Click for alternate translations"&gt;レベルです&lt;/span&gt;&lt;span closure_uid_anqf3r="207" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="208" title="Click for alternate translations"&gt;保護&lt;/span&gt;&lt;span closure_uid_anqf3r="209" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="210" title="Click for alternate translations"&gt;最初の学位&lt;/span&gt;&lt;span closure_uid_anqf3r="211" title="Click for alternate translations"&gt;を&lt;/span&gt;&lt;span closure_uid_anqf3r="212" title="Click for alternate translations"&gt;得るために&lt;/span&gt;&lt;span closure_uid_anqf3r="213" title="Click for alternate translations"&gt;、&lt;/span&gt;&lt;span closure_uid_anqf3r="214" title="Click for alternate translations"&gt;人々は&lt;/span&gt;&lt;span closure_uid_anqf3r="215" title="Click for alternate translations"&gt;happen.The&lt;/span&gt;&lt;span closure_uid_anqf3r="216" title="Click for alternate translations"&gt;プロジェクトに&lt;/span&gt;&lt;span closure_uid_anqf3r="217" title="Click for alternate translations"&gt;事故&lt;/span&gt;&lt;span closure_uid_anqf3r="218" title="Click for alternate translations"&gt;を防止&lt;/span&gt;&lt;span closure_uid_anqf3r="219" title="Click for alternate translations"&gt;または停止&lt;/span&gt;&lt;span closure_uid_anqf3r="220" title="Click for alternate translations"&gt;するために、&lt;/span&gt;&lt;span closure_uid_anqf3r="221" title="Click for alternate translations"&gt;セキュリティシステム&lt;/span&gt;&lt;span closure_uid_anqf3r="222" title="Click for alternate translations"&gt;は、&lt;/span&gt;&lt;span closure_uid_anqf3r="223" title="Click for alternate translations"&gt;その&lt;/span&gt;&lt;span closure_uid_anqf3r="224" title="Click for alternate translations"&gt;敷地&lt;/span&gt;&lt;span closure_uid_anqf3r="225" title="Click for alternate translations"&gt;内にインストール&lt;/span&gt;&lt;span closure_uid_anqf3r="226" title="Click for alternate translations"&gt;得ている&lt;/span&gt;&lt;span closure_uid_anqf3r="227" title="Click for alternate translations"&gt;、マイクロコントローラ&lt;/span&gt;&lt;span closure_uid_anqf3r="228" title="Click for alternate translations"&gt;PIC16F877&lt;/span&gt;&lt;span closure_uid_anqf3r="229" title="Click for alternate translations"&gt;を&lt;/span&gt;&lt;span closure_uid_anqf3r="230" title="Click for alternate translations"&gt;使用して開発されています&lt;/span&gt;&lt;span closure_uid_anqf3r="231" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="232" title="Click for alternate translations"&gt;車両&lt;/span&gt;&lt;span closure_uid_anqf3r="233" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="234" title="Click for alternate translations"&gt;アクセスが&lt;/span&gt;&lt;span closure_uid_anqf3r="235" title="Click for alternate translations"&gt;必要な&lt;/span&gt;&lt;span closure_uid_anqf3r="236" title="Click for alternate translations"&gt;取り決め&lt;/span&gt;&lt;span closure_uid_anqf3r="237" title="Click for alternate translations"&gt;を満たす&lt;/span&gt;&lt;span closure_uid_anqf3r="238" title="Click for alternate translations"&gt;特定の&lt;/span&gt;&lt;span closure_uid_anqf3r="239" title="Click for alternate translations"&gt;車両&lt;/span&gt;&lt;span closure_uid_anqf3r="240" title="Click for alternate translations"&gt;に&lt;/span&gt;&lt;span closure_uid_anqf3r="241" title="Click for alternate translations"&gt;許可されている&lt;/span&gt;&lt;span closure_uid_anqf3r="242" title="Click for alternate translations"&gt;識別&lt;/span&gt;&lt;span closure_uid_anqf3r="243" title="Click for alternate translations"&gt;と&lt;/span&gt;&lt;span closure_uid_anqf3r="244" title="Click for alternate translations"&gt;restriced&lt;/span&gt;&lt;span closure_uid_anqf3r="245" title="Click for alternate translations"&gt;エントリ&lt;/span&gt;&lt;span closure_uid_anqf3r="246" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="247" title="Click for alternate translations"&gt;プロセス&lt;/span&gt;&lt;span closure_uid_anqf3r="248" title="Click for alternate translations"&gt;を介して制御されます&lt;/span&gt;&lt;span closure_uid_anqf3r="249" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="250" title="Click for alternate translations"&gt;その他の車両&lt;/span&gt;&lt;span closure_uid_anqf3r="251" title="Click for alternate translations"&gt;は、&lt;/span&gt;&lt;span closure_uid_anqf3r="252" title="Click for alternate translations"&gt;その&lt;/span&gt;&lt;span closure_uid_anqf3r="253" title="Click for alternate translations"&gt;組織&lt;/span&gt;&lt;span closure_uid_anqf3r="254" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span closure_uid_anqf3r="255" title="Click for alternate translations"&gt;敷地&lt;/span&gt;&lt;span closure_uid_anqf3r="256" title="Click for alternate translations"&gt;を入力する&lt;/span&gt;&lt;span closure_uid_anqf3r="257" title="Click for alternate translations"&gt;alloed&lt;/span&gt;&lt;span closure_uid_anqf3r="258" title="Click for alternate translations"&gt;されるものではない&lt;/span&gt;&lt;span closure_uid_anqf3r="259" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="260" title="Click for alternate translations"&gt;セキュリティシステム&lt;/span&gt;&lt;span closure_uid_anqf3r="261" title="Click for alternate translations"&gt;の心臓部&lt;/span&gt;&lt;span closure_uid_anqf3r="262" title="Click for alternate translations"&gt;は&lt;/span&gt;&lt;span closure_uid_anqf3r="263" title="Click for alternate translations"&gt;マイクロコントローラです&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" lang="fr"&gt;&lt;span closure_uid_anqf3r="157" title="Click for alternate translations"&gt;&lt;span closure_uid_anqf3r="263" title="Click for alternate translations"&gt;&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="zh-CN"&gt;&lt;span closure_uid_anqf3r="275" title="Click for alternate translations"&gt;这是&lt;/span&gt;&lt;span closure_uid_anqf3r="276" title="Click for alternate translations"&gt;程度的&lt;/span&gt;&lt;span closure_uid_anqf3r="277" title="Click for alternate translations"&gt;项目中，&lt;/span&gt;&lt;span closure_uid_anqf3r="278" title="Click for alternate translations"&gt;安全&lt;/span&gt;&lt;span closure_uid_anqf3r="279" title="Click for alternate translations"&gt;系统是&lt;/span&gt;&lt;span closure_uid_anqf3r="280" title="Click for alternate translations"&gt;一个组织&lt;/span&gt;&lt;span closure_uid_anqf3r="281" title="Click for alternate translations"&gt;形成&lt;/span&gt;&lt;span closure_uid_anqf3r="282" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="283" title="Click for alternate translations"&gt;安全&lt;/span&gt;&lt;span closure_uid_anqf3r="284" title="Click for alternate translations"&gt;是一个国家&lt;/span&gt;&lt;span closure_uid_anqf3r="285" title="Click for alternate translations"&gt;重要的问题&lt;/span&gt;&lt;span closure_uid_anqf3r="286" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="287" title="Click for alternate translations"&gt;以及&lt;/span&gt;&lt;span closure_uid_anqf3r="288" title="Click for alternate translations"&gt;办事处&lt;/span&gt;&lt;span closure_uid_anqf3r="289" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="290" title="Click for alternate translations"&gt;这&lt;/span&gt;&lt;span closure_uid_anqf3r="291" title="Click for alternate translations"&gt;是&lt;/span&gt;&lt;span closure_uid_anqf3r="292" title="Click for alternate translations"&gt;打击&lt;/span&gt;&lt;span closure_uid_anqf3r="293" title="Click for alternate translations"&gt;的危险，&lt;/span&gt;&lt;span closure_uid_anqf3r="294" title="Click for alternate translations"&gt;损失&lt;/span&gt;&lt;span closure_uid_anqf3r="295" title="Click for alternate translations"&gt;和罪犯&lt;/span&gt;&lt;span closure_uid_anqf3r="296" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="297" title="Click for alternate translations"&gt;保护&lt;/span&gt;&lt;span closure_uid_anqf3r="298" title="Click for alternate translations"&gt;水平&lt;/span&gt;&lt;span closure_uid_anqf3r="299" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="300" title="Click for alternate translations"&gt;为了&lt;/span&gt;&lt;span closure_uid_anqf3r="301" title="Click for alternate translations"&gt;得到&lt;/span&gt;&lt;span closure_uid_anqf3r="302" title="Click for alternate translations"&gt;保护&lt;/span&gt;&lt;span closure_uid_anqf3r="303" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="304" title="Click for alternate translations"&gt;程度&lt;/span&gt;&lt;span closure_uid_anqf3r="305" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="306" title="Click for alternate translations"&gt;人们越来越&lt;/span&gt;&lt;span closure_uid_anqf3r="307" title="Click for alternate translations"&gt;安全&lt;/span&gt;&lt;span closure_uid_anqf3r="308" title="Click for alternate translations"&gt;系统&lt;/span&gt;&lt;span closure_uid_anqf3r="309" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="310" title="Click for alternate translations"&gt;楼宇内&lt;/span&gt;&lt;span closure_uid_anqf3r="311" title="Click for alternate translations"&gt;安装&lt;/span&gt;&lt;span closure_uid_anqf3r="312" title="Click for alternate translations"&gt;，以&lt;/span&gt;&lt;span closure_uid_anqf3r="313" title="Click for alternate translations"&gt;防止或制止&lt;/span&gt;&lt;span closure_uid_anqf3r="314" title="Click for alternate translations"&gt;事件&lt;/span&gt;&lt;span closure_uid_anqf3r="315" title="Click for alternate translations"&gt;happen.The&lt;/span&gt;&lt;span closure_uid_anqf3r="316" title="Click for alternate translations"&gt;项目&lt;/span&gt;&lt;span closure_uid_anqf3r="317" title="Click for alternate translations"&gt;开发&lt;/span&gt;&lt;span closure_uid_anqf3r="318" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="319" title="Click for alternate translations"&gt;利用&lt;/span&gt;&lt;span closure_uid_anqf3r="320" title="Click for alternate translations"&gt;微控制器&lt;/span&gt;&lt;span closure_uid_anqf3r="321" title="Click for alternate translations"&gt;PIC16F877&lt;/span&gt;&lt;span closure_uid_anqf3r="322" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="323" title="Click for alternate translations"&gt;该车辆的&lt;/span&gt;&lt;span closure_uid_anqf3r="324" title="Click for alternate translations"&gt;控制，&lt;/span&gt;&lt;span closure_uid_anqf3r="325" title="Click for alternate translations"&gt;通过&lt;/span&gt;&lt;span closure_uid_anqf3r="326" title="Click for alternate translations"&gt;识别和&lt;/span&gt;&lt;span closure_uid_anqf3r="327" title="Click for alternate translations"&gt;restriced&lt;/span&gt;&lt;span closure_uid_anqf3r="328" title="Click for alternate translations"&gt;进入&lt;/span&gt;&lt;span closure_uid_anqf3r="329" title="Click for alternate translations"&gt;过程&lt;/span&gt;&lt;span closure_uid_anqf3r="330" title="Click for alternate translations"&gt;中&lt;/span&gt;&lt;span closure_uid_anqf3r="331" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="332" title="Click for alternate translations"&gt;允许&lt;/span&gt;&lt;span closure_uid_anqf3r="333" title="Click for alternate translations"&gt;符合规定&lt;/span&gt;&lt;span closure_uid_anqf3r="334" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="335" title="Click for alternate translations"&gt;安排&lt;/span&gt;&lt;span closure_uid_anqf3r="336" title="Click for alternate translations"&gt;某些&lt;/span&gt;&lt;span closure_uid_anqf3r="337" title="Click for alternate translations"&gt;车辆&lt;/span&gt;&lt;span closure_uid_anqf3r="338" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="339" title="Click for alternate translations"&gt;其他车辆&lt;/span&gt;&lt;span closure_uid_anqf3r="340" title="Click for alternate translations"&gt;将不&lt;/span&gt;&lt;span closure_uid_anqf3r="341" title="Click for alternate translations"&gt;alloed&lt;/span&gt;&lt;span closure_uid_anqf3r="342" title="Click for alternate translations"&gt;进入&lt;/span&gt;&lt;span closure_uid_anqf3r="343" title="Click for alternate translations"&gt;该组织的&lt;/span&gt;&lt;span closure_uid_anqf3r="344" title="Click for alternate translations"&gt;楼宇&lt;/span&gt;&lt;span closure_uid_anqf3r="345" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="346" title="Click for alternate translations"&gt;安全系统&lt;/span&gt;&lt;span closure_uid_anqf3r="347" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="348" title="Click for alternate translations"&gt;核心&lt;/span&gt;&lt;span closure_uid_anqf3r="349" title="Click for alternate translations"&gt;是&lt;/span&gt;&lt;span closure_uid_anqf3r="350" title="Click for alternate translations"&gt;微控制器&lt;/span&gt;&lt;span closure_uid_anqf3r="351" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" lang="fr"&gt;&lt;span closure_uid_anqf3r="157" title="Click for alternate translations"&gt;&lt;span closure_uid_anqf3r="263" title="Click for alternate translations"&gt;&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" lang="zh-CN"&gt;&lt;span closure_uid_anqf3r="351" title="Click for alternate translations"&gt;&lt;span bi="4" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="ru"&gt;&lt;span class="hps" closure_uid_anqf3r="363" title="Click for alternate translations"&gt;Это&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="364" title="Click for alternate translations"&gt;дипломный проект&lt;/span&gt;&lt;span closure_uid_anqf3r="365" title="Click for alternate translations"&gt;, в котором&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="366" title="Click for alternate translations"&gt;безопасность&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="367" title="Click for alternate translations"&gt;системы&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="368" title="Click for alternate translations"&gt;организации&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="369" title="Click for alternate translations"&gt;формируется&lt;/span&gt;&lt;span closure_uid_anqf3r="370" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="371" title="Click for alternate translations"&gt;Безопасность&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="372" title="Click for alternate translations"&gt;является важным&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="373" title="Click for alternate translations"&gt;вопросом для&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="374" title="Click for alternate translations"&gt;страны и&lt;/span&gt;&lt;span closure_uid_anqf3r="375" title="Click for alternate translations"&gt;, а также&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="376" title="Click for alternate translations"&gt;офисы.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="377" title="Click for alternate translations"&gt;Это&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="378" title="Click for alternate translations"&gt;уровень защиты от&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="379" title="Click for alternate translations"&gt;опасности&lt;/span&gt;&lt;span closure_uid_anqf3r="380" title="Click for alternate translations"&gt;, потери&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="381" title="Click for alternate translations"&gt;и преступников.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="382" title="Click for alternate translations"&gt;Для того чтобы получить&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="383" title="Click for alternate translations"&gt;первую&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="384" title="Click for alternate translations"&gt;степень защиты&lt;/span&gt;&lt;span closure_uid_anqf3r="385" title="Click for alternate translations"&gt;, люди получают&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="386" title="Click for alternate translations"&gt;системы безопасности&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="387" title="Click for alternate translations"&gt;установлены в пределах&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="388" title="Click for alternate translations"&gt;своей территории&lt;/span&gt;&lt;span closure_uid_anqf3r="389" title="Click for alternate translations"&gt;, чтобы предотвратить&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="390" title="Click for alternate translations"&gt;или остановить&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="391" title="Click for alternate translations"&gt;инцидентов&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="392" title="Click for alternate translations"&gt;проекта&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="393" title="Click for alternate translations"&gt;happen.The&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="394" title="Click for alternate translations"&gt;разработан с использованием&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="395" title="Click for alternate translations"&gt;микроконтроллера&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="396" title="Click for alternate translations"&gt;PIC16F877&lt;/span&gt;&lt;span closure_uid_anqf3r="397" title="Click for alternate translations"&gt;.&lt;/span&gt;&lt;span closure_uid_anqf3r="398" title="Click for alternate translations"&gt;Автомобиль&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="399" title="Click for alternate translations"&gt;доступ контролируется&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="400" title="Click for alternate translations"&gt;с помощью процесса&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="401" title="Click for alternate translations"&gt;идентификации и&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="402" title="Click for alternate translations"&gt;restriced&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="403" title="Click for alternate translations"&gt;вход открыт&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="404" title="Click for alternate translations"&gt;для&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="405" title="Click for alternate translations"&gt;определенных&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="406" title="Click for alternate translations"&gt;транспортных средств, которые&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="407" title="Click for alternate translations"&gt;выполняют&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="408" title="Click for alternate translations"&gt;необходимые&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="409" title="Click for alternate translations"&gt;меры.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="410" title="Click for alternate translations"&gt;Другой транспорт&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="411" title="Click for alternate translations"&gt;будет не&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="412" title="Click for alternate translations"&gt;alloed&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="413" title="Click for alternate translations"&gt;входить в помещения&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="414" title="Click for alternate translations"&gt;этой организации.&lt;/span&gt;&lt;span closure_uid_anqf3r="415" title="Click for alternate translations"&gt;Сердце&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="416" title="Click for alternate translations"&gt;системы безопасности&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="417" title="Click for alternate translations"&gt;является&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="418" title="Click for alternate translations"&gt;микроконтроллер.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
pic microcontroller projects pic data logger circuit build project components of c program how to interface lcd with pic18f452 in mikroc jdm programmer pcb pic microcontroller usart pic16 instruction set rs232 bit timing diagram +sd card controller ic 12f675 long sleep precision&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6789641494343434583?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kHphQbdF6tEDY6MIea1gkBFV9cc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kHphQbdF6tEDY6MIea1gkBFV9cc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kHphQbdF6tEDY6MIea1gkBFV9cc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kHphQbdF6tEDY6MIea1gkBFV9cc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/Xa0JqpsPOuY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6789641494343434583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/06/security-system-using-pic16f877-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6789641494343434583?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6789641494343434583?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/Xa0JqpsPOuY/security-system-using-pic16f877-with.html" title="Security System Using PIC16f877 with vehicles access control" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/06/security-system-using-pic16f877-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUADSH4_eSp7ImA9WhZbFE8.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-5910686521933556312</id><published>2011-05-22T04:05:00.000-07:00</published><updated>2011-06-18T12:02:59.041-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T12:02:59.041-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="16f876" /><category scheme="http://www.blogger.com/atom/ns#" term="microcontroller projects" /><category scheme="http://www.blogger.com/atom/ns#" term="lm34" /><category scheme="http://www.blogger.com/atom/ns#" term="lm35" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F452" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F4550" /><category scheme="http://www.blogger.com/atom/ns#" term="16f84" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC16F877" /><category scheme="http://www.blogger.com/atom/ns#" term="temperature sensor" /><category scheme="http://www.blogger.com/atom/ns#" term="MikroC Projects" /><category scheme="http://www.blogger.com/atom/ns#" term="lm335" /><category scheme="http://www.blogger.com/atom/ns#" term="18F452 and 18F4550" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC 16F877" /><title>Microcontroller Projects</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Below is a list of Topics which can be selected for final year degree project for the students of Master of Information Technology, Master of Computer science, Bachelor of computer science, Bachelor of Engineering in Electrical,Bachelor of Engineering in computer science, Bachelor of Engineering in Electronics, Bachelor of Engineering in mekatronics, Bachelor of Engineering in system engineering.&lt;br /&gt;
The final year degree projects are listed as under:&lt;br /&gt;
Construction of microcontroller based Touchscreen Mobile Phone with Password protected features.&lt;br /&gt;
&lt;br /&gt;
Android Smart Phone based Home Automation. &lt;br /&gt;
Touch Screen GLCD based Digital Devices Control System&lt;br /&gt;
&lt;br /&gt;
MEMS Accelerometer based tilt operated Graphical LCD and memory stick based textbook reading system.&lt;br /&gt;
&lt;br /&gt;
Evaluation of the tongue drive system by individuals with high-level spinal cord injury (IEEE 2009).&lt;br /&gt;
&lt;br /&gt;
GSM Based Automatic Energy Meter Reading System&lt;br /&gt;
&lt;br /&gt;
Microcontroller based GPS Data Logger into MMC/SD Card.&lt;br /&gt;
&lt;br /&gt;
Triac and optically isolated diac based electrical oven temperature monitoring and controlling system with zero-crossing detector.&lt;br /&gt;
&lt;br /&gt;
Voice Operated Guidance Systems for Vision Impaired People. (Speech Recognition, Voice Guidance, Ultrasonic Obstacle sensor and GPS Receiver).&lt;br /&gt;
&lt;br /&gt;
GSM based Irrigation Water Pump Controller for Illiterates. (No Mobile phone operation knowledge required)&lt;br /&gt;
&lt;br /&gt;
Smartphone blutooth controlled Robot.&lt;br /&gt;
&lt;br /&gt;
Implementation of location based advertisement system using GPS and Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
Innovative keyboard construction with only one input pin.&lt;br /&gt;
&lt;br /&gt;
RFID and GSM based intelligent letterbox (mailbox).&lt;br /&gt;
&lt;br /&gt;
Wireless energy meter monitoring system with automatic tariff calculation on handheld.&lt;br /&gt;
&lt;br /&gt;
Image based password authentication for Illiterates with Touchscreen.&lt;br /&gt;
&lt;br /&gt;
Google Android operated Smart Home.&lt;br /&gt;
&lt;br /&gt;
Speaking microcontroller for deaf and dumb.&lt;br /&gt;
&lt;br /&gt;
Wireless GoogleEarth control system at Railway/Bus Stations for tourist’s route map guidance.&lt;br /&gt;
&lt;br /&gt;
Virtual wireless dancing bells for classical dancers.&lt;br /&gt;
&lt;br /&gt;
Touchscreen based temperature monitoring and control system with graphical LCD.&lt;br /&gt;
&lt;br /&gt;
Location driven car music player. (Plays devotional songs near temples, shuts at home etc.)&lt;br /&gt;
&lt;br /&gt;
GPS based asset/vehicle/animal/child tracking system.&lt;br /&gt;
&lt;br /&gt;
Microcontroller and Touchscreen based wireless library book catalog system.&lt;br /&gt;
&lt;br /&gt;
Touchscreen based Nurse/attendant calling system for physically impaired.&lt;br /&gt;
&lt;br /&gt;
Graphical LCD and Memory stick (MMC/SD card) based textbook reading system.&lt;br /&gt;
&lt;br /&gt;
Mobile phone controlled four-legged walking robot with speed and direction control.&lt;br /&gt;
&lt;br /&gt;
GPS based universal clock. Gets the time from satellites and displays on GLCD.&lt;br /&gt;
&lt;br /&gt;
Microcontroller based online examination system with dynamic questions.&lt;br /&gt;
&lt;br /&gt;
Digital vehicle speedometer with password enabled speed limit setting.&lt;br /&gt;
&lt;br /&gt;
GPS based vehicle travel location-logging system. This System stores the traveler’s geographical location and speed at an interval of one second and is stored in to 1GB MMC/SD memory card.&lt;br /&gt;
&lt;br /&gt;
SMS based remote SIM card’s address book access system.&lt;br /&gt;
&lt;br /&gt;
Microcontroller based digital clock with Graphical LCD and Sanskrit font (or Any regional font) Numbers.&lt;br /&gt;
&lt;br /&gt;
Microcontroller based virtual boundary/fencing for Wild Animals.&lt;br /&gt;
&lt;br /&gt;
GSM based instantaneous vehicle registration details extraction system very useful for Traffic police.&lt;br /&gt;
&lt;br /&gt;
Wireless Heartbeat Monitoring and Alert system.&lt;br /&gt;
&lt;br /&gt;
RFID/Mifare/Smart Card based security access control systems.&lt;br /&gt;
&lt;br /&gt;
GPS and GSM based real-time vehicle tracking on GoogleEarth (with two GSM Modems)&lt;br /&gt;
&lt;br /&gt;
Implementation of wireless sensors network for Wild Fire monitoring system.&lt;br /&gt;
&lt;br /&gt;
Real-time Heartbeat Monitoring system with display on Graphical LCD and Voice based alerting system.&lt;br /&gt;
&lt;br /&gt;
Touchscreen operated liquid dispensing system.&lt;br /&gt;
&lt;br /&gt;
Infrared (IR) remote controlled Muscle Stimulator with duration and intensity control.&lt;br /&gt;
&lt;br /&gt;
GPS based border alert system for fishermen.&lt;br /&gt;
&lt;br /&gt;
MEMS Accelerometer based digital photo frame with automatic position/view adjustment system (similar to digital cameras).&lt;br /&gt;
&lt;br /&gt;
Construction of Touchscreen based portable Digital Clock.&lt;br /&gt;
&lt;br /&gt;
GPS and Graphical display based tourist-guiding system with Touchscreen keyboard input for dynamic location recording. This can be used any where in the world including Sea and Forest locations.&lt;br /&gt;
&lt;br /&gt;
Microcontroller and RF transceiver based chatting application with Touchscreen keyboard implementation.&lt;br /&gt;
&lt;br /&gt;
Travel assistant for blind with dynamic user input for location based alerts. &lt;br /&gt;
&lt;br /&gt;
Telugu Tutor with dynamic text and Images identification for elementary school kids.&lt;br /&gt;
&lt;br /&gt;
Micro Electro Mechanical Sensor (MEMS) Accelerometer/Gyroscope based self-balancing robot.&lt;br /&gt;
&lt;br /&gt;
Military persons training system that monitors the speed at which they move and records the calculated traveled distance with the time.&lt;br /&gt;
&lt;br /&gt;
GPS based office cab monitoring system very useful for the safety of female employees. This system records the travel path and location with timings. Also records the destination of each employee home.&lt;br /&gt;
&lt;br /&gt;
GPS based station name announcement and display system for Trains/buses. &lt;br /&gt;
&lt;br /&gt;
Microcontroller and voice based alerting system for blind people with GPS enabled location identification.&lt;br /&gt;
&lt;br /&gt;
GPS based navigator with location display on Graphical LCD. This provides user to have the location information displayed in any language.&lt;br /&gt;
&lt;br /&gt;
Advanced GPS based navigator for illiterates.&lt;br /&gt;
&lt;br /&gt;
Live Human being detection wireless remote controlled Robot. (Useful for detection of terrorists hiding inside buildings)&lt;br /&gt;
&lt;br /&gt;
Radio Frequency based remote controlled robot with wireless video camera mounted on it.&lt;br /&gt;
&lt;br /&gt;
Autonomous Robot with artificial vision for obstacle detection. &lt;br /&gt;
&lt;br /&gt;
Accelerometer (Gyroscope) Controlled Robot. Accelerometer is mems based 3-axis sensor that can sense the tilt in of the 3-diamentions. The robot moment is controlled based on the tilt angle of the robot. No need to press any buttons for robot control.&lt;br /&gt;
&lt;br /&gt;
Mobile technology (GSM) based remote monitoring and control of digital Energy meter. Useful for Electricity Department personal for remote meter reading. Also useful to disconnect the power supply to consumer incase of non-payment of electric bill. This is also used to exchange messages like power cut timings with the consumers.&lt;br /&gt;
&lt;br /&gt;
Microcontroller and GPS based geographical map drawing instrument. Very useful for Civil engineers.&lt;br /&gt;
&lt;br /&gt;
Touchscreen controlled motor speed and direction controlling system.&lt;br /&gt;
&lt;br /&gt;
GSM based digital Notice board with display on Monitor or LCD display.&lt;br /&gt;
&lt;br /&gt;
PIR based energy conservation system for corporate Computers and lighting system.&lt;br /&gt;
&lt;br /&gt;
Remote control of critical software applications with mobile phone.&lt;br /&gt;
&lt;br /&gt;
Microcontroller based dual Lithium-ion battery charger with automated charge and discharge cycles. &lt;br /&gt;
&lt;br /&gt;
Virtual distance measuring tape with Graphical LCD. Very useful for roads and buildings department. One man operable and works on anywhere on earth.&lt;br /&gt;
&lt;br /&gt;
Radio Frequency wireless remote controlled digital camera with high power LED based focusing light. The camera direction can be controlled remotely and the video images can be seen live on TV. &lt;br /&gt;
&lt;br /&gt;
Wireless Speedo meter for boat/ship with speed and location limit alerts.&lt;br /&gt;
&lt;br /&gt;
GPS based travel assistant for blind people. &lt;br /&gt;
&lt;br /&gt;
Touch Screen based digital devices control system. This project is to build a Graphical LCD Touch Screen interface for switching electrical devices. The controlled devices can be of high voltage or low voltage.&lt;br /&gt;
&lt;br /&gt;
GSM Mobile phone controlled intelligent Robot.&lt;br /&gt;
&lt;br /&gt;
Automatic Intelligent Plant Watering System.&lt;br /&gt;
&lt;br /&gt;
DC Motor Speed and direction control over GSM Mobile/Modem.&lt;br /&gt;
&lt;br /&gt;
Mobile phone controlled Street Light monitoring and control system.&lt;br /&gt;
&lt;br /&gt;
UPS battery monitoring system over GSM for high availability systems (banking/finance/medical etc).&lt;br /&gt;
&lt;br /&gt;
Touchscreen controlled lamp dimmer for next generation apartments.&lt;br /&gt;
&lt;br /&gt;
Soil Moisture sensor based intelligent irrigation water pump controlling system with GSM technology.&lt;br /&gt;
&lt;br /&gt;
DTMF mobile phone controlled dam water gates controlling system with high-level protection.&lt;br /&gt;
&lt;br /&gt;
DC Motor Speed and direction control using RF/IR/Zigbee technologies.&lt;br /&gt;
&lt;br /&gt;
Hazardous chemical valve control system with stepper motor and line of site remote control.&lt;br /&gt;
&lt;br /&gt;
Contact less Motor speed monitoring on Graphical display with high and low speed alerts.&lt;br /&gt;
&lt;br /&gt;
Liquid dispensing system with adjustable quantity for industrial use.&lt;br /&gt;
&lt;br /&gt;
Password enabled pre-paid liquid/milk dispensing system.&lt;br /&gt;
&lt;br /&gt;
Wireless Energy Meter monitoring system with automatic tariff calculation.&lt;br /&gt;
&lt;br /&gt;
Data logger for energy meter with time and KWH readings. Very useful for historical data logging and analysis.&lt;br /&gt;
&lt;br /&gt;
High voltage fuse blown indicator with Voice based announcement system.&lt;br /&gt;
&lt;br /&gt;
Voice enabled devices switching for visually impaired.&lt;br /&gt;
&lt;br /&gt;
RF transceiver (Zigbee/X-Bee) based energy meter monitoring system. (Energy Meter reading on PC over wireless comm.)&lt;br /&gt;
&lt;br /&gt;
GSM based SCADA (Supervisory Control and Data Acquisition) implementation.&lt;br /&gt;
&lt;br /&gt;
SCADA system design and construction for real-time electrical parameter monitoring and control.&lt;br /&gt;
&lt;br /&gt;
Timer based Electrical Oven temperature monitoring and control for Metal Industries.&lt;br /&gt;
&lt;br /&gt;
Timer based automatic power cutoff for industrial sealing/packaging machines.&lt;br /&gt;
Source:http://www.mycollegeproject.com/&lt;br /&gt;
PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,lm34,lm335,temperature sensor,MikroC Projects&lt;/div&gt;abbreviation bachelor computer science bachelor of engineering,mikroC code for servo motor and LCD,18F4620 real time clock example,18F4550 lcd,Programming LCD in MikroC, pic 18f4550 lcd interfacing,mikroc pic 18f4550 leitura analogica e lcd,Acepic Pro Lcd Mikroc,Microcontrollers Project Examples,PIC18F2550 KS0108 Graphical LCD,mikroC, mikroPascal and mikroBasic programs,MikroC Code for VOLTMETER WITH LCD DISPLAY,PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16*2 LCD and PIC18F4550 interfacing using mikroC compiler,A Quick PIC Compile tutorial for the MikroC compiler,KS0107 and KS0108 LCD controller,PIC PWM Calculator &amp; Code Generator ‎  ‎ &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-5910686521933556312?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/x8qL99rDs2YmSoVdYog3Ijfn690/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x8qL99rDs2YmSoVdYog3Ijfn690/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/x8qL99rDs2YmSoVdYog3Ijfn690/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x8qL99rDs2YmSoVdYog3Ijfn690/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/DyPsav5jgD8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/5910686521933556312/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/05/microcontroller-projects.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5910686521933556312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5910686521933556312?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/DyPsav5jgD8/microcontroller-projects.html" title="Microcontroller Projects" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/05/microcontroller-projects.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQEQH8-fCp7ImA9WhdTFks.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-2914875277876899686</id><published>2011-03-02T04:14:00.000-08:00</published><updated>2011-07-14T11:31:41.154-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-14T11:31:41.154-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="deigital BP Apparatus" /><category scheme="http://www.blogger.com/atom/ns#" term="High blood pressure detection system" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC16f877a" /><category scheme="http://www.blogger.com/atom/ns#" term="LCD of heart beat monitor" /><category scheme="http://www.blogger.com/atom/ns#" term="BPM" /><category scheme="http://www.blogger.com/atom/ns#" term="beats per minutes" /><category scheme="http://www.blogger.com/atom/ns#" term="Heart rate monitor" /><title>Detection of Anger through BPM Beats Per Minuets (Heart rate) with MicroController</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;Title of the Project: &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif; font-size: x-large;"&gt;MicroController PIC16f877 based Anger Detection and Display of Beats per Minuets:-&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Detection of Anger through BPM Beats Per Minuetus(Heart rate) with MicroController PIC16F877&lt;/span&gt;&lt;/div&gt;This project is about how to develop heart rate monitor using microcontroller PIC16f877. The Beats per minut will be used to check about the level of anger. The same project can also be extended to develop a digital blood pressure monitor but in its first phase it will serve only for the detection of beats of heart and calculate the BPM.&lt;br /&gt;
The status of anger can produce bad effect towards heart rate, blood pressure, levels of adrenaline and noradrenalin and other physical effects. Or we can say that heart rate is normally high in the state of anger. This project is design to detect the anger of a person through detection of heart rate or beats per minutes or blood pressure of the patient. The microcontroller PIC 16f877 is used to monitor the blood pressure of the person. This Project is done at the request of a student,who was doing the project of anger detection by various method. This post is actually written to help the student to complete the thesis.&lt;br /&gt;
The project of heart&amp;nbsp;rate meter&amp;nbsp;is divided into two parts.&lt;br /&gt;
1. Analog section:&lt;br /&gt;
The analog section of heart&amp;nbsp;rate meter&amp;nbsp;is consisting of some operational amplifiers and analog components. The sensor or transducer to sense the heart rate is interfaced to this section. A pair of LED and LDR is used as transducer. The signal from the sensor is feed to operational amplifier stage where it is amplified and comparator produces the digital signal of the corresponding analog signal. these digital signal is then feed to microcontroller.&lt;br /&gt;
2. Digital part:&lt;br /&gt;
In the digital section heart&amp;nbsp;rate meter&amp;nbsp;is the microcontroller the TTL pulses are processed and resulted heart rate is displayed on the LCD screen.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-650XD8NgFNQ/TW4yz95VJwI/AAAAAAAAC-c/o6rd97rJVa8/s1600/BPM+blood+pressure+monitor+with+microcontroller+PIC16f877.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="BPM blood pressure monitor with microcontroller PIC16f877 Detection of Anger through BPM Beats Per Minuets (Heart rate) with MicroController" border="0" height="201px" l6="true" src="https://lh3.googleusercontent.com/-650XD8NgFNQ/TW4yz95VJwI/AAAAAAAAC-c/o6rd97rJVa8/s320/BPM+blood+pressure+monitor+with+microcontroller+PIC16f877.jpg" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-rziV1GCU_vw/TW4zEy7WHnI/AAAAAAAAC-g/jxwCBcKWTqY/s1600/heart+beat+transducer+medical+equipement.BMP" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="BPM blood pressure monitor with microcontroller PIC16f877" border="0" height="125px" l6="true" src="https://lh4.googleusercontent.com/-rziV1GCU_vw/TW4zEy7WHnI/AAAAAAAAC-g/jxwCBcKWTqY/s320/heart+beat+transducer+medical+equipement.BMP" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;The code for the heart&amp;nbsp;rate meter&amp;nbsp;is written in Hitech c language as is given below.&lt;br /&gt;
The first stage is detection, then detected pulses are converted into beats BPM and then BPM is displayed on LCD all these computatin is done inside in microcontroller PIC16f877. The complete code for beats per minut is described here.&lt;br /&gt;
#include &lt;pic.h&gt;// plz include pic . h file here this file is available in hitech&lt;br /&gt;
#ifndef _XTAL_FREQ&lt;br /&gt;
// Unless specified elsewhere, 4MHz system frequency is assumed&lt;br /&gt;
#define _XTAL_FREQ 4000000&lt;br /&gt;
#endif&lt;br /&gt;
#define rs RD7&lt;br /&gt;
#define e RD6&lt;br /&gt;
#define lcd_data PORTB&lt;br /&gt;
#define buzzer RC1&lt;br /&gt;
void beep (void);&lt;br /&gt;
void delayms(unsigned int itime);&lt;br /&gt;
void blink(void);&lt;br /&gt;
void send_config(unsigned char data);&lt;br /&gt;
void pulse(void);&lt;br /&gt;
void send_char(unsigned char data);&lt;br /&gt;
void lcd_goto(unsigned char data);&lt;br /&gt;
void lcd_clr(void);&lt;br /&gt;
void send_string(const char *s);&lt;br /&gt;
void init_lcd(void);&lt;br /&gt;
void dis_num(unsigned int data,unsigned char digit);&lt;br /&gt;
unsigned int read_an(unsigned char channel);&lt;br /&gt;
void prog1(void);&lt;br /&gt;
void display(unsigned char c);&lt;br /&gt;
unsigned long no=0;&lt;br /&gt;
void main (void)&lt;br /&gt;
{&lt;br /&gt;
TRISA5=0; &lt;br /&gt;
TRISC=0; &lt;br /&gt;
TRISB=0;&lt;br /&gt;
TRISD0=1;&lt;br /&gt;
TRISD1=0;&lt;br /&gt;
TRISD7=0;&lt;br /&gt;
TRISD6=0;&lt;br /&gt;
TRISD3=0;&lt;br /&gt;
init_lcd();&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
prog1();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void prog1(void)&lt;br /&gt;
{&lt;br /&gt;
unsigned int temp1=0,temp2=0;&lt;br /&gt;
unsigned char i;&lt;br /&gt;
unsigned int hb=1;&lt;br /&gt;
while(RD0);&lt;br /&gt;
while(!RD0){&lt;br /&gt;
hb++;&lt;br /&gt;
__delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
hb=30000/hb;&lt;br /&gt;
lcd_goto(2);&lt;br /&gt;
send_string("H.B.R: bpm");&lt;br /&gt;
lcd_goto(8);&lt;br /&gt;
dis_num(hb,3);&lt;br /&gt;
if(hb&amp;gt;87&amp;amp;&amp;amp;RD3==1) //if value of Heart Beat &amp;gt;87 and sound &amp;gt; 85dB&lt;br /&gt;
{&lt;br /&gt;
beep(); &lt;br /&gt;
lcd_goto(16); &lt;br /&gt;
send_string(" Stay Calm!! "); &lt;br /&gt;
RD3=0; &lt;br /&gt;
}&lt;br /&gt;
else if(hb&amp;gt;87)&lt;br /&gt;
{&lt;br /&gt;
lcd_goto(16);&lt;br /&gt;
send_string(" Stay Calm!! "); &lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
buzzer=0;&lt;br /&gt;
lcd_goto(16);&lt;br /&gt;
send_string(" Normal :) ");&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void delayms(unsigned int itime)&lt;br /&gt;
{&lt;br /&gt;
for(;itime&amp;gt;0;itime--)&lt;br /&gt;
{__delay_ms(1);}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void send_config(unsigned char data) //send lcd configuration &lt;br /&gt;
{&lt;br /&gt;
rs=0; //set lcd to configuration mode&lt;br /&gt;
lcd_data=data&amp;amp;0xf0; //lcd data port = data&lt;br /&gt;
pulse();&lt;br /&gt;
lcd_data=(data&amp;lt;&amp;lt;4)&amp;amp;0xf0; pulse(); }&lt;br /&gt;
&amp;nbsp;void pulse(void) {&lt;br /&gt;
&amp;nbsp;e=1; //pulse e to confirm the data &lt;br /&gt;
delayms(1); e=0; delayms(1); }&lt;br /&gt;
&amp;nbsp;void lcd_goto(unsigned char data) //set the location of the lcd cursor &lt;br /&gt;
{ &lt;br /&gt;
//if the given value is (0-15) the //cursor will be at the upper line &lt;br /&gt;
//if the given value is (20-35) the send_config&lt;br /&gt;
//cursor will be at the lower line &lt;br /&gt;
//location of the lcd cursor(2X16): &lt;br /&gt;
} &lt;br /&gt;
void lcd_clr(void) //clear the lcd &lt;br /&gt;
{ send_config(0x01); delayms(2); }&lt;br /&gt;
&lt;br /&gt;
void send_string(const char *s) &lt;br /&gt;
//send a string to display in the lcd &lt;br /&gt;
{ rs = 1; while (*s)send_char (*s++); } &lt;br /&gt;
void send_char(unsigned char data) //send lcd character &lt;br /&gt;
{ rs =1; __delay_us(40); //set lcd to display mode &lt;br /&gt;
lcd_data=data&amp;amp;0xf0; //lcd data port = data &lt;br /&gt;
pulse(); lcd_data=(data&amp;lt;&amp;lt;4)&amp;amp;0xf0; pulse();&lt;br /&gt;
&amp;nbsp;} &lt;br /&gt;
void init_lcd(void) { &lt;br /&gt;
rs=0;e=0; //command mode &lt;br /&gt;
delayms(10); //delay 10ms&lt;br /&gt;
&amp;nbsp;lcd_data=0x30; //load initial nibble&lt;br /&gt;
&amp;nbsp;pulse(); //Latch initial code &lt;br /&gt;
delayms(5); //delay 5ms &lt;br /&gt;
pulse(); //Latch initial code &lt;br /&gt;
delayms(1); //delay 1ms &lt;br /&gt;
pulse(); //Latch initial code &lt;br /&gt;
lcd_data=0x20; pulse(); //Latch initial code //configure &lt;br /&gt;
lcd send_config(0x28); //Set 4-bit mode, 2 lines &lt;br /&gt;
send_config(0xF); //Switch off display &lt;br /&gt;
send_config(0x01); //Clear Display &lt;br /&gt;
send_config(0x06); //Enable cursor auto increase //&lt;br /&gt;
send_config(0x80); //Zero display address &lt;br /&gt;
void dis_num(unsigned int data,unsigned char digit) {&lt;br /&gt;
&amp;nbsp;if(digit&amp;gt;3)&lt;br /&gt;
send_char('0'+(data/1000)%10);&lt;br /&gt;
if(digit&amp;gt;2)&lt;br /&gt;
send_char('0'+(data/100)%10);&lt;br /&gt;
if(digit&amp;gt;1)&lt;br /&gt;
send_char('0'+(data/10)%10);&lt;br /&gt;
if(digit&amp;gt;0)&lt;br /&gt;
send_char('0'+(data/1)%10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void beep(void) // beep generator&lt;br /&gt;
{&lt;br /&gt;
buzzer=1;&lt;br /&gt;
delayms(300);&lt;br /&gt;
buzzer=0;&lt;br /&gt;
delayms(200);&lt;br /&gt;
buzzer=1;&lt;br /&gt;
delayms(300);&lt;br /&gt;
buzzer=0;&lt;br /&gt;
delayms(200);&lt;br /&gt;
buzzer=1;&lt;br /&gt;
delayms(300);&lt;br /&gt;
buzzer=0;&lt;br /&gt;
delayms(200);&lt;br /&gt;
buzzer=1;&lt;br /&gt;
delayms(300);&lt;br /&gt;
buzzer=0;&lt;br /&gt;
delayms(200);&lt;br /&gt;
buzzer=1;&lt;br /&gt;
delayms(300);&lt;br /&gt;
buzzer=0;&lt;br /&gt;
delayms(200);&lt;br /&gt;
}&lt;/div&gt;&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="ru"&gt;&lt;span class="" closure_uid_anqf3r="421" title="Click for alternate translations"&gt;Состояние&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="422" title="Click for alternate translations"&gt;гнева&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="423" title="Click for alternate translations"&gt;может произвести&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="424" title="Click for alternate translations"&gt;плохое влияние&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="425" title="Click for alternate translations"&gt;на&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="426" title="Click for alternate translations"&gt;частоту сердечных сокращений&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="427" title="Click for alternate translations"&gt;, артериальное давление,&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="428" title="Click for alternate translations"&gt;уровень адреналина&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="429" title="Click for alternate translations"&gt;и норадреналина&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="430" title="Click for alternate translations"&gt;и других&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="431" title="Click for alternate translations"&gt;физических эффектов.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="432" title="Click for alternate translations"&gt;Или же мы можем&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="433" title="Click for alternate translations"&gt;сказать, что&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="434" title="Click for alternate translations"&gt;частота сердечных сокращений&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="435" title="Click for alternate translations"&gt;, как правило,&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="436" title="Click for alternate translations"&gt;высоко в&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="437" title="Click for alternate translations"&gt;состоянии гнева&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="438" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="439" title="Click for alternate translations"&gt;Этот проект&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="440" title="Click for alternate translations"&gt;дизайна&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="441" title="Click for alternate translations"&gt;для обнаружения&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="442" title="Click for alternate translations"&gt;гнев&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="443" title="Click for alternate translations"&gt;человека через&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="444" title="Click for alternate translations"&gt;выявление&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="445" title="Click for alternate translations"&gt;частоты сердечных сокращений или&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="446" title="Click for alternate translations"&gt;ударов в&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="447" title="Click for alternate translations"&gt;минут или&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="448" title="Click for alternate translations"&gt;кровяное давление&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="449" title="Click for alternate translations"&gt;пациента.&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="450" title="Click for alternate translations"&gt;Микроконтроллеров&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="451" title="Click for alternate translations"&gt;PIC&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="452" title="Click for alternate translations"&gt;16F877&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="453" title="Click for alternate translations"&gt;используется для мониторинга&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="454" title="Click for alternate translations"&gt;кровяного давления&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="455" title="Click for alternate translations"&gt;человека.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="456" title="Click for alternate translations"&gt;Этот проект&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="457" title="Click for alternate translations"&gt;осуществляется&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="458" title="Click for alternate translations"&gt;по просьбе&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="459" title="Click for alternate translations"&gt;студента, который&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="460" title="Click for alternate translations"&gt;делал&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="461" title="Click for alternate translations"&gt;проект&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="462" title="Click for alternate translations"&gt;гнева&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="463" title="Click for alternate translations"&gt;обнаружения&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="464" title="Click for alternate translations"&gt;различных&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="465" title="Click for alternate translations"&gt;метода.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="466" title="Click for alternate translations"&gt;Эта должность является&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="467" title="Click for alternate translations"&gt;на самом деле&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="468" title="Click for alternate translations"&gt;написана, чтобы помочь&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="469" title="Click for alternate translations"&gt;студенту&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="470" title="Click for alternate translations"&gt;для завершения&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="471" title="Click for alternate translations"&gt;диссертации.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" lang="ru"&gt;&lt;span class="hps" closure_uid_anqf3r="471" title="Click for alternate translations"&gt;&lt;div class="almost_half_cell" closure_uid_anqf3r="161" id="gt-res-content"&gt;&lt;div closure_uid_anqf3r="160" dir="ltr" style="zoom: 1;"&gt;&lt;div class=" " id="tts_button" style="display: none;"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" height="18" id="tts_flash" width="18"&gt;&lt;param NAME="_cx" VALUE="476"&gt;&lt;param NAME="_cy" VALUE="476"&gt;&lt;param NAME="FlashVars" VALUE=""&gt;&lt;param NAME="Movie" VALUE="http://www.gstatic.com/translate/sound_player2.swf"&gt;&lt;param NAME="Src" VALUE="http://www.gstatic.com/translate/sound_player2.swf"&gt;&lt;param NAME="WMode" VALUE="Transparent"&gt;&lt;param NAME="Play" VALUE="0"&gt;&lt;param NAME="Loop" VALUE="-1"&gt;&lt;param NAME="Quality" VALUE="High"&gt;&lt;param NAME="SAlign" VALUE=""&gt;&lt;param NAME="Menu" VALUE="-1"&gt;&lt;param NAME="Base" VALUE=""&gt;&lt;param NAME="AllowScriptAccess" VALUE="always"&gt;&lt;param NAME="Scale" VALUE="ShowAll"&gt;&lt;param NAME="DeviceFont" VALUE="0"&gt;&lt;param NAME="EmbedMovie" VALUE="0"&gt;&lt;param NAME="BGColor" VALUE=""&gt;&lt;param NAME="SWRemote" VALUE=""&gt;&lt;param NAME="MovieData" VALUE=""&gt;&lt;param NAME="SeamlessTabbing" VALUE="1"&gt;&lt;param NAME="Profile" VALUE="0"&gt;&lt;param NAME="ProfileAddress" VALUE=""&gt;&lt;param NAME="ProfilePort" VALUE="0"&gt;&lt;param NAME="AllowNetworking" VALUE="all"&gt;&lt;param NAME="AllowFullScreen" VALUE="false"&gt;&lt;/OBJECT&gt;&lt;/div&gt;&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="sv"&gt;&lt;span class="hps" closure_uid_anqf3r="479" title="Click for alternate translations"&gt;Statusen&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="480" title="Click for alternate translations"&gt;av ilska&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="481" title="Click for alternate translations"&gt;kan ge&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="482" title="Click for alternate translations"&gt;dålig effekt&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="483" title="Click for alternate translations"&gt;mot&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="484" title="Click for alternate translations"&gt;hjärtfrekvens,&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="485" title="Click for alternate translations"&gt;blodtryck,&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="486" title="Click for alternate translations"&gt;nivåer av&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="487" title="Click for alternate translations"&gt;adrenalin och&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="488" title="Click for alternate translations"&gt;noradrenalin&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="489" title="Click for alternate translations"&gt;och andra fysiska&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="490" title="Click for alternate translations"&gt;effekter.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="491" title="Click for alternate translations"&gt;Eller&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="492" title="Click for alternate translations"&gt;kan vi säga att&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="493" title="Click for alternate translations"&gt;hjärtfrekvensen&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="494" title="Click for alternate translations"&gt;är normalt&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="495" title="Click for alternate translations"&gt;hög i&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="496" title="Click for alternate translations"&gt;det statligt&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="497" title="Click for alternate translations"&gt;av ilska&lt;/span&gt;&lt;span closure_uid_anqf3r="498" title="Click for alternate translations"&gt;.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="499" title="Click for alternate translations"&gt;Detta projekt&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="500" title="Click for alternate translations"&gt;är design&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="501" title="Click for alternate translations"&gt;för att upptäcka&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="502" title="Click for alternate translations"&gt;vrede&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="503" title="Click for alternate translations"&gt;en&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="504" title="Click for alternate translations"&gt;person genom&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="505" title="Click for alternate translations"&gt;detektering av&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="506" title="Click for alternate translations"&gt;puls eller&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="507" title="Click for alternate translations"&gt;slag per&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="508" title="Click for alternate translations"&gt;minut&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="509" title="Click for alternate translations"&gt;eller blodtryck&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="510" title="Click for alternate translations"&gt;på patienten.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="511" title="Click for alternate translations"&gt;Mikrokontroller&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="512" title="Click for alternate translations"&gt;PIC&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="513" title="Click for alternate translations"&gt;16f877&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="514" title="Click for alternate translations"&gt;används för att&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="515" title="Click for alternate translations"&gt;övervaka&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="516" title="Click for alternate translations"&gt;blodtrycket&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="517" title="Click for alternate translations"&gt;hos en person.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="518" title="Click for alternate translations"&gt;Detta projekt är&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="519" title="Click for alternate translations"&gt;gjort&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="520" title="Click for alternate translations"&gt;på begäran av&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="521" title="Click for alternate translations"&gt;en&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="522" title="Click for alternate translations"&gt;student, som&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="523" title="Click for alternate translations"&gt;gjorde&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="524" title="Click for alternate translations"&gt;projektet&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="525" title="Click for alternate translations"&gt;av ilska&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="526" title="Click for alternate translations"&gt;detektion&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="527" title="Click for alternate translations"&gt;av olika&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="528" title="Click for alternate translations"&gt;metod.&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="529" title="Click for alternate translations"&gt;Detta inlägg&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="530" title="Click for alternate translations"&gt;är faktiskt&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="531" title="Click for alternate translations"&gt;skriven för att hjälpa&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="532" title="Click for alternate translations"&gt;studenten&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="533" title="Click for alternate translations"&gt;att slutföra&lt;/span&gt; &lt;span class="hps" closure_uid_anqf3r="534" title="Click for alternate translations"&gt;avhandlingen.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="almost_half_cell" closure_uid_anqf3r="161"&gt;&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="ja"&gt;&lt;span class="" closure_uid_anqf3r="544" title="Click for alternate translations"&gt;怒り&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="545" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="546" title="Click for alternate translations"&gt;状態&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="547" title="Click for alternate translations"&gt;では&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="548" title="Click for alternate translations"&gt;心拍数&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="549" title="Click for alternate translations"&gt;、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="550" title="Click for alternate translations"&gt;血圧&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="551" title="Click for alternate translations"&gt;、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="552" title="Click for alternate translations"&gt;アドレナリン&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="553" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="554" title="Click for alternate translations"&gt;レベル&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="555" title="Click for alternate translations"&gt;と&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="556" title="Click for alternate translations"&gt;ノルアドレナリン&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="557" title="Click for alternate translations"&gt;および他の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="558" title="Click for alternate translations"&gt;物理的な効果&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="559" title="Click for alternate translations"&gt;に向けて&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="560" title="Click for alternate translations"&gt;悪影響&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="561" title="Click for alternate translations"&gt;を生成することができます&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="562" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="563" title="Click for alternate translations"&gt;または&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="564" title="Click for alternate translations"&gt;我々&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="565" title="Click for alternate translations"&gt;は、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="566" title="Click for alternate translations"&gt;心拍数&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="567" title="Click for alternate translations"&gt;が&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="568" title="Click for alternate translations"&gt;怒り&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="569" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="570" title="Click for alternate translations"&gt;状態&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="571" title="Click for alternate translations"&gt;で&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="572" title="Click for alternate translations"&gt;は通常&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="573" title="Click for alternate translations"&gt;高い&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="574" title="Click for alternate translations"&gt;と言うことができる&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="575" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="576" title="Click for alternate translations"&gt;このプロジェクトは、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="577" title="Click for alternate translations"&gt;心拍数&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="578" title="Click for alternate translations"&gt;や議事録&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="579" title="Click for alternate translations"&gt;や&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="580" title="Click for alternate translations"&gt;患者&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="581" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="582" title="Click for alternate translations"&gt;血圧&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="583" title="Click for alternate translations"&gt;の拍&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="584" title="Click for alternate translations"&gt;検出&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="585" title="Click for alternate translations"&gt;を通じて、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="586" title="Click for alternate translations"&gt;人&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="587" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="588" title="Click for alternate translations"&gt;怒り&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="589" title="Click for alternate translations"&gt;を検出するための&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="590" title="Click for alternate translations"&gt;設計&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="591" title="Click for alternate translations"&gt;です&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="592" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="593" title="Click for alternate translations"&gt;マイコン&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="594" title="Click for alternate translations"&gt;PIC&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="595" title="Click for alternate translations"&gt;16F877&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="596" title="Click for alternate translations"&gt;は、&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="597" title="Click for alternate translations"&gt;人&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="598" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="599" title="Click for alternate translations"&gt;血圧&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="600" title="Click for alternate translations"&gt;を&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="601" title="Click for alternate translations"&gt;監視するために使用されます&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="602" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="603" title="Click for alternate translations"&gt;この&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="604" title="Click for alternate translations"&gt;プロジェクト&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="605" title="Click for alternate translations"&gt;は、様々な&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="606" title="Click for alternate translations"&gt;方法&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="607" title="Click for alternate translations"&gt;で&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="608" title="Click for alternate translations"&gt;怒り&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="609" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="610" title="Click for alternate translations"&gt;検出&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="611" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="612" title="Click for alternate translations"&gt;プロジェクト&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="613" title="Click for alternate translations"&gt;を&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="614" title="Click for alternate translations"&gt;やっていた&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="615" title="Click for alternate translations"&gt;学生&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="616" title="Click for alternate translations"&gt;の&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="617" title="Click for alternate translations"&gt;要求&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="618" title="Click for alternate translations"&gt;で行われます&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="619" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="620" title="Click for alternate translations"&gt;このポストは&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="621" title="Click for alternate translations"&gt;実際に&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="622" title="Click for alternate translations"&gt;論文&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="623" title="Click for alternate translations"&gt;を完了するために&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="624" title="Click for alternate translations"&gt;学生&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="625" title="Click for alternate translations"&gt;を助けるために&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="626" title="Click for alternate translations"&gt;書かれています&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="627" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="almost_half_cell" closure_uid_anqf3r="161"&gt;&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" lang="ja"&gt;&lt;span class="" closure_uid_anqf3r="627" title="Click for alternate translations"&gt;&lt;span bi="4" class="" closure_uid_anqf3r="159" ec="undefined" id="result_box" lang="zh-CN"&gt;&lt;span class="" closure_uid_anqf3r="630" title="Click for alternate translations"&gt;愤怒&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="631" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="632" title="Click for alternate translations"&gt;状态&lt;/span&gt;&lt;span closure_uid_anqf3r="633" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="634" title="Click for alternate translations"&gt;可以&lt;/span&gt;&lt;span closure_uid_anqf3r="635" title="Click for alternate translations"&gt;对&lt;/span&gt;&lt;span closure_uid_anqf3r="636" title="Click for alternate translations"&gt;心率&lt;/span&gt;&lt;span closure_uid_anqf3r="637" title="Click for alternate translations"&gt;，血压&lt;/span&gt;&lt;span closure_uid_anqf3r="638" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="639" title="Click for alternate translations"&gt;肾上腺素水平&lt;/span&gt;&lt;span closure_uid_anqf3r="640" title="Click for alternate translations"&gt;和&lt;/span&gt;&lt;span closure_uid_anqf3r="641" title="Click for alternate translations"&gt;去甲肾上腺素和&lt;/span&gt;&lt;span closure_uid_anqf3r="642" title="Click for alternate translations"&gt;其他&lt;/span&gt;&lt;span closure_uid_anqf3r="643" title="Click for alternate translations"&gt;物理效应&lt;/span&gt;&lt;span closure_uid_anqf3r="644" title="Click for alternate translations"&gt;产生&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="645" title="Click for alternate translations"&gt;不好的影响&lt;/span&gt;&lt;span closure_uid_anqf3r="646" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="647" title="Click for alternate translations"&gt;或者我们可以&lt;/span&gt;&lt;span closure_uid_anqf3r="648" title="Click for alternate translations"&gt;说，&lt;/span&gt;&lt;span closure_uid_anqf3r="649" title="Click for alternate translations"&gt;心率&lt;/span&gt;&lt;span closure_uid_anqf3r="650" title="Click for alternate translations"&gt;通常是&lt;/span&gt;&lt;span closure_uid_anqf3r="651" title="Click for alternate translations"&gt;在&lt;/span&gt;&lt;span closure_uid_anqf3r="652" title="Click for alternate translations"&gt;愤怒&lt;/span&gt;&lt;span closure_uid_anqf3r="653" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="654" title="Click for alternate translations"&gt;状态&lt;/span&gt;&lt;span closure_uid_anqf3r="655" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="656" title="Click for alternate translations"&gt;这个项目&lt;/span&gt;&lt;span closure_uid_anqf3r="657" title="Click for alternate translations"&gt;的设计&lt;/span&gt;&lt;span closure_uid_anqf3r="658" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="659" title="Click for alternate translations"&gt;检测&lt;/span&gt;&lt;span closure_uid_anqf3r="660" title="Click for alternate translations"&gt;一个&lt;/span&gt;&lt;span closure_uid_anqf3r="661" title="Click for alternate translations"&gt;人&lt;/span&gt;&lt;span closure_uid_anqf3r="662" title="Click for alternate translations"&gt;通过&lt;/span&gt;&lt;span closure_uid_anqf3r="663" title="Click for alternate translations"&gt;检测&lt;/span&gt;&lt;span closure_uid_anqf3r="664" title="Click for alternate translations"&gt;心率&lt;/span&gt;&lt;span closure_uid_anqf3r="665" title="Click for alternate translations"&gt;每分钟&lt;/span&gt;&lt;span closure_uid_anqf3r="666" title="Click for alternate translations"&gt;或&lt;/span&gt;&lt;span closure_uid_anqf3r="667" title="Click for alternate translations"&gt;病人&lt;/span&gt;&lt;span closure_uid_anqf3r="668" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="669" title="Click for alternate translations"&gt;血压&lt;/span&gt;&lt;span closure_uid_anqf3r="670" title="Click for alternate translations"&gt;心跳&lt;/span&gt;&lt;span closure_uid_anqf3r="671" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="672" title="Click for alternate translations"&gt;愤怒&lt;/span&gt;&lt;span closure_uid_anqf3r="673" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="674" title="Click for alternate translations"&gt;微控制器&lt;/span&gt;&lt;span closure_uid_anqf3r="675" title="Click for alternate translations"&gt;PIC&lt;/span&gt;&lt;span closure_uid_anqf3r="676" title="Click for alternate translations"&gt;16F877&lt;/span&gt;&lt;span closure_uid_anqf3r="677" title="Click for alternate translations"&gt;是用来监视&lt;/span&gt;&lt;span closure_uid_anqf3r="678" title="Click for alternate translations"&gt;的人&lt;/span&gt;&lt;span closure_uid_anqf3r="679" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="680" title="Click for alternate translations"&gt;血压&lt;/span&gt;&lt;span closure_uid_anqf3r="681" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="682" title="Click for alternate translations"&gt;这个项目是&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="683" title="Click for alternate translations"&gt;做&lt;/span&gt;&lt;span closure_uid_anqf3r="684" title="Click for alternate translations"&gt;学生&lt;/span&gt;&lt;span closure_uid_anqf3r="685" title="Click for alternate translations"&gt;，&lt;/span&gt;&lt;span closure_uid_anqf3r="686" title="Click for alternate translations"&gt;谁在做&lt;/span&gt;&lt;span closure_uid_anqf3r="687" title="Click for alternate translations"&gt;各种方法&lt;/span&gt;&lt;span closure_uid_anqf3r="688" title="Click for alternate translations"&gt;的愤怒&lt;/span&gt;&lt;span closure_uid_anqf3r="689" title="Click for alternate translations"&gt;检测&lt;/span&gt;&lt;span closure_uid_anqf3r="690" title="Click for alternate translations"&gt;项目&lt;/span&gt;&lt;span closure_uid_anqf3r="691" title="Click for alternate translations"&gt;的&lt;/span&gt;&lt;span closure_uid_anqf3r="692" title="Click for alternate translations"&gt;要求&lt;/span&gt;&lt;span closure_uid_anqf3r="693" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;span closure_uid_anqf3r="694" title="Click for alternate translations"&gt;实际上是&lt;/span&gt;&lt;span closure_uid_anqf3r="695" title="Click for alternate translations"&gt;写&lt;/span&gt;&lt;span closure_uid_anqf3r="696" title="Click for alternate translations"&gt;这篇文章&lt;/span&gt;&lt;span closure_uid_anqf3r="697" title="Click for alternate translations"&gt;，以帮助&lt;/span&gt;&lt;span closure_uid_anqf3r="698" title="Click for alternate translations"&gt;学生&lt;/span&gt;&lt;span closure_uid_anqf3r="699" title="Click for alternate translations"&gt;完成毕业论文&lt;/span&gt;&lt;span class="" closure_uid_anqf3r="700" title="Click for alternate translations"&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-2914875277876899686?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EwfG0YXPtZmEuvLasEmF7-omlvg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EwfG0YXPtZmEuvLasEmF7-omlvg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EwfG0YXPtZmEuvLasEmF7-omlvg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EwfG0YXPtZmEuvLasEmF7-omlvg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/vmmguNQPqgo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/2914875277876899686/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/03/detection-of-anger-through-bpm-beats.html#comment-form" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/2914875277876899686?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/2914875277876899686?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/vmmguNQPqgo/detection-of-anger-through-bpm-beats.html" title="Detection of Anger through BPM Beats Per Minuets (Heart rate) with MicroController" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-650XD8NgFNQ/TW4yz95VJwI/AAAAAAAAC-c/o6rd97rJVa8/s72-c/BPM+blood+pressure+monitor+with+microcontroller+PIC16f877.jpg" height="72" width="72" /><thr:total>10</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/03/detection-of-anger-through-bpm-beats.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYEQnY9eip7ImA9WhdVGEk.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6739504283567540285</id><published>2011-02-08T07:50:00.000-08:00</published><updated>2011-09-23T22:28:23.862-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T22:28:23.862-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC" /><category scheme="http://www.blogger.com/atom/ns#" term="analog-to-digital converter" /><category scheme="http://www.blogger.com/atom/ns#" term="potentiometer" /><category scheme="http://www.blogger.com/atom/ns#" term="LCD" /><category scheme="http://www.blogger.com/atom/ns#" term="DISPLAY" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F2455" /><category scheme="http://www.blogger.com/atom/ns#" term="HD44780" /><category scheme="http://www.blogger.com/atom/ns#" term="ADC" /><category scheme="http://www.blogger.com/atom/ns#" term="adc interfacing with Pic16f877" /><category scheme="http://www.blogger.com/atom/ns#" term="LCD using 18F4550" /><title>adc interfacing with Pic16f877</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I found many questions from students of Electrical and electronics studying Microcontroller in electronics labs or in course related to microcontrollers. They often asked for adc interfacing with Pic16f877.&amp;nbsp; So i decided to write a page about Interfacing of analog to digital converter with PIC16f877 microcontroller.&lt;br /&gt;
An analog-to-digital converter (A/D) is used to convert an analog signal, such as&lt;br /&gt;
voltage, to digital form so a microcontroller can read and process it. Some&lt;br /&gt;
microcontrollers have built-in A/D converters. External A/D converter can also be connected to any type of microcontroller. A/D converters are usually 8 to 10 bits, having 256 to 1024 quantization levels. Most PIC microcontrollers with A/D features have multiplexed A/D converters which provide more than one analog input channel.&lt;br /&gt;
For example, the PIC18F452 microcontroller and PIC16f877 have 10-bit 8-channel A/D converters. The A/D conversion process must be started by the user program and may take several hundred microseconds to complete. A/D converters usually generate interrupts when a conversion is complete so the user program can read the converted data quickly.&lt;br /&gt;
A/D converters are especially useful in control and monitoring applications, since most sensors (e.g., temperature sensors, pressure sensors, force sensors, etc.) produce analog output voltages.&lt;br /&gt;
First of all if we have checked the data sheet of the microcontroller PIC 16f877. Then we will come to know that it have builtin Analog to digital converter. The microcontroller PIC16f877 have built in adcs. what we need is carefull configuration of the special purpose registers associated with ADC in PIC16f877. Best practice is to start using analog to digital converter from AN0 to onword. becuase if you will start from AN4 or AN5 then you will notic that there are some analog channel which have to configure them as spare channel. At first it appears that the PIC16F877 has 8 built-in ADCs, but this is not the case. The input analogue channels AN4..0 are shared with port A, and channels AN7..5 are shard with port E. If less than eight analogue channels are required then some of the pins can be assigned as digital I/O port lines using PCFG3..0 bits (see datasheet). For example, if PCFG3..0 = 0010 then AN4..0 are configured as analogue inputs, while AN7..5 are digital (port E free), with VDD used as the reference.Any how, I suggest my students, to use builtin ADC of the PIC 16f877 for any general purpose expierement. As they have good enough resolution and in the most of the assignments they have good performance. The typical resolution of the ADC built in PIC 16f1877 are 10bits, i.e you can have 5000(mV)/1024 = 4.88 mV/bit. It is fine for some cases. When you need some higher resolution then you can attach 12bit or 14, 16 bit ADC with PIC16f877 very easily. In the coming post we will learn how to interface 12-bit ADC with Microcontroller PIC16f877.There are many&lt;br /&gt;
analog-to-digital converter chips available on the market, and an embedded systems designer should understand the characteristics of such chips so they can be used efficiently. As far as the input and output voltage are concerned A/D converters can be classified as either unipolar and bipolar. Unipolar ADC accept unipolar input voltages in the range 0 to þ0V, and bipolar ADC accept bipolar input voltages in the&lt;br /&gt;
range  V. Bipolar converters are frequently used in signal processing applications, where the signals by nature are bipolar. Unipolar converters are usually cheaper, and they are used in many control and instrumentation applications. The typical steps involved in reading and converting an analog signal into digital form, a process also known as signal conditioning. Signals received from sensors usually need to be processed before being fed to an ADC. The processing usually begins with scaling the signal to the correct value. Unwanted signal components are then removed by filtering the signal using classical filters (e.g., a lowpass filter). Finally, before feeding the signal to an ADC, the signal is passed through a sample-and-hold device. This is particularly important with fast real-time signals whose value may be changing between the sampling instants. A sample-andhold device ensures that the signal stays at a constant value during the actual conversion&lt;br /&gt;
process. Many applications required more than one ADC, which normally involves using an analog multiplexer at the input of the ADC. The multiplexer selects only one signal at any time and presents this signal to the ADC. An ADC usually has a single analog input and a digital parallel output.&lt;br /&gt;
The most practical method of reading Analog signal is by using an ADC built into a PICmicro® MCU. The ADC read can be carried out in the following macro: &lt;br /&gt;
ADCRead Macro &lt;br /&gt;
bsf ADCON0, GO ; Turn on the ADC &lt;br /&gt;
btfsc ADCON0, GO ; Wait for it to Complete &lt;br /&gt;
goto $ - 1 &lt;br /&gt;
endm &lt;br /&gt;
Method to use Built in ADC of PIC16f877 in MicroC C language:&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
ADCON1 = 0x00 ; // set PORTA as analog input&lt;br /&gt;
TRISA = 0xff ; // set PORTA as inputs&lt;br /&gt;
while (1)&lt;br /&gt;
{&lt;br /&gt;
temp = Adc_Read(0);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #0066cc; font-family: Tahoma; font-size: x-small;"&gt;mikroc code adc lcd pic 16f877&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
In the above example single channel ADC is used , however you can use upto eight ADC by selecting one by one. the analog voltage from PORTA channel 0. The analog voltage is supplied by a potentiometer. As you change the variable resistance the voltage that is applied to PORTA channel 0 will change. The ADC module of the PIC16F877 will convert the input voltage to an integer number between 0 and 1024. Notice that the ADC module of the PIC 16F877 is a 10-bit module, so the there are 1024 binary number to represent the input voltage range.The output of ADC module is a 10-bit binary number.&lt;br /&gt;
The Microcontroller PIC16F873A has 5 10-bit ADC channels,16F874A has 8 10-bit ADC channels,16F876A has 5 10-bit ADC channels,16F877A has 8 10-bit ADC channels.&lt;br /&gt;
reflectance sensor with PIC16F877 solar panel voltage by using PIC16F877 microcontroller. Microcontroller-based converter is chosen because it permits easy system modifications.&lt;/div&gt;Tag:-&lt;br /&gt;
mikroBasic-OSCILLOSCOP,MikroElektronika Visual GLCD Software for visually building,mikroC, mikroBasic,PIC18F2550 KS0108 Graphical LCD,GRAPHIC LCD 128X64 with lpc2138,interface GRAPHIC LCD 128X64 with PIC16F877 by PIC BASICPRO,GLCD TOUCHSCREEN 128x64 &amp;amp; PIC18F452,Proton Development Suite/ BASIC Compiler Features, Graphic Lcd Library * I²C Library * Keypad Library * Lcd Library,EasyPIC6 BASIC Starter Pack ,Glcd Touchscreen 128x64 Pic18f452, libraries for LCD, Graphics LCD, buttons, keypad, PWM, SPI, I2C,BIGPIC6 development board, character LCD, graphic LCD with touchscreen,LCD using 18F4550 by MikroC pro,PID closed loop position control of DC motor interfaced to a graphic LCD,Touchscreen GLCD is available with mikroBasic code examples,เจอแล้ว!! คลิป glcd \(^o^)/ ดูคลิปglcd มากมายที่,pic, pic18, pic18f, 18f4550, A/D, analog, digital, conversion, LED, voltage, potentiometer,PIC, PIC18F, PIC18F2455, 18F2455, LCD, HD44780, 16x2, DISPLAY, mikroc,MCU- 18F4550 DISPAY - KS0108 128x64 GLCD COMPILER-CCS C SIMULATION- PROTEUS&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6739504283567540285?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PCcQR-YK_5o3B2w_kAAJyR7eaSM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCcQR-YK_5o3B2w_kAAJyR7eaSM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PCcQR-YK_5o3B2w_kAAJyR7eaSM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCcQR-YK_5o3B2w_kAAJyR7eaSM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/GIzWPVppAug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6739504283567540285/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/02/adc-interfacing-with-pic16f877.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6739504283567540285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6739504283567540285?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/GIzWPVppAug/adc-interfacing-with-pic16f877.html" title="adc interfacing with Pic16f877" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>4</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/02/adc-interfacing-with-pic16f877.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcEQ345cCp7ImA9WhdSFU4.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-3672958344522902226</id><published>2011-02-05T10:13:00.000-08:00</published><updated>2011-07-24T12:00:02.028-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T12:00:02.028-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Automatic Furnace" /><category scheme="http://www.blogger.com/atom/ns#" term="chicago furnace PLC" /><category scheme="http://www.blogger.com/atom/ns#" term="automatic celestial furnace" /><category scheme="http://www.blogger.com/atom/ns#" term="duct cleaning" /><category scheme="http://www.blogger.com/atom/ns#" term="automatic temperature control" /><category scheme="http://www.blogger.com/atom/ns#" term="furnace installation" /><category scheme="http://www.blogger.com/atom/ns#" term="16f877 gas" /><category scheme="http://www.blogger.com/atom/ns#" term="air conditioning furnace" /><category scheme="http://www.blogger.com/atom/ns#" term="gas furnaces" /><title>Automatic Furnace Temperature Control</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;strong&gt;Automatic Furnace&lt;/strong&gt; Temperature &lt;strong&gt;Control:-&lt;/strong&gt;&lt;br /&gt;
In this project temerature of a furnace is controlled using microcontroller PIC16f877.&lt;br /&gt;
The furnce is a closed chamber in which an electric heater and fan is used to maintain the critical temperature.&lt;br /&gt;
The temperature is measured and checked then fan or heater is turned ON if necessary.&lt;br /&gt;
The Project is desinged to build an automatic furnce by taking a stability in preference. The heater and fan are turned ON in a specific range instead of set point. Forexample, if the set point is 50 degree C and running temerature is 25 degree C, then heater will be ON if temerature&amp;nbsp;till 49 is echived then dueto heater's interia or heat in chamber, temperature can be rised to 51C, if temperature goes up even more than this, fan will be turned ON. Then temerature starts falling, Fan will switched OFF on 52C. and heater will then ON if temperature is down to 48C. This way the temperature will be very&amp;nbsp;stable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_CvxN91KM3Rc/TU2SGDCZG3I/AAAAAAAAC9E/qPExafDyILw/s1600/lm35-led-display-with+control.BMP" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Automatic Furnace Temperature Control using PIC16f877" border="0" h5="true" height="224" src="http://1.bp.blogspot.com/_CvxN91KM3Rc/TU2SGDCZG3I/AAAAAAAAC9E/qPExafDyILw/s320/lm35-led-display-with+control.BMP" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Source code:-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unsigned int cnt ,brk,lr,hr,st,chr,clr;&lt;br /&gt;
char led [3],key;&lt;br /&gt;
unsigned int rem ;&lt;br /&gt;
void converter (unsigned int z);&lt;br /&gt;
void scanled (void);&lt;br /&gt;
void highrang (void);&lt;br /&gt;
void lowrang (void);&lt;br /&gt;
void setvalue (void);&lt;br /&gt;
void keyid (void) ;&lt;br /&gt;
unsigned int valueed (unsigned int a);&lt;br /&gt;
void cont1 (void);&lt;br /&gt;
void main() {&lt;br /&gt;
OPTION_REG = 0x80; // pull up resistors&lt;br /&gt;
TRISB = 0x1f; // designate portb pins as first five line as input&lt;br /&gt;
PORTB = 0xff; //and other as output&lt;br /&gt;
TRISC = 0x00; // designate portb pins as first five line as input&lt;br /&gt;
PORTC = 0xec; //and other as output&lt;br /&gt;
PORTD = 0; // clear portd (make sure LEDs are off)&lt;br /&gt;
TRISD = 0; // designate portb pins as output&lt;br /&gt;
ADCON1 = 0x80;//ADCON2 = 0x80; // Configure analog inputs and Vref&lt;br /&gt;
cnt = 0;&lt;br /&gt;
lr= 1;&lt;br /&gt;
hr = 1;&lt;br /&gt;
st = 50;&lt;br /&gt;
key = 0;&lt;br /&gt;
clr = st - lr;&lt;br /&gt;
chr = st + hr;&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
if (Button( &amp;amp; PORTB, 0, 100, 0))&lt;br /&gt;
// port, pin #, time (ms), ative state (0 or 1)&lt;br /&gt;
{&lt;br /&gt;
key ++;&lt;br /&gt;
if (key&amp;nbsp;&amp;nbsp;&amp;lt; =4)key = 0;&lt;br /&gt;
}&lt;br /&gt;
keyid();&lt;br /&gt;
scanled();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
void keyid (void)&lt;br /&gt;
{&lt;br /&gt;
switch (key)&lt;br /&gt;
{&lt;br /&gt;
case 0 :&lt;br /&gt;
cnt=ADC_Read(2);&lt;br /&gt;
converter(cnt*5);&lt;br /&gt;
cont1();&lt;br /&gt;
break;&lt;br /&gt;
case 1 :&lt;br /&gt;
highrang();&lt;br /&gt;
PORTC &amp;amp; = 0xef;&lt;br /&gt;
break;&lt;br /&gt;
case 2 :&lt;br /&gt;
lowrang();&lt;br /&gt;
PORTC &amp;amp; = 0xef;&lt;br /&gt;
break;&lt;br /&gt;
case 3 :&lt;br /&gt;
setvalue();&lt;br /&gt;
PORTC &amp;amp;= 0xef;&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
void cont1 (void)&lt;br /&gt;
{&lt;br /&gt;
cnt = cnt/2;&lt;br /&gt;
if(cnt &amp;lt; clr ){PORTB = 0xbf; PORTC = 0xfd;} else { if( cnt &amp;gt; chr){ PORTB = 0x7f; PORTC = 0xfe; }&lt;br /&gt;
else {PORTB = 0xdf; PORTC = 0xfc;}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
void highrang (void)&lt;br /&gt;
{&lt;br /&gt;
if(hr &amp;gt;10) hr = 1;&lt;br /&gt;
hr = valueed (hr);&lt;br /&gt;
converter(hr);&lt;br /&gt;
led[0] = 1;&lt;br /&gt;
led[1] = 12;&lt;br /&gt;
chr = st + hr;&lt;br /&gt;
}&lt;br /&gt;
void lowrang (void)&lt;br /&gt;
{&lt;br /&gt;
if(lr &amp;gt; 10) lr = 1;&lt;br /&gt;
lr = valueed (lr);&lt;br /&gt;
converter(lr);&lt;br /&gt;
led[0] = 2;&lt;br /&gt;
led[1] = 11;&lt;br /&gt;
clr = st - lr;&lt;br /&gt;
}&lt;br /&gt;
void setvalue (void)&lt;br /&gt;
{&lt;br /&gt;
if(hr &amp;gt; 99) st = 10;&lt;br /&gt;
st = valueed (st);&lt;br /&gt;
converter(st);&lt;br /&gt;
led[0] = 3;&lt;br /&gt;
led[1] = 10;&lt;br /&gt;
}&lt;br /&gt;
unsigned int valueed (unsigned int a)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
if (Button(&amp;amp;PORTB, 1, 100, 0)) a++;&lt;br /&gt;
if (Button(&amp;amp;PORTB, 2, 100, 0)) a--;&lt;br /&gt;
if(a&amp;lt;=1)a=1; return (a); } &lt;br /&gt;
void converter(unsigned int z) {&lt;br /&gt;
&amp;nbsp;led[0] = z/1000;&lt;br /&gt;
&amp;nbsp;rem = z%1000 ;&lt;br /&gt;
&amp;nbsp;led[1] = rem/100; &lt;br /&gt;
rem = rem%100 ; &lt;br /&gt;
led[2] = rem/10;&lt;br /&gt;
&amp;nbsp;led[3] = rem%10; } &lt;br /&gt;
void scanled(void) { &lt;br /&gt;
unsigned char i;&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;4;i++) {&lt;br /&gt;
&amp;nbsp;portd = i &amp;lt;&amp;lt; 4; &lt;br /&gt;
portd |= led[i];&lt;br /&gt;
&amp;nbsp;delay_ms(10); } } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;furnace repair automatic control&lt;/strong&gt; of the blast &lt;strong&gt;furnace&lt;/strong&gt; process by means of microcontroller PIC16f877,coffee can furnace,Atmosphere &lt;strong&gt;Furnace Controller&lt;/strong&gt;/Programmer,&lt;span class="ft"&gt;HIGH LIMIT &lt;strong&gt;CONTROL&lt;/strong&gt; PROVIDES &lt;strong&gt;AUTOMATIC FURNACE&lt;/strong&gt; CHAMBER TEMPERATURE &lt;strong&gt;CONTROL&lt;/strong&gt; THAT ASSURES MAXIMUM MELTING PERFORMANCE AND EFFICIENCY WITH EXTENDED REFRACTORY furnace cleaning minneapolis,&lt;span class="ft"&gt;&lt;strong&gt;Automatic furnace control&lt;/strong&gt; selects recipe and heat-time. ♦ Optimized heat-time saves seconds per load.&amp;nbsp;&lt;span class="ft"&gt;Fully &lt;strong&gt;automatic furnace repair seattle&lt;/strong&gt; drying machine commercial furnace , &lt;strong&gt;automatic control&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; ,&lt;span class="ft"&gt;&lt;strong&gt;furnace repair denver Automatic Control&lt;/strong&gt; System for the High stability,&lt;strong&gt;automatic celestial furnace &lt;/strong&gt; temperature &lt;strong&gt;control,&lt;/strong&gt;Experiences Implementing the Smart &lt;strong&gt;Furnace Control&lt;/strong&gt; ,chicago furnace PLC continues to control the &lt;strong&gt;automatic&lt;/strong&gt; sequencing of the equipment ,furnace repair toronto&lt;/span&gt;&lt;/div&gt;furnace installation cost furnace repair chicago heat treat furnace furnace vent cleaning home furnace repair furnace and air conditioning furnace duct cleaning 16f877 gas furnace installation pic microcontroller projects max6675  mikroc "877 with  keypad" pic projects tutorial interrupt pwm pic16f87 a to d conversion to lcd display in c code how to programm a pic controler mikroc button write lcd pic temperature logger pic16f877a pin configuration&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-3672958344522902226?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mz-yXIbstLQdhsOi3rotZFtVlQM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mz-yXIbstLQdhsOi3rotZFtVlQM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mz-yXIbstLQdhsOi3rotZFtVlQM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mz-yXIbstLQdhsOi3rotZFtVlQM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/raFBRSfFZn4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/3672958344522902226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/02/automatic-furnace-temperature-control.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3672958344522902226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/3672958344522902226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/raFBRSfFZn4/automatic-furnace-temperature-control.html" title="Automatic Furnace Temperature Control" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_CvxN91KM3Rc/TU2SGDCZG3I/AAAAAAAAC9E/qPExafDyILw/s72-c/lm35-led-display-with+control.BMP" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/02/automatic-furnace-temperature-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QGQXc8cSp7ImA9WhZbFE8.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-8413982878229638926</id><published>2011-02-05T09:58:00.000-08:00</published><updated>2011-06-18T12:28:40.979-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T12:28:40.979-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC16F877" /><category scheme="http://www.blogger.com/atom/ns#" term="digital thermometer" /><category scheme="http://www.blogger.com/atom/ns#" term="lm35" /><category scheme="http://www.blogger.com/atom/ns#" term="seven segment display" /><category scheme="http://www.blogger.com/atom/ns#" term="pic microcontroller lcd graphics" /><category scheme="http://www.blogger.com/atom/ns#" term="pic microcontroller projects" /><category scheme="http://www.blogger.com/atom/ns#" term="Digital Thermometer LM35 Seven segment display" /><title>Digital Thermometer LM35 Seven segment display</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Digital Thermometer LM35 Seven segment display;-&lt;br /&gt;
In this project we will learn to develop a digital thermometer using microcontroller PIC16f877, Lm35, and seven segment display.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_CvxN91KM3Rc/TU2Oy_BuTVI/AAAAAAAAC9A/KANQY35eYsE/s1600/lm35-led-display.BMP" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Digital Thermometer LM35 Seven segment display using microcontroller PIC16f877" border="0" h5="true" height="224" src="http://3.bp.blogspot.com/_CvxN91KM3Rc/TU2Oy_BuTVI/AAAAAAAAC9A/KANQY35eYsE/s320/lm35-led-display.BMP" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Source code:-&lt;br /&gt;
unsigned int cnt ,brk;&lt;br /&gt;
char led [3];&lt;br /&gt;
unsigned int rem ;&lt;br /&gt;
void converter (unsigned int z);&lt;br /&gt;
void scanled (void);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
&lt;br /&gt;
OPTION_REG = 0x80; // pull up resistors&lt;br /&gt;
//PORTA = 0; // clear porta (make sure both displays are off)&lt;br /&gt;
TRISA = 255; // designate porta pins as output&lt;br /&gt;
PORTD = 0; // clear portb (make sure LEDs are off)&lt;br /&gt;
TRISD = 0; // designate portb pins as input&lt;br /&gt;
&lt;br /&gt;
ADCON1 = 0x80;//ADCON2 = 0x80; // Configure analog inputs and Vref&lt;br /&gt;
&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
cnt=ADC_Read(2);&lt;br /&gt;
cnt=cnt*5;&lt;br /&gt;
converter(cnt);&lt;br /&gt;
scanled();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void converter(unsigned int z)&lt;br /&gt;
{&lt;br /&gt;
led[0] = z/1000;&lt;br /&gt;
rem = z%1000 ;&lt;br /&gt;
led[1] = rem/100;&lt;br /&gt;
rem = rem%100 ;&lt;br /&gt;
led[2] = rem/10;&lt;br /&gt;
led[3] = rem%10;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
void scanled(void)&lt;br /&gt;
{&lt;br /&gt;
unsigned char i;&lt;br /&gt;
&lt;br /&gt;
for(i=0;i &amp;lt; 4;i++) { portd = i&amp;nbsp; &amp;amp; &amp;nbsp;4;&lt;br /&gt;
&amp;nbsp;portd |= led[i];&lt;br /&gt;
&amp;nbsp;delay_ms(10);&lt;br /&gt;
&amp;nbsp;} &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
Tags:-PIC 16F877, 18F452 Microchip Integrates and Simplifies Graphics on PIC24F Microcontrollers, 4 channel termometer 16f877,18F4550,jdm programmer 18f4550,PIC16F877,mikroc pic,pic mcp23s17,pic microcontroller projects codes,PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,lm34,lm335,temperature sensor,MikroC Projects,Digital Thermometer LM35 Seven segment display, lm35, seven segment display,pic16f877,digital thermometer,pic microcontroller lcd graphics,project pic 16f874 voltmeter with seven sement,18f422 usb,18f4550 usb to parallel circuit,applications of proportional integral derivative control,data logger using sd card and a pic,ir signal load usart pic,load ir usart pic,microchip 12f675 spi,mikroc char j[10]=, &lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-8413982878229638926?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MdMTP_TEAmA4Fqb1i5qAye9BAzs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MdMTP_TEAmA4Fqb1i5qAye9BAzs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MdMTP_TEAmA4Fqb1i5qAye9BAzs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MdMTP_TEAmA4Fqb1i5qAye9BAzs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/TlLMgILdKJ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/8413982878229638926/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/02/digital-thermometer-lm35-seven-segment.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/8413982878229638926?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/8413982878229638926?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/TlLMgILdKJ4/digital-thermometer-lm35-seven-segment.html" title="Digital Thermometer LM35 Seven segment display" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_CvxN91KM3Rc/TU2Oy_BuTVI/AAAAAAAAC9A/KANQY35eYsE/s72-c/lm35-led-display.BMP" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/02/digital-thermometer-lm35-seven-segment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUNSHw-eSp7ImA9WhZbFE8.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6066507445840205765</id><published>2011-01-24T01:18:00.000-08:00</published><updated>2011-06-18T12:44:59.251-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T12:44:59.251-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GPS Logger" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F4550 USB Data acquisition project" /><category scheme="http://www.blogger.com/atom/ns#" term="USB DAQ" /><category scheme="http://www.blogger.com/atom/ns#" term="Ccs Picc" /><category scheme="http://www.blogger.com/atom/ns#" term="Embedded C Programming and the Microchip PIC" /><title>Embedded C Programming and the Microchip PIC</title><content type="html">The Reference Book: Embedded C Programming and the Microchip PIC by Barnett, Cox and O’Cull&lt;br /&gt;
&lt;br /&gt;
This book is a good guide for introducing the microcontroller technology. First chapter is dedicated to teaching basic C programming however, this book shouldn’t be considered a C programming handbook. One should always have a book like: Teach yourself C by Zhang ISBN 0-672-31861 as a C programming reference guide for beginners. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This book is designed to teach C language programming as it applies to embedded microcontrollers and to fuel knowledge in the application of the Microchip family of PIC microcontrollers. Coverage begins with a step-by-step exploration of the C language showing readers how to create C language programs to solve problems. PIC processors are then studied, from basic architecture to all of the standard peripheral devices included in the microcontrollers. Numerous worked-out example programs demonstrate common uses for each of the peripherals. Readers are subsequently introduced to the built-in functions available in C, to speed their programming and problem solving. Finally, readers are taken through use of the C Compiler, and to help custom learn to efficiently develop projects. &lt;br /&gt;
&lt;br /&gt;
Included with the book is a CDROM containing samples all of the example programs from the book as well as an evaluation version of the CCS-PICC Compiler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Author`s note 01/22/04 : In the first examples and projects in chapter 1, functions like “scanf” and “printf” are used that require prior knowledge to interface the board through RS-232 which is introduced in the late chapters of the book. It might be discouraging for the student not being able to do the first project of the book, hands-on. Although I was able to find answers to most of my questions about using the C compiler and the hardware however, I had to do a lot of skipping between chapters and Appendixes to find these answers which was time consuming. In general it is a nice and descriptive text book.&lt;br /&gt;
Beginner's guide to the popular PIC Microcontroller.&lt;br /&gt;
&lt;br /&gt;
Get all the advantages of the Basic Stamp, at one quarterthe cost and one hundred times the speed with Microchips Company's 8-bit PIC computer-on-a-chip. &lt;br /&gt;
&lt;br /&gt;
The no assembly required PIC Microcontroller Project Book, by popular TAB author John Iovine, shows you how to program the PIC using Microchip's free MPLAB compiler and the BASIC programming language. &lt;br /&gt;
&lt;br /&gt;
Learn about the two most popular PIC chips, exploring architecture, registers, CPU, RISC, RAM, and ROM. &lt;br /&gt;
&lt;br /&gt;
microchip pic ebook download,microchip pic richard h barnett,microcontroller programming the microchip pic download,embedded c programming and the atmel avr,books microchip,pic ccs book,embedded c programming microchip pic download,&lt;br /&gt;
Microcontroller programming: the microchip PIC By Julio Sanchez, Maria P. Canton&lt;br /&gt;
&lt;br /&gt;
Book overview&lt;br /&gt;
&lt;br /&gt;
From cell phones and television remote controls to automobile engines and spacecraft, microcontrollers are everywhere. Programming these prolific devices is a much more involved and integrated task than it is for general-purpose microprocessors; microcontroller programmers must be fluent in application development, systems programming, and I/O operation as well as memory management and system timing.Using the popular and pervasive mid-range 8-bit Microchip PIC® as an archetype, Microcontroller Programming offers a self-contained presentation of the multidisciplinary tools needed to design and implement modern embedded systems and microcontrollers. The authors begin with basic electronics, number systems, and data concepts followed by digital logic, arithmetic, conversions, circuits, and circuit components to build a firm background in the computer science and electronics fundamentals involved in programming microcontrollers.For the remainder of the book, they focus on PIC architecture and programming tools and work systematically through programming various functions, modules, and devices. Helpful appendices supply the full mid-range PIC instruction set as well as additional programming solutions, a guide to resistor color codes, and a concise method for building custom circuit boards.Providing just the right mix of theory and practical guidance, Microcontroller Programming: The Microchip PIC® is the ideal tool for any amateur or professional designing and implementing stand-alone systems for a wide variety of applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;datalogger-usb · Datalogger USB con PIC18F e FT232 Win XP · Project ,PIC 16F877, 18F452 PIC18F as data logger 18F4550,PIC16F877, PIC18F452,PIC18F4550,Project to build data acquisition system based on PIC18F4550,16f876,PIC based temperature sensor, and data logger ,16f84,microcontroller projects,lm35,RS232 Data Logger ,lm34,lm335,temperature sensor,MikroC Projects,pic microcontroller projects,pic projects,16f877 c program,pic12f508,pic18f452 tutorial,mikroc tutorial,electronic dice source code 16f88 ,i2c data,logger ,mikroc pic,pic 18f data logger,datalogger usb  Datalogger USB con PIC18F e FT232 Win XP MPLAB, HiTech C for the PIC18F,PIC18F4550 USB Data acquisition project or USB DAQ,PIC16F88 Delorme Tripmate GPS Logger,Ccs Picc Compiler Data Logger Based On Pic 16f877 18f452,'Fly Electric' - PIC data logging,Program PIC18F microcontroller with LabView,Using EEPROM memory in PIC 18F4550 for data storage ,Abcelectronique - datalogger, programmation, pic18f ,GPS to SD-Card Data Logger,SD/MMC Interface to PIC18F using PBasicPro,18F452 PIC micro,Pic 18f disassembler software downloads. Pic 18f disassembler freeware ,Audio analyzer, filter, frequency converter, hum filter, data logger   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6066507445840205765?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0Ee72QWVvS_GHo8obRwkLlh2Mp4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Ee72QWVvS_GHo8obRwkLlh2Mp4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0Ee72QWVvS_GHo8obRwkLlh2Mp4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Ee72QWVvS_GHo8obRwkLlh2Mp4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/g2OweEUVJ8g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6066507445840205765/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/embedded-c-programming-and-microchip.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6066507445840205765?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6066507445840205765?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/g2OweEUVJ8g/embedded-c-programming-and-microchip.html" title="Embedded C Programming and the Microchip PIC" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>1</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/embedded-c-programming-and-microchip.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNRHs8eyp7ImA9Wx9WGEg.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-730650098334109453</id><published>2011-01-24T00:51:00.000-08:00</published><updated>2011-01-24T00:51:35.573-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-24T00:51:35.573-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="external power supply" /><category scheme="http://www.blogger.com/atom/ns#" term="monitor feature" /><category scheme="http://www.blogger.com/atom/ns#" term="ICD-U draws" /><category scheme="http://www.blogger.com/atom/ns#" term="ICD version" /><category scheme="http://www.blogger.com/atom/ns#" term="Low Voltage Programming mode" /><category scheme="http://www.blogger.com/atom/ns#" term="programming and debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="ICD-S Debugger and Programmer" /><category scheme="http://www.blogger.com/atom/ns#" term="programming process" /><title>ICD-S Debugger and Programmer</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The ICD-S programmer is the hardware/firmware interface to burn the .hex files to the Microchip PIC. The ICD unit works with CCS's PCW debugger or CCS's stand-alone ICD control software. CCS's PCW debugger is a very robust debugger integrated with PCW, and provides very detailed debugging information at the C level. The stand-alone control software allows you to quickly program target chips using ICD's ICSP. The control software also lets you update the ICD unit's firmware without having to remove the chip from the ICD unit. (Using these software tools requires you to have loaded the CCS-ICD firmware onto the ICD unit, which is loaded by default).&lt;br /&gt;
&lt;br /&gt;
Authors note 01/22/04 : I found it odd that prllc.com does not provide a freeware program like “AVR bootloader.exe” for FlashPIC Development board as they do for Atmel AVR development board, that would enable programming the chip via serial communication connector P1 in-built to the development board. I don`t think that Development board and Compiler vendors should force the costumers to buy products like ICD-S where an option like programming via serial link exists. I have seen a program in http://sjeffroy.free.fr/Prog__PIC/BootLoader/bootloader.html which seems like it might work given the fact that bootloader file “loader.hex” pre-exists on the chip. Personally, I did not try running this program and programming the chip via RS-232. &lt;br /&gt;
&lt;br /&gt;
For an ICD-S to function properly, it requires +3.3V or +5.0V of power and at least 50mA. If the ICD-S cannot draw power from the target device, the connection between pin 5 on the ICD-S and pin 2 on the target device can be cut, and the ICD-S can be powered with an external power supply. This same technique can be used to supply voltage to the target board as well as the ICD-S. &lt;br /&gt;
&lt;br /&gt;
Unlike the ICD-S, the ICD-U draws its power directly from the USB port. However, the connection between pin 5 on the ICD-U and pin 2 on the target device should be left intact. One reason for this is because the ICD-U uses this connection to pull up voltage values. Another reason is because the ICD-U is capable of supplying +3.3V or +5.0V to the target board. This can be done by opening the case of the ICD-U and placing a jumper on the correct jumper pins next to the ICD connector. &lt;br /&gt;
In order to use in-circuit programming and debugging, the I/O pins B6 and B7 are reserved on the PIC® MCU or PIC® DSC. If debugging is not going to be used on the target device, pins B6 and B7 can be used in the target circuit. If pins B6 and B7 are used in the target circuit, ensure the circuit has high impedance during the programming process. However, some PIC® MCUs or PIC® DSCs do not use pins B6 and B7 for programming and debugging. Always check the datasheet to find the proper programming and debugging pins. The table below lists some of the PIC® MCUs that use different programming pins. &lt;br /&gt;
Pin B3 is an optional pin connected to the ICD-S/U that allows use of the monitor feature while debugging. If pin B3 is used in the target circuit or is not connected to the ICD-S/U, the target can still be programmed and debugged, except without use of the monitor feature. When debugging, disabling the userstream feature will ignore the connection between pin 1 on the ICD-S/U and pin 6 on the target device. Older versions of the debugger software require that if the monitor is not used, the pin connection on the ICD connector needs to be pulled high at all times. While pin B3 is recommended for the monitor feature, any pin on a PIC® MCU or PIC® DSC can support this feature. &lt;br /&gt;
&lt;br /&gt;
The MCLR pin is used for both programming and debugging. While programming, the MCLR pin will have +13V supplied to it, or +5.0V while programming a PIC18J® MCU, PIC24® MCU, or dsPIC® DSC. The 47K resistor to +5.0V is sufficient isolation to protect the PIC® MCU or PIC® DSC from the +13V. However, if anything else is connected to the MCLR pin, be sure the +13V will not damage or interfere with the connected device. &lt;br /&gt;
&lt;br /&gt;
The ICD-S/U is not capable of programming using the Low Voltage Programming mode. Programs being written to the target devices should have the NOLVP fuse set. &lt;br /&gt;
&lt;br /&gt;
If using the ICD-S/U to debug a target device, the target device needs to have an active oscillator running. If the ICD-S/U is only being used to program a target device, the ICD-S/U generates a clock signal that is used to program the PIC® MCU or PIC® DSC without the need of a running oscillator. &lt;br /&gt;
&lt;br /&gt;
Some PIC® MCUs are not capable of debugging with the standard version of the part. In order to debug, a specific ICD version of the chip will be needed. The table below lists some of the PIC® MCUs that require ICD Headers. &lt;br /&gt;
ICD is a complete in-circuit debugging solution for Microchip's PIC16Fxx and PIC18Fxx PIC® microcontrollers. ICD can debug all PIC16 and PIC18 targets that support debug mode for debugging. It also provides in-circuit serial programming (ICSP) support for all flash chips.)&lt;br /&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Device PIC12F629 PIC12F675 PIC16F72 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F83 PIC16F84 PIC16F84A PIC16LF84A PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F648A PIC16F676 PIC16F818 PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448 PIC18F452 PIC18F458 PIC18C601 PIC18C801 PIC18F1220 PIC18F1320 PIC18F2220 PIC18F2320 PIC18F4220 PIC18F4320 PIC18F6520 PIC18F6585 PIC18F6620 PIC18F6680 PIC18F6720 PIC18F8520 PIC18F8585 PIC18F8620 PIC18F8680 PIC18F8720 &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-730650098334109453?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7-9_tpDmIZgjFs80zVq8r49jsGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7-9_tpDmIZgjFs80zVq8r49jsGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7-9_tpDmIZgjFs80zVq8r49jsGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7-9_tpDmIZgjFs80zVq8r49jsGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/a4QY70h0_jU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/730650098334109453/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/icd-s-debugger-and-programmer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/730650098334109453?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/730650098334109453?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/a4QY70h0_jU/icd-s-debugger-and-programmer.html" title="ICD-S Debugger and Programmer" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/icd-s-debugger-and-programmer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcBSHg8eyp7ImA9WhZbFE0.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-1274105657262203262</id><published>2011-01-23T23:06:00.000-08:00</published><updated>2011-06-18T06:17:39.673-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T06:17:39.673-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eeprom coding using ccs compiler" /><category scheme="http://www.blogger.com/atom/ns#" term="CCS PIC-C compiler" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC C code" /><category scheme="http://www.blogger.com/atom/ns#" term="download free microcontroller compiler" /><category scheme="http://www.blogger.com/atom/ns#" term="C example for pic microcontroller" /><category scheme="http://www.blogger.com/atom/ns#" term="frequency counter" /><title>CCS PIC-C compiler</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The CCS PCW compiler is specially designed to meet the special needs of the PICmicro MCU controllers. These tools allow developers to quickly design application software for these controllers in a highly readable, high-level language.&lt;br /&gt;
&lt;br /&gt;
The compilers has some limitations when compared to a more traditional C compiler. The hardware limitations make many traditional C compilers ineffective. As an example of the limitations, the compilers will not permit pointers to constant arrays. This is due to the separate code/data segments in the PICmicro MCU hardware and the inability to treat ROM areas as data. On the other hand, the compilers have knowledge about the hardware limitations and do the work of deciding how to best implement your algorithms. The compilers can efficiently implement normal C constructs, input/output operations and bit twiddling operations. &lt;br /&gt;
The compiler can output 8 bit hex, 16 bit hex, and binary files. Two listing formats are available. Standard format resembles the Microchip tools and may be required by some third-party tools. The simple format is easier to read. The debug file may either be a Microchip .COD file or Advanced Transdata .MAP file.&lt;br /&gt;
&lt;br /&gt;
All file formats and extensions are selected via the Options|File Formats menu option in the Windows IDE.&amp;nbsp; &lt;br /&gt;
The usage of the copiler is explained in Section 2.0 Getting started. The reference book “Embedded C Programming and the Microchip PIC” comes with a demo version of the compiler. &lt;br /&gt;
Write a C source program, compile, and download the HEX code to the chip directly, connect DC adapter and debug the program until it works to the designed objective. &lt;br /&gt;
While it is true that C compilers may generate less efficient code from a quickly written line of C than a human working in hand coded / hand optimized assembly, in most cases, well written C compilers can come very close. In some cases, a C compiler can optimize code in a way that would be very difficult for a human, even surpassing well written human assembly when very complex constructs are involved. Byte Craft did an interesting test on one of thier C compilers^ where they verified that for every instruction in the processors instruction set, there is some C sequence that compiles into that single instruction. At least with that compiler, for every possible Assembly program there exists a C program that generates the same (if not less) code.The PCB, PCM, and PCH are separate compilers. PCB is for 12-bit opcodes, PCM is for 14-bit opcodes, and PCH is for 16-bit opcode PIC® microcontrollers. Due to many similarities, all three compilers are covered in this reference manual. Features and limitations that apply to only specific microcontrollers are indicated within. These compilers are specifically designed to meet the unique needs of the PIC® microcontroller. This allows developers to quickly design applications software in a more readable, high-level language.&lt;br /&gt;
When compared to a more traditional C compiler, PCB, PCM, and PCH have some limitations. As an example of the limitations, function recursion is not allowed. This is due to the fact that the PIC® has no stack to push variables onto, and also because of the way the compilers optimize the code. The compilers can efficiently implement normal C constructs, input/output operations, and bit twiddling operations. All normal C data types are supported along with pointers to constant arrays, fixed point decimal, and arrays of bits.&lt;br /&gt;
SAM7-EX-256 Development Board for or AT91SAM7X256 ARM7TDMI-S Microcontroller &lt;br /&gt;
  SAM7-H256 Header development board for AT91SAM7S256 ARM7TDMI-S microcontroller &lt;br /&gt;
  SAM7-H64 Header development board for AT91SAM7S64 ARM7TDMI-S microcontroller &lt;br /&gt;
  SAM7-LA2 DEVELOPMENT BOARD FOR AT91SAM7EA2 ARM7TDMI-S MICROCONTROLLER &lt;br /&gt;
  SAM7-MT-256 Development Board for AT91SAM7S256 ARM7TDMI-S Microcontroller &lt;br /&gt;
  SAM7-P256 development board for AT91SAM7S256 ARM7TDMI-S microcontroller &lt;br /&gt;
  SAM7-P64 Header development board for AT91SAM7S64 ARM7TDMI-S microcontroller &lt;br /&gt;
  SAM9-L9260 Development board for AT91SAM9260 Microcontroller &lt;br /&gt;
&lt;br /&gt;
  Hardware &lt;br /&gt;
  Programmers &lt;br /&gt;
  Olimex &lt;br /&gt;
  PIC-ICD2 PIC MICROCONTROLLER IN-CIRCUIT DEBUGGER &lt;br /&gt;
  PIC-ICD2 POCKET PIC MICRO IN-CIRCUIT DEBUGGER &amp; PROG &lt;br /&gt;
  PIC-ICSP 3-WAY CONNECTOR &lt;br /&gt;
  PIC-MCP PICSTART+ EMULATOR MPLAB COMPATIBLE PIC 8/18/28/40 PIN DEVICES PROG. &lt;br /&gt;
  PIC-MCP-USB MPLAB COMPATIBLE PIC 8/18/28/40 PIN DEVICES PROGRAMMER &lt;br /&gt;
  PIC-PG1 - ICSP SERIAL PORT DONGLE PROGRAMMER &lt;br /&gt;
  PIC-PG2 - SERIAL PORT PROG. FOR 8/18/28/40 PIN PIC MICROs AND I2C EEPROMS + ICSP conn. &amp; cable &lt;br /&gt;
  PIC-PG3 - PARALLEL PORT PIC 8/18/28/40 PIN DEVICES PROGRAMMER &lt;br /&gt;
  PIC-PG4 PIC16F84 /16F628 PROGRAMMER AND PROTOTYPE DEVELOPMENT BOARD  &lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,eeprom coding using ccs compiler,ccs compiler,ccs energy,temperature sensor,MikroC Projects,up counter based project,CCS PIC-C compiler,USBMicro Interfacing Device,computer lab incharge,code composer studio,ccs shoes,ccs clothing,assembly source code,adc interfacing with Pic16f877,adc interfacing with Pic16f877,frequency counter,PIC MCU ® C Compiler - CCS,Program in C on a PIC MCU or PIC24/dsPIC DSC quickly: compilers, programmers/debuggers, CCS C compiler includes 307+ built-in functions, 133+ example ,pic c compiler,ccs picc compiler. yes hitech c compiler is helpful tool. The HI-TECH PICC-Lite compiler is a freeware version of HI-TECH PICC compiler,Low Cost PCM C Compiler from CCS, USA PCM C,CCS PIC C Compilers, can be purchased directly from Dontronics using our on-line real time purchasing system. ccs forum,ccs ryerson,ccs computers,MPLAB IDE, CCS C Compiler, MPLAB C-18 compiler. Simulation Packages : MATLAB, LABVIEW, MPLAB IDE, MULTISIM. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-1274105657262203262?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JFGubTuKpFhhj1G94SLJGMGPfnE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JFGubTuKpFhhj1G94SLJGMGPfnE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JFGubTuKpFhhj1G94SLJGMGPfnE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JFGubTuKpFhhj1G94SLJGMGPfnE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/tCyBaE9fE5E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/1274105657262203262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/ccs-pic-c-compiler.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/1274105657262203262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/1274105657262203262?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/tCyBaE9fE5E/ccs-pic-c-compiler.html" title="CCS PIC-C compiler" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/ccs-pic-c-compiler.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NRn06eyp7ImA9WhZbFE8.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-5990716407146125447</id><published>2011-01-23T22:55:00.000-08:00</published><updated>2011-06-18T12:54:57.313-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T12:54:57.313-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC16F" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC PIC18F" /><category scheme="http://www.blogger.com/atom/ns#" term="USB to RTOS" /><category scheme="http://www.blogger.com/atom/ns#" term="FlashPIC-DEVelopment Board" /><category scheme="http://www.blogger.com/atom/ns#" term="Ccs Picc" /><title>Flash PIC-DEVelopment Board</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;features of the development board include:&lt;br /&gt;
- RS232 through a 9-Pin D-Shell as well as screw terminals and a jumper header.- Up to 32K words of In-System Programmable FLASH memory with up to 256 bytes of EEPROM and up to 1.5K of Internal RAM (depending on processor selection).&lt;br /&gt;
- Up to 8, 10 bit, Analog Inputs, using either internal or user supplied reference.&lt;br /&gt;
- 9 I/O controlled LEDs, 8 of which are jumper selectable.&lt;br /&gt;
- 32KHz “watch” crystal for on-board Real-Time operations.&lt;br /&gt;
- A universal clock socket allows for “canned oscillators”, as well as a variety of crystals, ceramic resonators, and passive terminations.&lt;br /&gt;
- 0.1” centered headers provide for simple connection to the processor special function pins and I/O.&lt;br /&gt;
- A 6-pin, ICD connection is provided for in-system programming and debugging.&lt;br /&gt;
This connection is directly compatible with the Microchip ICD, ICD2 and CCS ICD-S programming hardware. Flash PICs can also be programmed through RS232 using an appropriate boot loader application.&lt;br /&gt;
- On-board regulation allows for power inputs from 8-38VDC with an LED power indicator.&lt;br /&gt;
- Termination is provided for 5VDC output at 250ma Power J2 (screw terminal connector) is the power input point. Acceptable voltages are 8 – 38 VDC (J1-1 is +, J1-2 is ground).&lt;br /&gt;
JP11 is an output of the regulated 5 VDC that may be used to power other devices. Note, however, that the LM7805 does not have a heat sink and so the actual available power output is somewhat limited, depending on the input voltage and power being consumed. Check the LM7805 regulator specification for details.&lt;br /&gt;
Serial Connection P1 is a standard DB-9 connector usually used to connect to a PC. The TX signal is on&lt;br /&gt;
P1-2 and the RX signal on P1-3. These are RS-232 level signals. J1 and JP8 also provide connections for the RS-232 level serial signals. On each connector, pin 1 is the TX signal, pin 3 is the Rx signal and pin 2 is ground.JP9 and JP10 are jumpers, which connect the processor serial signals (RXD and TXD) to/from the RS-232 driver chip. These jumpers must be in place for the RS-232 serial connections to work. Removing the jumpers allows use of the Port D, bits 0 and 1, for TTL-level I/O.&lt;br /&gt;
SPI Connection Use of the SPI bus is by making connections to the SPI bus signals on Port C (JP1-4, 5,&lt;br /&gt;
and 6). Parallel Ports&lt;br /&gt;
Parallel ports A/E, B, C, and D are connected to JP5, JP4, JP1, and JP7, respectively (and labeled clearly on the board). Bits are connected sequentially with bit 0 on pin 1, bit 1 on pin2, etc. These are normal TTL-level signals with or without pull-ups depending on the port initialization set up in the software.&lt;br /&gt;
Port A/E (JP5) has a parallel row of ground pins next to it (JP6) providing a convenient ground reference when measuring analog voltages with the internal A/D converter (ADC).&lt;br /&gt;
Port B (JP4) has a parallel row of ground pins next to it (JP16) so that enabling the built-in pull-up resistors and then using two-pin jumpers to ground any pins that need a logic 0 applied for input purposes can effect simple input signals. Port C (JP1) has a parallel set of pins (JP3) at positions 1 and 2. A clock crystal (32.768 KHz) is connected to JP3. JP3 is located adjacent to JP1 (Port C) to proprovide an easy&lt;br /&gt;
connection of the clock crystal to Port C bits 0 and 1 for use as a real-time clock. Port D (JP7) has a parallel row of pins (JP2), each of which is connected to an LED through a 510-ohm series resistor to +5 VDC. Jumping any of the pins of JP7 to the corresponding pin of JP2 allows the use of the on-board LED’s as an output. Because the LED’s are connected to +5 VDC and the port is sinking the LED current, the LED&lt;br /&gt;
will be on for any pin that outputs logic 0. System Clock&lt;br /&gt;
As supplied, the system clock is 10 MHz. U2 contains the crystal and caps necessary for the oscillator. Replacing U2 with a TTL, crystal, ceramic resonator, or RC oscillator, or a different integrated oscillator unit allows changing the system clock if necessary.&lt;br /&gt;
CAN Interface A CAN interface driver socket it provided (U5) for a Linear Technologies, LT1796&lt;br /&gt;
CAN bus interface. Jumpers JP13 and JP14 connect the CAN interface to the appropriate pins on the controller (CANTX and CANRX). The CAN interface is intended for use with the PIC18F45x microprocessors that have an actual CANtransceiver built in. Refer to Microchips website and datasheets for details on the CAN bus controller and its features.&lt;br /&gt;
PIC16F877/18F458 PIC® Boot Loader The boot loader runs on the PIC’s UART at 9600 baud, XON, XOFF handshaking, 8 data bits and 1 stop bit. The boot loader code is executed upon reset or power up of the processor. If the boot loader does not receive instructions to load a new file with 5 seconds, then it jumps to the application code.the boot loader source&lt;br /&gt;
code is available for purchase and as such provides the opportunity for customized boot&lt;br /&gt;
loader solutions. The PIC boot loader is available at &lt;a href="http://www.prllc.com/"&gt;http://www.prllc.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
After the PICBL is started (via a reset or a power-up), the following protocol must be observed. The PC application provided handles the protocol for you with its default settings or you can create a custom application. PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,Hi-Tech C CCS PICC PIC PIC18F PIC16F Microcontroller Keil PK51 C51 ,lm34,lm335,temperature sensor,MikroC Projects,Library of Congress Cataloging,USB Indoor Outdoor Thermometer,USB peripheral,data logger project based on Microcontroller PIC18f452,Temperature Logger based on PIC18f452,PIC 16F877, 18F452,data recorder,4 digit 7 segment display pic16f877,message display on LED pic PIC16F877 Data Logger PIC16F877 and Parallel port interfacing circuit 16f877 4 digit 7 segment display pic16f877,Meter USB CNC Controller USB Data Logger USB Temperature Meter,PIC 18F-452 microcontroller,Meter USB CNC Controller USB Data Logger USB Temperature Meter,Using Serial Peripheral Interface (SPI) with Microchip PIC18,        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-5990716407146125447?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rTgEu_FehHA3TDbNCfFF3zu0iHY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rTgEu_FehHA3TDbNCfFF3zu0iHY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rTgEu_FehHA3TDbNCfFF3zu0iHY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rTgEu_FehHA3TDbNCfFF3zu0iHY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/PWHIlG73XyQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/5990716407146125447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/flashpic-development-board.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5990716407146125447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/5990716407146125447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/PWHIlG73XyQ/flashpic-development-board.html" title="Flash PIC-DEVelopment Board" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/flashpic-development-board.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08NRXs_fSp7ImA9Wx9WGEg.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-6023855887880851077</id><published>2011-01-23T22:51:00.000-08:00</published><updated>2011-01-23T22:51:34.545-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-23T22:51:34.545-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIC18F458" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC16F877" /><category scheme="http://www.blogger.com/atom/ns#" term="Flash PIC development board" /><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><category scheme="http://www.blogger.com/atom/ns#" term="PICBL" /><category scheme="http://www.blogger.com/atom/ns#" term="PIC processor’s memory area" /><category scheme="http://www.blogger.com/atom/ns#" term="Brown-out Reset (BOR)" /><title>Flash PIC development board</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Usually, a microcontroller by itself is not sufficient to perform the intended tasks. For instance, an oscillator chip is necessary to time the programmed instructions. In order to investigate the capabilities or to test a given microcontroller, obviously it is vital to build the proper circuitary. Example: potentiometer and a power supply to simulate analog inputs or LEDs to simulate the digital outputs. Hence, some hardware and sofware vendors provide the microcontroller with the supplemantary circuit elements on the same breadboard. These boards are called Development Boards. One can also build a development board himself/herself if he/she is willing to go through the painsaking process of building the circuit. &lt;br /&gt;
The development board used in the series of experiments is Flash PIC development board. (Figure3.1-1) It has the following features:&lt;br /&gt;
&lt;br /&gt;
- RS232 through a 9-Pin D-Shell as well as screw terminals and a jumper header.&lt;br /&gt;
- Up to 32K words of In-System Programmable FLASH memory with up to 256 bytes of EEPROM and up to 1.5K of Internal RAM (depending on processor selection).&lt;br /&gt;
- Up to 8, 10 bit, Analog Inputs, using either internal or user supplied reference.&lt;br /&gt;
- 9 I/O controlled LEDs, 8 of which are jumper selectable.&lt;br /&gt;
- 32KHz “watch” crystal for on-board Real-Time operations.&lt;br /&gt;
- A universal clock socket allows for “canned oscillators”, as well as a variety of crystals, ceramic resonators, and passive terminations.&lt;br /&gt;
- 0.1” centered headers provide for simple connection to the processor special function pins and I/O.&lt;br /&gt;
- A 6-pin, ICD connection is provided for in-system programming and debugging.&lt;br /&gt;
This connection is directly compatible with the Microchip ICD, ICD2 and CCS ICD-S programming hardware. Flash PICs can also be programmed through RS232 using an appropriate boot loader application.&lt;br /&gt;
- On-board regulation allows for power inputs from 8-38VDC with an LED power indicator.&lt;br /&gt;
- Termination is provided for 5VDC output at 250ma The peripheral features of the PIC16F877 are:&lt;br /&gt;
• Timer0: 8-bit timer/counter with 8-bit prescaler&lt;br /&gt;
• Timer1: 16-bit timer/counter with prescaler,can be incremented during SLEEP via external crystal/clock&lt;br /&gt;
• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler&lt;br /&gt;
• Two Capture, Compare, PWM modules Capture is 16-bit, max. resolution is 12.5 ns&lt;br /&gt;
- Compare is 16-bit, max. resolution is 200 ns &lt;br /&gt;
- PWM max. resolution is 10-bit&lt;br /&gt;
• 10-bit multi-channel Analog-to-Digital converter&lt;br /&gt;
• Synchronous Serial Port (SSP) with SPI. (Master mode) and I2C. (Master/Slave)&lt;br /&gt;
• Universal Synchronous Asynchronous Receiver &lt;br /&gt;
Transmitter (USART/SCI) with 9-bit address detection&lt;br /&gt;
• Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin only)&lt;br /&gt;
• Brown-out detection circuitry for Brown-out Reset (BOR)&lt;br /&gt;
&lt;br /&gt;
GENERAL&lt;br /&gt;
The FlashPIC-Development board is designed for prototyping and laboratory use. The board supports the PIC16F877, PIC18F458 as well as several other PIC16x and PIC18x microcontrollers in the 40-pin DIP package.&lt;br /&gt;
New Feature: PIC16F877/18F458 PIC® Boot Loader The FlashPIC-Development board now comes programmed with the PIC16F877/18F458 PIC® Boot Loader. The PIC Boot Loader (PICBL) is a bootstrap loader that, once programmed into the PIC processor’s memory area, allows reprogramming of PIC microcontrollers without need for a chip programmer. The PICBL makes use of the selfprogramming&lt;br /&gt;
features of the PIC microcontrollers to allow in-circuit reprogramming. Once the PICBL is programmed into the microcontroller, it remains resident until the chip is erased. Application programs require only a very minimum software interface to use the PICBL. The PC application to interface to the boot loader and more documentation about interfacing to the boot loader are available free at &lt;a href="http://www.prllc.com/"&gt;http://www.prllc.com/&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_CvxN91KM3Rc/TT0hX0mEenI/AAAAAAAAC7A/WDPGaoXzjNQ/s1600/pic+microcontroller+development+board.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="276" s5="true"alt="Flash PIC development board" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/TT0hX0mEenI/AAAAAAAAC7A/WDPGaoXzjNQ/s320/pic+microcontroller+development+board.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,lm34,lm335,temperature sensor,MikroC Projects&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-6023855887880851077?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MSq3BAewa7dlOwsAQEep4ELBsO0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MSq3BAewa7dlOwsAQEep4ELBsO0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MSq3BAewa7dlOwsAQEep4ELBsO0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MSq3BAewa7dlOwsAQEep4ELBsO0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/-jV-JQK1Ttw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/6023855887880851077/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/flash-pic-development-board.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6023855887880851077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/6023855887880851077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/-jV-JQK1Ttw/flash-pic-development-board.html" title="Flash PIC development board" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_CvxN91KM3Rc/TT0hX0mEenI/AAAAAAAAC7A/WDPGaoXzjNQ/s72-c/pic+microcontroller+development+board.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/flash-pic-development-board.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFR3k8fCp7ImA9Wx9WGEw.&quot;"><id>tag:blogger.com,1999:blog-3606304649116965644.post-9132071902370526022</id><published>2011-01-23T11:21:00.000-08:00</published><updated>2011-01-23T11:23:36.774-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-23T11:23:36.774-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="periféricos externos por la patita" /><category scheme="http://www.blogger.com/atom/ns#" term="SECCIÓN DE LAS LÍNEAS DE E/S PARA INFORMACIÓN" /><category scheme="http://www.blogger.com/atom/ns#" term="sirven para conectar los periféricos" /><category scheme="http://www.blogger.com/atom/ns#" term="LM2940" /><category scheme="http://www.blogger.com/atom/ns#" term="SECCIÓN DE LA ENTRADA/SALIDA SERIE DEL PC" /><title>SECCIÓN DE LA ENTRADA/SALIDA SERIE DEL PC</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;En el PC se edita el programa PBASIC y por su puerto serie se envía al módulo de Parallax.También desde dicho módulo hay ocasiones en las que se envía información al PC, como sucede con la instrucción DEBUG.&lt;br /&gt;
La entrada y salida de esta información serie con el PC se acondiciona mediante un circuito transistorizado que recoge y entrega el microcontrolador por sus patitas RA2 y RA3. Las instrucciones PBASIC que llegan desde el PC las recoge el PIC por su patita RA2 y luego las envía por RAO a la EEPROM, donde queda almacenado. Está compuesta por el circuito integrado LM2940-5.0, que es un regulador de tensión a + 5&lt;br /&gt;
VDC. También existe un condensador electrolítico auxiliar. Por la patita Vin del regulador se recibe una tensión que puede oscilar entre +5,5 y +I5 VDC. Por la patita de salida VOUT se obtiene una tensión V dd de + 5 VDC regulada, que se emplea para alimentar los circuitos electrónicos del módulo y también se pone a disposición de los periféricos externos por la patita&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_CvxN91KM3Rc/TTx_dFCpCdI/AAAAAAAAC68/OLuF5oY2FR8/s1600/Est%25C3%25A1+compuesta+por+el+circuito+integrado+LM2940-5.0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" s5="true" src="http://3.bp.blogspot.com/_CvxN91KM3Rc/TTx_dFCpCdI/AAAAAAAAC68/OLuF5oY2FR8/s320/Est%25C3%25A1+compuesta+por+el+circuito+integrado+LM2940-5.0.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I9 del módulo.&lt;br /&gt;
Cuando se disponga de una fuente de alimentación que proporcione los + 5 VDC precisos se puede eliminar la intervención del regulador LM2940-5.0, evitando el calor que disipa. De esta manera no se introduce nada por V i,, y se aplican los + 5 VDC de la fuente por la patita 20 del módulo (Vdd).SECCIÓN DE LAS LÍNEAS DE E/S PARA INFORMACIÓN CON EL MUNDO EXTERIOR&lt;br /&gt;
El módulo OEM BS2-IC dispone de 20 patitas por las que se aplica la alimentación eléctrica, la señal de Reset y las líneas de E/S de las puertas B y C del microcontrolador, por las que se recibe y se saca la información que se maneja en el procesamiento de las instrucciones del programa. Las patitas Vdd, GND y V;„ corresponden a las descritas del regulador de tensión LM2940- 5.0. Cuando por la patita Vin se aplica una tensión comprendida entre + 5,5 y + I5 VDC, el citado regulador alimenta al circuito electrónico del módulo con + 5 VDC regulados y presenta dicha tensión en la patita V dd (20) del módulo para su posible utilización por circuitos o periféricos externos. Cuando se dispone de + 5 VDC regulados, se pueden aplicar entre V dd y GND, dejando sin conectar V;„, para alimentar al circuito electrónico sin funcionar el regulador. La patita I7 del módulo, denominada MCLR#, se usa para reinicializar el programa cuando&lt;br /&gt;
desde el exterior se aplica un nivel bajo. El módulo OEM BS2-IC dispone de 16 patitas para Entrada/Salida de información que se denominan PO-P 15 y sirven para conectar los periféricos que se desean controlar. En realidad, el PIC 16C57 que soporta el módulo tiene 20 líneas de E/S, que se agrupan en tres grupos que&lt;br /&gt;
reciben el nombre de puertas A, B y C. La Puerta A consta de 4 líneas (RA0-RA3) que se utilizan&lt;br /&gt;
para la recepción y transmisión de información serie con el PC y para realizar la transferencia con la memoria EEPROM que almacena el programa PBASIC. Cada una de las Puertas B y C posee 8 líneas de E/S (RB0-RB7 y RC0-RC7) que son las que quedan disponibles para el usuario en el módulo de Parallax.La importancia del consumo Cada línea de E/S del microcontrolador puede absorber una corriente máxima de 25 mA y puede suministrar hasta 20 mA. Además, el conjunto de líneas de una puerta tiene una corriente&lt;br /&gt;
máxima admisible tanto si entra como si sale. Las puertas B y C pueden absorber un máximo de 150 mA entre todas las líneas de cada puerta y pueden suministrar un máximo de 100 mA. Esta limitación obliga a controlar la máxima corriente que disipa cada puerta. Según la conexión de los periféricos la corriente puede ser de entrada o de salida. Así, si en el interruptor de la figura se conecta el terminal libre a tierra, cuando está abierto por la patita del microcontrolador se absorbe una corriente que dependerá del valor de la resistencia. PIC 16F877, 18F452 and 18F4550,PIC16F877, PIC18F452,PIC18F4550,16f876,16f84,microcontroller projects,lm35,lm34,lm335,temperature sensor,MikroC Projects&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606304649116965644-9132071902370526022?l=picinf.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dmMkXdD_oVbiFumuhlfJC2w0oW4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dmMkXdD_oVbiFumuhlfJC2w0oW4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dmMkXdD_oVbiFumuhlfJC2w0oW4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dmMkXdD_oVbiFumuhlfJC2w0oW4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~4/bp2-1zUQIdM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://picinf.blogspot.com/feeds/9132071902370526022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://picinf.blogspot.com/2011/01/seccion-de-la-entradasalida-serie-del.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/9132071902370526022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3606304649116965644/posts/default/9132071902370526022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DataLoggerBasedOnPic16f87718f452And18f4550/~3/bp2-1zUQIdM/seccion-de-la-entradasalida-serie-del.html" title="SECCIÓN DE LA ENTRADA/SALIDA SERIE DEL PC" /><author><name>Dr.Rana</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://2.bp.blogspot.com/_CvxN91KM3Rc/SpEZkIh-GEI/AAAAAAAAATw/A8BVP_4fv5E/S220/led+595+diplay+board.bmp" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_CvxN91KM3Rc/TTx_dFCpCdI/AAAAAAAAC68/OLuF5oY2FR8/s72-c/Est%25C3%25A1+compuesta+por+el+circuito+integrado+LM2940-5.0.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://picinf.blogspot.com/2011/01/seccion-de-la-entradasalida-serie-del.html</feedburner:origLink></entry></feed>

