Percobaan 8.doc
-
Upload
afrizalsuhari -
Category
Documents
-
view
3 -
download
0
description
Transcript of Percobaan 8.doc
-
5/23/2018 Percobaan 8.doc
1/5
ROTASI LED DENGAN PEMROGRAMAN C
Menggunakan Microprocessor Board (68HC11)
Membuat program dengan bahasa pemrograman C untuk menampilkan rotasi
data pada peraga LED.
Pada software microprocessor board 68HC !E" Micro# terdapat C compiler
$ang berfungsi untuk menter%emahkan &'ource Code( dengan program C ke dalamkode mesin !He)adesimal#. Dengan fasilitas C compiler ini bisa dibuat beberapa
program aplikasi diantaran$a adalah untuk men$alakan LED.
Pemakaian C pada percobaan kali ini digunakan untuk merotasi data $ang akan
ditampilkan pada peraga LED. Dimana alamat memori untuk men$alakan LED adalah
*++,,. Dalam teknik pemrograman agar data $ang dirotasi dapat ditampilkan dan dapat
diamati pada media peraga LED- salah satu caran$a adalah dengan memberikan waktu
tundadela$.
Sub Routine Delay
Contoh penulisan program subroutine dela$ adalah sebagai berikut/
void LCD_DELAY(void)
{int m;m=0;while(m
-
5/23/2018 Percobaan 8.doc
2/5
Pada contoh subroutine dela$ didalam program C diatas 0ariabel dela$
mempun$ai %enis data integer dan mempun$ai nilai kurang dari ,,,- nilai ini bisa
diubah1ubah tergantung kebutuhan berdasarkan pengamatan terhadap n$ala LED $ang
tampil bisa diamati dengan %elas atau tidak. Penulisan fungsi delay()langsung dimulai
dengan kepala fungsi dan diteruskan dengan statement1statement $ang membangun
definisin$a.
2enist$pe data $ang digunakan pada subroutine dela$ $aitu 3nteger !int#- $ang
mempun$ai pan%ang data 4 b$te dengan %angkauan mulai dari 15468 sampai dengan
5468. 7erikut ini contoh lain cara memberi waktu tunda dalam pemrograman C
dengan menggunakan penambahan nilai sebuah 0ariabel satu demi satu hingga
mencapai nilai batas $ang ditentukan.
for(=0;
Blok diagram
ambar 8!1"7lok diagram s$stem CP 68HC beserta program C dengan LED!39# pada E"1M3C:9 ;;9:;Mboard.
1 Microprocessor 7oard 68HC
1 PC beserta software E"1M3C:9
1
-
5/23/2018 Percobaan 8.doc
3/5
1 Hubungkan C9M atau C9M4 pada PC dengan kabel serial ke board
mikroprosesor 68HC
1 Hubungkan catu data = ?olt
-
5/23/2018 Percobaan 8.doc
4/5
- Program Menuliskan data pada LED menggunakan Pointer
A. Rotasi Kiri
#define LEDS 0x4400main(){
char val;int i,a;
for(;;){
val=0x07;out(val,LEDS);for(a=0;a!"0000;a);val=0x0$;out(val,LEDS);for(a=0;a!"0000;a);val=0x0D;out(val,LEDS);for(a=0;a!"0000;a);val=0x0E;out(val,LEDS);for(a=0;a!"0000;a);
%%
B. Rotasi kanan
#define LEDS 0x4400
main(){ char val;
int i,a; for(;;)
{ val=0x0E;out(val,LEDS);for(a=0;a!"0000;a);val=0x0D;out(val,LEDS);for(a=0;a!"0000;a);val=0x0$;out(val,LEDS);
for(a=0;a!"0000;a);val=0x07;out(val,LEDS);for(a=0;a!"0000;a);
%%
C. Lompat 2 data (LED)
#define LEDS 0x4400main(){
char val;int &;
6+
-
5/23/2018 Percobaan 8.doc
5/5
for(;;){
val=0x0E;out(val,LEDS);for(&=0;&!'"000;&);
val=0x0$;out(val,LEDS);for(&=0;&!'"000;&);
%%
D. Penumla!an 2 data
#define LED**SE+ 0x0400char exta-evoid main(){
char val,val.,val";char /.;int i;.=exta-e;1hile(.){
val.=0x0.;val"=0x0";val=val. val";for(i=0; i!=22; i=i.);/(.LED**SE+)=val;
%
%
. 7uat program dalam bahasa C untuk men$alakan LED putar kiri dan kanan-
dalam satu listing program dan t$pe datan$a adalah integer (int)- gunakan
perintahfordan perintah outpuntuk men$alakan dan rotasi LED.
4. Dua data dengan t$pe integer masing1masing disimpan pada 0ariable a dan b-
dari kedua data tersebut buatlah program pen%umlahan- dan pengurangan
menggunakan bahasa C dan hasiln$a ditampilkan pada LED D sampai dengan
D+.
6