要用8×8的LED点阵显示数字0~9,先用proteus 画出仿真图,然后用取模软件画出数字8×8点阵图形,并按行取模,每个数字共8个字节数据,显示时取出字模并逐行扫描就行了。

第一,没有硬件连接描述,单片机类型,晶振参数等;第二,既然是点阵 ,显示的内容是需要自编字库的,即字模;第三,没有说明所谓的移动是什么类型的,如整个字母移动,或单列移动;整屏移动又是什么情况。

include#include#includevoid PrintNum(int n){switch(n){case 0:printf("***");printf("* *");printf("* *");printf("* *");printf("* *");

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 {0x00,0x00,0x00,0x00,0x21,0x

这个程序可以循环显示0~9.#include#include#define uchar unsigned char#define uint unsigned intuchar code Table_of_Digits[]={0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //00x00,0x00

3)比如数字0的8*8点阵就是(0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xE7,0xFF,/* 0 */ ),你需要先选b0,将c0到c7,设置为0xff(即8位全1),接着选b1,将c0到c7设置为0xE7(即两段为0,中间全1,01111110

8*8点阵屏怎样实现0~9,字母,汉字三者进行切换(C语言程序)

int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; //定义LED引脚 int numPins[][7] = { //定义数字0~9的LED点阵图形 {1, 1, 1, 1, 1, 1, 0}, //0 {0, 1, 1, 0, 0, 0,

要用8×8的LED点阵显示数字0~9,先用proteus 画出仿真图,然后用取模软件画出数字8×8点阵图形,并按行取模,每个数字共8个字节数据,显示时取出字模并逐行扫描就行了。

include#include#includevoid PrintNum(int n){switch(n){case 0:printf("***");printf("* *");printf("* *");printf("* *");printf("* *");

case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[index][1]; break;case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[index][2]; break;case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++;

怎么写8×8led点阵屏显示数字0-9的程序?

要用8×8的LED点阵显示数字0~9,先用proteus 画出仿真图,然后用取模软件画出数字8×8点阵图形,并按行取模,每个数字共8个字节数据,显示时取出字模并逐行扫描就行了。

这个程序可以循环显示0~9.#include#include#define uchar unsigned char#define uint unsigned intuchar code Table_of_Digits[]={0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //00x00,0x00

设计用PLC控制数码管循环显示数字0-9,控制要求如下(1)按下启动按钮后,数码管从0开始显示,1s后显示1,再过1s后显示2,…,显示9,1s后再重新屏示0.如此循环。(2)当按下停止孩钮后,数码管烟灭。7数码营实际上是由7只

{0xC3, 0x81, 0x99, 0x99, 0x99, 0x99, 0x81, 0xC3}, //数字0 {0xEF, 0xE7, 0xE3, 0xE7, 0xE7, 0xE7, 0xE7, 0xC3}, //数字1 {0xC3, 0x81, 0x9D, 0x87, 0xC3, 0xF9, 0xC1, 0x81},

在一块8x8的LED点阵上循环显示0~9十个数字字符,时间间隔为1s。

1) 8*8的点阵屏要显示0-9,字母以及汉字需要使用点整显示的方法。对于0-9以及字母都没有问题,点阵用的的很少,在程序里直接写就可以啦。对于汉字你需要找8*8的汉字点阵字库,能不能找到都是个问题,除非只是显示几个

case 0:P0=0xff; //输出位码和段码 P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);if(++i==8) i=0; //每屏一个数字由8 个字节构成 if(++t==250) //每个数字刷新显示一段时间 { t=0;if(

P20=1; // 打开段选 让显示数字几 P1=l[xx[r]]; // delay(); //延时 P1=0xff; //数码管短暂清零 delay(); //延时 P20=0; // 关闭段选 } } void delay(void) /***延时***/ { unsi

} delay(1000); //延时1秒 } } 该程序利用数组存储数字09的LED点阵图形,并通过循环依次点亮每个数字的7个LED,从而实现数字09的循环显示。可以根据需要对延时时间进行调整,以达到合适的显示效果。

第一步,先将Proteus运行起来,同样新建一个Arduino 328的项目,自己为项目取个名字,此处取名为LEDMatrix。第二步,要从元件库当中找到LED点阵,并添加到工作区。点击左侧“Component Mode”按钮——点击“P”按钮——在输入

static unsigned int tmr = 0; //1s软件定时器 static unsigned char index = 9; //图片刷新索引 TH0 = 0xFC; //重新加载初值 TL0 = 0x67;//以下代码完成LED点阵动态扫描刷新 P0 = 0xFF; //显示消隐

这个程序可以循环显示0~9.#include#include#define uchar unsigned char#define uint unsigned intuchar code Table_of_Digits[]={0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //00x00,0x00

怎么利用8×8led点阵屏循环显示数字0-9编写程序并用Proteus仿真验证?

算法其实很简单,在不同时间片打入字模不同就可以实现 以下是伪代码 /****************************************/ while(1) { for{打入字模} delay(人眼可以识别的时间,不要太小,会出现鬼影) }
上面的引脚代表的是列, 是列高行低能使LED亮。 见下面的仿真图就知道了。
c语言的 8x8点阵的 你需要建个自模的啊 怎么给你呢
跟数码管没什么区别啊。。无非就是个动态扫描,自己想想几分钟就写出来了。。
要用8×8的LED点阵显示数字0~9,先用proteus 画出仿真图,然后用取模软件画出数字8×8点阵图形,并按行取模,每个数字共8个字节数据,显示时取出字模并逐行扫描就行了。
何必一定用汇编
#include unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 {0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1 {0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2 {0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3 {0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4 {0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6 {0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7 {0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8 {0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9 }; unsigned int timecount; unsigned char cnta; unsigned char cntb; void main(void) { TMOD=0x01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; TR0=1; ET0=1; EA=1; while(1) {; } } void t0(void) interrupt 1 using 0 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; P3=tab[cnta]; P1=digittab[cntb][cnta]; cnta++; if(cnta==8) { cnta=0; } timecount++; if(timecount==333) { timecount=0; cntb++; if(cntb==10) { cntb=0; } } }
#include//单片机头文件 void delay1ms(unsigned int ms);//延时ms函数声明(可根据实际情况更改) unsigned char code led0[]={};//字码表,你自己把你要显示的字码放进去就可以了 void main() { unsigned char w,i; while(1) { //显示0 w=0x01; //行变量为第一行 for(i=0;i<8;i++) { P1=w; //行数据送P1口 P0=led0[i]; delayms(1); //列数据送P0口 w<<=1; //向下移动一行 } } } void delay1ms(unsigned int ms) { unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<110;j++) }