找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2211|回复: 0
打印 上一主题 下一主题
收起左侧

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++);

  }

}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表