编程实例(16X16屏)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void display_r(unsigned int numb) //显示16行数据(函数) { unsigned char i; unsigned int x; x=~numb; LEDALE=0,LEDCLK=0;//初始化 for(i=0;i<16;i++) { /* if (x & 0x8000) LEDDI=1; else LEDDI=0;*/ LEDDI=(bit)(x & 0x8000); LEDCLK=1;LEDCLK=1; //相当延时 LEDCLK=0;LEDCLK=0; //相当延时 x=x<<1; //数据左移一位 } LEDALE=1; //ALE产生上升沿 LEDALE=0; }
二、译码器及LED灯的相关电路介绍
<1> 地址译码相关电路
<2> 16×16屏列信号译码电路
三、16×16点阵屏及列驱动电路
四、16×16点阵屏编程函数 void disp_16rz(unsigned int numb[ ])//显示16×16 { unsigned char y0data=0,abcd=0,i; for(i=0;i<16;i++) { display_r(numb[ i]); //送行数据 abcd=abcd<<3; //变换列数据 y0data=abcd | (led1) abcd=i+1; //列增1 delay_s(0x40); //点亮时间 } Y0=led123 | 0x80; //关显示器 }
编程实例【16×16点阵屏】
一、实现串进并出的编程 串进并出方法很多,一般用74HC164或 74HC595等器件配相关软件完成。 这里介绍具有锁存功能的74HC595。 <1> 74HC595器件介绍 74HC595又称“8位锁存移位寄存器”, 该 器件有:4个输入信号(DI、CLK、ALE和 CLR);9个输出信号(Q0~Q7和Cy)。 下图是用2片74HC595组成的16位串进并出 电路图。
16位串进并出实际电路【16行信号】
<2> 编程实例
#include <reg52.h> //引脚定义函数 #include <absacc.h> //XBYTE的头文 sbit LEDALE=P1^3; //74HC595锁存信号 sbit LEDDI=P1^7; //74HC595输入信号 sbit LEDCLK=P3^3; //74HC595的时钟信号 #define Y0 XBYTE[0x1000] //Y0的口地址
六、主函数调用 unsigned char led123;//LED灯全局变量 void main(void) { led123=0x02; //LED2点亮L2=1 while (1) { disp_16rz(dip_ numb1); //显示“西” led123=~led123;//三个等在闪烁 }
五、16×16点阵数据的获取
unsigned int code dis_numb1[16]= { 0x4000,0x4FFE,0x4814, 0x4824, 0x4844,0x7F84,0x4804, 0x4804, 0x4804,0x7F84,0x4844, 0x4844, 0x4844,0x4FFE,0x4000, 0x0000 };//西 【数据由汉字取模软件获取】
相关文档
最新文档