双色点阵显示程序详解

 时间:2024-10-28 05:23:51

双色点阵显示程序详解,8X8双色点阵

工具/原料

电脑

开发板

方法/步骤

1、主要利用二极管的动态扫描,根据电路图,分配I/O整理思路

双色点阵显示程序详解

2、#include"reg52.h"//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

双色点阵显示程序详解

3、#defineuintunsignedint#defineucharunsignedchar

双色点阵显示程序详解

4、sbitsmg=P3^7;uchar罕铞泱殳count=0,j=0,a=0;ucharcodesaomi锾攒揉敫ao[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,}; //共阳极uintcodexianshi[18][8]={{0xff,0xff,0xc1,0xbe,0xbe,0xbe,0xc1,0xff},//0{0xff,0xff,0xff,0xff,0xde,0x80,0xfe,0xff},//1{0xff,0xff,0xd8,0xba,0xba,0xba,0xc6,0xff},//2{0xff,0xff,0xdd,0xb6,0xb6,0xb6,0xc9,0xff},//3{0xff,0xff,0xf3,0xeb,0xdb,0x80,0xfb,0xff},//4{0xff,0xff,0x8d,0xae,0xae,0xae,0xb1,0xff},//5{0xff,0xff,0xc1,0xb6,0xb6,0xb6,0xd9,0xff},//6{0xff,0xff,0xbf,0xbf,0xbf,0xb0,0x8f,0xff},//7{0xff,0xff,0xc9,0xb6,0xb6,0xb6,0xc9,0xff},//8{0xff,0xff,0xcd,0xb6,0xb6,0xb6,0xc1,0xff},//9{0xff,0xff,0x80,0xb7,0xb7,0xcf,0xff,0xff},//P{0xff,0xff,0x80,0xb7,0xb3,0x8c,0xff,0xff},//R{0xff,0xff,0x80,0xb6,0xb6,0xb6,0xff,0xff},//E{0xff,0xff,0xc1,0xbe,0xbe,0x9d,0xff,0xff},//C{0xff,0xff,0x80,0xf7,0xf7,0x80,0xff,0xff},//H{0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff},//I{0xff,0x80,0xef,0xf7,0xfb,0x80,0xff,0xff},//N{0x83,0xb7,0xb7,0x00,0xb7,0xb7,0x83,0xff}//中};

双色点阵显示程序详解

5、/***********************************************涯箨唁峦*******************//*延时函数声明惺绅寨瞀*//******************************************************************//*voidmdelay(uintt){ucharn; for(;t>0;t--) for(n=0;n<125;n++) {;}}*/voidmdelay(uintt){ ucharn; while(t--) { for(n=0;n<123;n++) {;}} }

双色点阵显示程序详解

6、/***********************************************涯箨唁峦*******************//*主函数惺绅寨瞀*//******************************************************************/voidmain(){ uchari; EA=1;//开总中断开关 TH0=0x3c;//设置初值50ms TL0=0xb0; ET0=1;//打开定时器中断 TR0=1;//启动定时器 TMOD=0x01;//设置定时器0为工作方式1while(1) {if(a==1) { for(i=0;i<8;i++) { P0=saomiao[i]; //公共端,高电平有效 smg=1;//锁存 smg=0; P0=0xff; P0=xianshi[j][i];//数组显示 mdelay(2); }}else{ for(i=0;i<8;i++) { P0=saomiao[i]; //公共端,高电平有效 smg=1;//锁存 smg=0; P0=0xff; P2=xianshi[j][i];//数组显示 mdelay(2); }} }}

双色点阵显示程序详解

双色点阵显示程序详解

7、/******************************************************************//*定时器0*//******************************************************************/voidtime0()interrupt1{TH0=0x3c; TL0=0xb0; count++; if(count==20) {j++;//间隔1s a++; count=0; if(j==18) j=0; if(a==2) a=0;}}

双色点阵显示程序详解

8、本经验只供参考,如有不足,还请见谅,如果有什么疑问请在下边留言,及时给你解答。。。

如何锻炼自己的爆发力 如何选择一本好书我的观点 优秀的企业管理者应该具备的素质有哪些? 英语四级CET-4怎么顺利通过 哈利波特圣诞彩蛋青蛙怎么弄
热门搜索
gif图片下载 法国美食图片 孙红雷电影电视剧 北极星小姐姐图片 荷兰鼠图片