![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2011
Bài gửi: 3
: |
Xin tài liệu lập trình Hợp Ngữ PIC
Mong mọi người giúp đỡ vì trường tôi(ko tiện nêu tên) dậy học cực chán, ko dậy môn vi điều khiển và lập trình hợp ngữ bây giờ thầy giáo bắt lập trình cho pic 16f84a,
tôi cũng muốn lập trình được cho pic nhưng tôi thấy thật là khó vì ngoài hiểu cấu trúc bên trong và 35 câu lệnh của pic thì còn số lệng mà tôi cũng chẳng biết được, do đó khi sai tôi cũng chẳng biết đương nào mà sửa. Vì vậy mong a e trên diễn đàn có cái tài liệu hay dễ hiểu thì share giúp tôi cái.(tôi tìm nhiều trên google lên chán lắm rồi) Đây là 1 đoạn mã code a e nào rảnh thì giúp tôi sửa luôn cái, mãi mà tôi chẳng sửa được /* SOURCE : Romux : Electronics - Embedded System - Projects - Tutorials AUTHOR : romux team */ PROCESSOR 16F84 #INCLUDE "P16F84.INC" __CONFIG _CP_0FF & _WDT_0FF & _PWRTE_0N & _XT_0SC CBLOCK 0X0C ;RAM starting address HICNT LOCNT LOOPCNT ;Belongs to macro "pausems" LCDBUF LCDTEMP ;Belongs to funkctions "LCDxxx" DIGTEMP DIGL DIG2 DIG3 ;Belongs to macro "digbyte" TEMP ENDC ORG 0X00 ;Reset vector GOTO MAIN ORG 0X04 ;Intertupt vector GOTO MAIN ;no interrupt routine #INCLUDE "ROMUX_LIB.INC" #INCLUDE "LED.INC" LCDDSPORT EQU P0RTB ;LCD IS ON PORT B(4 DATA LINES ON RB4-RB7) RS EQU 1 ;RS LINE RB1 RW EQU 2 ;RW LINE RB2 EN EQU 3 ;EN LINE RB3 MAIN MOVLW .23 MOVWF TEMP ;Put any value to variable temp ; for printing on LCD LCDINIT ;Incitializing LCD LOOP LCDCMD 0X01 ;Clear LCD LCDTEXT 1," ROMUX ";Print text from line 1, char 1 LCDTEXT 2,"PROBA LCD";Print text from line 2, char 1 PAUSEMS .2000 ;2 sec pause LCDCMD 0X01 ;Clear LCD LCDTEXT 1,"TEMPERATURE" ;Print text from line 1, char 1 LCDTEXT 2,"TEMP=" ;Print text from line 2, char 1 LCDBYTE TEMP ;Print decimal value of variable LCDTEXT 0,"C" ;Print text from the current PAUSEMS .2000 ;cursor position GOTO LOOP END |
![]() |
![]() |
|
|