您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PS7219的PIC单片机 正文
PS7219的PIC单片机

PS7219的PIC单片机

点击数:7243 次   录入时间:03-04 11:47:46   整理:http://www.55dianzi.com   PIC单片机
TITLE "PS7219 TEST" ;标题 

LIST P=16C711 ;处理器为PIC16C711 单片机  

#INCLUDE P16c711.INC 

  

TIMER1 EQU H’000C’ ;定义延时寄存器 

TIMER2 EQU H’000D’ 

SENT_ADDRESS EQU H’000E’ ;定义发送地址寄存器 

SENT_DATA EQU H’000F’ ;定义发送数据寄存器 

LED1 EQU H’0010’ 

LED2 EQU H’0011’ 

LED3 EQU H’0012’ 

LED4 EQU H’0013’ 

LED5 EQU H’0014’ 

LED6 EQU H’0015’ 

LED7 EQU H’0016’ 

LED8 EQU H’0017’ 

COUNT EQU H’0018’ 

NO_OP EQU 0X00 ;定义控制寄存器 

DIGIT1 EQU 0X01 

DIGIT2 EQU 0X02 

DIGIT3 EQU 0X03 

DIGIT4 EQU 0X04 

DIGIT5 EQU 0X05 

DIGIT6 EQU 0X06 

DIGIT7 EQU 0X07 

DIGIT8 EQU 0X08 

DECODE EQU 0X09 

INTSEN EQU 0X0A 

SCAN EQU 0X0B 

SHUT EQU 0X0C 

FLASH EQU 0X0D 

DISPLAY EQU 0X0F 

  

LOAD EQU 0 ;通讯引脚定义 

DOUT EQU 1 

CLK EQU 2 

  

ORG 0 

GOTO START ;程序开始 

ORG H’0010’ 

;************************* 

; 延时子程序 

;************************* 

T1 

MOV LW 33 ;延时子程序T1 

MOV WF TIMER1 

DEL_LOP 

CLRWDT 

DECFSZ TIMER1,1 

GOTO DEL_LOP 

RETURN 

  

T2 

MOV LW 0X04 ;延时子程序T2 

MOV WF TIMER1 

MOV LW 0XFF 

LOOP2 

MOV WF TIMER2 

LOOP1 

CLRWDT 

DECFSZ TIMER2,1 

GOTO LOOP1 

DECFSZ TIMER1,1 

GOTO LOOP2 

RETURN 

  

SEND 

MOV LW 8 ;数据传送子程序SEND 

MOV WF COUNT 

BCF PORTA,LOAD ;初始化LOAD引脚 

CALL T1 

SET_LP1 

BCF STATUS,C ;发送8位地址 

BSF PORTA,CLK 

RLF SENT_ADDRESS,1 

BCF PORTA,DOUT 

BTFSC STATUS,C 

BSF PORTA,DOUT 

BCF PORTA,CLK 

CALL T1 ;调用延时子程序T1 

DECFSZ COUNT,1 ;COUNT减一为1零则结束传送 

GOTO SET_LP1 

BSF PORTA,CLK 

MOV LW 8 

MOV WF COUNT 

BSF PORTA,LOAD 

SET_LP2 

BCF STATUS,C ;发送8位数据 

BSF PORTA,CLK 

RLF SENT_DATA,1 

BCF PORTA,DOUT 

BTFSC STATUS,C 

BSF PORTA,DOUT 

BCF PORTA,CLK 

CALL T1 ;调用延时子程序T1 

DECFSZ COUNT,1 ;COUNT减一为零则结束传送 

GOTO SET_LP2 

BSF PORTA,CLK 

CALL T1 

BSF PORTA,LOAD 

BSF PORTA,DOUT 

RETURN ;子程序返回 

  

START 

BSF STATUS,RP0 ;主程序 

MOV LW 0X18 

MOV WF TRISA 

MOV LW 0XFF 

MOV WF TRISB 

BCF STATUS,RP0 

CALL T1 

CALL T1 

MOV LW 0X12 

MOV WF PORTA 

BCF PORTA,LOAD 

CON_COM 

CALL T1 ;初始化PS7219内部RAM 

MOV LW 0X0A ;设置亮度为最亮 

MOV WF SENT_ADDRESS 

MOV LW 0X0F 

MOV WF SENT_DATA 

CALL SEND ;调用串行通讯子程序 

CALL T1 

MOV LW 0X0B ;设置扫描界线为8位 

MOV WF SENT_ADDRESS 

MOV LW 0X07 

MOV WF SENT_DATA 

CALL SEND ;调用串行通讯子程序 

CALL T1 

MOV LW 0X09 ;设置每位译码方式为BCD译码 

MOV WF SENT_ADDRESS 

MOV LW 0XFF 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X0C ;设置工作方式为正常 

MOV WF SENT_ADDRESS 

MOV LW 0X01 

MOV WF SENT_DATA 

CALL SEND 

  

LED_CON 

CALL T1 ;LED显示控制部分 

MOV LW 0X01 ;LED1显示为1 

MOV WF SENT_ADDRESS 

MOV LW 0X01 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X02 ;LED2显示为2 

MOV WF SENT_ADDRESS 

MOV LW 0X02 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X03 ;LED3显示为3 

MOV WF SENT_ADDRESS 

MOV LW 0X03 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X04 ;LED4显示为4 

MOV WF SENT_ADDRESS 

MOV LW 0X04 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X05 ;LED5显示为5 

MOV WF SENT_ADDRESS 

MOV LW 0X05 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X06 ;LED6显示为6 

MOV WF SENT_ADDRESS 

MOV LW 0X06 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X07 ;LED7显示为7 

MOV WF SENT_ADDRESS 

MOV LW 0X07 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X08 ;LED8显示为8 

MOV WF SENT_ADDRESS 

MOV LW 0X08 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

  

MOV LW 0X0F ;进入测试模式 

MOV WF SENT_ADDRESS 

MOV LW 0X01 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X0F ;退出测试模式 

MOV WF SENT_ADDRESS 

MOV LW 0X00 

MOV WF SENT_DATA 

CALL SEND 

CALL T1 

MOV LW 0X0D ;使能8位LED闪烁 

MOV WF SENT_ADDRESS 

MOV LW 0XFF 

MOV WF SENT_DATA 

CALL SEND 

FINISH CLRWDT ;清Watch Dog 

GOTO FINISH 

END ;结束


本文关键字:单片机  PIC单片机单片机-工控设备 - PIC单片机