automatic pressure controller full report
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
project report tiger
Active In SP

Posts: 1,062
Joined: Feb 2010
04-03-2010, 04:04 PM

.doc   AUTOMATIC PRESSURE CONTROLLER.doc (Size: 532.5 KB / Downloads: 192)


The project and implimentation work entitled 'automatic pressure controller' uses PIC 16F 72 microcontroller as its main component. It is a simple and low cost circuit for sensing atmospheric pressure. It automatically senses the atmospheric pressure and displays the pressure in Pascal on an LCD Display. It also indicates the level of pressure to inform about unfavorable pressure conditions. Today microcontrollers are common, so the microcontroller based Pressure controller is flexible and reliable. It provides a good visual indication.
Here as an innovative project and implimentation work developed as an automatic pressure controller ,is an effective example of microcontroller application and is a low cost and also user friendly.


Submitted By

Page No:
An integrated pressure controller is a device controlled by microcontroller PIC C16F73 which senses the pressure inside a small area and display's pressure using an LCD display. Along with this the system indicates the different levels of pressures using LEDs. In such a system it essentially consists of a pressure sensor, a microcontroller and LCD display along with different level indicating LEDs.
The sensor which is placed inside a cabin whose pressure has to be detected and controlled senses the pressure within the cabin and produces an analog output voltage according to the pressure applied. This analog output voltage is then converted to digital format by an Analog to Digital Converter (ADC).Then this output voltage is applied to the microcontroller for providing the output pressure. Then the output pressure may be displayed using the LCD display through suitable interfacing circuitry.
The level of the pressure may be indicated using LED's or buzzer. In this system we uses a pressure sensor named MPX 4100A, produced by FREESCALE semiconductors which is an absolute air pressure controller which has the unibody package having six pins. The PIC C16F73 microcontroller is a low power, high performance CMOS 8-bit microcontroller with 16K bytes flash memory, produced by PIC semiconductors. It is a powerful microcontroller which provides highly flexible and cost effective solution to embedded control applications.
Pressure sensor
LCD display
Microcontroller PICC 16F73
Figure shows the block of automatic pressure controller. It comprise Microcontroller, sensors, LCD, LEDs, and a common dc power supply section. The power supply for the circuit regulated by IC 7805 and supplied to the different parts of the circuits
The microcontroller is the heart of the system. The microcontroller is a semiconductor device consists of electronic logic manufacturing by either LSI or VLSI technique. The program used for the operation is stored in the microcontroller. In order to do an operation by a microcontroller, the microcontroller should be properly instructed by ~-\ iding correct instructions to the ROM of the chip that is the microcontroller should be programmed so as to perform the particular
Siinivroiet lab
operation. The set of instructions that is required to perform the particular operation by the microcontroller is called a program. In order to program a microcontroller a programmer is an essential part.
The microcontroller is an I/O oriented single chip computer .Microcontroller normally consists of CPU, internal RAM, internal EPROM, main memory, I/O ports and DMA controller, interrupt handles, timers, ADCs and DAC's.Here we use PIC 16F73 with 28 pins. Microcontroller 16F73 has 128x8-bit internal RAM 6 interrupt sources and 4Kb of flash memory. There are 22 I/O pins. These pins are divided into three ports. These pins may be assigned as inputs or outputs.
Sensor is used to measure the atmospheric pressure. The LEDs are also used to operate depending on the output values. The LEDs are used to indicate the different pressure, low, normal, high, & peak.
The LCD &buzzer are used as output devices.LCD is use to display the output pressure.LCD's are more flexible than LED's.LCD modules may have a parallel or serial interface, Here we using al4 pin parallel interface LCD's are interfaced to the microcontroller through 21-28except 24.Four pins are used for data and three pins re used for control signals. The control signals are enabling read/write and register select. The LCD needs a four bit data here we sent first four bit data first and then next four bit data.
'¦".iprojet lab
X lOuf
1 22 pf
5- 22 pf
\ 1 k
rf\ 1 k
£ i k
A l k
2 PIC 28 2

9 16F73 26 25
10 23
11 22 21
12 20
13 19
A 7
aj L
d2 D
dl 1

