syncfusion pdf viewer mvc : Convert multiple pdf to jpg online application control tool html azure asp.net online Introduction.to.Mechatronics.and.Measurement.Systems32-part1621

7.7 Interfacing Common PIC Peripherals 
301
' Check column 3
High col1 : High col2 : Low col3
If (row1 == 0) Then
' key 3 is down
Endif
If (row2 == 0) Then
' key 6 is down
Endif
If (row3 == 0) Then
' key 9 is down
Endif
If (row4 == 0) Then
' key # is down
Endif
' Continue polling
Goto loop
End     
Lab Exercise 11 explores how to wire and accept input from a numeric keypad. 
In this case, three keys of a keypad are used to control the motion of a DC motor. 
Video Demo 7.4 shows a demonstration of the example in action.
7.7.2 LCD Display  
The other common peripheral device we want to highlight is a standard Hitachi 
44780-based  liquid crystal display (LCD).  LCDs come in different shapes and 
sizes that can support different numbers of rows of text and different numbers of 
characters per row. The standard choices for the number of characters and rows are 
 ×  2, 16  ×  1, 16  ×  2, 16  ×  4, 20  ×  2, 24  ×  2, 40  ×  2, and 40  ×  4. An example of 
a common 20  ×  2 LCD is shown in  Figure 7.12 . It is illustrated schematically in the 
top of  Figure 7.13 . Applications of LCDs include displaying messages or informa-
tion to the user (e.g., a home thermostat display, a microwave oven display, or a digi-
selections (e.g., a copy machine or printer display). 
For an LCD display with 80 characters or less (all but the 40  ×  4 just listed), 
the display is controlled via 14 pins. The names and descriptions of these pins are 
listed in  Table 7.6 . PicBasic Pro offers a simple statement called  Lcdout  to control 
an LCD display. LCD displays with more than 80 characters (40  ×  4) use a 16-pin 
header with different pin assignments not compatible with  Lcdout.  A 14-pin LCD 
ut it is 
Figure 7.13  shows the recommended interface to the PIC using a four-line data bus. 
V through 
a pull-up resistor because it is an open drain output (see details in  Section 7.8 ). 
The potentiometer connected to   
ee
is used to adjust the contrast between the 
V
i
d
e
o
D
e
m
o
7.4Pulse-
width-modulation 
speed control of 
a DC motor, with 
keypad input
L
a
b
E
x
e
r
c
i
s
e
Lab 11Pulse-
width-modulation 
motor speed 
control with a 
PIC
Convert pdf page to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
best program to convert pdf to jpg; reader pdf to jpeg
Convert pdf page to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
c# pdf to jpg; convert pdf file into jpg
Figure 7.12 Photograph of an LCD. 
Figure 7.13 LCD PIC interface. 
PIC16F84
RA1
RA0
OSC1
OSC2
V
dd
RB7
RB6
RB5
RB4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
5 V
22 pF
22 pF
4 MHz
1 k
5 V
0.1 μF
20 × 2 LCD character display
V
ss
V
cc
V
ee
RSR/W E
DB4 DB5 5 DB6 6 DB7
1
2
3
4
5
6
11 12
13
14
5 V
5 V
20 k
pot
5 V
1 k
RA2
RA3
RA4
MCLR
V
ss
RB0
RB1
RB2
RB3
302 
CHAPTER 7 
Microcontroller Programming and Interfacing
foreground and background shades of the display. The RS, R/W, and E lines are 
Detailed information about LCD displays and how to write your own interface can 
be found online (see Internet Link 7.7). 
I
n
t
e
r
n
e
t
L
i
n
k
7.7PIC I/O 
interface devices 
and useful 
accessories
C# Create PDF from images Library to convert Jpeg, png images to
Batch convert PDF documents from multiple image formats, including Jpg, Png, Bmp, Gif, Tiff Any piece of area is able to be cropped and pasted to PDF page.
convert .pdf to .jpg; convert pdf to jpg c#
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
This demo code just converts first page to jpeg image. String inputFilePath = @"C:\input.pdf"; String outputFilePath = @"C:\output.jpg"; // Convert PDF to jpg.
best pdf to jpg converter for; convert pdf to gif or jpg
7.7 Interfacing Common PIC Peripherals 
303
With the hardware interface shown in  Figure 7.13 , the display can be controlled 
with the PicBasic Pro statement  Lcdout.  The simplest form of this statement is  Lcd-
out text  (e.g.,  Lcdout “Hello world” ) where  text  is a string constant. The statement 
also supports various commands for controlling the display and cursor and for out-
putting numbers and data in different formats. Refer to the description of the  Lcd-
out 
options. Here is a simple example to illustrate the use of the commands and format 
controls. If  x  is defined as a byte variable and currently contains the value 123, the 
following statement,
Lcdout $FE, 1, "Current value for x:", $FE, $C0, " ", DEC x    
would clear the display and output the following two-line message:
Current value for x:
123 
The code word  $FE  indicates to the display that the next item is a command. In the 
example above, command  1  clears the display and command  $C0  moves the cursor 
to the beginning of the next line. The prefix  DEC  is used to instruct the display to 
output the following number in its decimal digit form rather than its corresponding 
ASCII character. Video Demo 7.5 shows a demonstration of the example  Lcdout  
statement above, where the displayed number is incremented by a  For  loop .
V
i
d
e
o
D
e
m
o
7.5LCD display
Table 7.6 Liquid crystal display pin descriptions
Pin
Symbol
Description
1
V
ss
Ground reference
2
V
cc
Power supply (5 V)
3
V
ee
Contrast adjustment voltage
4
RS
Register select (0: instruction input; 1: data input)
5
R/W
Read/write status (0: write to LCD; 1: read from LCD RAM)
6
E
Enable signal
7–14
DB0–DB7
Data bus lines
THREADED DESIGN EXAMPLE 
DC motor position and speed controller—Keypad and LCD interfaces  
C.2 
The figure that follows shows the functional diagram for Threaded Design Example C 
(see Section 1.3 and Video Demo 1.8), with the portion described here highlighted. 
The schematic on the next page shows the components and connections for this part of 
the design. A special integrated circuit available from E-Lab ( see  Internet Link 7.8) called the 
EDE1144 keypad decoder is used to monitor keypresses on the keypad and transmit them to 
the PIC via a serial interface. Detailed information about this device can be found in the data 
sheet ( see  Internet Link 7.9). The EDE1144, in addition to monitoring and transmitting key-
press information, provides audio feedback to the user when a buzzer is connected as shown. 
The Beep signal switches the transistor on and off, causing the buzzer to oscillate. The LED in 
(continued )
C# Image Convert: How to Convert Tiff Image to Jpeg, Png, Bmp, &
RasterEdge.XDoc.Office.Inner.Office03.dll. RasterEdge.XDoc.PDF.dll. RasterEdge.XDoc. PowerPoint.dll. This demo code will convert first page to jpeg image.
change pdf to jpg online; pdf to jpg
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
Convert PDF to Jpg, Png, Bmp, Gif, Tiff and Bitmap in ASP.NET. Dim page As PDFPage = doc.GetPage(0) ' Convert the first PDF page to a PNG file.
changing pdf file to jpg; change from pdf to jpg on
microcontrollers
SLAVE
PIC
MASTER
PIC
H-bridge
driver
liquid crystal display
DC motor with
digital position encoder
quadrature
decoder
and counter
1
2
3
4
5
6
7
8
9
*
0
#
keypad
keypad
decoder
button
buzzer
304 
CHAPTER 7 
Microcontroller Programming and Interfacing
parallel with the buzzer provides a visual cue that a keypad button is being pressed. The LCD 
is wired in the standard way shown in  Figure 7.13 , allowing convenient use of the PicBasic 
Pro statement:  Lcdout. 
  Presented beloey-
pad and display a menu-driven user interface on the LCD. The remainder of the code will be pre-
sented in Threaded Design Example C.3. The  Serin  command in the first line of the “main” loop 
waits for keypress data to be transmitted from the EDE1144. The set of  If  statements then 
dispatches the appropriate subroutine based on the user selection. Again, more details will be 
shown in Threaded Design Example C.3.
V
i
d
e
o
D
e
m
o
1.8 DC motor 
position and 
speed controller 
I
n
t
e
r
n
e
t
L
i
n
k
7.8E-Lab, Inc.
7.9EDE1144 
keypad decoder
(continued )
' Define I/O pin name
key_serial Var PORTB.0 
' keypad serial interface input
' Declare Variables
key_value Var BYTE 
' code byte from the keypad
' Define constants
key_mode Con 0 
 2400 baud mode for serial connection to 
keypad.
key_1 Con $30 
' hex code for the 1-key on the keypad
key_2 Con $31 
' hex code for the 2-key on the keypad
key_3 Con $32 
' hex code for the 3-key on the keypad
' Wait for a keypad button to be pressed (i.e., polling loop)
Gosub main_menu 
' display the main menu on the LCD
main:
Serin key_serial, key_mode, key_value
If (key_value = key_1) Then
Gosub position
Else
If (key_value = key_2) Then
Gosub speed
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
Image from PDF Page. Image: Copy, Paste, Cut Image in Page. with high quality, support converting PDF to PNG, JPG, BMP and GIF. Convert PDF to Word DOCX document.
convert pdf to jpeg on; change format from pdf to jpg
VB.NET Create PDF from images Library to convert Jpeg, png images
Components to batch convert PDF documents in Visual Basic .NET image formats in VB.NET, including Jpg, Png, Bmp Crop and paste specified image area to PDF page.
convert pdf to jpg; convert pdf page to jpg
Else
If (key_value = key_3) Then
Gosub adjust_gains
Endif : Endif : Endif
Goto main 
' continue polling keypad buttons
End ' end of main program
' Subroutine to display the main menu on the LCD
main_menu:
Lcdout $FE, 1, "Main Menu:"
Lcdout $FE, $C0, "1:pos. 2:speed 3:gain"
Return
20 × 2 LCD character display
V
ss
V
cc
V
ee
RSR/W E
DB4 DB5 5 DB6 6 DB7
1
2
3
4
5
6
11 12
13
14
5 V
5 V
20 k
pot
5 V V 1 k
PIC16F88
RA1
RA0
RA7
CLKO
V
dd
RB7
RB6
RB5
RB4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
RA2
RA3
RA4
RA5
V
ss
RB0
RB1
RB2
RB3
1
2
3
4
5
6
7
8
9
*
0
#
1
2
3
4
5
6
7
keypad
EDE1144
XMIT
+5V
GND
R0
R1
R2
R3
Beep
Valid
OSC1
C3
C2
C1
C0
OSC2
1
3, 4, 14
2, 5
6
7
8
9
10
11
12
13
4.7 kΩ
4.7 kΩ
330 Ω
1 kΩ
330 Ω
15
16
18
5 V
5V
buzzer
2N2222
LED
7.7 Interfacing Common PIC Peripherals 
305
C# WPF PDF Viewer SDK to convert and export PDF document to other
from PDF Page. Image: Copy, Paste, Cut Image in Page. Link: Edit with high quality, support converting PDF to PNG, JPG, BMP and Convert PDF to Word DOCX document
convert pdf file to jpg; convert .pdf to .jpg online
C# TIFF: C#.NET Code to Convert JPEG Images to TIFF
and REImage object to single or multi-page Tiff image Use C# Code to Convert Jpeg to Tiff. string[] imagePaths = { @"C:\demo1.jpg", @"C:\demo2.jpg", @"C:\demo3
batch convert pdf to jpg; convert pdf image to jpg
306 
CHAPTER 7 
Microcontroller Programming and Interfacing
7.8 INTERFACING TO THE PIC 
In this section, we discuss interfacing the PIC to a variety of input and output devices. 
As we saw in  Section 7.5.1 , each pin in the I/O ports may be configured in software 
as an input or an output. In addition, the port pins may be multiplexed with other 
functions to use additional features of the PIC. In this section, we examine the elec-
tronic schematics of the different input and output ports of the PIC16F84. The ports 
are different combinations of TTL and CMOS devices and have voltage and current 
limitations that must be considered when interfacing other devices to the PIC. You 
should first refer to Section 6.11 to review details of TTL and CMOS equivalent 
output circuits and open drain outputs. 
We be
vidually. PORTA is a 5-bit-wide latch with the pins denoted by RA0 through RA4. 
The block diagram for pins RA0 through RA3 is shown in  Figure 7.14 , and the block 
diagram for pin RA4 is shown in  Figure 7.15 . The five LSBs of the TRISA register 
configure the 5-bit-wide latch for input or output. Setting a TRISA bit high causes 
the corresponding PORTA pin to function as an input, and the CMOS output driver 
is in high impedance mode, essentially removing it from the circuit. Reading the 
PORTA register accesses the pin values. Clearing a TRISA bit low causes the cor-
responding PORTA pin to serve as an output, and the data on the data latch appears 
on the pin. RA4 is slightly different in that it has a Schmitt trigger input buffer that 
triggers with a distinct transition even for a slowly changing and/or noisy input 
(see Section 6.12.2). Also, the output configuration of RA4 is open drain, and exter-
nal components (e.g., a pull-up resistor to power) are required to complete the output 
circuit. 
PORTB is also bidirectional but is 8 bits wide. Its data direction register is 
denoted by TRISB.  Figure 7.16  shows the schematic for pins RB4 through RB7, and 
Figure 7.17  shows pins RB0 through RB3. A high on any bit of the TRISB register 
ver. 
A low on any bit of the TRISB register places the contents of the data latch on the 
selected output pin. Furthermore, all of the PORTB pins have  weak pull-up  FETs. 
These FETs are controlled by a single control bit called    RBPU  (active low register B 
pull-up). When this bit is low the FET acts like a weak pull-up resistor. This pull-up 
is automatically disabled when the port pin is configured as an output.    RBPU  can be 
set in software through the OPTION_REG special purpose register (see  Section 7.6 ). 
7.8.1 Digital Input to the PIC 
Figure 7.18  illustrates how to properly interface different types of components and 
digital families of devices as inputs to the PIC. All I/O pins of the PIC that are con-
figured as inputs interface through a TTL input buffer (pins RA0 through RA3 and 
pins RB0 through RB7) or Schmitt trigger input buffer (RA4). The Schmitt trigger 
enhances noise immunity for a slowly changing input signal. Because an input pin 
is TTL buffered in the PIC, interfacing a TTL gate or device to the PIC can be done 
directly unless it is has an open-collector output. In this case, an external pull-up 
resistor is required. Because the output of a 5 V powered CMOS device swings 
Figure 7.16 Block diagram for pins 
RB4 through RB7.  (Courtesy of Microchip 
Technology, Inc., Chandler, AZ)  
D
O
CK
D
O
CK
O
EN
D
O
EN
D
Data bus
Data Latch
TRIS Latch
Latch
Weak
pull-up
I/O
Port
TTL
Input
Buffer
V
DD
WR Port
WR TRIS
RD Port
RD TRIS
RD Port
Sot RBIF
Fromators
RB7:RB4 pins
P
RBPU*
Note  1: TRISB = ‘1’ enables weak pull-up
(RBPU* = ‘0’ in the OPTION_REG register)
2: I/O pins have diode protection to V
DD
and V
SS
Figure 7.14 Block diagram for pins 
RA0 through RA3.  (Courtesy of Microchip 
Technology, Inc., Chandler, AZ)     
D
O
O
CK
D
O
D
O
EN
TRIS Latch
Data Latch
TTL
Input
buffer
I/O pin
V
CD
V
SS
Data
bus
WR
Port
WR
TRIS
RD TRIS
RD PORT
P
N
Note: I/O pins have protection diodes to V
CD
and V
SS
.
O
CK
Figure 7.15 Block diagram for pin 
RA4.  (Courtesy of Microchip Technology, 
Inc., Chandler, AZ)     
D
O
CK
D
O
D
O
EN
TRIS Latch
Data Latch
Schmitt
Trigger
input
buffer
RA4 pin
V
SS
Data
bus
WR
PORT
WR
TRIS
RD TRIS
RD PORT
TMRO clock input
N
Note: I/O pin has protection diodes to V
SS
only.
O
CK
O
Figure 7.17 Block diagram for pins 
RB0 through RB3.  (Courtesy of Microchip 
Technology, Inc., Chandler, AZ)  
D
O
CK
D
O
CK
O
EN
D
Data bus
Data Latch
RBPU*
TRIS Latch
Weak
pull-up
I/O
Port
TTL
Input
Buffer
V
CD
WR Port
WR TRIS
RD TRIS
RD Port
RD Port
RECONT
Note  1: TRISB = ‘1’ enables weak pull-up
(RBPU* = ‘0’ in the OPTION_REG register)
2: I/O pins have diode protection to V
CD
and V
SS
.
Schmitt trigger
buffer
P
7.8 Interfacing to the PIC  
307
Figure 7.18 Interface circuits for input devices 
input device
PIC input pin
5 V
RB0 through RB7
weak pull-up
switch
TTL
CMOS (5 V)
slowly changing
or noisy
digital signal
RA0 through RA4
or RB0 through RB7
TTL buffers
RA4
Schmitt trigger
buffer
5 V
open-collector TTL
or open-drain CMOS
308 
CHAPTER 7 
Microcontroller Programming and Interfacing
nearly from 0 to 5 V, the device will drive a PIC input directly. The weak pull-up 
ey-
pads for input (see  Section 7.7 ). The pull-up FET maintains a 5 V input until the 
switch is closed, bringing the input low. Although a TTL input usually floats high 
if it is open, the FET pull-up option is useful, because it simplifies the interface 
to external devices (e.g., keypad input). Finally, one must be aware of the current 
specifications of the PIC input and output pins. For the PIC16F84, there is a 25 mA 
sink maximum per pin with a 80 mA maximum for the entire PORTA and a 150 mA 
maximum for PORTB.      
7.8.2 Digital Output from the PIC 
Figure 7.19  illustrates how to properly interface different types of components and 
digital families of devices to outputs from the PIC. Pins RA0 through RA3 have full 
CMOS output drivers, and RA4 has an open-drain output. RB0 through RB7 are 
TTL buffered output drivers. A 20 mA maximum current is sourced per pin with a 
50 mA maximum current sourced by the entire PORTA and a 100 mA maximum 
for PORTB. CMOS outputs can drive single CMOS or TTL devices directly. TTL 
outputs can drive single TTL devices directly but require a pull-up resistor to pro-
vide an adequate high-level voltage to a CMOS device. To drive multiple TTL or 
CMOS devices, a buffer can be used to provide adequate current for the fan-out. 
Because pin RA4 is an open-drain output, external power is required. Note that when 
RA4 is high, the output pin is grounded to  V
ss 
, switching the small current load on, 
and when RA4 is low, the output is an open circuit, switching the load off. When 
interfacing transistors, power transistors, and relays, current requirements must be 
considered for a proper interface. If the PIC contains a D/A converter, it can be used 
with an amplifier to drive an analog load directly. Otherwise, as shown in the figure, 
an external D/A IC can be used with the digital I/O ports. 
Figure 7.19 Interface circuits for output devices. 
output device
PIC output pin
CMOS
CMOS
or TTL
CMOS
or TTL
CMOS
or TTL
CMOS
or TTL
CMOS
or TTL
CMOS
or TTL
RA0 through RA3
RB0 through RB7
RA4
open drain
V
ss
small
current
load
load
load
V
supply
V
supply
V
supply
V
supply
load
BJT power
transistor
power
relay
n-channel
enhancement
power
MOSFET
RA0 through RA3
or RB0 through RB7
buffer
multiple
CMOS
or TTL
RA0 through RA3
or RB0 through RB7
RA0 through RA3
or RB0 through RB7
D/A
amplifier
load
5 V
CMOS
TTL
TTL
TTL
7.9 Method to Design a Microcontroller-Based System 
309
As an example of using a PIC digital output to control a high-current load, a 
power MOSFET is used to switch power to a DC motor in Lab Exercise 11. The 
voltage is actually switched on and off very quickly. To vary the speed of the motor, 
the percentage of on and off times (i.e., the  duty cycle ) is changed. This is called 
pulse-width modulation  (see Section 10.5.3 for more information).    
7.9  METHOD TO DESIGN A 
MICROCONTROLLER-BASED SYSTEM 
In all the examples presented in this chapter, the problems were simple, yielding 
short solutions to illustrate fundamental coding structures. Also, many design deci-
sions were included as part of the problem statements. In conceiving an altogether 
new design, it is advisable to follow a methodical design process that will take you 
embedded in application hardware. A design procedure we recommend follows. 
T
L
a
b
E
x
e
r
c
i
s
e
Lab 11Pulse-
width-modulation 
motor speed 
control with 
a PIC
310 
CHAPTER 7 
Microcontroller Programming and Interfacing
in Design Example 7.2. Lab Exercise 11 also shows the procedure applied to an 
example. 
1.   Define the problem.  State the problem in words to explain the desired func-
tionality of the device (i.e., what is the device supposed to do?).  
2.   Draw a functional diagram   Draw a block diagram that illustrates all of 
the major components of the design and shows how they are interconnected. 
Each component can be shown as a square with a descriptive label inside or, 
preferably
Use single lines to connect the components (regardless of the number of wires 
involved), and include arrowheads to indicate the direction of signal flow.  
3.   Identify I/O requirements.  List the types of inputs and outputs required and 
what functions need to be performed by the microcontroller. You need to iden-
digital outputs, A/D converters, D/A converters, and serial ports.  
4.   Select appropriate microcontroller models.  Based on the types and number 
of inputs and outputs identified in the previous step, choose one or more micro-
controllers that have sufficient on-chip resources. Another factor that influences 
If the program is very complex and the application requires significant data 
storage, then choose a microcontroller with ample memory capacity. If multiple 
(e.g., wait for a signal from another PIC to go high before doing something and 
then send another signal back when done) or PicBasic Pro’s  Serout  and  Serin  
Refer to manufacturer literature for a list of available models and capacities. 
Information for Microchip’s entire line of PIC microcontroller products can be 
flash-memory microcontrollers listed at   www.microchip.com  ).
5.   Identify necessary interface circuits.  Refer to the microcontroller input and 
output circuit specifications and use the information in  Section 7.8  to design 
appropriate interface circuitry utilizing pull-up resistors, buffers, transistors, 
relays, and amplifiers where required. Also, in cases that require many digital 
I/O lines, where the PIC(s) selected do not provide enough I/O pins, there are 
ways to interface to a large number of lines with a smaller set of pins. One 
approach is to use shift registers (e.g., the 74164, 74594, or 74595 for output, 
o for 
bits serially to or from an 8-bit register, providing eight lines of I/O. Another 
alternative when expanding your I/O capability is to use a device providing 
multiplexed programmable I/O ports (e.g., the Intel 82C55A programmable 
peripheral interface, or PPI). This type of device allows one I/O port to switch 
access among several I/O ports. With Intel’s 82C55A, 5 control lines and 8 
data lines provide access to 24 lines of general purpose, user-configurable I/O.  
I
n
t
e
r
n
e
t
L
i
n
k
7.10Microchip 
PIC flash product 
line
Documents you may be interested
Documents you may be interested