Вы находитесь на странице: 1из 51

ADVANCE TECHNOLGY

UNIVERSAL BOARD

Universal Board & PIC Daughter Card


Advance Technology
SCO-160, 1st Floor, Sec-24D Chandigarh 160002 Tel. No.: 0172 5086213
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 1

ADVANCE TECHNOLGY

UNIVERSAL BOARD

FOREWORD
With changing times micro-controller has evolved and today is part of almost every application viz. consumer electronics, communication systems automotive medical etc. With various controller architectures and easy to use compilers it has become easy to use a controller in wide range of applications with ease. There are many micro controllers available in market 89C51 (ATMEL, PHILPS) PIC (MICROCHIP) etc. With change in technology trends and introduction of latest protocols (CAN, MODBUS, I2C, SPI, USB) it is important to learn basics of micro controller with interfacing devices like SRAM, E2PROM, Stepper Motor, DC Motor, RTC, ADC, DAC, Relays, Displays. Keeping trends in mind Advance Technology has designed Universal Board. The feature that separates this board from others is the configuration of these different devices in desired fashion. User is free to assign any controller Port to the device with provided connectors. Since the Time to Market is crucial UNIVERSAL BOARD can reduce the development time since testing of basic devices can be done and by the time PCBs are manufactured designer is ready with the tested code.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

ADVANCE TECHNOLGY

UNIVERSAL BOARD

INDEX
No.
1. 1.1 2 2.1 3 3.1 3.2 3.3 3.4 3.5 3.6 4

TOPIC
INTRODUCTION
On Board Specifications

Page No.
4

PIC DAUGHTER CARD


Features of PIC 16F877A controller

5 6 8 9 10 10 11 11 12 13

UNIVERSAL BOARDS COMPONENTS


ADC0809 Display Section Relay Section Stepper Motor RTC &E2PROM Connectors

USE OF COMPILER AND PROGRAMMER EXPERIMENTS FOR PIC

25

INTRODUCTION
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 3

ADVANCE TECHNOLGY

UNIVERSAL BOARD

UNIVERSAL Board has on board (a) ADC section. (b) RTC & EEPROM section. (c) DISPLAY (LCD, LED, & 7-SEG) section. (d) INPUT SWITCHES (PUSH BUTTON & DIP SWITCH) section. (f)RELAY section. (e) BUZZER section PERIPHERALS Part No. ADC0809CCN DS1307 24C04 LCD BUZZER RELAY Specifications 8-BIT 8-CHANNEL, 100 s. 64X8, SERIAL I2C Real Time Clock. 4K serial EEPROM. 16 x 2 character LCD 5V 5A/250V AC

POWER SUPPLY REQUIREMENTS Voltage Rating +/- 5 V +/- 12V Current Rating 1A 1A

PIC 16F877A DAUGHTER CARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

ADVANCE TECHNOLGY

UNIVERSAL BOARD

FEATURES:High-Performance RISC CPU: Only 35 single-word instructions to learn All single-cycle instructions except for program branches, which are twocycle Operating speed: DC 20 MHz clock input DC 200 ns instruction cycle Up to 8K x 14 words of Flash Program Memory, Up to 368 x 8 bytes of Data Memory (RAM), Up to 256 x 8 bytes of EEPROM Data Memory Pinout compatible to other 28-pin or 40/44-pin PIC16CXXX and PIC16FXXX microcontrollers Peripheral Features: Timer0: 8-bit timer/counter with 8-bit prescaler Timer1: 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 Two Capture, Compare, PWM modules - Capture is 16-bit, max. resolution is 12.5 ns
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 5

ADVANCE TECHNOLGY

UNIVERSAL BOARD

- Compare is 16-bit, max. resolution is 200 ns - PWM max. resolution is 10-bit Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave) Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection Parallel Slave Port (PSP) 8 bits wide with external RD, WR and CS controls (40/44-pin only) Brown-out detection circuitry for Brown-out Reset (BOR) Analog Features: 10-bit, up to 8-channel Analog-to-Digital Converter (A/D) Brown-out Reset (BOR) Analog Comparator module with: - Two analog comparators - Programmable on-chip voltage reference (VREF) module - Programmable input multiplexing from device inputs and internal voltage reference - Comparator outputs are externally accessible Special Microcontroller Features: 100,000 erase/write cycle Enhanced Flash program memory typical 1,000,000 erase/write cycle Data EEPROM memory typical Data EEPROM Retention > 40 years Self-reprogrammable under software control In-Circuit Serial Programming (ICSP) via two pins Single-supply 5V In-Circuit Serial Programming Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation Programmable code protection Power saving Sleep mode Selectable oscillator options In-Circuit Debug (ICD) via two pins CMOS Technology: Low-power, high-speed Flash/EEPROM technology Fully static design Wide operating voltage range (2.0V to 5.5V) Commercial and Industrial temperature ranges Low-power consumption
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 6

ADVANCE TECHNOLGY

UNIVERSAL BOARD

UNIVERSAL BOARD
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 7

ADVANCE TECHNOLGY

UNIVERSAL BOARD

ANALOG TO DIGITAL CONVERTER (ADC0809)


Features:
Easy interface to all microprocessors Operates ratio metrically or with 5 VDC or analog span adjusted voltage reference
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 8

ADVANCE TECHNOLGY

UNIVERSAL BOARD

No zero or full-scale adjust required 8-channel multiplexer with address logic 0V to 5V input range with single 5V power supply Outputs meet TTL voltage level specifications ADC0808 equivalent to MM74C949 ADC0809 equivalent to MM74C949-1

Key Specifications
Resolution 8 Bits Total Unadjusted Error 12 LSB and 1 LSB Single Supply 5 VDC Low Power 15 mW Conversion Time 100

CIRCUIT DIAGRAM FOR ADC

CIRCUIT DIAGRAM FOR DISPLAY SECTION


7-Segment displays, LEDs

ADC OUTPUT

CONTROL & CHANNEL SELECT LINES

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

ADVANCE TECHNOLGY

UNIVERSAL BOARD

CIRCUIT DIAGRAM FOR RELAY SECTION

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

10

ADVANCE TECHNOLGY

UNIVERSAL BOARD

CIRCUIT DIAGRAM FOR STEPPER MOTOR

Stepper motor

CIRCUIT DIAGRAM FOR RTC & E2PROM

3.6V Battery

32.678 KHz Crystal


RTC & Switch

Square Wave Out

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

11

ADVANCE TECHNOLGY

UNIVERSAL BOARD

CONNECTORS

RTC & E2PROM


RTC DS1307 FEATURES

Real-time clock (RTC) counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation valid up to 2100 56-byte, battery-backed, nonvolatile (NV) RAM for data storage Two-wire serial interface Programmable square wave output signal Automatic power-fail detect and switch circuitry Consumes less than 500nA in battery backup mode with oscillator running
12 Email: - adixit@reliancemail.net

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213

ADVANCE TECHNOLGY

UNIVERSAL BOARD

Optional industrial temperature range: -40C to +85C Available in 8-pin DIP or SOIC Underwriters Laboratory (UL) recognized E2PROM 24C04 FEATURES Low-voltage and Standard-voltage Operation 2.7 (VCC = 2.7V to 5.5V) 1.8 (VCC = 1.8V to 5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K) or 2048 x 8 (16K) 2-wire Serial Interface Schmitt Trigger, Filtered Inputs for Noise Suppression Bi-directional Data Transfer Protocol 100 kHz (1.8V) and 400 kHz (2.5V, 2.7V, 5V) Compatibility Write Protect Pin for Hardware Data Protection 8-byte Page (1K, 2K), 16-byte Page (4K, 8K, 16K) Write Modes Partial Page Writes are Allowed Self-timed Write Cycle (5 ms max) High-reliability Endurance: 1 Million Write Cycles Data Retention: 100 Years Automotive Grade, Extended Temperature and Lead-Free Devices Available 8-lead PDIP, 8-lead JEDEC SOIC, 8-lead MAP, 5-lead SOT23,

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

13

ADVANCE TECHNOLGY

UNIVERSAL BOARD

USE OF COMPILER AND PROGRAMMER


Compiler: SOURCE BOOST IDE
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 14

ADVANCE TECHNOLGY

UNIVERSAL BOARD

Backhand Tool: MPLAB Programming Tool: PPP (PIC PARALLEL PROGRAMMER) V 3

1. Double Click on the icon present on the desktop.

2. Then a window will open like shown below,

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

15

ADVANCE TECHNOLGY

UNIVERSAL BOARD

3. Now go to settings and select target. A dialog box will appear, in this dialog box select our controller named PIC16F877A, then click ok.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

16

ADVANCE TECHNOLGY

UNIVERSAL BOARD

4. Now go to settings and select toolsuit. A dialog box will again appear, in

this dialog box select C2C-plus, and then click ok.


Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 17

ADVANCE TECHNOLGY

UNIVERSAL BOARD

5. Now go to settings and select options. A dialog box will again appear with

a display name C2C-plus compiler option, now select tools, now go to assembler option and choose
Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 18

ADVANCE TECHNOLGY

UNIVERSAL BOARD

C:\PROGRA~1\MPLABI~1\MCHIP_~1\MPASMWIN.EXE /aINHX8M /p%target% /rHEX /w2 /q, then click ok. Then go to programmer option and choose C:\PROGRA~1\MATRIX~1\Common\PPPv3\PPPv3.exe Then click ok. BEFORE THESE ASSEMBLER AND PROGRAMMER SETTINGS YOU MUST INSTALL MPLAB IDE AND PPPV3.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

19

ADVANCE TECHNOLGY

UNIVERSAL BOARD

6. Now go to projects and select new, now specify the path where you want to save your project and name, click ok.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

20

ADVANCE TECHNOLGY

UNIVERSAL BOARD

7. A pop up box will appear you may select empty or with empty source file and click ok.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

21

ADVANCE TECHNOLGY

UNIVERSAL BOARD

8. Now write your program. After you had written your program go to build and first select compilers then assembler then build. Any error or warning will be displayed in the dialog box.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

22

ADVANCE TECHNOLGY

UNIVERSAL BOARD

9. Now after you had successfully created your .Hex file you would use an PIC programmer called PPPv3. Double Click on the icon present on the desktop.

10. Now go to options and select options then select version 2 and click ok.

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

23

ADVANCE TECHNOLGY

UNIVERSAL BOARD

11. After that go to options and select configure PICmicro and do the following displayed settings.

After that choose your hex file and select send to PICmicro.

**********Finish**********

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

24

ADVANCE TECHNOLGY

UNIVERSAL BOARD

EXPERIMENTS FOR PIC DAUGHTER BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

25

ADVANCE TECHNOLGY

UNIVERSAL BOARD

INDEX OF PIC EXPERIMENTS


No.
1. 2. 3. 4. 5. 6. 7. 8.

TOPIC
Program of Rotating LEDS Program of All Patterns On LEDS Program Of Seven Segment Program of LCD Program of LCD Segment Program of Relay Program Of Analog To Digital Converter Program Of Real Time Control

Page No.
26 27 29 30 33 37 40 44

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

26

ADVANCE TECHNOLGY EXPERIMENT NO:-1

UNIVERSAL BOARD

AIM: PROGRAM OF ROTATING_LEDS


CONNECTIONS:

Connect PORT B to LED section.


include<system.h> void delay(void) { int d; for(d=0;d<30000;d++); } void main(void) { int a; trisb=0x00; while(1) { portb=0x01; delay(); for(a=0;a<7;a++) { portb=portb<<1; delay(); } } }

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

27

ADVANCE TECHNOLGY EXPERIMENT NO:-2

UNIVERSAL BOARD

AIM: PROGRAM OF ALL PATTERNS ON LEDS


CONNECTIONS:

Connect PORT B to LED section.


#include<system.h> void main(void) { unsigned int i,k,l; unsigned int t; while(1) { for(k=0;k<=1;k++) { portb=0x01; for(i=0;i<=6;i++) { portb=portb<<1; for(t=0;t<=20000;t++) {} } portb=0xFF; for(t=0;t<=25000;t++) {} portb=0x00; for(t=0;t<=25000;t++) {} portb=0xFF; for(t=0;t<=25000;t++) {} portb=0x80; for(i=0;i<=6;i++) { portb=portb>>1; for(t=0;t<=20000;t++) {} } } for(l=0;l<=1;l++) { portb=0x18; for(t=0;t<=28000;t++) {} portb=0x24; Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

28

