📄 spiled.lst
字号:
MPASM 5.06.4 SPILED.ASM 7-20-2007 11:26:06 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;*************************************************
00002 ;* spiled.asm **
00003 ;*************************************************
00004 ;* 本程序为数码管显示处理模块程序
00005 ;* 占用I/O RC3,RC4,RC5
00006 ;* 使用RAM 1个字节
00007 ;* 程序包括:
00008 ;* - InitSPI 初始化SPI子程序
00009 ;* - LEDlight 送七段码显示子程序
00010 ;* 入口参数 LED_DATA
00011 ;* 出口参数 无
00012
00013 ;*************************************************
00014 #INCLUDE P16F877.INC ;定义所用单片机的头文件
00001 LIST
00002 ; P16F877.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00373 LIST
00015 ;*************************************************
00016 ;数据区
00017 ;*************************************************
00000021 00018 LED_DATA EQU 0X21
00000022 00019 COUNT EQU 0X22
00000023 00020 COUNT1 EQU 0X23
00000024 00021 COUNT2 EQU 0X24
00022 #DEFINE SPITRIS TRISC ;
00023 #DEFINE SPISDI PORTC,4
00024
00025
00026
0000 00027 ORG 0X00
0000 0000 00028 RESET NOP
0001 2821 00029 GOTO INITSPI
00030
0010 00031 ORG 0X10 ;读取键值判断测试程序入口
0010 00032 LEDTABLE ;七段码调整 如果表出现PCL溢出,要调整表的位置
0010 0782 00033 ADDWF PCL,F
0011 343F 3406 345B 00034 DT 0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71
344F 3466 346D
347D 3407 347F
346F 3477 347C
3439 345E 3479
3471
00035 ;*************************************************
00036 ;InitSPI--初始化SPI
00037 ;*************************************************
0021 00038 INITSPI
0021 3032 00039 MOVLW 0X32 ;开串行口,下降沿发送,时钟高电平为空闲状态
0022 0094 00040 MOVWF SSPCON ;SPI主控方式,时钟=OCS/64
0023 1683 00041 BSF STATUS,RP0
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0024 0194 00042 CLRF SSPSTAT
0025 3000 00043 MOVLW 0X00 ;设置RB3,RB4,RB5为输出,硬件连接:
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
MPASM 5.06.4 SPILED.ASM 7-20-2007 11:26:06 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0026 0087 00044 MOVWF SPITRIS ;RC3- CLK-SRCLK; RC4-SDI-RCLK; RC5-SDO-SER
0027 1283 00045 BCF STATUS,RP0
0028 3030 00046 MOVLW 0X30
0029 00A1 00047 MOVWF LED_DATA
002A 0000 00048 NOP
002B 0000 00049 NOP
002C 00050 LEDLIGHT
002C 3000 00051 MOVLW HIGH LEDTABLE
002D 008A 00052 MOVWF PCLATH
002E 300F 00053 MOVLW 0X0F
002F 0521 00054 ANDWF LED_DATA,W
0030 2010 00055 CALL LEDTABLE ;七段码调整
0031 0093 00056 MOVWF SSPBUF
0032 018A 00057 CLRF PCLATH
0033 1D8C 00058 BTFSS PIR1,SSPIF ;采用测试PIR1中的中断标志位
0034 2833 00059 GOTO $-1 ;来判断是否发送完
0035 118C 00060 BCF PIR1,SSPIF
0036 1207 00061 BCF SPISDI ;
0037 0000 00062 NOP
0038 1607 00063 BSF SPISDI ;
0039 203C 00064 CALL LONGDELAY
Message[305]: Using default destination of 1 (file).
003A 0AA1 00065 INCF LED_DATA
003B 282C 00066 GOTO LEDLIGHT
00067 ;*****************************************************
003C 00068 LONGDELAY ; call指令占用2个指令周期
003C 01A2 00069 CLRF COUNT ; 清 Count占用1个指令周期
003D 01A3 00070 CLRF COUNT1 ; 清 Count1占用1个指令周期
003E 3003 00071 MOVLW 0X03 ;占用1个指令周期
003F 00A4 00072 MOVWF COUNT2 ;占用1个指令周期
0040 00073 LDLOOP
0040 0BA2 00074 DECFSZ COUNT,F ; 这两行指令将延时
0041 2840 00075 GOTO LDLOOP ; (256 * 3) -1 个指令周期
0042 0BA3 00076 DECFSZ COUNT1,F
0043 2840 00077 GOTO LDLOOP
0044 0BA4 00078 DECFSZ COUNT2,F
0045 2840 00079 GOTO LDLOOP
0046 0008 00080 RETURN
00081 END
MPASM 5.06.4 SPILED.ASM 7-20-2007 11:26:06 PAGE 3
SYMBOL TABLE
LABEL VALUE
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ADCON0 0000001F
ADCON1 0000009F
ADCS0 00000006
ADCS1 00000007
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADON 00000000
ADRESH 0000001E
ADRESL 0000009E
BCLIE 00000003
BCLIF 00000003
BF 00000000
BRGH 00000002
C 00000000
CCP1CON 00000017
CCP1IE 00000002
CCP1IF 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2CON 0000001D
CCP2IE 00000000
CCP2IF 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCPR1H 00000016
CCPR1L 00000015
CCPR2H 0000001C
CCPR2L 0000001B
CHS0 00000003
CHS1 00000004
CHS2 00000005
CKE 00000006
CKP 00000004
COUNT 00000022
COUNT1 00000023
COUNT2 00000024
CREN 00000004
CSRC 00000007
D 00000005
DATA_ADDRESS 00000005
MPASM 5.06.4 SPILED.ASM 7-20-2007 11:26:06 PAGE 4
SYMBOL TABLE
LABEL VALUE
DC 00000001
D_A 00000005
EEADR 0000010D
EEADRH 0000010F
EECON1 0000018C
EECON2 0000018D
EEDATA 0000010C
EEDATH 0000010E
EEIE 00000004
EEIF 00000004
EEPGD 00000007
F 00000001
FERR 00000002
FSR 00000004
GCEN 00000007
GIE 00000007
GO 00000002
GO_DONE 00000002
I2C_DATA 00000005
I2C_READ 00000002
I2C_START 00000003
I2C_STOP 00000004
IBF 00000007
IBOV 00000005
INDF 00000000
INITSPI 00000021
INTCON 0000000B
INTE 00000004
INTEDG 00000006
INTF 00000001
IRP 00000007
LDLOOP 00000040
LEDLIGHT 0000002C
LEDTABLE 00000010
LED_DATA 00000021
LONGDELAY 0000003C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -