AT90S8515单片机1602显示程序
;****************************
; CONTANCE NUMBER DEFINATION
;****************************
.EQU FCLK =4000 ; SYSTEM CLOCK FREQ.=4MHz
;*************************
;PORT A PINS;
;*************************
.EQU CS =0 ; LCD’S CS PIN
.EQU RD =1 ; LCD’S RD PIN
.EQU WR =2 ; LCD’S WR PIN
.EQU D0 =4 ; LCD’S D0--D3
.EQU D1 =5 ;
.EQU D2 =6 ;
.EQU D3 =7 ;
;*************************
;Port B pins; KEY CONTROL
;*************************
.EQU START =0 ;START KEY
;*************************
;Port C pins;
;*************************
.EQU POWER =0 ;CONTROL LCD’S POWER SUPPLY
.INCLUDE "..\\AVR90\\APPNOTES\\8515DEF.INC"
;*********************************************
; DEFINE VARIAVLE
; R26--R31=X/Y/Z: LOOK AS COMMON REGISTER
;*********************************************
.DEF TIMES =R16;
.DSEG
.ORG 0X60
CNTER: .BYTE 1 ; 15Sec TIMER,FOR SAVE DATA TO EEPROM
CNTDSP: .BYTE 1 ; 3Sec TIMER,FOR FRESH DISPLAY ANGLE
TEMP: .BYTE 4 ;
;*******************************
; DEFINE BIT FLAG
; FLAG=R18
;*******************************
.EQU RELKB =0 ;
.EQU SAVEB =1 ;USE INCH/INCL KEY TO MODIFYING THE UPPER OR LOWER
;*****************************************************
; EEPROM segment
; DEFAULT ANGLE: SEL1=2--9, SEL2=10--18, SEL3=20--29
;*****************************************************
.ESEG
.ORG 0X05
DATA1: .DW 0X0209
DATA2: .DW 0X1018
DATA3: .DW 0X2029
;****Source code***************************************************
.CSEG ;CODE segment
.ORG 0X000
RJMP RESET ;Reset handler
RETI ;INT0 HANDLER
RETI ;INT1 HANDLER
RETI ;TIMER1 CAPTURE
RETI ;T1 COMPAROR A
RETI ;T1 COMPAROR B
RETI ;T1 OVERFLOW
RETI ;T0 OVERFLOW
RETI ;SPI HANDLER
RETI ;UART.RX COMPLETE HANDLER
RETI ;UART.UDRE HANDLER
RETI ;UART.TX COMPLETE HANDLER
RETI ;ANALOG COMPAROR HANDLER
;*** Reset handler **************************************************
RESET: LDI XL, HIGH(RAMEND) ; SET SP VALUE
OUT SPH, XL ;
LDI XL, LOW(RAMEND) ;
OUT SPL, XL ;
INITIO: CLR XL ; INITIALIZE I/O REGISTER
[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页