ADVANCE TECHNOLGY for(t=0;t<=28000;t++) {} portb=0x42; for(t=0;t<=28000;t++) {} portb=0x81; for(t=0;t<=28000;t++) {} portb=0x42; for(t=0;t<=28000;t++) {} portb=0x24; for(t=0;t<=28000;t++) {} portb=0x18; for(t=0;t<=28000;t++) {} } } }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

29

ADVANCE TECHNOLGY EXPERIMENT NO:-3

UNIVERSAL BOARD

AIM: PROGRAM OF SEVEN SEGMENTS CONNECTIONS: Connect PORT B to CONTROL of 7-Segment section. Connect PORT C to DATA of 7-Segment section.

#include<system.h> char digit[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xe7}; void delay(void) { int d; for(d=0;d<100;d++); } void main(void) { int a,b,c,d,e; trisb=0x00; trisc=0x00; while(1) { for(b=0;b<10;b++) { for(c=0;c<10;c++) { for(d=0;d<10;d++) { for(e=0;e<10;e++) { for(a=0;a<40;a++) { portb=0x08; portc=digit[b]; delay(); portb=0x04; portc=digit[c]; delay(); portb=0x02; portc=digit[d]; delay(); portb=0x01; portc=digit[e]; delay(); }} } } } }} Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 30

ADVANCE TECHNOLGY EXPERIMENT NO:-4 AIM: PROGRAM OF LCD CONNECTIONS: Connect PORT B to JP2 of LCD section. Connect PORT C to JP5 of LCD section.

UNIVERSAL BOARD

#include<system.h> void delay(void); void conwrt(void); void datwrt(void); void main(void) { trisc=0x00; trisb=0x00; portb=0x38; conwrt(); delay(); portb=0x0E; conwrt(); delay(); portb=0x01; conwrt(); delay(); portb=0x06; conwrt(); delay(); while(1) { portb=0x84; conwrt(); delay(); portb='A'; datwrt(); delay(); portb='D'; datwrt(); delay(); portb='V'; datwrt(); delay(); portb='A'; datwrt(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 31

ADVANCE TECHNOLGY delay(); portb='N'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb='E'; datwrt(); delay(); portb=0xC3; conwrt(); delay(); portb='T'; datwrt(); delay(); portb='E'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb='H'; datwrt(); delay(); portb='N'; datwrt(); delay(); portb='O'; datwrt(); delay(); portb='L'; datwrt(); delay(); portb='O'; datwrt(); delay(); portb='G'; datwrt(); delay(); portb='Y'; datwrt(); delay(); }

UNIVERSAL BOARD

} void delay(void) Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

32

ADVANCE TECHNOLGY { int d; for(d=0;d<3000;d++); } void conwrt(void) { portc=0x00; delay(); portc=0x02; delay(); portc=0x00; delay(); } void datwrt(void) { portc=0x01; delay(); portc=0x03; delay(); portc=0x01; delay(); }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

33

ADVANCE TECHNOLGY EXPERIMENT NO:-5

UNIVERSAL BOARD

AIM: PROGRAM OF LCD_SEGMENTS CONNECTIONS: Connect PORT B to JP2 of LCD section. Connect PORT C to JP5 of LCD section.

#include<system.h> void delay(void); void delay1(unsigned int); void conwrt(void); void datwrt(void); void main(void) { int i; trisc=0x00; trisb=0x00; trisa=0x00; trisd=0x00; portb=0x38; conwrt(); delay(); portb=0x0c; conwrt(); delay(); portb=0x01; conwrt(); delay(); portb=0x06; conwrt(); delay(); portb=0x82; conwrt(); delay(); portb='A'; datwrt(); delay(); portb='D'; datwrt(); delay(); portb='V'; datwrt(); delay(); portb='A'; datwrt(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 34

ADVANCE TECHNOLGY

UNIVERSAL BOARD

delay(); portb='N'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb='E'; datwrt(); delay(); portb=' '; datwrt(); delay(); portb='T'; datwrt(); delay(); portb='E'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb='H'; datwrt(); delay(); portb='.'; datwrt(); delay(); portb=0xC3; conwrt(); delay(); portb='P'; datwrt(); delay(); portb='I'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb=' '; datwrt(); delay(); portb='M'; datwrt(); delay(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

35

ADVANCE TECHNOLGY portb='O'; datwrt(); delay(); portb='D'; datwrt(); delay(); portb='U'; datwrt(); delay(); portb='L'; datwrt(); delay(); portb='E'; datwrt(); delay(); while(1) { for(i=0;i<500;i++) { porta=0x04; portd=0xf3; delay1(15); porta=0x02; portd=0x86; delay1(15); porta=0x01; portd=0xb9; delay1(15); } porta=0x00; delay1(45000); } }

