pIC USART 232汇编程序
INCLUDE<P16F877.INC> ;MCU PIC16F877 DIP40
LIST P=PIC16F877
;__CONFIG _CP_OFF & _DEBUG_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC & _LVP_OFF ;PIC16F877
;__IDLOCS 0x7206
errorlevel -302
errorlevel -203
CBLOCK 20H
COUNTERH
COUNTERL
COUNTER
TEMP1
TEMP2
TEMP3
TEMP4
TEMP_A
TEMP_B
TEMP_C
DADR
CNT
EE_DADR
ENDC
#DEFINE START_KEY PORTB,1
#DEFINE BELL PORTD,0
ORG 00H
NOP
GOTO START
ORG 04H
GOTO _INT
; ORG 0100H
;********************************************
;查问题回答 1 字符表(共 25 个字符)
TABLE1
ADDWF PCL,F
DT "\n\r-My name is P16F877.\n\n\r"
;\n 换行
;\r 回车
;查问题回答 2 字符表(共 22 个字符)
TABLE2
ADDWF PCL,F
DT "\n\r-I’m 3 years old.\n\n\r"
;查问题回答 3 字符表(共 27 个字符)
TABLE3
ADDWF PCL,F
DT "\n\r-I’m born in ShangHai.\n\n\r"
;查问题回答 4 字符表(共 34 个字符)
TABLE4
ADDWF PCL,F
DT "\n\r-Yes,I like sports very much.\n\n\r"
;查问题回答 5 字符表(共 28 个字符)
TABLE5
ADDWF PCL,F
DT "\n\r-The date is 2007-2-15.\n\n\r"
;*******************************************
;初始化和提示信息字符表(共 74 个字符)
TABLE
ADDWF PCL,F
DT "\nHello!\n\r"
DT "I’m your new friend,Nice to meet you."
DT "What do you want to know?\n\n\r"
;********************************************
ORG 0100H
;********************************************
;问题 5 字符表(共 22 个字符)
TAB5
ADDWF PCL,F
DT "What’s the date today?"
;问题 4 字符表(共 19 个字符)
TAB4
ADDWF PCL,F
DT "Do you like sports?"
;问题 3 字符表(共 20 个字符)
TAB3
ADDWF PCL,F
DT "Where were you born?"
;问题 2 字符表(共 16 个字符)
TAB2
ADDWF PCL,F
DT "How old are you?"
;问题 1 字符表(共 17 个字符)
TAB1
ADDWF PCL,F
DT "What’s your name?"
;********************************************
;错误提示 1 字符表(共 64 个字符)
TABLE6
ADDWF PCL,F
DT "\n\r-Sorry.I CANnot answer the question."
DT "Please ask another one.\n\n\r"
;错误提示 2 字符表(共 48 个字符)
TABLE7
ADDWF PCL,F
DT "\n\r-What your enter is wrong.Please try again.\n\n\r"
;********************************************
ORG 0200H
_INT
NOP
NOP
RETFIE
START
NOP
BSF STATUS,RP0 ;定义RA口,RC口全部为输出
MOV LW 06H ;
MOV WF ADCON1 ;设置RA口全部为普通数字IO口
MOV LW B’00110000’ ;
MOV WF TRISA
MOV LW B’11011000’ ;设置SCL为输入, SDA为输入
MOV WF TRISC
MOV LW 00H
MOV WF TRISD ;
MOV LW 0FFH
MOV WF TRISB
BCF OPTION_REG,7
BCF STATUS,RP0
;********** IIC 初始化设置 ************
MOV LW 08H ;初始化SSPCON,
MOV WF SSPCON ;IIC主控模式
BCF PIR1,SSPIF
BSF STATUS,RP0
MOV LW 80H ;初始化SSPSTAT寄存器,
MOV WF SSPSTAT ;传送速率为标准模式100KHz
MOV LW 09H
MOV WF SSPADD ;设定IIC时钟频率
CLRF SSPCON2 ;初始化SSPCON2
BSF PIE1,SSPIE ;SSP中断允许
CLRF INTCON
BSF INTCON,PEIE ;开中断
BSF INTCON,GIE
BCF STATUS,RP0
BSF SSPCON,SSPEN ;SSP模块使能
;********** IIC 初始化设置结束 ************
;********** USART 初始化设置开始 ************
ST BSF STATUS,RP0
MOV LW B’00100100’
MOV WF TXSTA ;异步方式,高波特率,发送使能
MOV LW .25
MOV WF SPBRG ;设置波特率 9600,Fosc=4MHz
BCF STATUS,RP0
MOV LW B’10010000’ ;设置连续接收数据
MOV WF RCSTA
; CLRF INTCON
BSF STATUS,RP0
CLRF PIE1
BCF STATUS,RP0
;********** USART 初始化设置结束 ************
CLRF PORTA
; CLRF PORTB
CLRF PORTD
CALL CLR_RAM
BEGIN
;Read Test Counter Value from EEPROM***********************
MOV LW 20H ;read counterl counterh from eeprom
MOV WF DADR
MOV LW .2
MOV WF CNT
MOV LW 00H
MOV WF EE_DADR
CALL EE_READ
;Read Test Counter Value from EEPROM***********************
本文关键字:暂无联系方式PIC单片机,单片机-工控设备 - PIC单片机
上一篇:pic 时钟芯片DS1302