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说明

推荐阅读最新更新时间:2024-11-01 23:16

在温度变送器中PIC单片机有什么应用?
引言 在智能仪表设计中,经常用到 A/D 转换器。在常用的 A/D 转换中,7135 应用最为广泛, 它具有 41/2 位 A/D 转换精度,抗干扰能力强,价格低廉,主要用于检测参数的测量显示, 在智能仪器仪表中,常利用其 A/D 转换特性,与单片机串行连接,通过简单的人机界面实现对A/D 转换数据的智能控制。本文以 PIC 单片机与 ICL7135 的实际工程应用为例,介绍一款智能温度控制仪表在温度变送器中的应用。 1 PIC 单片机 PIC 系列 8 位 CMOS 单片机具有独特的 RISC 结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于 8 位的数据位数,
[单片机]
在温度变送器中<font color='red'>PIC单片机</font>有什么应用?
PIC单片机模拟开关程序
程序介绍:简单的按键按下,相应的灯亮,按键弹起,灯灭。只有一个按键哦,相应的也只是一个灯亮。 #define MX_PIC //Defines for microcontroller #define P16F690 #define MX_EE #define MX_EE_SIZE 256 #define MX_SPI #define MX_SPI_BCB #define MX_SPI_SDI 4 #define MX_SPI_SDO 7 #define MX_SPI_SCK 6 #define MX_UART #define MX_UART_B #define MX_UART_TX 7 #define MX_UART_RX
[单片机]
<font color='red'>PIC单片机</font>模拟开关程序
PIC单片机人机接口模块元器件选择说明
PIC单片机人机接口模块元器件选择说明:  (1)芯片引脚。   12~20根为PIC16C5X的双向可独立编程I/O口,每根I/O口都可由程序来编程决定其输入/输出方向。PIC16C5X有5种型号,如表1所示   表一 PIC16C5X管脚   PIC16C5X管脚图如图1所示   图1 PIC16C5X管脚图   各引脚的功能描述如表2所示   表2 各引脚的功能   (2)内部结构。   PIC16CSX在一个芯片上生成了一个8位算术逻辑单元ALU和工作寄存器W;384bit~2KB的12位程序存储器ROM;32~80个8行数据寄存器RAM;12~20个I/O口端:8位计数器及预分频器;时钟、
[工业控制]
<font color='red'>PIC单片机</font>人机接口模块元器件选择说明
全彩LED显示屏特性及鉴定技巧
 一、全彩LED显示屏的主要特点 全彩LED显示屏是LED显示屏的一种,它所具备的特点主要有: (1)色彩丰富:由三基色(红、绿、蓝)显示单元板组成,红、绿、蓝各256级灰度构成16,777,216种颜色,使电子屏实现显示色彩丰富、高饱和度、高解析度、显示频率高的动态图像; (2)效果好:采用非线性校正技术,图像更清晰、层次感更强; (3)可靠性强:采用分布式扫描技术和模块化设计技术,可靠性、稳定性更高; (4)超强检测功能:实时检测屏中像素点是否失效,远程传输像素点的工作状态; (5)全新的面罩设计,使 LED 发出的光线几乎做到0反射,保证屏体的显示效果; (6)高平整度:箱体平整度系数
[嵌入式]
PIC单片机如何定义配置字与芯片标记
PICC提供了相关的预处理指令以实现在源程序中定义单片机的配置字和标记单元。 1)定义工作配置字 在源程序中定义PIC单片机工作配置字的重要性在前面章节中已经阐述。在用PICC写程序时同样可以在C原程序中定义,具体方式如下: __CONFIG(HS&UNPROTECT&PWRTEN&BORDIS&WDTEN); 上面的关键词“__CONFIG”(注意前面有两个下划线符)专门用于是芯片配置字的设定,后面括号中的各项配置位符号在特定型号单片机的头文件中已经定义(注意不是pic.h头文件),相互之间用逻辑“与”操作符组合在一起。这样定义的配置字信息最后将和程序代码一起放入同一个HEX文件。 在这里列出了适用于16F7
[单片机]
地铁列车LED显示屏的设计
  1 引 言   LED显示屏在地铁中作为一种面向公众的信息显示终端,有着非常广泛的民用和商用价值。   目前在国内运行的地铁车辆普遍都配备了LED显示屏,但附加功能较少,屏幕显示内容单一。为了配合新型地铁旅客信息系统的使用,我们设计了一种全新的多总线式LED显示动态屏。   该显示屏在外部通讯时不但具有多种总线接口,在内部控制 电路设计 中还采用了单总线和I2 C 总线器件。   地铁上的LED 屏分两种:一种放置于车厢外侧,用于显示列车运行区间、运行方向和当前到站站名,中英文兼容显示;也可根据运行需要显示其他服务信息;文字显示可选静止、滚动、平移、瀑布、动画等多种效果,最大显示字符数为16 ×16 点阵字符12个。另
[单片机]
地铁列车LED<font color='red'>显示屏</font>的设计
解析视频处理器在全彩LED显示屏中的应用
视频处理器是全彩LED显示屏诞生、成长以及成熟的全程见证者和标志性设备,今天LED专用的视频处理设备在此过程中也逐渐走向成熟,LED视频处理器的优劣直接影响了led显示屏的显示效果。   总的来说,LED视频处理器,就是LED专用的视频处理器。而它所需要完成的任务,简单来说,就是将来自外部(例如蓝光DVD、电脑、高清播放盒等)的图像信号转化为LED显示屏所能接受的信号。在这个过程中,LED视频处理器一般需要完成以下处理过程:   一、分辨率规格转换:一般来说,图像信号源(例如蓝光DVD、电脑、高清播放盒等)提供的信号分辨率都有固定的规格(参考VESA、ITU、SMPTE等标准),而led显示屏的模块化拼接显示,使得其分辨率几
[电源管理]
PIC单片机红外遥控编码与解码的问题分享
一般常用的红外遥控器编码规则都差不多,基本上都同6221原理一样 PIC单片机接收时: 如果用54,57这类片子做的话有一定的难度(假如要做成实时控制的;比如说你还要驱动显示,驱动步进电机,在加上几个按键)原因就是这类片子没有中断 例程如下(用来解6221;分频比为256) RF: BTFSC PORTB,2;;B2口用做接收口 GOTO RF1 BTFSS DOWNBIT;;检测下降沿标制 CLRF RTCCOUNT BSF DOWNBIT;制下降沿标制 BTFSS UPBIT;;检测上升沿标制 RETLW 0 BTFSC IDBIT;;检测码头标制 GOTO RF3 MOVLW 2AH SUBWF R
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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