资源简介
16x16 LED点阵 驱动 74hc164 74hc595 动态显示 亲测能用 放心下载

代码片段和文件信息
/*16*16点阵屏的显示*/
#include
#include
#define DATAOUT P2 //指定P2口做为输出
sbit DATA=DATAOUT^0; //行数据输出位
sbit SCLH=DATAOUT^1; //行扫描时钟位
sbit SCLT=DATAOUT^2; //行数据锁存位
sbit AB=DATAOUT^3; //列数据输出位
sbit SCK=DATAOUT^4; //列扫描时钟位
unsigned char lhj[32];//32字节RAM做为16*16点阵屏显示缓存
void display();//做为点阵扫描函数,将显示缓存的数据输出到点阵屏
void displayS(unsigned int timer);//指定时间扫描显示
void displaymove(unsigned char *lpunsigned char cunsigned char timer);//显示汉字内容的移动效果,LP指向要显示第一个字的首地址,C表示显示字的个数,
//timer是移动的速度
void displaymovetb(unsigned char dinunsigned char *lpunsigned char timer);
//上下移动内容,din:1为向下,0为向上,lp指向要移入的内容,timer为移动速度
void delay(unsigned int a);//延时子函数
code unsigned char jin[32]={//汉字“星“的点阵数据。汉字点阵数据,可用汉字库点阵生成软件获得
0x000x000x1F0xF00x100x100x1F0xF00x100x100x1F0xF00x010x000x110x00
0x1F0xF80x210x000x410x000x1F0xF00x010x000x010x000x7F0xFC0x000x00
};
code unsigned char chuang[32]={//轨
0x200x800x200x800x200x800xFC0x800x430xF00x500x900x900x900xFC0x90
0x100x900x100x900x1C0x900xF00x920x510x120x110x120x120x0E0x140x00
};
code unsigned char dian[32]={//宇
0x020x000x010x000x7F0xFE0x400x020x800x040x3F0xF80x010x000x010x00
0x010x000xFF0xFE0x010x000x010x000x010x000x010x000x050x000x020x00
};
code unsigned char zi[32]={//宙
0x020x000x010x000x7F0xFE0x400x020x810x040x010x000x3F0xF80x210x08
0x210x080x210x080x3F0xF80x210x080x210x080x210x080x3F0xF80x200x08
};
code unsigned char LY[32]={//图案数据
0x000x000x000x000x800x200xE00x300x700x380x3C0x3C0x1E0x3E0x0F0xBF
0x070xFF0x0F0xBF0x1E0x3E0x3C0x3C0x700x380xE00x300x800x200x000x00
};
/*************************************************************************
函数名:main()
功能:
入口变量:
出口变量:
*************************************************************************/
void main(void) //主入口函数
{
unsigned char i=0j=0;
for(i=0;i<32;i++)
lhj[i]=LY[i];//将图案数据复制到显示缓存
while(1)
{
displayS(2); //显示图案约2秒
displaymovetb(0jin10); //将“精“字以10的速度移动
displaymovetb(0chuang10); //将“创“字以10的速度移动
displaymovetb(0dian10); //将“电“字以10的速度移动
displaymovetb(0zi10); //将“子“字以10的速度移动
displaymovetb(0010); //以10的速度向上清空
displayS(1); //等待1秒
displaymovetb(1LY10); //将“图案“以10的速度向下移动
displaymove(jin47);//将从“精“开始的四个汉字从右向左移动
displayS(1); //等持约1秒
displaymovetb(1010); //将点阵上显示的内容向下以10的速度移出,补上0,即清空显示屏
displayS(1); //等待1秒
}
}
/*************************************************************************
函数名:display()
功能:显示驱动芯片操作
入口变量:无
出口变量:无
*************************************************************************/
void display()//显示
{
unsigned char iiajtmp; //定义变量
DATAOUT=0XFF; //置位高电平做准备
AB=0; //将列数据位清0,准备移位
for(i=0;i<16;i++)
{ //循环输出16行数据
SCK=0; //为列移位做准备
SCLT=0; //为行锁存做准备
for(ia=2;ia>0;)
{ //每行16个点,循环位移
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-10-15 19:50 16_16点阵b\
文件 11168 2012-10-25 19:40 16_16点阵b\LED8.OBJ
文件 8840 2012-10-25 19:40 16_16点阵b\LED8.c
文件 8907 2012-10-25 19:40 16_16点阵b\lhj
文件 1658 2012-10-23 19:14 16_16点阵b\lhj.Uv2.bak
文件 2896 2012-10-25 19:40 16_16点阵b\lhj.hex
文件 47 2012-10-25 19:40 16_16点阵b\lhj.lnp
文件 1166 2012-10-23 19:14 16_16点阵b\lhj.opt.bak
文件 1777 2012-10-25 19:40 16_16点阵b\lhj.plg
文件 73654 2012-10-25 20:11 16_16点阵b\lhj.uvopt
文件 13193 2012-10-25 18:44 16_16点阵b\lhj.uvproj
文件 1287 2009-05-28 18:57 16_16点阵b\lhj_Opt.Bak
文件 1988 2009-05-28 18:57 16_16点阵b\lhj_Uv2.Bak
文件 73647 2012-10-25 19:40 16_16点阵b\lhj_uvopt.bak
相关资源
- 基于STM32RCT6的步进电机驱动程序
- 直流无刷电机方波驱动 stm32 例程代码
- elantech触控板驱动程序 v13.6.11 官方最
- 联想y470无线网卡驱动 for 32位64位
- 松下plc FP-XH的驱动
- IMX385驱动代码.zip
- 组态王驱动开发包3.0.0.7(中文)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- CASS9.1最新S4数据及驱动+ET199数据及驱
- 带有死区延时的H桥直流电机驱动电路
- USB转串口驱动,FT232R驱动程序,最新
- 德卡D3读卡器测试程序驱动文件
- WinCE下CP210x的驱动程序
- ubuntu9.10 可加载内核模块和字符设备驱
- MCGS触摸屏西门子s7_1200驱动
- FPGA在步进电机驱动上的应用实例及代
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- RA8806液晶驱动程序
- 内核驱动进程保护演示程序
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- 组态王中S7-300TCP驱动
- STC12C5A60S2 CH4521 驱动数码管 显示
- STM32F103 CC2500完整驱动(模拟SPI)
- 430系列单片机USBFET下载驱动
- dell阵列卡驱动s100 s300 2008 R2.rar
- keil vcom windows 7 64bit 驱动
- windows ce 系统的GPIO驱动程序
- 16X16点阵程序(附仿真图和源程序)
- 16x16点阵(滚动显示)论文 程序
评论
共有 条评论