Nama
Data Percobaan Unit II NPM /Kelas /
7-Segment Dan ADC Shift / Tanggal /
7-SEGMENT
•Untuk mengaktifkan dan memberi data salah satu 7-segment, gunakan perintah berikut:
show_seven_segment(Nomor_7segment,Data_angka);
Keterangan: Nomor_7segment diisi dengan nomor urut 0-3, dihitung dari paling kanan.
Data_angka diisi dengan angka 0-9.
Unit II Page 1
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
• Untuk menampung hasil pembacaan ADC, ada baiknya membuat suatu variabel, misal
bernama adc bertipe data integer.
Keterangan:
Nomor_channel diisi angka 0-7, sesuai dengan pin tempat sinyal analog terhubung. Dalam
hal ini, Variabel Resistor ada di channel 7.
Unit II Page 2
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
Unit II Page 3
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton
\BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include \NUC1xx-LB_002
Pilih file Seven_Segment.h
Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton
\BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002
Pilih file Seven_Segment.c
Unit II Page 4
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
Untuk menampilkan angka 5 di 7-segment paling kanan, tambahkan baris program sehingga
menjadi seperti gambar di bawah.
Unit II Page 5
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
{
int i=0,j=0;
while(1)
{
for(i=0;i<=9;i++)
{
close_seven_segment();
show_seven_segment(j,i);
DrvSYS_Delay(5000000);
}
}
} // Selesai
Unit II Page 6
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
int main(void)
{
/* mengatur penggunaan sumber clock */
UNLOCKREG();
DrvSYS_SetOscCtrl(E_SYS_XTL12M,1);
DrvSYS_Delay(5000);
DrvSYS_SelectHCLKSource(0);
LOCKREG();
DrvSYS_SetClockDivider(E_SYS_HCLK_DIV,0);
/* ================================ */
Unit II Page 7
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
if (value==9999){
value=0;
}else{
value++;
}
}
} //Selesai
Unit II Page 8
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
uint8_t gu8AdcIntFlag;
uint16_t u16ConversionData;
char temp[10];
S_DRVPWM_TIME_DATA_T sPt;
sPt.u8HighPulseRatio = ((u16ConversionData>>4)/3)+15;
DrvPWM_SetTimerClk(DRVPWM_TIMER0, &sPt);
Unit II Page 9
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
show_seven_segment(3,digit);
DrvSYS_Delay(6000);
digit = (u16ConversionData/100 %10);
close_seven_segment();
show_seven_segment(2,digit);
DrvSYS_Delay(6000);
digit = (u16ConversionData/10 %10);
close_seven_segment();
show_seven_segment(1,digit);
DrvSYS_Delay(6000);
digit = (u16ConversionData %10);
close_seven_segment();
show_seven_segment(0,digit);
DrvSYS_Delay(6000);
}
int main(void)
{
UNLOCKREG();
//disable register protection : 59H,
16H dan 88h di alamat 0x5000_0100
DrvSYS_SetOscCtrl(E_SYS_XTL12M,1);
//aktifkan crystal external 12MHz
//atau SYSCLK->PWRCON.XTL12M_EN =
1;
DrvSYS_Delay(5000);
//tunggu sampai crystal stabil
DrvSYS_SelectHCLKSource(0);
//set crystal external sebagai sumber clock
LOCKREG();
//enable register protection
DrvSYS_SetClockDivider(E_SYS_HCLK_DIV,0);
//set crystal external sebagai sumber clock 12MHz
DrvGPIO_Open(E_GPA,7,E_IO_INPUT);
//pastikan PortA.7 sebagai input
/*
* mengatur kerja ADC :
* single ended
* continuous
* channel 7
* menggunakan crystal 12MHz
* Freq = 2MHz
* Parameter input bisa dilihat di @DrvADC_Open pada file DrvADC.c
*/
DrvADC_Open(ADC_SINGLE_END, ADC_CONTINUOUS_OP, 0x80, EXTERNAL_12MHZ,
5);//Single-End, Continuous Cycle Scan, kanal 7, 12Mhz, pembagi 5
DrvADC_ConfigADCChannel7(EXTERNAL_INPUT_SIGNAL);
//kanal 7 terhubung ke input analog ekternal
DrvADC_StartConvert();
//konversi ADC dimulai
DrvADC_EnableADCInt(AdcIntCallback, 0);
DrvPWM_Open();
Unit II Page 10
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
/* Mengunnakan PWM0
* Informasi @DrvPWM_SetTimerClk() dapat dilihat pada file DrvPWM.c
*/
DrvPWM_SetTimerClk(DRVPWM_TIMER0, &sPt); //atur konfigurasi untuk
PWM Timer0
close_seven_segment();
while(1)
{
}
} //Selesai
Unit II Page 11
Praktikum Mikrokontroler Laboratorium Teknik Elektro 2015
Paraf Asisten
( )
Unit II Page 12