标题:
点阵16*64仿真和单片机代码,ls374触发器实现
[打印本页]
作者:
谢放
时间:
2018-11-6 15:39
标题:
点阵16*64仿真和单片机代码,ls374触发器实现
16*64点阵仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
点阵屏幕.PNG
(58.8 KB, 下载次数: 39)
下载附件
2018-11-6 15:36 上传
0.png
(51.77 KB, 下载次数: 40)
下载附件
2018-11-6 18:37 上传
废话不多说,保证能用。
单片机源程序如下:
#include <reg52.h>
#include <ziku.h>
//P0口数据口
//P1口为控制口
//P2口列码低
//P3口列码高
sbit ct0=P1^0;
sbit ct1=P1^1;
sbit ct2=P1^2;
sbit ct3=P1^3;
sbit ct4=P1^4;
sbit ct5=P1^5;
sbit ct6=P1^6;
sbit ct7=P1^7;
void Delay1ms() //@12.000MHz
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
void control_lock(unsigned char hang)
{
switch (hang)
{
case 0: ct0=0;ct0=1;break;
case 1: ct1=0;ct1=1;break;
case 2: ct2=0;ct2=1;break;
case 3: ct3=0;ct3=1;break;
case 4: ct4=0;ct4=1;break;
case 5: ct5=0;ct5=1;break;
case 6: ct6=0;ct6=1;break;
case 7: ct7=0;ct7=1;break;
}
}
void control_key(unsigned char hang)
{
switch (hang)
{
case 0: ct0=1;ct0=0;break;
case 1: ct1=1;ct1=0;break;
case 2: ct2=1;ct2=0;break;
case 3: ct3=1;ct3=0;break;
case 4: ct4=1;ct4=0;break;
case 5: ct5=1;ct5=0;break;
case 6: ct6=1;ct6=0;break;
case 7: ct7=1;ct7=0;break;
}
}
void main()
{
unsigned char i,j,k; //循环变量
unsigned int lie=1;
while(1)
{
for(i=0;i<16;i++)
{
P2=0;//行消隐
P3=0;
for(j=0;j<4;j++) //4个字的一整有8个行单位
{
for(k=0;k<2;k++) //每一个字有两单位行
{
P0=0xff; //消隐
control_key(j*2+k);
P0=~tdcq[i*2+j*32+k];
control_lock(j*2+k);
}
}
P2=lie;
P3=lie>>8;
lie<<=1;
if(lie==0) lie=1;
Delay1ms();
}
}
}
复制代码
所有资料51hei提供下载:
16 64点阵屏仿真.zip
(129.21 KB, 下载次数: 25)
2018-11-6 15:37 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1