16x16点阵 74HC595驱动+仿真原理图,带滚动显示汉字的源程序.
仿真图原理图:
单片机源程序如下:
- /*********************************************************
- 程序名称:LED1616点阵流动显示汉字
- 简要说明:最大可显示16*16汉字
- P0口接上行线,P2口接下行线,P3口接扫描线
- *********************************************************/
- #include <reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- #include"74hc595.h"
- uchar b;
- uint offset;
- uchar code line[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行扫描信号
- uchar code word0[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
-
- uchar code word1[]={
- 0x20,0x20,0x22,0x22,0xFE,0x21,0x21,0x20,
- 0x20,0xFF,0x20,0x22,0xAC,0x20,0x20,0x00,
- 0x04,0x04,0x42,0x82,0x7F,0x01,0x01,0x10,
- 0x10,0x08,0x07,0x1A,0x21,0x40,0xF0,0x00};/*"我",0*/
-
- uchar code word2[]={0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,
- 0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,
- 0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,
- 0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00};/*"爱",0*/
- uchar code word3[]={0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,
- 0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
- 0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,
- 0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00};/*"你",0*/
- uchar *p[]={word0,word1,word2,word3};
- void init()
- {
- TMOD=0x01;
- TH0=0xb1;
- TL0=0xe0;
- ET0=1;
- EA=1;
- TR0=1;
- }
- void xianshi(uchar s[])
- {uchar m,n,a;
- uchar i;
- for(i=0;i<8;i++)
- {
- m=i+16+offset;
- write_data(line[i],0xff);
- delay(2);
- send_date();
- P0=s[i+offset];
- P2=s[m];
- write_data(0xff,0xff);
- // P0=0XFF;
- //P2=0XFF;
- //}
- //for(i=0;i<8;i++)
- a=i+8+offset;
- n=i+24+offset;
- write_data(0xff,line[i]);
- delay(2);
- send_date();
- P0=s[a];
- P2=s[n];
- //write_data(0x00,0x00);
- //{
- }
- //
- }
- void main()
- {uchar i;
- uint j;
- init();
- write_data(0xff,0xff);
- while(1)
- {
- for(i=1;i<4;i++)
- {
- for(j=0;j<255;j++)
- xianshi(p[1]);
- //offset=0;
- }
- }
- }
- void timer0() interrupt 1 using 3
- {
- TF0=0;
- TH0=0xb1;
- TL0=0xe0;
- if (b<9)
- {
- b++;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
16x16.rar
(22.84 KB, 下载次数: 386)
|