标题:
proteus仿真单片机开发板 8*8点阵动态显示+源程序
[打印本页]
作者:
51黑ff
时间:
2016-9-9 23:41
标题:
proteus仿真单片机开发板 8*8点阵动态显示+源程序
这个单片机驱动8*8点阵是基于一个proteus的仿真开发板做的.整个的仿真原理图如下:
0.png
(29.25 KB, 下载次数: 61)
下载附件
2016-9-9 23:38 上传
用下面这个程序来运行仿真就可以得到效果.proteus仿真单片机开发板和源程序下载:
程序.zip
(28.66 KB, 下载次数: 47)
2016-9-9 23:40 上传
点击文件名下载附件
下载积分: 黑币 -5
仿真图.zip
(77.53 KB, 下载次数: 67)
2016-9-9 23:40 上传
点击文件名下载附件
下载积分: 黑币 -5
8*8点阵的动态显示程序:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delay_ms(uint);
uchar code dz88_hang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //行P1 需高电平
uchar code dz88_lie[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //列P0 需低电平
//uchar code dz88_dm[]={0x00,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0x00}; //N
//uchar code dz88_dm1[]={0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,}; //1
//uchar code dz88_dm1[]={0xFF,0x20,0x20,0x24,0x24,0x04,0x04,0xFF,}; //2
//uchar code dz88_dm1[]={0xFF,0x3C,0x24,0x24,0x24,0x00,0x00,0xFF,}; //3
//uchar code dz88_dm1[]={0xFF,0x07,0x07,0xE7,0x00,0x00,0xE7,0xE7,}; //4
uint num1;//用来控制动态扫描的速度
uint num2;//用来控制字符与字符切换速度
uchar i; //行控制数的变量
uchar j; //字符与字符切换的变量
uchar code digittab[][8]={
{0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,},//1
{0xFF,0xBC,0x7A,0x76,0x6E,0x9E,0xFF,0xFF,},//2
{0xFF,0xBD,0x7E,0x6E,0x56,0xB9,0xFF,0xFF,},//3
{0xC7,0xB7,0x77,0xF7,0x00,0xF7,0xF7,0xF7,},//4
{0xFF,0x0D,0x6E,0x6E,0x6E,0x6E,0x61,0xFF,},//5
{0xFF,0xC7,0xD7,0xD7,0x00,0xD7,0xD7,0xC7,},//中
{0x00,0x7E,0x54,0x40,0x54,0x50,0x7E,0x00,},//国
{0xFD,0xFB,0xF7,0x0F,0xEF,0xF7,0xFB,0xFD,},//人
};
void main()
{
j=0;
while(1)
{
// for(j=0;j<4;j++)
if(j<8)
{
P1=dz88_hang[i]; //行扫描
P0=digittab[j][i];
}
// num1++; //用于控制动态扫描的速度 5ms
if(++num1>=50)
{
num1=0;
// i++;
if(++i>=8)
i=0;
}
// num2++;
if(++num2>=10000) //用于控制动字符间的切换速度 1s
{
num2=0;
// j++;
if(++j>8)
j=0;
}
}
}
/*
//显示一个字母或者图形
void main()
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
P1=dz88_hang[i]; //行全部选中
//P0=dz88_dm[i]; //N
P0=dz88_dm1[i];
delay_ms(5);
}
}
}
*/
/* 全部列选中
void main()
{
uchar i;
P0=0X00; //列全部选中
while(1)
{
// P0=0X00; //列全部选中
// P1=0Xff; //行全部选中
for(i=0;i<8;i++)
{
P1=dz88_hang[i]; //行全部选中
delay_ms(1000);
}
}
}
*/
/*
// 全部行选中
void main()
{
uchar i;
//P0=0X00; //列全部选中
P1=0Xff; //行全部选中
while(1)
{
// P0=0X00; //列全部选中
// P1=0Xff; //行全部选中
for(i=0;i<8;i++)
{
P0=dz88_lie[i]; //行全部选中
delay_ms(7);
}
}
}
*/
/*
void delay_ms(uint z) //延时子程序
{
uchar y;
uint x;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
*/
复制代码
作者:
qq45386138
时间:
2017-3-22 18:13
谢谢楼主分享
作者:
wkdsky
时间:
2017-5-27 09:53
好想下载 没币。。
作者:
王志恒
时间:
2017-7-31 14:28
好想下载 就是没有黑笔 怎么办
作者:
星星鹿
时间:
2018-4-6 22:30
有没有好用的字模软件推荐呀
作者:
君可为物亡乎
时间:
2018-4-11 21:12
好想下载 没币。。
作者:
s6155555s
时间:
2018-4-22 10:46
很赞!!!!!!
作者:
feiji666
时间:
2018-10-17 18:11
是整块实验板的图吗
作者:
feiji666
时间:
2018-10-18 13:25
真的很有用
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1