UNIVERSAL BOARD

void delay(void) { int d; for(d=0;d<3000;d++); } void conwrt(void) { portc=0x00; delay(); portc=0x02; delay(); portc=0x00; Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

36

ADVANCE TECHNOLGY delay(); } void datwrt(void) { portc=0x01; delay(); portc=0x03; delay(); portc=0x01; delay(); } void delay1(unsigned int x) { unsigned int a; for(a=0;a<x;a++); }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

37

ADVANCE TECHNOLGY EXPERIMENT NO:-6 AIM: PROGRAM OF RELAY CONNECTIONS: Connect PORT B to JP5 of LCD section. Connect PORT C to JP2 of LCD section. Connect PORT D to RELAY section.

UNIVERSAL BOARD

#include<system.h> //#include<string.h> unsigned char arr1[10]={'R','E','L','A','Y',' ','1',' ','O','N'}; unsigned char arr2[10]={'R','E','L','A','Y',' ','2',' ','O','N'}; unsigned char arr3[11]={'R','E','L','A','Y',' ','1',' ','O','F','F'}; unsigned char arr4[11]={'R','E','L','A','Y',' ','2',' ','O','F','F'}; void long_delay(int); void delay(void); void conwrt(void); void datwrt(void); void main(void) { int i; trisc=0x00; trisb=0x00; trisd=0x00; long_delay(100); while(1) { portb=0x38; conwrt(); delay(); portb=0x0E; conwrt(); delay(); portb=0x01; conwrt(); delay(); portb=0x06; conwrt(); delay(); portb=0x83; conwrt(); delay(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 38

ADVANCE TECHNOLGY portd=0x02; for(i=0;i<10;i++) { portb=arr1[i]; datwrt(); } long_delay(200); portd=0x06; portb=0x83; conwrt(); for(i=0;i<10;i++) { portb=arr2[i]; datwrt(); } long_delay(200); portd=0x04; portb=0x83; conwrt(); for(i=0;i<11;i++) { portb=arr3[i]; datwrt(); } long_delay(200); portd=0x00; portb=0x83; conwrt(); for(i=0;i<11;i++) { portb=arr4[i]; datwrt(); } long_delay(200); } } void long_delay(int i) { int ii; for(ii=0;ii<i;ii++) delay(); }

UNIVERSAL BOARD

void delay(void) Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

39

ADVANCE TECHNOLGY { int d; for(d=0;d<3000;d++); } void conwrt(void) { portc=0x00; delay(); portc=0x02; delay(); portc=0x00; delay(); } void datwrt(void) { portc=0x01; delay(); portc=0x03; delay(); portc=0x01; delay(); }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

40

ADVANCE TECHNOLGY EXPERIMENT NO:-7

UNIVERSAL BOARD

AIM: PROGRAM OF ANALOG TO DIGITAL CONVERTOR CONNECTIONS: Connect PORT B to JP5 of LCD section. Connect PORT D to JP2 of LCD section.

#include<system.h> void delay(void); void delay1(void); int dat(int,int); void conwrt(void); void datwrt(void); void lcd_init(void); void display_lcd(int); void main(void) { unsigned int x; int y; trisd=0x00; while(1) { adcon1=0x80; adcon0=0x41; pir1=0x00; delay(); adcon0=adcon0|0x04; while(!((pir1&0x40)==0x40)); x=dat(adresl,adresh); x=x*49; lcd_init(); display_lcd(x); delay1(); } } void delay(void) { int i; for(i=0;i<5;i++); } void delay1(void) { Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 41

