串行LED译码/驱动器件TEC9607在PIC16C5X系列单片机中的应用
使RA口工作在输出状态。下面以四位LED数码管显示为例描述该电路的软件设计,其显示驱动程序如下:TRBUF EQV OAH ;数据暂存器和循环次数寄存器 SI EQU 1 ;RA1为串行数据输入端
SCP EQU 2 ;RA2为时钟端
BUFF EQU 10H ;数据缓存
MBUF EQU 13H ;13H,14H,15H,16H四个寄存器为显示缓存
;13H最低位显示段码
;14H次低位显示段码
;15H次高位显示段码
;16H最高位显示段码
;17H为任意数
DISBUF EQU OEH ;OEH,OFH为压缩式显示数据
;OEH高两位显示数据
;OFH低两位显示数据
BIT EQU 9 ;每字节位数(8)
FSR EQU 4 ;文件选择寄存器
RA EQU 5 ;I/O端口A
CONVERT MOVWF 2 ;PC=W
TABLE RETLW 0FCH ;“ 0
RETLW 60H ;“1”
RETLW 0DAH ; “2”
RETLW 0F2H ;“3
RETLW 66H ; “4”
RETLW 0B6H ; “5
RETLW 0BEH ;“6
RETLW 0E4H ;“7
RETLW 0FEH ;“8
RETLW 0F6H ;“9
RETLW 00H ;“
ETLW 7CH ; “U
RETLW 9EH ;“E
RETLW 00H ;“
RETLW 00H ;“
RETLW 00H ;“
DIS MOVLW MBUF ;将显示段码寄存器 首址(f13)送f4
MOVWF FSR
MOVLW TABLE ;把段码表起始地址 送BUFF
MOVWF BUFF
MOVF 0FH,0 ;取出最低位待显数据
ANDLW 0FH
ADDWF BUFF,0 ;BUFF+W→W 取得段码表中的偏移地址
CALL CONVERT ;转段码查询子程序
MOVWF 0 ;段码值送W
INCF FSR ;WF13
;以下依次完成高三位数据喽温胫档淖换
MOVLW TABLE
MOVWF BUFF
MOVF 0FH,0
MOVWF TRBUF
SWAPF TRBUF,0
ANDLW 0FH
ADDWF BUFF,0
CALL CONVERT
MOVWF 0
INCF FSR
MOVLW TABLE
MOVWF BUFF
MOVF OEH,0
ANDLW 0FH
ADDWF BUFF,0
CALL CONVERT
MOVWF 0
INCF FSR
MOVLW TABLE
MOVWF BUFF
MOVF 0EH,0
MOVWF TRBUF
SWAPF TRBUF,0
ANDLW 0FH
ADDWF BUFF,0
CALL CONVERT
MOVWF 0
MOVLW 30H ;使RA1,RA2为输出状态
TRIS RA
BCF RA, SI
BCF RA, SCP
MOVLW MBUF
MOVWF FSR
MOVLW 5 ;传送5字节数据
MOVWF TRBUF
DIS1 MOVF 0,0 ;码段值W
MOVWF BUFF ;W嗨褪据暂存器BUFF
INCF FSR
MOVLW 8
MONWF BIT ;一字节有8位
DIS2 BSF RA, CLK ;CLK端拉成高电平 BTFSC BUFF,7
BSF RA,SDA ;数据暂存器D7位送data线
BTFSS BUFF,7
BCF RA,SDA
RLF BUFF ;数据暂存器左移一位
BCF RA,CLK ;CLK端被拉成低电平,在其下降沿把data线上的数据采集进去
DECFSZ BIT
GOTO DIS2 ;一字节未送完,返回
DECFSZ TRBUF
GOTO DIS1 ;三字节未送完,返回
BSF RA,CL ;器件操作结束
BSF RA,EN
RETLW 0
PIC16C5X 系列 单片机 应用 TEC9607 器件 LED 译码 驱动 相关文章:
- PIC16C5X单片机程序存储器(12-02)
- PIC16C5X单片机数据存储器(12-02)
- PIC16C5X单片机概述(12-02)
- PIC16C5X单片机的状态寄存器(12-02)
- PIC16C5X单片机寄存器文件(12-02)
- PIC16C5X单片机通用寄存器和专用存储器(12-02)