标题: 51单片机系列 点阵 C语言 proteus [打印本页]

作者: heicad    时间: 2014-6-17 16:09
标题: 51单片机系列 点阵 C语言 proteus
本帖最后由 heicad 于 2014-6-17 16:11 编辑

口/管脚
7/A
0
0
0
1
0
0
0
1
6/B
0
0
1
0
0
0
1
0
5/C
0
1
0
0
0
0
0
0
4/D
1
0
0
0
1
0
0
0
3/E
0
0
0
1
0
0
0
1
2/F
0
0
1
0
0
0
1
0
1/G
0
1
0
0
0
0
0
0
0/DP
1
0
0
0
1
0
0
0


1
2
4
8
1
2
4
8












注意:高7位→低0位,1→1H

l  P0口、P3口是字符码、P2口是显示位控制码。

l  同是共阴极或共阳极用同样的字符代码,若一阴一阳则需要代码反转—用CPL指令。

l  显示位控制码用MOV P2,88H显示最右侧(个位)位,用MOV P2,11H显示最左侧(千位)位。由此可见其它显示代码的表达。CA—Yang,CC—Yin

l  综合显示可以匹配12H或21H等交叉进行。

点阵显示技术与程序特点,点阵的显示测试(各口控制电位)、编码技术(4-1对位)、显示技术(延时)、各口8位扫描字形的2进制与16进制转换与表征,使用数组描述,扫描,数组中的16进制






//点阵扫描数字0移动

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar code SaoMiaoG[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

uchar code SaoMiaoD[]={0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,

0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,

0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,

0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,

0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,

0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xC3,

0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,

0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF};



void  DelayMS(uint x);      //声明后可使得函数在任意之处,否则函数需要在调用之前

  uint i,j;



void main()//显示数字0主程序

proteus{

loop:

i=0,j=0;//



loop1:

P2=~SaoMiaoG[i ];

i++;

  P1=~SaoMiaoD[j];

  j++;

    DelayMS(10);

if(i<64)

goto loop1 ;

else

goto loop ;



  }



    void  DelayMS(uint x)

{

  uchar t;      

  while(x--)

  {

  for (t=0;t<120;t++);

  }

}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1