dO i
r/w j
Circuit description
Figure shows the circuit of Automatic pressure controller using microcontroller PIC 16 F73. The main part of the circuit is the microcontroller PIC 16 F73. The main part of the circuit is the microcontroller. Here we use PIC 16 F73 microcontroller. The
Sngce k.(uhi)inpp;i
pressur controller
microcontroller has 28 pins; out of these 22 pins are I/O pins. These I/O pins are divided as three ports port A, port B, and port C. These pins may be individually assigned as input or output ports. Before using an I/O pin, its direction should assign. This is usually done by calling an initialization routine at the beginning of the program. Ports are directly accessible through RAM address. May read any pin, may setout clear port pins assigned as outputs.
Port A has 6 pins, RAO-RA6. All pins may be assigned as digital inputs or outputs, all pins may be used as analog inputs for the ADC except RA4. Port B has 8 pins RB0-RB7. Port B pins may be individually assigned as digital inputs or outputs.
Port C also has 8 pins PC0-PC7. Port C pins may also assign individually as digital inputs or outputs. Serial ports are also used port C
The first pin of the microcontroller is the reset pin and is connected to the +5V supply. There is a capacitor connected to ground. In order to avoid the sudden rise of current during switch ON, when the switch is ON, the voltage at pin 1 is 0, the capacitor gradually charges and the voltage at pin 1 is high. PIC will reset and restart if MCLR is driven low. MCLR must be pulled high for normal operations.
The next 6 pins are I/O pins. The second pin is used for sensing the earth leakage condition. A toroidal transformer is used to detect the earth leakage condition. The TT consists of three separate windings. The phase and neutral windings are of one turn each. Anther winding of 160 turns is provided for sensing the earth leakage condition. The phase and neutral
winding carries current of equal magnitude and opposite in direction. So the net magnetic flux produced by these windings on the core is zero. If there is a leakage current from phase to earth, there is a difference between phase and neutral current exist. This current difference produces a magnetic flux on the core. This magnetic flux induces an emf in the sensing coil. This voltage is in the order of few micro volts and it is given to the OP AMP for amplification. The amplified voltage is given to the pin 2 of the microcontroller. The zener diode is used to limit the voltage. ADC reads the values at some delay, for this a low value capacitor is used and the IK resistor is used for current limiting.
The third pin of the microcontroller is used for current sensing. A ferrite score current transformer is used for sensing the load current, which gives an output voltage at the secondary directly proportion to the current flowing through its primary. The primary winding consists of 4 turns (22SWG) and secondary winding consist of 2000 turns (37SWG). The AC voltage at the secondary is- rectified, filtered, and calibrated using potentiometer and is given to the microcontroller.
The voltage sensing circuit is connected to the pin 5 of the microcontroller. It mainly consists of a step down transformer and a rectifier circuit. The step down transformer converts the input voltage 0-250V AC to 0-6V AC. This voltage is rectified and calibrated using potentiometer. The microcontroller reads the analog voltage and coverts :he analog value to digital value and displayed through an LCD. ADC converts analog voltage to digital voltage. The PIC contains a ten bits successive approximation ADC that will provide with a ten bit number
representing the analog voltage. Analog pins must be configured as inputs with TRIS A. The zener and capacitor is used to ensure that the analog input must not exceed VSS and GND. The eighth pin is the analog GND.
A clock is required to drive the microcontroller. The clock may be DC to 20 MHz. The possible clock sources are crystal, RC circuits etc. Internal oscillator used for crystal or RC circuits. The crystal is connected between pin 9&10. Here we use at 4 MHz crystal to provide the clock sequence. Two capacitors are connected across the ground to reduce the distortion.
An LCD is used to display the outputs. LCD requires less power than LED suitable for low power application. Their character size, the number of lines and the number of character per line specify text displays. A 2 x 16 line LCD is used for the circuits. LCD modules may have a parallel or serial interface. The LCD is used as a 14 pin parallel interface. The LCD is connected to the microcontroller through pins 21 to 28 except 24. Four pins are used for data line and three pins are used for control signals. Control signal enable is the latch pin. Register select pin select whether sending the modules the command or data. Read/write pin allows for bi¬directional communications.
The switches is used for selections, initially the switches are at low position due to the resistors connected to the ground. Pressing of the switch used to connect to +5V. Which input parameter read is to activate using these selection switches. When the input parameter exceeds or below user-defined values, certain operations are done using the program.
A menu is created to selection of parameter and values. Setting the values using these keys. User defined settings are stored in the non-volatile memory.
The program can written in PIC using the programmer. MPLAB is used to interface with the PIC START PLUS programmer. Place PIC in the ZIF socket on the programmer and start the MPLAB program. The programmed PIC inserted in to the circuit.
The circuit diagram for the atmospheric reader was designed and simulated using the simulation and the electronics circuits designing software, electronics work bench and the PCB layout for the same circuit for the automatic energy meter was designed using the software ORCARD. This is electronic circuit and PCB layout designer software. The tools provided in the software are very useful in designing. The designed PCB layout is screen orinted to the copper clad sheet. For better quality glass epoxy type copper clad is used.
The screen printer copper clad is then inversed in ferric chloride solution for etching process. After etching, the resulted PCB is under gone to the green coating process. This is to mask the unwanted copper print. The PCB is ready for tin coating. This is the process were the component fixing points are coated with tin. The next process to make holes for inserting the leads of the components to the PCB. Now the legend is printed on the opposite side of the PCB. Legend is the component layout diagram of the circuit. The print will help to identify the position of the component during assembly. Miniprojet lab
Here is a micro controlled based automatic pressure controller that reads the atmospheric pressure and displays it on an LCD display. It also indicates the different levels of pressure. The circuit is powered directly fro the A/C mains via the power supply unit. The measured pressure is converted to analog voltage. The analog voltage is fed to the input of the micro controller. The A/D converter reads these analog voltages and producing digital values. These digital values are processed and made calculations as written in the program. The output of the micro controller is displayed through an LCD.
A clock is required to drive the micro controller. Here we use 4 Mhz crystal to produce the clock sequence. Two capacitors are connected across GND to reduce distortions. Depending on the setting, the output values exceed certain limit; we can also give some message to the users.
The power supply circuit consists of a step down transformer (230-volt ac primary to 0-12 volt, 500 mA secondary), bridge rectifier and voltage regulator. The output of the transformer is fed to the bridge rectifier Dl through D4 (each IN 4007). The ripple from the out bridge rectifier is filtered by capacitor CI and fed to regulated IC 7805. The regulated output is given to the units
Sngee kadayihppii
pressur c
#include "D:\demo\pressure.h" #include "D:\demo\lcd.c"
int pressure;
void main()
setup_adc_ports(RAO_RA 1 _RA3_AN ALOG); setup_adc(ADC_CLOCK_INTERNAL); setup_counters(RTCC_INTERNAL,WDT_18MS); output_bit( PIN_C7, 0): lcd_init(); delay _ms( 10);
lcd_gotoxy(l,l); lcd_putc("Reading Pressure"); delay_ms(500); lcd_putc('\f); lcd_gotoxy(l,l); lcd_putc("Pressure::"); lcd_gotoxy(4,2); lcd_putc("Level::"); output_bit( PIN_C6, 1);
i i
// Read sensor pressure=0; set_adc_channel( 0 ); delay_us(50); pressure = read_adc(); delay_us(50); //.5psl
if(pressure>=0 && pressure<=7)
lcd_gotoxy(ll,l); lcd_putc("0.5psl"); lcd_gotoxy(l 1.2); !cd_putc("LOW "); output_bit( PPN_C0, 1); output_bit( PIN_C1,0); output_bit( PrN_C2, 0); output_bit( PINC3, 0); delav_ms(50); }
// Ipsl
if(pressure>=8 && pressure<=16)
Icd_gotoxy( 11,1);
lcdjputc("lpsl *');
lcd_putc("LOW ");
output_bit( PIN_CO, 1);
output_bit( PiN_Cl,0);
output_bit( PIN_C2, 0);
outputJ>it( PIN_C3, 0);
delay_ms(50); j
// 1.5psl
if(pressure>=17 && pressure<=25)
lcd_gotoxy(l 1,1); lcd_putc("1.5psl"); lcd_gotoxy(l 1,2); lcd_putc("LOW ");
output_bit( PIN_C0, 1);
output_bit(PIN_Cl, 0);
output_bit( PIN_C2, 0);
output_bit( PIN_C3, 0);
delay_ms(50); I
// 2psl
if(pressure>=26 && pressure<=34)
lcd_gotoxy(l 1,1); lcd_putc("2psl '*); Icd_gotoxy(l 1,2); lcd_putc("LOW "); output_bit( PIN_C0, 1); output_bit( PIN_C1,0); output_bit( PIN_C2, 0); outPut_bit( PIN_C3, 0); de!ay_ms(50):
if ressure>=35 && pressure<=43)
!cd_gotoxy(l 1,1); 'xd_putc("2.5psl"); !cd_gotoxy(l 1,2); !cd_putc("LOW "); output_bit( PIN_C0, 1); output_bit( PIN_C1,0);
output_bit( PIN_C2. 0); output_bit( PIN_C3, 0); delay_ms(50);
// 3psl
if(pressure>=44 && pressure<=52) {Icd_gotoxy(ll,l); lcd_putc("3psl '*); lcd_gotoxy(l 1,2); lcd_putc("Normal"); output_bit( PIN_CO, 0); output_bit( PIN_C1, 1); output_bit( PPN_C2, 0); output_bit( PIN_C3, 0); delay_ms(50);
// 3.5psl
if(pressure>=53 && pressure<=61)
Icd_gotoxy(l 1,1);
lcd_gotoxy(l 1,2);
output_bit( PIN_C0, 0);
output_bit( PIN_C1, 1);
output_bit( PPN_C2, 0);
output_bit( PIN_C3, 0);
delay_ms(50); I
// 4psl
if(pressure>=62 && pressure<=70)
r i
lcd_gotoxy(l 1,1); lcd_putc("4psl "); lcd_gotoxy(l 1,2); !cd_putc(''Normal"); output_bit( PIN_C0, 0); cutput_bit( PIN_C1, 1); output_bit( PIN_C2, 0); oanut_bit( PTN_C3, 0); de!ay_msf50);
if(pressure>=71 && pressure<=79) { IcdgotoxyO 1,1); lcd_putc(M4.5psl"); '
{iniprojet lab
lcd_gotoxy( 11,2); lcd_putc("Normal"); output_bit( PIN_CO, 0); output_bit( PINC1, 1); output_bit( Pm_C2, 0); output_bit( PIN_C3, 0); delay_ms(50); i
if(pressure>=80 && pressure<=88) { led jgotoxy( 11,1); lcd_putc("5psl "); lcd_gotoxy(ll,2); lcd_putc("Normal");
output_bit( PIN_C0, 0); output_bit( PINC1, 1); output_bit( PINC2, 0); output_bit( PIN_C3, 0); delay_ms(50);
if(pressure>=89 && pressure<=97) { lcd_gotoxy(ll,l);
output_bit( PIN_C0, 0);
output_bit( PIN_C1, 1);
output_bit( PIN_C2, 0);
j output_bit( PIN_C3, 0);
¦ delay_ms(50);
| 6psl
j if(pressure>=98 && pressure<=106) lcd_gotoxy(l 1,1); lcd_putc("6psl "); lcd_gotoxy(l 1,2); lcd_putc("High"); output_bit( PIN_C0, 0); output_bit( PIN_C1,0); output_bit( PIN_C2, 1); output_bit( PINC3, 0); de!ay_ms(50);
-> 5TS"
H(piessure>=107 && pressure<=l 15) lcd_gotoxy(ll.l);
lcd_putc("6.5psl"); lcd_gotoxy(l 1,2); Icd_putc("High "); output_bit( PIN_CO, 0); output_bit( PINC1, 0); output_bit( PIN_C2, 1); output_bit( PIN_C3, 0); delay_ms(50); }
if(pressure>=l 16 && pressure<=124) { lcd_gotoxy(ll,l): lcd_putc("7psl "); lcd_gotoxy(l 1,2); lcd_putc("High "); output_bit( PIN_C0, 0); output_bit( PIN_C1,0); output_bit( PIN_C2, 1); output_bit( PIN_C3, 0); delay _ms(50); }
if(pressure>=125 && pressure<=133) { lcd_gotoxy(ll,l):
lcd_gotoxy( 11,2);
lcd_putc("High ");
output_bit( PIN_CO, 0);
output_bit( PIN_C1,0);
output_bit( PTN_C2, 1);
output_bit( PIN_C3, 0);
delay _ms(50); }
8 psl
;fipressure>=134 && pressure<=142)
lcd_gotoxy(l 1,1);
1 lcd_putc("8psl ");
j lcd_gotoxy(11.2);
| lcd_putc("High ");
output_bit( PIN_C0, 0); outrut_bit(PIN_Cl,0); cjtput_bit( PIN_C2, 1); ourput_bit( PIN_C3,0); de!ay_ms(50);
¦ a
if(pressure>=143 && pressure<= 151 lcd_gotoxy(l 1,1); lcd_putc("8.5psl"); lcd_gotoxy(l 1,2); lcd_putc("High "); output_bit( PIN_CO, 0); output_bit( PIN_C1,0); butput_bit( PIN_C2, 1); output_bit( PIN_C3, 0); delay_ms(50); }
if(pressure>152 && pressure<160)
lcd_gotoxy(ll,l); lcd_putc(H9psl "); lcd_gotoxy(ll,2); lcd_putc("Higli "); output_bit( PIN_CO, 0); output_bit(PIN_Cl,0); output_bit( PIN_C2, 1); output_bit( PIN_C3, 0); delay_ms(50);
if(pressure>161 && pressure<169) lcd_gotoxy(l 1,1); lcd_putc("9.5psl"); lcd_gotoxy(ll,2); lcd_putc("High "); output_bit( PIN_CO, 0); output Jjit(PIN_C 1,0); output_bit( PIN_C2, 1); output_bit( PIN_C3, 0); delay_ms(50);
if(pressure>=l 70) lcd_gotoxy( 11,1); !cd_putc(,r>9.5psl"); lcd_gotoxy( 11,2); :cd_putc("Peak "); i::ut_bit( PIN_C0, 0) ou:put_bit( PIN_C1,0) o-j:put_bit( PIN_C2,0) -j:put_bit( PIN_C3, 1)
Minim oiel lab
Sttgce kadaymppi! 16 pressur controller
llll LCDD.C ////
Driver for common LCD modules ////
//// ' , ////
//// lcd_init() Must be called before any other function. ////
//// ' ////
¦'/II lcd_putc© Will display c on the next position of the LCD. ////
The following have special meaning: ////
\f Clear display ////
//// \n Go to start of second line ////
//// \b Move back one position ////
//// ////
//// lcd_gotoxy(x,y) Set write position on LCD (upper left is 1,1) ////
//// ////
//// lcd_getc(x,y) Returns character at position x,y on LCD ////
//// ' ' ////
llll © Copyright 1996,2003 Custom Computer Services ////
//// This source code may only be used by licensed users of the CCS C ////
//// compiler. This source code may only be distributed to other ////
//// licensed users of the CCS C compiler. No other use, reproduction ////
//// or distribution is permitted without written permission. ////
//// Derivative programs created using this software in object code ////
//// form are not restricted in any way. ////
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll II As defined in the following structure the pin connection is as follows: // DO enable // Dl rs // D2 rw // D4 D4 // D5 D5 // D6 D6 // D7 D7 //
// LCD pins D0-D3 are not used and PIC D3 is not used. // Un-comment the following define to use port B #define use_portb_lcd TRUE
struct lcd_pin_map { // This structure is overlayed
BOOLEAN enable; // on to an I/O port to gain
BOOLEAN rs; // access to the LCD pins.
BOOLEAN rw; // The bits are allocated from
BOOLEAN unused; //low order up. ENABLE will int data : 4; // be pin BO. }lcd;
#ifdefined(__PCH__) #if defined use_portb_lcd
#byte led = OxF81 // This puts the entire structure
#byte led = OxF83 // This puts the entire structure
#endif #else
#if defined use_portb_lcd
#byte led = 6 //on to port B (at address 6)
#byte led = 8 //on to port D (at address 8)
#endif #endif
#if defined use_portb_lcd
#define set_tris_lcd(x) set_tris_b(x) #else
#define set_tris_lcd(x) set_tris_d(x) #endif
#defme lcdjype 2 // 0=5x7, 1=5x10, 2=2 lines
#define lcd_Iine_two 0x40 // LCD PvAM address for the second line
BYTE const LCD_INIT_STRING[4] = {0x20 | (lcdjype « 2), Oxc, 1,6};
// These bytes need to be sent to the LCD
// to start it up.
// The following are used for setting // the I/O port direction register, struct lcd_pin_map const LCD_WRITE = {0,0,0,0,0}; // For write mode all pins are out struct lcd_pin_map const LCD_READ = {0,0,0,0,15}; // For read mode data pins are in BYTE lcd_read_byte() {
BYTE low,high;
set_tris_lcd(LCD_READ); = 1;
led.enable = 1;
high =;
led.enable = 0;
lcd.enable = 1;
low =;
lcd.enable = 0;
return( (high«4) | low);
void lcd_send_nibble( BYTE n ) { = n; delay_cycles(l); lcd.enable = 1;
delay_us(2); led.enable = 0;
void lcd_send_byte( BYTE address, BYTE n ) { = 0;
// while ( bit_test(lcd_read_byte(),7)) ; = address; delay_cycles(l); = 0; delaycycles(l); led.enable = 0; lcd_send_nibble(n » 4); lcd_send_nibble(n & Oxf);
void lcd_init() { BYTE i;
set_tris_lcd(LCD_WRTTE); = 0; = 0; led.enable = 0; delay_ms(15); for(i=l;i<=3;++i) {
delay _ms(5);
lcd_send_nibbl e(2); for(i=0;i<=3;++i) lcd_send_byte(0,LCD_INIT_STRING[i]);
void lcd_gotoxy( BYTE x, BYTE y) { BYTE address; if(y!=l)
address=lcd_Jine_two; else
address=0; address+=x-l;
void lcd_putc( char c) { switch © { case '\f : lcd_send_byte(0,l); delay_ms(2);
case V : lcd_gotoxy(l,2); break; case'W : lcd_send_byte(O.Oxlu); break; default ' : lcd_send_byte(l,c); break;
car lcd_getc( BYTE x, BYTE y) { char value; lcd_gotoxy(x,y);
while ( bit_test(lcd_read_byte(),7)); // wait until busy flag is low;
value - lcd_read_byte();;
During the last decade, microprocessors where so familiar to the common people, but controllers were not. But the change to the situation to the current was very drastic.
Today common public and almost all electronic people were aware of this current technological advance. This is because of the flexibility offered by the manufactures with in the cost limits.
The microprocessors and microcontrollers stem from the basic idea, are made by the same people, and are sold to the same type of system designers and the programmers. Microprocessor is a general-purpose digital computer CPU.
But microcontroller is a true computer on a chip. The design incorporates all of the features found in microprocessor CPU: ALU, PC, SP and registers. It also has added the other features needed to make a complete computer: ROM, RAM, Parallel I/O, Serial I/O counters and a clock.
The basic component of the microprocessor is the CPU and external memory interface .The CPU consist of ALU and the instruction execution and decoding unit. In addition, memory management, floating point arithmetic instructions and data cache is also incorporated .External co processor interface is provided for floating arithmetic, instruction and data cache is also incorporated. External co processor interface is provided for floating point arithmetic.
A microcontroller is an I/O oriented single chip computer .It is a subject of microcomputer with ALU ,memory input and control unit The microcontroller normally contains CPU internal RAM ,internal EPROM ,main memory, I/O ports, DMA controller, interrupt handlers ,timers ,ADCs and DAC's .
The instruction set of the set of microcontrollers are more powerful than that of the microprocessors .This instruction set is more versatile and suited for control applications. The MCS 51 series micro controllers are provided with more peripherals that are necessary for various applications.
The programmed microcontroller cannot function with out proper biasing voltage and external driving circuitry. So the programmed microcontroller requires some hardware.
Miniprojet lab
The project and implimentation work entitled Automatic Pressure Controller using PIC 16F73 is developed, tested and verified at the laboratory of S.N.G.College of Engineering, Kolenchery.
I selected this work as an innovative project and implimentation to develop a user interactive and cost effective microcontroller based Automatic Pressure Controller. I hope this equipment will be a helping hand for the user who wishes to an expose in microcontroller based developments.
Microcontroller based Automatic Pressure Controller is capable of reading the atmospheric pressure and indicating the levels. We can modify this device as a universal one by changing necessary alternations I the software as well as hardware after studying various microcontroller programming sequences. The assembler program here we used is MPLAB.MPLAB is used to interface with the PICSTAR plus programmer. Once we program has assembled without errors, the PIC may be programmed.
1. 1.Semiconductors
3. freescale
4. pic compailar
8-Bit CMOS Microcontrollers with A/D Converter
Devices included in this data sheet:
¢ PIC16C72 ¢ PIC16C74A PIC16C73 ¢ PIC16C76
¢ PIC16C73A ¢ PIC16C77
¢ PIC16C74
PIC16C7X Microcontroller Core Features:
¢ High-performance RISC CPU
¢ Only 35 single word instructions to learn
¢ All single cycle instructions except for program branches which are two cycle
¢ Operating speed: DC - 20 MHz clock input
DC - 200 ns instruction cycle
¢ Up to 8K x 14 words of Program Memory, up to 368 x 8 bytes of Data Memory (RAM)
¢ Interrupt capability
¢ Eight level deep hardware stack
¢ Direct, indirect, and relative addressing modes
¢ Power-on Reset (POR)
¢ Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)
¦ Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation
¢ Programmable code-protection
¢ Power saving SLEEP mode Selectable oscillator options Low-power, high-speed CMOS EPROM technology.
¢ Fully static design
¢ Wide operating voltage range: 2.5V to 6.0V
¢ High Sink/Source Current 25/25 mA
¢ Commercial, Industrial and Extended temperature ranges
¢ Low-power consumption:
¢ < 2 mA @ 5V, 4 MHz
¢ 15 uA typical @ 3V, 32 kHz
¢ < 1 |iA typical standby current
PIC16C7X Peripheral Features:
¢ TimerO: 8-bit timer/counter with 8-bit prescaler
¢ Timerl: 16-bit timer/counter with prescaler, can be incremented during sleep via external crystal/clock
¢ Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler
¢ Capture, Compare, PWM module(s)
¢ Capture is 16-bit, max. resolution is 12.5 ns, Compare is 16-bit, max. resolution is 200 ns, PWM max. resolution is 10-bit
¢ 8-bit multichannel analog-to-digital converter ¦ Synchronous Serial Port (SSP) with
SPf and l2C„¢
¢ Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI)
¢ Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls
¢ Brown-out detection circuitry for Brown-out Reset (BOR)
PIC16C7X Features 72 73 73A 74 74A 76 77
Program Memory (EPROM) x 14 2K 4K 4K 4K 4K 8K 8K
Data Memory (Bytes) x 8 128 192 192 192 192 368 368
I/O Pins 22 22 22 33 33 22 33
Parallel Slave Port ” ” ” Yes Yes ” Yes
Capture/Compare/PWM Modules 1 2 2 2 2 2 2
Timer Modules 3 3 3 3 3 3 3
A/D Channels 5 5 5 8 8 5 8
In-Circuit Serial Programming Yes Yes Yes Yes Yes Yes Yes
Brown-out Reset Yes ” Yes ” Yes Yes Yes
Interrupt Sources 8 11 11 12 12 11 12
Pin Diagrams
SD1P, SOIC, Windowed Side Brazed Ceramic
¦ 1 V 2B
RAO/ANO *- fj 2 27
RA1/AN1 ¦+ +- t. 3 26
RA2/AN2 -* ^ £ 4 25
RA3/AN3A/REF-« C 3 24
RA4rruCKI -*” 6 23
RA5/53/AN4 ” »- £ 7 22
Vss *- C 6 21
OSC1/CLKIN \Z 9 20
OSC2/CLKOUT £ 10 19
RCO/TIOSCYTtCKl -« Q 11 18
RC1/T10SI ”»- C 12 17
RC2/CCP1 ”r 13 16
RC3/SCK/SCI-*”C 14 15
¦ RB7 RB6 RB5
¦ RB4 RB3 RB2 RB1
¦ RC7 RC6
¦ RC5/SD0
SDIP, SOIC, Windowed Side Brazed Ceramic
- C 28
RAO/ANO -«”” c 2 27
RA1/AN1 ””«- c 3 26
RA2/AN2 -« +¦ c 4 26
RA3/AN3A/REF ”” c 5 24
RA4/T0CKI -«” c 6 23
RA5/55/AN4 ” l» c 22
VSS *- c 8 21
0SC1/CLK1M »- c 9 20
0SC2/CLK0UT r. 10 19
"C0T1OS0/T1CKI ~ c 11 18
RC1fT10SUCCP2 - tf c 12 17
RC2/CCP1 -* 1^ c 13 16
RC3.'SCK/SCL r 14 15
¦ RB7
¦ RB6
- RB5
- RB4
¦ RB3
¦ RB2
¦ RB1
- RC4/SD«Sr>
MClR/Vpp " RAO/ANO ¦ RA1/AN1 -RA2/AN2 ¦ RA3/AN3A/REF -RA4/T0CK1 ¦ RA5/53/AN4 ¦ REO/RTJ/AN5 ¦ RE1AVR/AN6 ' RE2/C5/AN7
Vss -
1 40
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
- RB7
- RB6
- RB5
- RB4
- RB3
- RB2
- RB1
- VDO -Vss
- RD7/PSP7
- RD6/PSP6
- RD5/PSP5
¢ RD4/PSP4
- RD3/PSP3
- RD2/PSP2
© 1997 Microchip Technology Inc.
The high performance of the PIC16CXX family can be attributed to a number of architectural features com-monly found in RISC microprocessors. To begin with, the PIC16CXX uses a Harvard architecture, in which, program and data are accessed from separate memo-ries using separate buses. This improves bandwidth over traditional von Neumann architecture in which pro¬gram and data are fetched from the same memory using the same bus. Separating program and data buses further allows instructions to be sized differently than the 8-bit wide data word. Instruction opcodes are 14-bits wide making it possible to have all single word instructions. A 14-bit wide program memory access bus fetches a 14-bit instruction in a single cycle. A two-stage pipeline overlaps fetch and execution of instruc-tions (Example 3-1). Consequently, all instructions (35) execute in a single cycle (200 ns @ 20 MHz) except for program branches.
PIC16CXX devices contain an 8-bit ALU and working register. The ALU is a general purpose arithmetic unit. It performs arithmetic and Boolean functions between the data in the working register and any register file.
The ALU is 8-bits wide and capable of addition, sub-traction, shift and logical operations. Unless otherwise mentioned, arithmetic operations are two's comple¬ment in nature. In two-operand instructions, typically one operand is the working register (W register). The other operand is a file register or an immediate con¬stant, in single operand instructions, the operand is either the W register or a file register.
The W register is an 8-bit working register used for ALU operations. It is not an addressable register.
Depending on the instruction executed, the ALU may affect the values of the Carry ©, Digit Carry (DC), and Zero (Z) bits in the STATUS register. The C and DC bits operate as a borrow bit and a digit borrow out bit, respectively, in subtraction. See the sublw and subwf instructions for examples.
The P1C16CXX can directly or indirectly address its register files or data memory. All special function regis¬ters, including the program counter, are mapped in the data memory. The PIC16CXX has an orthogonal (sym¬metrical) instruction set that makes it possible to carry out any operation on any register using any addressing mode. This symmetrical nature and lack of 'special optimal situations' make programming with the PIC16CXX simple yet efficient. In addition, the learning curve is reduced significantly.
Program Memory
2Kx 14
Program CounteTJQ^
(Level Stack (13-bit)
File Registers
128 x 8
Program 14 Bus
Instruction reg
Direct Addr 7 /
RAM Addr'11 ^ 9
/ Addr MUX \
indirect Addr
1 FSRreg |<H r”^\ STATUS reg \C=\
<^>S RB7:RB1
Instruction Decode & K^T-H Control
Power-up Timer
Oscillator Start-up Timer
Power-on Reset
Watchdog Timer
=3 c
\ MUX "/
W reg
Brawn-out Reset
Synchronous Serial Port
Higher order bits are from the STATUS register.
0=7^=1 Program Counte
Data Bus
Program Memory
8 Level Stack (13-bit)
File Registers
Program Bus
RAM Addr<11
Instruction reg
8 =7=
Instruction . Decode & K!=I>| Control
Direct Addr
Power-up Timer
Oscillator Start-up Timer
Power-on Reset
Indirect Addr
| FSR reg pOJ STATUS reg
1; f
^ MUX /
Timing Generation
Watchdog Timer
W reg
Brown-out Reset'2'
TimerO Timerl Timer2 A/D
1 ft n A
L 11 ii 1 1
1 Synchronous Serial Port USART
No'.e 1: Higher order bits are from the STATUS register.
2: Brown-out Reset is not available on the PIC16C73.
Note 1 2 3
This buffer This buffer This buffer
I/O = input/output P = power
TTL = TTL input ST = Schmitt Trigger input
when configured as an external interrupt, when used in serial programming mode.
when configured as general purpose I/O and a TTL input when used in the Parallel microprocessor bus).
when configured in RC oscillator mode and a CMOS input otherwise.
Pin Name DIP Pin# PLCC Pin# QFP Pin# l/O/P Type Buffer Type Description
PORTC is a bi-directional I/O port.
RC0/T1OSO/T1CKI 15 16 32 I/O ST RC0 can also be the Timerl oscillator output or a Timerl clock input.
RC1/T10SI/CCP2 16 18 35 I/O ST RC1 can also be the Timerl oscillator input or Capture2 input/Compare2 output/PWM2 output.
RC2/CCP1 17 19 36 I/O ST RC2 can also be the Capturel input/Comparel output/ PWM1 output.
RC3/SCK/SCL 18 20 37 I/O ST RC3 can also be the synchronous serial clock input/ output for both SPI and l2C modes.
RC4/SD1/SDA 23 25 42 I/O ST RC4 can also be the SPI Data In (SPI mode) or data I/O (l2C mode).
RC5/SDO 24 26 43 I/O ST RC5 can also be the SPI Data Out (SPI mode).
RC6/TX/CK 25 27 44 I/O ST RC6 can also be the USART Asynchronous Transmit or Synchronous Clock.
RC7/RX/DT 26 29 1 I/O ST RC7 can also be the USART Asynchronous Receive or Synchronous Data.
PORTD is a bi-directional I/O port or parallel slave port
when interfacing to a microprocessor bus.
RDO/PSPO 19 21 38 I/O ST/TTL'3'
RD1/PSP1 ¦ 20 22 39 I/O ST/TTL(3)
RD2/PSP2 21 23 40 I/O ST/TTL'3'
RD3/PSP3 22 24 41 I/O ST/TTL<3>
RD4/PSP4 27 30 2 I/O ST/TTL'3'
RD5/PSP5 28 ¢31 3 I/O ST/TTL'3'
RD6/PSP6 29 32 4 I/O ST/TTL'3'
RD7/PSP7 30 33 5 I/O ST/TTL'3'
PORTE is a bi-directional I/O port.
RE0/RD/AN5 8 9 25 I/O ST/TTL'3' RE0 can also be read control for the parallel slave port, or analog input5.
RE1/WR/AN6 9 10 26 I/O ST/TTL'3' RE1 can also be write control for the parallel slave port, or analog input6.
RE2/CS/AN7 10 11 27 I/O ST/TTL'3' RE2 can also be select control for the parallel slave port, or analog input7.
vss 12,31 13,34 6,29 p ” Ground reference for logic and I/O pins.
VDO 11,32 12,35 7,28 p~~ ” Positive supply for logic and I/O pins.
KC ” 1,17,28, 40 12,13, 33,34 These pins are not internally connected. These pins should be left unconnected.
0 = output /O = input/output P = power
” = Not used TTL = TTL input ST = Schmitt Trigger input
*.:te 1: This buffer is a Schmitt Trigger input when configured as an external interrupt. 2: This buffer is a Schmitt Trigger input when used in serial programming mode.
3- This buffer is a Schmitt Trigger input when configured as general purpose I/O and a TTL input when used in the Parallel
Slave Port mode (for interfacing to a microprocessor bus). - T*-is buffer is a Schmitt Trigger input when configured in RC oscillator mode and a CMOS input otherwise.
3.1 Clocking Scheme/Instruction Cycle
The clock input (from OSC1) is internally divided by four to generate four non-overlapping quadrature clocks namely Q1, Q2, Q3 and Q4. Internally, the pro-gram counter (PC) is incremented every Q1, the instruction is fetched from the program memory and latched into the instruction register in Q4. The instruc-tion is decoded and executed during the following Q1 through Q4. The clocks and instruction execution flow is shown in Figure 3-4.
3.2 Instruction Flow/Pipelining
An "Instruction Cycle" consists of four Q cycles (Q1, Q2, Q3 and Q4). The instruction fetch and execute are pipelined such that fetch takes one instruction cycle while decode and execute takes another instruction cycle. However, due to the pipelining, each instruction effectively executes in one cycle. If an instruction causes the program counter to change (e.g. GOTO) then two cycles are required to complete the instruction (Example 3-1).
A fetch cycle begins with the program counter (PC) incrementing in Q1.
In the execution cycle, the fetched instruction is latched into the "Instruction Register" (IR) in cycle Q1. This instruction is then decoded and executed during the Q2, Q3, and Q4 cycles. Data memory is read during Q2 (operand read) and written during Q4 (destination write).
- 'istructions are single cycle, except for any program branches. These take two cycles since the fetch -=”_c!;on is "flushed" from the pipeline while the new instruction is being fetched and then executed.
Applicable Devices
72 73 73A 74 74A 76 77
FIGURE 4-2: PIC16C73/73A/74/74A
4.1 Program Memory Organization
The PIC16C7X family has a 13-bit program counter capable of addressing an 8K x 14 program memory space. The amount of program memory available to each device is listed below:
Stack Level 1
Device Program Memory Address Range
PIC16C72 2Kx 14 OOO0h-O7FFh
PIC16C73 4Kx 14 OOOOh-OFFFh
PIC16C73A 4Kx 14 OOOOh-OFFFh
PIC16C74 4Kx 14 OOOOh-OFFFh
PIC16C74A 4Kx 14 OOOOh-OFFFh
PIC16C76 8Kx 14 0000h-1FFFh
PIC16C77 8Kx14 00OOh-1FFFh
For those devices with less than 8K program memory, accessing a location above the physically implemented address will cause a wraparound.
The reset vector is at OOOOh and the interrupt vector is at 0004h.
E OJ <p o
Stack Level 8
Reset Vector
Interrupt Vector
On-chip Program Memory (Page 0)
On-chip Program Memory (Page 1)
0004h 0005h
07FFh 0800h
OFFFh 1000h
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
0004h 0005h
C"-chip Program Vemory
07FFh 0800h
Stack Level 1
Stack Level 2
Stack Level 8
Reset Vector
¢ ¢ ¢
Interrupt Vector
On-Chip Page 0
On-Chip Page 1
On-Chip Page 2
On-Chip Page 3
0004h 0005h
07FFh 0800h
OFFFh 1000h
17FFh 1800h
The data memory is partitioned into multiple banks which contain the General Purpose Registers and the Special Function Registers. Bits RP1 and RPO are the bank select bits.
RP1:RP0 (STATUS<6:5>) = 00 -> BankO = 01 -» Bankl = 10 -> Bank2 = 11 -» Bank3
Each bank extends up to 7Fh (128 bytes). The lower locations of each bank are reserved for the Special Function Registers. Above the Special Function Regis¬ters are General Purpose Registers, implemented as static RAM. All implemented banks contain special function registers. Some "high use" special function registers from one bank may be mirrored in another' bank for code reduction and quicker access.
The register file can be accessed either directly, or indi¬rectly through the File Select Register FSR (Section 4.5).
Mnemonic, Description Cycles 14-Bit Opcode Status Notes
Operands MSb LSb Affected
ADDWF f, d Add W and f 00 0111 dfff ffff C,DC,Z 1,2
ANDWF f, d AND W with f 00 0101 df f f f f f f Z 1,2
CLRF Clear f 00 0001 If f f ffff z 2
CLRW ClearW 00 0001 Oxxx xxxx z
COMF f, d Complement f 00 1001 dfff ffff z 1,2
DECF f, d Decrement f 00 0011 dfff ffff z 1,2
DECFSZ f, d Decrement f, Skip if 0 1(2) 00 1011 dfff ffff 1,2,3
INCF f, d Increment f 00 1010 dfff ffff z 1,2
INCFSZ f, d Increment f, Skip if 0 1(2) 00 1111 dfff ffff 1.2,3
IORWF f, d Inclusive OR W with f 00 0100 dfff ffff z 1,2
MOVF f,d Move f 00 1000 dfff ffff z 1,2
MOVWF Move W to f 00 0000 If f f ffff
NOP No Operation 00 0000 OxxO 0000
RLF f, d Rotate Left f through Carry 00 1101 dfff ffff c 1,2
RRF f,d Rotate Right f through Carry 00 1100 dfff ffff c 1,2
SUBWF f,d Subtract W from f 00 0010 dfff ffff C,DC,Z 1,2
SWAPF f, d Swap nibbles in f 00 1110 dfff ffff 1,2
XORWF f,d Exclusive OR W with f 00 0110 dfff ffff z 1,2
BCF f,b Bit Clear f 1 01 OObb bf f f ffff 1,2
BSF f, b Bit Set f 1 01 Olbb bf f f ffff 1,2
BTFSC f, b Bit Test f, Skip if Clear 1 (2) 01 lObb bf ff ffff 3
BTFSS f, b Bit Test f. Skip if Set 1 (2) 01 llbb bf f f ffff 3
ADDLW k Add literal and W 1 11 lllx kkkk kkkk C,DC,Z
ANDLW k AND literal with W 1 11 1001 kkkk kkkk z
CALL k Call subroutine 2 10 Okkk kkkk kkkk
CLRWDT - Clear Watchdog Timer 1 00 0000 0110 0100 TO.PD
GOTO k Go to address 2 10 lkkk kkkk kkkk
IORLW k Inclusive OR literal with W 1 11 1000 kkkk kkkk z
MOVLW k Move literal to W 1 11 OOxx kkkk kkkk
RETFIE - Return from interrupt 2 00 0000 0000 1001
RETLW k Return with literal in W 2 11 Olxx kkkk kkkk
RETURN - ¦ Return from Subroutine 2 00 0000 0000 1000
SLEEP - Go into standby mode 1 00 oooo 0110 0011 TO.PD
SUBLW k Subtract W from literal 1 11 HOx kkkk kkkk C,DC,Z
XORLW k Exclusive OR literal with W 1 11 1010 kkkk kkkk Z
Note 1: When an I/O register is modified as a function of itself ( e.g., MOVF PORTB, I), the value used will be that value present on the pins themselves. For example, if the data latch is '1' for a pin configured as input and is driven low by an external device, the data will be written back with a '0'.
2: If this instruction is executed on the TMRO register (and, where applicable, d = 1), the prescaler will be cleared if assigned to the TimerO Module.
3 If Program Counter (PC) is modified or a conditional test is true, the instruction requires two cycles. The second cycle is executed as a NOP
16.1 Development Tools
The PIC16/17 microcontrollers are supported with a full range of hardware and software development tools:
¢ PICMASTER/PICMASTER CE Real-Time In-Circuit Emulator
¢ ICEPIC Low-Cost PIC16C5X and PIC16CXXX In-Circuit Emulator
¢ PRO MATE® II Universal Programmer
¢ PICSTART® Plus Entry-Level Prototype Programmer
¢ PICDEM-1 Low-Cost Demonstration Board
¢ PICDEM-2 Low-Cost Demonstration Board
¢ PICDEM-3 Low-Cost Demonstration Board
¦ MPASM Assembler
¢ MPLAB-SIM Software Simulator
¢ MPLAB-C (C Compiler)
¢ Fuzzy logic development system (ft/zzyTECH®-MP)
16.2 PICMASTER: High Performance
Universal In-Circuit Emulator with
The PICMASTER Universal In-Circuit Emulator is intended to provide the product development engineer with a complete microcontroller design tool set for all microcontrollers in the PIC12C5XX, PIC14C000, PIC16C5X, PIC16CXXX and PIC17CXX families. PICMASTER is supplied with the MPLAB„¢ Integrated Development Environment (IDE), which allows editing, Jmake" and download, and source debugging from a single environment.
Interchangeable target probes allow the system to be easily reconfigured for emulation of different proces-sors. The universal architecture of the PICMASTER a 'ows expansion to support all new Microchip micro-controllers.
PICMASTER Emulator System has been ces'gned as a real-time emulation system with advanced features that are generally found on more expensive development tools. The PC compatible 386 a"d higher) machine platform and Microsoft Windows® 3.x environment were chosen to best make these fea¬tures available to you, the end user.
A CE compliant version of PICMASTER is available for European Union (EU) countries.
16.3 ICEPIC: Low-cost PIC16CXXX
In-Circuit Emulator
ICEPIC is a low-cost in-circuit emulator solution for the Microchip PIC16C5X and PIC16CXXX families of 8-bit OTP microcontrollers.
ICEPIC is designed to operate on PC-compatible machines ranging from 286-AT® through Pentium„¢ based machines under Windows 3.x environment. ICEPIC features real time, non-intrusive emulation.
16.4 PRO MATE II: Universal Programmer
The PRO MATE II Universal Programmer is a full-fea-tured programmer capable of operating in stand-alone mode as well as PC-hosted mode.
The PRO MATE II has programmable VDD and VPP supplies which allows it to verify programmed memory at VDD min and VDD max for maximum reliability. It has an LCD display for displaying error messages, keys to enter commands and a modular detachable socket assembly to support various package types. In stand-alone mode the PRO MATE II can read, verify or pro-gram PIC16C5X, PIC16CXXX, PIC17CXX and PIC14000 devices. It can also set configuration and code-protect bits in this mode.
16.5 PICSTART Plus Entry Level
Development System
The PICSTART programmer is an easy-to-use, low-cost prototype programmer. It connects to the PC via one of the COM (RS-232) ports. MPLAB Integrated Development Environment software makes using the programmer simple and efficient. PICSTART Plus is not recommended for production programming.
PICSTART Plus supports all PIC12C5XX, PIC14000, PIC16C5X, PIC16CXXX and PIC17CXX devices with up to 40 pins. Larger pin count devices such as the PIC16C923 and PIC16C924 may be supported with an adapter socket.
16.6 PICDEM-1 Low-Cost PIC16/17
Demonstration Board
The PICDEM-1 is a simple board which demonstrates the capabilities of several of Microchip's microcontrol-lers. The microcontrollers supported are: PIC16C5X (PIC16C54 to PIC16C58A), PIC16C61, PIC16C62X, PIC16C71, PIC16C8X, PIC17C42, PIC17C43 and PIC17C44. All necessary hardware and software is included to run basic demo programs. The users can program the sample microcontrollers provided with the PICDEM-1 board, on a PRO MATE II or PICSTART-16B programmer, and easily test firm¬ware. The user can also connect the PICDEM-1 board to the PICMASTER emulator and download the firmware to the emulator for testing. Additional pro¬totype area is available for the user to build some addi¬tional hardware and connect it to the microcontroller socket(s). Some of the features include an RS-232 interface, a potentiometer for simulated analog input, push-button switches and eight LEDs connected to PORTB.
16.7 PICDEM-2 Low-Cost PIC16CXX
Demonstration Board
The PICDEM-2 is a simple demonstration board that supports the PIC16C62, PIC16C64, PIC16C65, PIC16C73 and PIC16C74 microcontrollers. All the necessary hardware and software is included to run the basic demonstration programs. The user can program the sample microcontrollers provided with the PICDEM-2 board, on a PRO MATE II pro¬grammer or PICSTART-16C, and easily test firmware. The PICMASTER emulator may also be used with the PICDEM-2 board to test firmware. Additional prototype area has been provided to the user for adding addi-tional hardware and connecting it to the microcontroller socket(s). Some of the features include a RS-232 inter¬face, push-button switches, a potentiometer for simu¬lated analog input, a Serial EEPROM to demonstrate usage of the l2C bus and separate headers for connec¬tion to an LCD module and a keypad.
16.8 PICDEM-3 Low-Cost PIC16CXXX
Demonstration Board
The PICDEM-3 is a simple demonstration board that supports the PIC16C923 and PIC16C924 in the PLCC package. It will also support future 44-pin PLCC microcontrollers with a LCD Module. All the neces¬sary hardware and software is included to run the basic demonstration programs. The user can pro¬gram the sample microcontrollers provided with the PICDEM-3 board, on a PRO MATE II program¬mer or PICSTART Plus with an adapter socket, and easily test firmware. The PICMASTER emulator may also be used with the PICDEM-3 board to test firm¬ware. Additional prototype area has been provided to :"9 user for adding hardware and connecting it to the ” ;'r:2"'roller socket(s). Some of the features include an RS-232 interface, push-button switches, a potenti¬ometer for simulated analog input, a thermistor and separate headers for connection to an external LCD module and a keypad. Also provided on the PICDEM-3 board is an LCD panel, with 4 commons and 12 seg¬ments, that is capable of displaying time, temperature and day of the week. The PICDEM-3 provides an addi¬tional RS-232 interface and Windows 3.1 software for showing the demultiplexed LCD signals on a PC. A sim¬ple serial interface allows the user to construct a hard¬ware demultiplexer for the LCD signals.
16.9 MPLAB Integrated Development
Environment Software
The MPLAB IDE Software brings an ease of software development previously unseen in the 8-bit microcon-troller market. MPLAB is a windows based application which contains:
¢ A full featured editor
¢ Three operating modes
- editor
- emulator
- simulator
¢ A project and implimentation manager
¢ Customizable tool bar and key mapping
¢ A status bar with project and implimentation information
¢ Extensive on-line help
MPLAB allows you to:
¢ Edit your source files (either assembly or 'C')
¢ One touch assemble (or compile) and download to PIC16/17 tools (automatically updates all project and implimentation information)
¢ Debug using:
- source files
- absolute listing file
¢ Transfer data dynamically via DDE (soon to be replaced by OLE)
¢ Run up to four emulators on the same PC
The ability to use MPLAB with Microchip's simulator allows a consistent platform and the ability to easily switch from the low cost simulator to the full featured emulator with minimal retraining due to development tools.
16.10 Assembler (MPASM)
The MPASM Universal Macro Assembler is a PC-hosted symbolic assembler. It supports all microcon-troller series including the PIC12C5XX, PIC14000, PIC16C5X, PIC16CXXX, and PIC17CXX families.
MPASM offers full featured Macro capabilities, condi-tional assembly, and several source and listing formats. It generates various object code formats to support Microchip's development tools as well as third party programmers.
MPASM allows full symbolic debugging from PICMASTER, Microchip's Universal Emulator System.
MPASM has the following features to assist in develop¬ing software for specific use applications.
¢ Provides translation of Assembler source code to object code for all Microchip microcontrollers.
¢ Macro assembly capability.
¢ Produces all the files (Object, Listing, Symbol, and special) required for symbolic debug with Microchip's emulator systems.
¢ Supports Hex (default), Decimal and Octal source and listing formats.
MPASM provides a rich directive language to support programming of the PIC16/17. Directives are helpful in making the development of your assemble source code shorter and more maintainable.
16.11 Software Simulator (MPLAB-SIM)
The MPLAB-SIM Software Simulator allows code development in a PC host environment. It allows the user to simulate the PIC16/17 series microcontrollers on an instruction level. On any given instruction, the user may examine or modify any of the data areas or provide external stimulus to any of the pins. The input/ output radix can be set by the user and the execution can be performed in; single step, execute until break, or in a trace mode.
MPLAB-SIM fully supports symbolic debugging using MPLAB-C and MPASM. The Software Simulator offers the low cost flexibility to develop and debug code out-side of the laboratory environment making it an excel-lent multi-project and implimentation software development tool.
16.12 C Compiler (MPLAB-C)
The MPLAB-C Code Development System is a complete 'C compiler and integrated, development environment for Microchip's PIC16/17 family'of micro-controllers. The compiler provides powerful integration capabilities and ease of use not found with other compilers.
For easier source level debugging, the compiler pro-vides symbol information that is compatible with the MPLAB IDE memory display (PICMASTER emulator software versions 1.13 and later).
16.13 Fuzzy Logic Development System
fuzzyTECH-MP fuzzy logic development tool is avail-able in two versions - a low cost introductory version, MP Explorer, for designers to gain a comprehensive working knowledge of fuzzy logic system design; and a full-featured version, /uzzyTECH-MP, edition for imple¬menting more complex systems.
Both versions include Microchip's fuzzyLAB„¢ demon-stration board for hands-on experience with fuzzy logic systems implementation.
16.14 MP-DriveWav„¢ - Application Code
MP-DriveWay is an easy-to-use Windows-based Appli¬cation Code Generator. With MP-DriveWay you can visually configure all the peripherals in a PIC16/17 device and, with a click of the mouse, generate all the initialization and many functional code modules in C language. The output is fully compatible with Micro-chip's MPLAB-C C compiler. The code produced is highly modular and allows easy integration of your own code. MP-DriveWay is intelligent enough to maintain your code through subsequent code generation.
16.15 SEEVAL® Evaluation and
Programming System
The SEEVAL SEEPROM Designer's Kit supports all Microchip 2-wire and 3-wire Serial EEPROMs. The kit includes everything necessary to read, write, erase or program special features of any Microchip SEEPROM product including Smart Serials„¢ and secure serials. The Total Endurance„¢ Disk is included to aid in trade¬off analysis and reliability calculations. The total kit can significantly reduce time-to-market and result in an optimized system.
16.16 TrueGauge® Intelligent Battery
The TrueGauge development tool supports system development with the MTA11200B TrueGauge Intelli-gent Battery Management IC. System design verifica-tion can be accomplished before hardware prototypes are built. User interface is graphically-oriented and measured data can be saved in a file for exporting to Microsoft Excel.
16.17 KEELOQ® Evaluation and
Programming Tools
KEELOQ evaluation and programming tools support Microchips HCS Secure Data Products. The HCS eval-uation kit includes an LCD display to show changing codes, a decoder to decode transmissions, and a pro-gramming interface to program test transmitters.
PICMASTER""/ PICMASTER-CE hi Circuit Emulator Available 3Q97
ICEPIC Low-Cost In-Circuit Emulator
MPLAB„¢ Integrated Development Environment
MPLAB„¢ C Compiler
/UzzyTECH®-MP Explorer/Edition Fuzzy Logic Dev. Tool
MP-DriveWay„¢ Applications Code Generator
Total Endurance„¢ Software Model
Lite Ultra Low-Cost
Dev. Kit
PICSTART*' Plus Low-Cost Universal Dev. Kit
KEELOQ® Programmer
SEEVAL® Designers Kit
KEELOQ® Evaluation Kit
m < m i-O
m z ”i
Tl 73
o o
Applicable Devices 72 73 73A 74 74A 76 77
Absolute Maximum Ratings t
Ambient temperature under bias -55 to +125°C
Storage temperature -65*C to +150"C
Voltage on any pin with respect to Vss (except VDD, MCLR. and RA4) -0.3V to (VDD + 0.3V)
Voltage on VDD with respect to Vss -0.3 to +7.5V
Voltage on MCLR with respect to Vss (Note 2) 0 to +14V
Voltage on RA4 with respect to Vss .¢ 0 to +14V
Total power dissipation (Note 1) .1,0W
Maximum current out of Vss pin 300 mA
Maximum current into VDD pin 250 mA
Input clamp current, IIK (Vi < 0 or Vi > VDD) ±20 mA
Output clamp current, IOK (VO < 0 or Vo > VDD) ±20 mA
Maximum output current sunk by any I/O pin 25 mA
Maximum output current sourced by any I/O pin 25 mA
Maximum current sunk by PORTA, PORTB, and PORTE (combined) (Note 3) 200 mA
Maximum current sourced by PORTA, PORTB, and PORTE (combined) (Note 3) 200 mA
Maximum current sunk by PORTC and PORTD (combined) (Note 3); 200 mA
Maximum current sourced by PORTC and PORTD (combined) (Note 3) 200 mA
Note 1: Power dissipation is calculated as follows: Pdis = VDD X {IDD - E IOH} + Z {(VDD - VOH) x IOH} + £(Vol x IOL)
Note 2: Voltage spikes below Vss at the MCLR pin, inducing currents greater than 80 mA, may cause latch-up. Thus, a series resistor of 50-100Q should be used when applying a "low" level to the MCLR pin rather than pulling this pin directly to Vss.
Note 3: PORTD and PORTE are not implemented on the PIC16C73A.
t NOTICE: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability. '

Important Note..!

If you are not satisfied with above reply ,..Please


So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page

Quick Reply
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  TRAFFIC LIGHT CONTROLLER USING 8085 MICROPROCESSOR ppt seminar flower 1 2,586 09-04-2016, 11:51 AM
Last Post: mkaasees
  Presentation On Project Automatic Traffic Light Control System ppt study tips 1 777 02-04-2016, 02:28 PM
Last Post: mkaasees
  PHS BASED ONLINE VEHICLE TRACKING SYSTEM full report project topics 6 8,559 07-01-2016, 11:33 AM
Last Post: Guest
  AUTOMATIC STREET LIGHT CONTROLLER USING AT89c51 MICROCONTROLLER seminar flower 3 2,277 05-11-2015, 10:42 PM
Last Post: Guest
  FINGER PRINT BASED ELECTRONIC VOTING MACHINE full report project topics 48 42,595 09-10-2015, 10:18 PM
Last Post: Guest
  RF Based SPY robot full report seminar topics 4 11,818 09-03-2015, 11:25 PM
Last Post: rsnnzxrkv
  DIGITAL SPEEDOMETER full report seminar surveyer 8 11,677 30-10-2014, 07:50 PM
Last Post: akhil4718
  MICROCONTROLLER BASED DAM GATE CONTROL SYSTEM full report seminar class 13 10,321 13-07-2014, 11:33 PM
Last Post: Guest
  DOOR LOCKING SECURITY SYSTEM UING GSM FULL REPORT seminar class 11 10,836 14-06-2014, 08:07 PM
Last Post: lagua2012
  PLC BASED TRAFFIC CONTROL SYSTEM full report seminar class 5 10,708 10-01-2014, 03:08 PM
Last Post: seminar project topic