Professional Documents
Culture Documents
11
12
13
14
15
16
17
18
19
20
2. Simulasi Proteus
U2
LED-BARGRAPH-RED
20
24
23
51
50
49
48
47
46
45
44
35
36
37
38
39
40
41
42
62
64
XTAL1
XTAL2
PA0/AD0
PA1/AD1
PA2/AD2
PA3/AD3
PA4/AD4
PA5/AD5
PA6/AD6
PA7/AD7
PB0/SS
PB1/SCK
PB2/MOSI
PB3/MISO
PB4/OC0
PB5/OC1A
PB6/OC1B
PB7/OC2/OC1C
PC0/A8
PC1/A9
PC2/A10
PC3/A11
PC4/A12
PC5/A13
PC6/A14
PC7/A15
AREF
AVCC
PD0/SCL/INT0
PD1/SDA/INT1
PD2/RXD1/INT2
PD3/TXD1/INT3
PD4/ICP1
PD5/XCK1
PD6/T1
PD7/T2
PE0/RXD0/PDI
PE1/TXD0/PDO
PE2/XCK0/AIN0
PE3/OC3A/AIN1
PE4/OC3B/INT4
PE5/OC3C/INT5
PE6/T3/INT6
PE7/ICP3/INT7
PF0/ADC0
PF1/ADC1
PF2/ADC2
PF3/ADC3
PF4/ADC4/TCK
PF5/ADC5/TMS
PF6/ADC6/TDO
PF7/ADC7/TDI
PG0/WR
PG1/RD
PG2/ALE
PG3/TOSC2
PG4/TOSC1
PEN
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
61
60
59
58
57
56
55
54
Volts
+2.75
RV1
55%
10
11
12
13
14
15
16
17
RESET
10
9
8
7
6
5
4
3
2
1
U1
1k
33
34
43
18
19
1
ATMEGA128
3. DATA TABEL
No
1
2
3
4
5
6
7
8
9
10
11
12
Volt
0
0.1
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Data Biner
0000 0000
0000 0101
0001 1001
0011 0011
0100 1100
0110 0110
1000 0000
1001 1001
101 10011
1100 1100
1110 0110
1111 1111
Data Desimal
0
5
25
51
76
102
128
153
179
204
230
255
PERCOBAAN 2
Menampilkan data adc dan ditampilkan datanya ke Display LCD dalam bentuk BAR
1. PROGRAM
#include <mega128.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x20
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
void main(void)
{
int a,n,j;
DDRA=0XFF;
DDRD=0XFF;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
// LCD module initialization
lcd_init(16);
while (1)
{
a=read_adc(0);
PORTD=a;
n=a/(255/14);
lcd_clear();
lcd_putchar('E');
lcd_gotoxy(15,0);
lcd_putchar('F');
lcd_gotoxy(1,0);
for(j=1;j<=n;j++)
{
lcd_putchar(255);
}
delay_ms(300);
};
}
2. SIMULASI
PROTEUS
LCD1
D0
D1
D2
D3
D4
D5
D6
D7
U2
LED-BARGRAPH-RED
20
24
23
51
50
49
48
47
46
45
44
35
36
37
38
39
40
41
42
62
64
XTAL1
XTAL2
PA0/AD0
PA1/AD1
PA2/AD2
PA3/AD3
PA4/AD4
PA5/AD5
PA6/AD6
PA7/AD7
PB0/SS
PB1/SCK
PB2/MOSI
PB3/MISO
PB4/OC0
PB5/OC1A
PB6/OC1B
PB7/OC2/OC1C
PC0/A8
PC1/A9
PC2/A10
PC3/A11
PC4/A12
PC5/A13
PC6/A14
PC7/A15
AREF
AVCC
ATMEGA128
PD0/SCL/INT0
PD1/SDA/INT1
PD2/RXD1/INT2
PD3/TXD1/INT3
PD4/ICP1
PD5/XCK1
PD6/T1
PD7/T2
PE0/RXD0/PDI
PE1/TXD0/PDO
PE2/XCK0/AIN0
PE3/OC3A/AIN1
PE4/OC3B/INT4
PE5/OC3C/INT5
PE6/T3/INT6
PE7/ICP3/INT7
PF0/ADC0
PF1/ADC1
PF2/ADC2
PF3/ADC3
PF4/ADC4/TCK
PF5/ADC5/TMS
PF6/ADC6/TDO
PF7/ADC7/TDI
PG0/WR
PG1/RD
PG2/ALE
PG3/TOSC2
PG4/TOSC1
PEN
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
61
60
59
58
57
56
55
54
33
34
43
18
19
1
Volts
+1.75
RV1
35%
10
11
12
13
14
15
16
17
RESET
10
9
8
7
6
5
4
3
2
1
U1
7
8
9
10
11
12
13
14
RS
RW
E
4
5
6
1
2
3
VSS
VDD
VEE
11
12
13
14
15
16
17
18
19
20
LM016L
1k
PERCOBAAN 3
Menampilkan data adc dan ditampilkan datanya ke Display LCD dalam bentuk angka
decimal
1. PROGRAM
#include <mega128.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x20
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
//////////////////////////////////////////
void H2BCD(int bilangan)
{
int R,P,S;
R=bilangan/100;
P=(bilangan-(R*100))/10;
S=bilangan-(P*10)-(R*100);
lcd_putchar(R+0x30);
lcd_putchar(P+0x30);
lcd_putchar(S+0x30);
}
void main(void)
{
int a;
DDRA=0XFF;
DDRD=0XFF;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
// LCD module initialization
lcd_init(16);
while (1)
{
a=read_adc(0);
PORTD=a;
lcd_gotoxy(0,0);
H2BCD(a);
};
}
2. SIMULASI
PROTEUS
LCD1
D0
D1
D2
D3
D4
D5
D6
D7
U2
LED-BARGRAPH-RED
20
24
23
51
50
49
48
47
46
45
44
35
36
37
38
39
40
41
42
62
64
XTAL1
XTAL2
PA0/AD0
PA1/AD1
PA2/AD2
PA3/AD3
PA4/AD4
PA5/AD5
PA6/AD6
PA7/AD7
PB0/SS
PB1/SCK
PB2/MOSI
PB3/MISO
PB4/OC0
PB5/OC1A
PB6/OC1B
PB7/OC2/OC1C
PC0/A8
PC1/A9
PC2/A10
PC3/A11
PC4/A12
PC5/A13
PC6/A14
PC7/A15
AREF
AVCC
ATMEGA128
PD0/SCL/INT0
PD1/SDA/INT1
PD2/RXD1/INT2
PD3/TXD1/INT3
PD4/ICP1
PD5/XCK1
PD6/T1
PD7/T2
PE0/RXD0/PDI
PE1/TXD0/PDO
PE2/XCK0/AIN0
PE3/OC3A/AIN1
PE4/OC3B/INT4
PE5/OC3C/INT5
PE6/T3/INT6
PE7/ICP3/INT7
PF0/ADC0
PF1/ADC1
PF2/ADC2
PF3/ADC3
PF4/ADC4/TCK
PF5/ADC5/TMS
PF6/ADC6/TDO
PF7/ADC7/TDI
PG0/WR
PG1/RD
PG2/ALE
PG3/TOSC2
PG4/TOSC1
PEN
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
61
60
59
58
57
56
55
54
33
34
43
18
19
1
Volts
+1.90
RV1
38%
10
11
12
13
14
15
16
17
RESET
10
9
8
7
6
5
4
3
2
1
U1
7
8
9
10
11
12
13
14
RS
RW
E
4
5
6
1
2
3
VSS
VDD
VEE
11
12
13
14
15
16
17
18
19
20
LM016L
1k