ADVANCE TECHNOLGY int i; for(i=0;i<32000;i++); } int dat(int x,int y) { int a; int b,c; b=(y&0x01)*256; c=((y>>1)&0x01)*512; a=x+b+c; return a; } void conwrt(void) { portd=0x00; delay(); portd=0x02; delay(); portd=0x00; delay(); } void datwrt(void) { portd=0x01; delay(); portd=0x03; delay(); portd=0x01; delay(); } void lcd_init(void) { trisb=0x00; portb=0x38; conwrt(); delay(); portb=0x0c; conwrt(); delay(); portb=0x01; conwrt(); delay(); portb=0x06; conwrt(); delay();

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

42

ADVANCE TECHNOLGY

UNIVERSAL BOARD

} void display_lcd( int x) { int a1,a2,a3,a4,a5,a6; a1=x%10; x=x/10; a2=x%10; x=x/10; a3=x%10; x=x/10; a4=x%10; x=x/10; a5=x%10; a6=x/10; portb=0x84; conwrt(); delay(); portb='A'; datwrt(); delay(); portb='D'; datwrt(); delay(); portb='V'; datwrt(); delay(); portb='A'; datwrt(); delay(); portb='N'; datwrt(); delay(); portb='C'; datwrt(); delay(); portb='E'; datwrt(); delay(); portb=0xc3; conwrt(); delay(); portb='C'; datwrt(); delay(); portb='H'; datwrt(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

43

ADVANCE TECHNOLGY delay(); portb='0'; datwrt(); delay(); portb=':'; datwrt(); delay(); portb=' '; datwrt(); delay(); portb=a5+0x30; datwrt(); delay(); portb='.'; datwrt(); delay(); portb=a4+0x30; datwrt(); delay(); portb=a3+0x30; datwrt(); delay(); portb=a2+0x30; datwrt(); delay(); portb=a1+0x30; datwrt(); delay(); portb='V'; datwrt(); delay(); }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

44

ADVANCE TECHNOLGY EXPERIMENT NO:-8

UNIVERSAL BOARD

AIM: PROGRAM OF REAL TIME CONTROL CONNECTIONS: Connect PORT B to JP5 of LCD section. Connect PORT D to JP2 of LCD section.

#include<system.h> unsigned char binarytime(unsigned char); unsigned char bcdtime(unsigned char); void conwrt(void); void datwrt(void); void lcd_init(void); void delay(); void disp(unsigned char); void disptitle(void); void getrtc(void); void setrtc(void); unsigned char ch[7]={0,0,0,0,0,0,0}; void main(void) { int i,a,b; trisc=0x00;//0x18; for(i=0;i<=2000;i++); lcd_init(); disptitle(); ch[0]=bcdtime(01)&0x7F; //seconds. ch[1]=bcdtime(20)&0x7F; //minutes. ch[2]=bcdtime(4)&0x3F; //hour. ch[3]=bcdtime(4)&0x07; //day. ch[4]=bcdtime(13)&0x3F; //date. ch[5]=bcdtime(2)&0x1F; //month. ch[6]=bcdtime(6); //year setrtc(); while(1) getrtc(); } Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net 45

ADVANCE TECHNOLGY

UNIVERSAL BOARD

void setrtc(void) { sspcon=0x28; sspadd=0x09;//0x09; sspstat=0x80;//0x80; sspcon2=0x01; //SEN BIT START bit delay(); while((pir1&0x08)!=0x08); //sspif pin flag pin & write mode. sspbuf=0xD0; //Adress of the rtc. pir1=pir1&0xF7;//* delay(); while((pir1&0x08)!=0x08);//* sspbuf=0x00; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[0]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[1]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[2]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[3]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[4]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. sspbuf=ch[5]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

46

ADVANCE TECHNOLGY //delay();//* while((pir1&0x08)!=0x08);

UNIVERSAL BOARD

//wait for sspif flag till end of byte.

sspbuf=ch[6]; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag //delay();//* while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. pir1=pir1&0xF7; sspcon2=0x04;//* while((pir1&0x08)!=0x08);//wait for sspif to show that stop bit has been received. pir1=pir1&0xF7; //Clear the sspif bit. } void getrtc(void) { sspcon=0x28; sspadd=0x09;//0x09; sspstat=0x80;//0x80; sspcon2=0x01; //SEN BIT START bit delay(); while((pir1&0x08)!=0x08); //sspif pin flag pin & write mode. sspbuf=0xD0; //Adress of the rtc. pir1=pir1&0xF7;//* delay(); while((pir1&0x08)!=0x08);//* sspbuf=0x00; //Register address in the RTC. pir1=pir1&0xF7; //clear sspif flag while((pir1&0x08)!=0x08); //wait for sspif flag till end of byte. pir1=pir1&0xF7; //clear sspif flag. sspcon2=0x04;//* while((pir1&0x08)!=0x08);//wait for sspif to show that stop bit has been received. pir1=pir1&0xF7; //Clear the sspif bit. sspcon2=0x01; //**** //START bit while((pir1&0x08)!=0x08); //sspif pin flag pin sspbuf=0xD1; // Read mode pir1=pir1&0xF7; //sspif flag is cleared. while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //sspif flag is cleared. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[0]=sspbuf; //read SECONDS from buffer. //second=sspbuf; pir1=pir1&0xF7; //clear sspif flag. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

47

ADVANCE TECHNOLGY

UNIVERSAL BOARD

sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[1]=sspbuf; //Read Minutes. //minute=sspbuf; pir1=pir1&0xF7; //sspif bit is reset. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[2]=sspbuf; //Read Hours. //hour=sspbuf; pir1=pir1&0xF7; //sspif bit is reset. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[3]=sspbuf; //Read //day=sspbuf; pir1=pir1&0xF7; //sspif bit is reset. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[4]=sspbuf; //Read //date=sspbuf; pir1=pir1&0xF7; //sspif bit is reset. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[5]=sspbuf; //Read //month=sspbuf; pir1=pir1&0xF7; //sspif bit is reset. sspcon2=sspcon2&0xDF; //ackdt pin is reset to send ack. sspcon2=sspcon2|0x10;//* Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

48

ADVANCE TECHNOLGY

UNIVERSAL BOARD

while((pir1&0x08)!=0x08); //wait for sspif flag. sspcon2=sspcon2|0x08; //rcen bit is set,enable receiver mode. pir1=pir1&0xF7; //clear sspif flag. while((pir1&0x08)!=0x08); //wait for sspif flag. ch[6]=sspbuf; //Read //year=sspbuf; pir1=pir1&0xF7; //Clear the sspif flag. sspcon2=sspcon2|0x20; //ackdt pin is set,for NACK. sspcon2=sspcon2|0x10;//* while((pir1&0x08)!=0x08); //Wait for sspif flag. pir1=pir1&0xF7; //Clear sspif flag. sspcon2=sspcon2|0x04; //pen bit is set to initiate stop condition. while((pir1&0x08)!=0x08); pir1=pir1&0xF7; portb=0xC0; conwrt(); disp(ch[2]&0x3F); portb=':'; datwrt(); disp(ch[1]&0x7F); portb=':'; datwrt(); disp(ch[0]&0x7F); }

void disptitle(void) { portb=0x80; conwrt(); portb='H'; datwrt(); portb='H'; datwrt(); portb=' '; datwrt(); portb='M'; datwrt(); portb='M'; datwrt(); portb=' '; datwrt(); portb='S'; datwrt(); portb='S'; Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

49

ADVANCE TECHNOLGY datwrt(); } void disp(unsigned char chh) { int aa; chh=binarytime(chh); aa=chh/10; portb=aa+0x30; datwrt(); aa=chh%10; portb=aa+0x30; datwrt(); } void conwrt(void) { portd=0x00; delay(); portd=0x02; delay(); portd=0x00; delay(); } void datwrt(void) { portd=0x01; delay(); portd=0x03; delay(); portd=0x01; delay(); }

UNIVERSAL BOARD

void lcd_init(void) { trisd=0x00; trisb=0x00; portb=0x38; conwrt(); delay(); portb=0x0C; conwrt(); delay(); Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

50

ADVANCE TECHNOLGY portb=0x01; conwrt(); delay(); portb=0x06; conwrt(); delay(); portb=0x83; conwrt(); delay(); } unsigned char binarytime(unsigned char x) { return(((x>>4)*10)+(x&0x0f)); } unsigned char bcdtime(unsigned char x) { return(((x/10)<<4)+(x%10)); } void delay() { int a; for(a=0;a<1000;a++); }

UNIVERSAL BOARD

Advance Technology, SCO-160, 1st Floor, Sec-24D, Chandigarh. Ph. 0172-5086213 Email: - adixit@reliancemail.net

51

Вам также может понравиться