Išmokti išvesti duomenis į LCD ekraną, bei dirbti su EEPROM atmintimi.
Nr.
PROCESSOR 16F84
#include "p16f84.inc";
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;*****************************************************************************
;
; This program interfaces to a Hitachi HD77480-based LC-Display
; Currently a 2 line * 16 characters display module.
;
; This program assembles for an 8-bit data interface.
; See AN587 for 4-bit and 8-bit interfaces.
;
; Program LCD.ASM
; Last update 96-01-12
; Author Peter Ouwehand
;
;*****************************************************************************
;*****************************************************************************
; Fosc = 4MHz
; Cycle_time = 1/Fosc / 4
; = 1/(4*10^6) / 4
; = 1uSec
;*****************************************************************************
;*****************************************************************************
; Equates, I/O, vars
;*****************************************************************************
;RESET_V EQU 0x0000 ; Address of RESET Vector
;ISR_V EQU 0x0004 ; Address of Interrupt Vector
OSC_FREQ EQU .4000000 ; Oscillator Frequency is 4 MHz
LCD_DATA EQU PORTB ; LCD data lines interface
LCD_DATA_TRIS EQU TRISB
LCD_CTRL EQU PORTA ; LCD control lines interface
LCD_LINE0 EQU 0x000
LCD_LINE1 EQU 0x040
; PORTA bits
LCD_E EQU 3 ; LCD Enable control line
LCD_RW EQU 2 ; LCD Read/Write control line
LCD_RS EQU 1 ; LCD Register-Select control line
; PORTB bits
DB7 EQU 7 ; LCD dataline 7 (MSB)
DB6 EQU 6 ; LCD dataline 6
DB5 EQU 5 ; LCD dataline 5
DB4 EQU 4 ; LCD dataline 4
DB3 EQU 3 ; LCD dataline 3
DB2 EQU 2 ; LCD dataline 2
DB1 EQU 1 ; LCD dataline 1
DB0 EQU 0 ; LCD dataline 0 (LSB)
; misc.
LCD_TEMP EQU 0x020 ; LCD subroutines internal use
TABLE_INDEX EQU 0x021 ; Index to table strings
COUNT EQU 0x022 ; A counter
DELAY equ 0x023 ; Used in DELAYxxx routines
X_DELAY equ 0x024 ; Used in X_DELAYxxx routines
krit equ 0x0c
krit2 equ 0x1c
;*****************************************************************************
; Program start
;*****************************************************************************
ORG 0x00 ; RESET vector location
goto START
;*****************************************************************************
; This is the Periperal Interrupt routine. Should NOT get here
;*****************************************************************************
ORG 0x04 ; Interrupt vector location
INTERUPT
goto INTERUPT
;*****************************************************************************
; Initialize processor registers
;*****************************************************************************
START ; POWER_ON Reset (Beginning of program)
CLRF STATUS ; Do initialization, Select bank 0
CLRF INTCON ; Clear int-flags, Disable interrupts
CLRF PCLATH ; Keep in lower 2KByte
CLRF PORTA ; ALL PORT output should output Low.
CLRF PORTB
BSF STATUS, RP0 ; Select bank 1
;MOVLW 0x0F8...
Šį darbą sudaro 2062 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Kiti darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!