首页 调查 > 正文

Proteus教程:16x16点阵显示以及流水效果


(资料图片仅供参考)

视频链接:https://www.bilibili.com/video/BV1Hv4y1f7Uq

#include #include    #define uchar unsigned char#define uint unsigned intuchar ROG[64];uchar ROG_buff[64];uchar l_num=0;uchar w_num;int time;bit flag;uchar play_mode;uchar stay_flag;uchar hang[]={0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,};uchar code lie[]={0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF7,0x3F,0xF9,/*"大",0*/0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xFB,0x80,0x03,0xFD,0xFF,0xF2,0xF7,0x8E,0x6F,0xFD,0x5F,0xF3,0x3F,0x8E,0x5F,0xF9,0x67,0xE7,0x79,0x1D,0x7F,0xFE,0xFF,/*"家",1*/0xEF,0xFF,0xEF,0x03,0xEF,0xFB,0xEF,0xF7,0x03,0xEF,0xDB,0xDF,0xDB,0xDF,0xDA,0x01,0xDB,0xDF,0xB7,0xDF,0xD7,0xDF,0xEF,0xDF,0xD7,0xDF,0xBB,0xDF,0x7B,0x5F,0xFF,0xBF,/*"好",2*/0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0xCF,0xFF,0xEF,0xFF,0xDF,0xFF,0xFF,0xFF,/*",",3*/0xFB,0xBF,0xF1,0xAF,0x87,0xB7,0xF7,0xB7,0xF7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xBB,0xF5,0xBB,0xF3,0xB7,0xE7,0xCF,0x97,0xDD,0xF7,0xAD,0xF7,0x75,0xD4,0xF9,0xEF,0xFD,/*"我",4*/0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xFF,0xFF,0x00,0x01,0xFE,0xFF,0xEE,0xFF,0xEE,0x07,0xEE,0xFF,0xD6,0xFF,0xBA,0xFF,0x7C,0x01,/*"是",5*/0xF7,0xFF,0xE2,0x03,0x0E,0xFB,0xEE,0xFB,0xEE,0xFB,0x02,0x03,0xEF,0xFF,0xCF,0xFF,0xC6,0x01,0xAB,0xDF,0xAB,0xDF,0x6E,0x03,0xEF,0xDF,0xEF,0xDF,0xEC,0x01,0xEF,0xFF,/*"程",6*/0xEF,0xBF,0xEF,0xDF,0xDC,0x01,0x85,0xFD,0xB3,0xFB,0xB6,0x07,0xB7,0xFF,0xB7,0xFF,0x84,0x01,0xB7,0x6F,0xB7,0x6F,0xB7,0x6F,0xB6,0xED,0x86,0xED,0xB5,0xF1,0xFB,0xFF,/*"皖",7*/};sbit sh0=P1^0;  sbit ds0=P1^1;  sbit st0=P1^2;  sbit sh1=P1^3; sbit ds1=P1^4;sbit st1=P1^5;uchar i;void delay(uchar z){     for(z;z>0;z--) for(i=110;i>0;i--);}void send0(uchar temp0) {for(i=0;i<8;i++){    sh0=0;    ds0=temp0&0x80;temp0=temp0<<1;sh0=1;}}void send1(uchar temp1) {for(i=0;i<8;i++){    sh1=0;    ds1=temp1&0x80;temp1=temp1<<1;sh1=1;}}void Send_All(int A1,int A2,int B1,int B2){ send0(A1);        send1(B1); st0=0; st1=0;  st0=1; st1=1; send0(A2);        send1(B2); st0=0; st1=0;  st0=1; st1=1;}void Show_One(uchar num){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(lie[num*32+j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Show_SX(uchar num){uchar i=0,j,n;int m,anw;if(num==1){anw = 16;}else{anw = num * 32;}for(j=0;j<32;j++){    send0(hang[j]);         send1(lie[j+m]);n++;while(stay_flag);if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}delay(1); }delay(1);m+=2;    if(m==anw)m=0;}void Show_ZY(uchar num){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(lie[num*32+j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Show_data(){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(ROG[j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Control(uchar num){uchar i,j,m;num = num*2;time ++;if(time == 5){time = 0;if(j==7){j = 0;if(l_num(8-j);ROG[2*i+1] = ROG_buff[2*i+1]<>(8-j);}}while(stay_flag);Show_data();}void main(){uchar m;for(m=0;m<64;m++){ROG_buff[m] = 0xff;}   while(1){//Show_One(3);//Control(7);Show_SX(7);  }}#include #include    #define uchar unsigned char#define uint unsigned intuchar ROG[64];uchar ROG_buff[64];uchar l_num=0;uchar w_num;int time;bit flag;uchar play_mode;uchar stay_flag;uchar hang[]={0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,};uchar code lie[]={0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF7,0x3F,0xF9,/*"大",0*/0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xFB,0x80,0x03,0xFD,0xFF,0xF2,0xF7,0x8E,0x6F,0xFD,0x5F,0xF3,0x3F,0x8E,0x5F,0xF9,0x67,0xE7,0x79,0x1D,0x7F,0xFE,0xFF,/*"家",1*/0xEF,0xFF,0xEF,0x03,0xEF,0xFB,0xEF,0xF7,0x03,0xEF,0xDB,0xDF,0xDB,0xDF,0xDA,0x01,0xDB,0xDF,0xB7,0xDF,0xD7,0xDF,0xEF,0xDF,0xD7,0xDF,0xBB,0xDF,0x7B,0x5F,0xFF,0xBF,/*"好",2*/0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0xCF,0xFF,0xEF,0xFF,0xDF,0xFF,0xFF,0xFF,/*",",3*/0xFB,0xBF,0xF1,0xAF,0x87,0xB7,0xF7,0xB7,0xF7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xBB,0xF5,0xBB,0xF3,0xB7,0xE7,0xCF,0x97,0xDD,0xF7,0xAD,0xF7,0x75,0xD4,0xF9,0xEF,0xFD,/*"我",4*/0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xFF,0xFF,0x00,0x01,0xFE,0xFF,0xEE,0xFF,0xEE,0x07,0xEE,0xFF,0xD6,0xFF,0xBA,0xFF,0x7C,0x01,/*"是",5*/0xF7,0xFF,0xE2,0x03,0x0E,0xFB,0xEE,0xFB,0xEE,0xFB,0x02,0x03,0xEF,0xFF,0xCF,0xFF,0xC6,0x01,0xAB,0xDF,0xAB,0xDF,0x6E,0x03,0xEF,0xDF,0xEF,0xDF,0xEC,0x01,0xEF,0xFF,/*"程",6*/0xEF,0xBF,0xEF,0xDF,0xDC,0x01,0x85,0xFD,0xB3,0xFB,0xB6,0x07,0xB7,0xFF,0xB7,0xFF,0x84,0x01,0xB7,0x6F,0xB7,0x6F,0xB7,0x6F,0xB6,0xED,0x86,0xED,0xB5,0xF1,0xFB,0xFF,/*"皖",7*/};sbit sh0=P1^0;  sbit ds0=P1^1;  sbit st0=P1^2;  sbit sh1=P1^3; sbit ds1=P1^4;sbit st1=P1^5;uchar i;void delay(uchar z){     for(z;z>0;z--) for(i=110;i>0;i--);}void send0(uchar temp0) {for(i=0;i<8;i++){    sh0=0;    ds0=temp0&0x80;temp0=temp0<<1;sh0=1;}}void send1(uchar temp1) {for(i=0;i<8;i++){    sh1=0;    ds1=temp1&0x80;temp1=temp1<<1;sh1=1;}}void Send_All(int A1,int A2,int B1,int B2){ send0(A1);        send1(B1); st0=0; st1=0;  st0=1; st1=1; send0(A2);        send1(B2); st0=0; st1=0;  st0=1; st1=1;}void Show_One(uchar num){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(lie[num*32+j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Show_SX(uchar num){uchar i=0,j,n;int m,anw;if(num==1){anw = 16;}else{anw = num * 32;}for(j=0;j<32;j++){    send0(hang[j]);         send1(lie[j+m]);n++;while(stay_flag);if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}delay(1); }delay(1);m+=2;    if(m==anw)m=0;}void Show_ZY(uchar num){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(lie[num*32+j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Show_data(){uchar i=0,j,n;for(j=0;j<32;j++){   send0(hang[j]);        send1(ROG[j]);n++;if(n==2){   st0=0;    st1=0; st0=1;st1=1;   n=0;}}}void Control(uchar num){uchar i,j,m;num = num*2;time ++;if(time == 5){time = 0;if(j==7){j = 0;if(l_num(8-j);ROG[2*i+1] = ROG_buff[2*i+1]<>(8-j);}}while(stay_flag);Show_data();}void main(){uchar m;for(m=0;m<64;m++){ROG_buff[m] = 0xff;}   while(1){//Show_One(3);//Control(7);Show_SX(7);  }}

审核编辑:汤梓红

标签:

精彩推送