Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?

Desember 03, 2021, 05:35:56 AM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139668
  • Total Topik: 10408
  • Online Today: 56
  • Online Ever: 441
  • (Desember 18, 2011, 12:48:51 AM)
Pengguna Online
Users: 0
Guests: 16
Total: 16

Ikuti ForSa

ForSa on FB ForSa on Twitter

Penulis Topik: Rancangan dasar Mikrokontroler MCS51  (Dibaca 4066 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 3.282
  • IQ: 171
  • Gender: Pria
  • Nabi Allah
Rancangan dasar Mikrokontroler MCS51
« pada: Agustus 22, 2014, 12:29:10 AM »
Iseng iseng saja membuat sebuah rancangan dasar untuk MCS51 di proteus. Board untuk lampu misalkan lampu lalu lintas harganya kurang dari 100 rb.

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 3.282
  • IQ: 171
  • Gender: Pria
  • Nabi Allah
Re:Rancangan dasar Mikrokontroler MCS51
« Jawab #1 pada: Agustus 22, 2014, 07:13:51 AM »
Saya merancang desain untuk mengunakan sebuah LCD untuk tampilannya, proyek ini sebetulnya untuk kunci motor menggunakan sidik jari tapi saya mentok. Ini datasheetnya



Dan ini adalah source codenya.
Kode: [Pilih]
;====================================================================
; Main.asm file generated by New Project wizard
;
; Created:   Wed Aug 20 2014
; Processor: AT89C1051
; Compiler:  ASEM-51 (Proteus)
;====================================================================

$NOMOD51
$INCLUDE (89C1051.MCU)

;====================================================================
; DEFINITIONS
;====================================================================

;====================================================================
; VARIABLES
;====================================================================

;====================================================================
; RESET and INTERRUPT VECTORS
;====================================================================

      ; Reset Vector
      org   0000h
      jmp   Start

;====================================================================
; CODE SEGMENT
;====================================================================

      org   0100h
Start:
      ; Write your code here
  CLR P1.0
  CLR P1.1
  CLR P1.2
  CLR P1.3
  CLR P1.4
  CLR P1.5
  CLR P1.6
  CLR P1.7
  clr p3.0
  clr p3.1
  clr p3.2
  Call Delay
 
  CLR P1.0
  CLR P1.1
  SETB P1.2
  SETB P1.3
  SETB P1.4
  CLR P1.5
  CLR P1.6
  CLR P1.7
  Call Delay
  SETB p3.0
  CLR p3.0
  Call Delay
 
  CLR P1.0
  CLR P1.1
  CLR P1.2
  CLR P1.3
  SETB P1.4
  CLR P1.5
  CLR P1.6
  CLR P1.7
  Call Delay
  SETB p3.0
  CLR p3.0
  Call Delay
 
Loop:
      jmp Loop

  ret
Delay:
mov R0,#128
DJNZ R0, $
ret
;====================================================================
      END

Saya sudah memasukkan "magic byte" nya yaitu 0011100 dalam bit dan 0000100 dalam bit untuk mematikan display. Tapi display tidak mati dan sepertinya saya membuat kesalahan disuatu tempat, ada yang bisa membantu?

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 3.282
  • IQ: 171
  • Gender: Pria
  • Nabi Allah
Re:Rancangan dasar Mikrokontroler MCS51
« Jawab #2 pada: Agustus 27, 2014, 02:18:07 AM »
Ah berhasil nih

Kode: [Pilih]
;====================================================================
; Main.asm file generated by New Project wizard
;
; Created:   Wed Aug 20 2014
; Processor: AT89C1051
; Compiler:  ASEM-51 (Proteus)
;====================================================================

$NOMOD51
$INCLUDE (89C1051.MCU)

;====================================================================
; DEFINITIONS
;====================================================================


;====================================================================
; VARIABLES
;====================================================================

;====================================================================
; RESET and INTERRUPT VECTORS
;====================================================================

      ; Reset Vector
      org   0000h
      jmp   Start

;====================================================================
; CODE SEGMENT
;====================================================================

      org   0100h
Start:
      ; Write your code here
Call Delay
 
  mov P1,#38H
  clr P3.2
  clr P3.1
  setb p3.0
  clr p3.0
  call Delay
 
  mov P1,#0FH
  clr P3.2
  clr P3.1
  setb p3.0
  clr p3.0
  call Delay
 
  mov P1,#01H
  clr P3.2
  clr P3.1
  setb p3.0
  clr p3.0
  call Delay
 
  mov P1,#06H
  clr P3.2
  clr P3.1
  setb p3.0
  clr p3.0
  call Delay
 
Loop:
      jmp Loop

  ret
Delay:
mov R0,#128
DJNZ R0, $
ret
;====================================================================
      END

Offline Farabi

  • Profesor
  • *****
  • Tulisan: 3.282
  • IQ: 171
  • Gender: Pria
  • Nabi Allah
Re:Rancangan dasar Mikrokontroler MCS51
« Jawab #3 pada: Agustus 27, 2014, 03:13:51 AM »


Berhasil nih, ini kode lengkapnya

Kode: [Pilih]
;====================================================================
; Main.asm file generated by New Project wizard
;
; Created:   Wed Aug 20 2014
; Processor: AT89C1051
; Compiler:  ASEM-51 (Proteus)
;====================================================================

$NOMOD51
$INCLUDE (89C1051.MCU)

;====================================================================
; DEFINITIONS
;====================================================================


;====================================================================
; VARIABLES
;====================================================================

;====================================================================
; RESET and INTERRUPT VECTORS
;====================================================================

      ; Reset Vector
      org   0000h
      jmp   Start

;====================================================================
; CODE SEGMENT
;====================================================================

      org   0100h
Start:
      ; Write your code here
Call Delay
 
  mov R1,#38H
  call LCD_Command_Init
  mov R1,#0FH
  call LCD_Command_Init
  mov R1,#01H
  call LCD_Command_Init
  mov R1,#06H
  call LCD_Command_Init
 
  mov R1,#83H
  call LCD_Command
 
  mov dptr,#MyString
  call SendString
 
Loop:
      jmp Loop
  ret

LCD_Command_Init:
mov P1,R1
clr P3.2
clr P3.1
setb p3.0
clr p3.0
call Delay
ret
LCD_Command:
mov P1,R1
setb P3.2
clr P3.1
setb p3.0
clr p3.0
call Delay
ret
SendString:
clr a
movc a,@a+dptr
jz exit
mov R1,a
call LCD_Command
inc dptr
sjmp SendString
exit:
ret
Delay:
mov R0,#128
DJNZ R0, $
ret

MyString:
db "Farabi OS 1.0",00h
;====================================================================
      END


Offline Farabi

  • Profesor
  • *****
  • Tulisan: 3.282
  • IQ: 171
  • Gender: Pria
  • Nabi Allah
Re:Rancangan dasar Mikrokontroler MCS51
« Jawab #4 pada: September 02, 2014, 08:06:06 AM »
Ini desain dengan menggunakan 80C58. Mikrokontroler ini mempunyai 32 jalur port yang bisa digunakan. Karena menggunakan port ini secara paralel hanya ada maksimal 3 buah hardware yang bisa digunakan dengan desain yang bisa dibilang rumit, tapi kalau secara serial, bisa ada 24 alat yang bisa anda gunakan ,tapi saya tidak tahu apakah hal tersebut memungkinkan atau tidak. Kalau saya liat port P0 hanya berfungsi sebagai input, sedangkan ketiga sisanya berfungsi sebagai output, tidak ada yang bisa berfungsi sebagai Input/Output seperti pada ARM, sehingga sukar untuk memasukkan hardware tambahan misalkan sensor suhu. Tapi dibandingkan dengan ARM, mikrokontroler ini adalah yang termurah, harganya hanya 12 rb saja perkeping, dan anda tidak membutuhkan sebuah motherboard seperti prosesor intel karena mikrokontroler sudah mempunyai RAM dan Harddisk sendiri biarpun skalanya sangat kecil. Ini biasanya disebut sebagai System on Chip. Sebuah komputer jadi dalam ukuran kecil



Pemasangan pin port masih sama bedanya hanya terletak pada mikrokontrolernya saja yang mempunyai pin port lebih banyak. Jadi kode kode yang sebelumnya masih berfungsi.

 

Related Topics

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
32 Jawaban
17264 Dilihat
Tulisan terakhir Februari 08, 2009, 12:22:07 AM
oleh nandaz
2 Jawaban
3176 Dilihat
Tulisan terakhir Agustus 14, 2009, 01:42:14 PM
oleh heru.htl
dasar

Dimulai oleh hawari Kimia

6 Jawaban
8893 Dilihat
Tulisan terakhir April 22, 2010, 09:41:21 AM
oleh syx
0 Jawaban
2297 Dilihat
Tulisan terakhir Juni 05, 2011, 12:02:04 AM
oleh trangga
20 Jawaban
15693 Dilihat
Tulisan terakhir Februari 06, 2012, 04:17:30 AM
oleh Farabi