PIC单片机控制LED点阵显示屏

发布者:daits摸鱼的最新更新时间:2020-01-28 来源: eefocus关键字:PIC单片机  控制LED点阵  显示屏 手机看文章 扫描二维码
随时随地手机看文章

本实验在proteus软件上模拟完成。


实验器件:20片8X8LED点阵显示屏,10片74LS164移位寄存器,10片74LS273数据锁存器,2片74LS138译码器,1片PIC16F877A单片机。


proteus元件库中中没有16X80点阵显示屏,所以用20片8X8LED点阵屏拼装而成。


10片74LS164移位寄存器和10片74LS273数据锁存器用于传送和保存一行数据。


2片74LS138构成4选16译码器用于行选。


实验截图:



源程序:



 list  p=16f877A ; list directive to define processor

 #include ; processor specific variable definitions

 

 __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF



; '__CONFIG' directive is used to embed configuration data within .asm file.

; The lables following the directive are located in the respective .inc file.

; See respective data sheet for additional information on configuration word.



;***** VARIABLE DEFINITIONS

w_temp  EQU 0x7D  ; variable used for context saving 

status_temp EQU 0x7E  ; variable used for context saving

pclath_temp EQU 0x7F  ; variable used for context saving  



DELAY_REG EQU 0x20

LINE_NUM EQU 0x21  ;行号

BYTE_NUM EQU 0x22  ;字节号

WORD_NUM EQU 0x23  ;字号

       ;字号X32 + 行号X2 + 字节号 得查表偏移量。

BYTE_BIT_COUNT EQU 0x24 ;一个字节的位数,移位时用



SER   EQU 0x07   

SCK   EQU 0x00   

RCK   EQU 0x01


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

 ORG     0x000             ; processor reset vector


 nop     ; nop required for icd

   goto    main              ; go to beginning of program



 ORG     0x004             ; interrupt vector location

 retfie                    ; return from interrupt


main


; remaining code goes here


 BSF  STATUS,RP0

 CLRF TRISB

 CLRF TRISC

 CLRF TRISD

 BCF  STATUS,RP0


 CLRF PORTB

 CLRF PORTC

 CLRF PORTD

 CLRF LINE_NUM


MAIN_LOOP:

 CALL LOAD_A_LINE    ;加载一行

 MOVF LINE_NUM,W    ;行选

 MOVWF PORTC     

 BSF  PORTB,RCK    ;将一行数据送入锁存器

 NOP

 NOP

 BCF  PORTB,RCK

 CALL DELAY     ;延时

 INCF LINE_NUM    ;下一行

 BCF  LINE_NUM,4    ;一共16行,模16

 GOTO MAIN_LOOP


 

;加载一行

LOAD_A_LINE:      

 CLRF WORD_NUM    ;字号清零

LOAD_A_WORD:

 CLRF BYTE_NUM    ;字节号清零

LOAD_A_BYTE: 

 BCF  STATUS,C    ;清除C标志位,为移位乘2做准备

 RLF  LINE_NUM,W    ;每个字一行占两个字节,所以乘2    

 ADDWF WORD_NUM,W    ;下面WORD_NUM每次加32,不用再乘

 ADDWF BYTE_NUM,W    ;行号X2 + 字号X32 + 字节号

 CALL ENCODE     ;查表,取出对应的字节

 MOVWF PORTD     

 MOVLW D'8'

 MOVWF BYTE_BIT_COUNT   ;一个字节有8位

LOAD_A_BIT:

 BSF  PORTB,SCK    ;将PORTD最高位送入移位寄存器

 NOP

 NOP

 BCF  PORTB,SCK

 RLF  PORTD     ;移位,准备将下一位送入移位寄存器

 DECFSZ BYTE_BIT_COUNT   ;循环8次

 GOTO LOAD_A_BIT


 INCF BYTE_NUM

 BTFSS BYTE_NUM,1    ;BYTE_NUM==2?一行有两个字节

 GOTO LOAD_A_BYTE

 MOVLW D'32'

 ADDWF WORD_NUM    ;一个字32个字节,每次加32,使用时不用再乘32

 MOVF WORD_NUM,W

 SUBLW D'160'

 BTFSS STATUS,Z    ;WORD_NUM==160?5个字160个字节

 GOTO LOAD_A_WORD

 RETURN


;延时

DELAY:

 DECFSZ DELAY_REG

 GOTO DELAY

 RETURN

 

 

ENCODE:

 ADDWF PCL

 ;黑

 DT 0x3F,0xF8,0x21,0x08,0x29,0x28,0x25,0x48,0x25,0x88,0x3F,0xF8,0x01,0x00,0x01,0x00,

 DT 0x3F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x00,0x48,0x84,0x44,0x42,0x84,0x42,0x00,0x00

 ;龙

 DT 0x02,0x00,0x02,0x40,0x02,0x20,0x02,0x20,0x7F,0xFE,0x02,0x80,0x02,0x90,0x02,0x90,

 DT 0x04,0xA0,0x04,0xC0,0x08,0x80,0x09,0x80,0x12,0x82,0x20,0x82,0x40,0x7E,0x00,0x00

 ;江

 DT 0x20,0x00,0x10,0x00,0x13,0xFC,0x00,0x40,0x88,0x40,0x48,0x40,0x50,0x40,0x10,0x40,

 DT 0x10,0x40,0x20,0x40,0xE0,0x40,0x20,0x40,0x20,0x40,0x2F,0xFE,0x20,0x00,0x00,0x00

 ;大

 DT 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x80,

 DT 0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04

 ;学

 DT 0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,

 DT 0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00



 END                       ; directive 'end of program'

关键字:PIC单片机  控制LED点阵  显示屏 引用地址:PIC单片机控制LED点阵显示屏

上一篇:PIC单片机之TIME2
下一篇:PIC单片机CONFIG说明

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved