失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 8乘8led点阵显示数字_51单片机程序设计:[7]88点阵显示汉字

8乘8led点阵显示数字_51单片机程序设计:[7]88点阵显示汉字

时间:2019-11-20 00:10:40

相关推荐

8乘8led点阵显示数字_51单片机程序设计:[7]88点阵显示汉字

效果截图,详细代码:

#include sbit dula=P2^6; //段码选通位-控制74HC573段输出sbit wela=P2^7; //位码选通位-控制74HC573位输出//sbit OE1=P2^6; //OE u8-573#define uchar unsigned char sbit simuseri_CLK=P2^4; //用P2^4模拟串口时钟sbit simuseri_DATA=P2^5; //用P2^5模拟串口数据sbit a7=ACC^7;#define uint unsigned int //unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};unsigned char code digittab[41][8]={{0xFE,0x10,0x10,0xFE,0x10,0x10,0x10,0xFE}, //0 {0x10,0xFE,0x92,0x92,0xFE,0x92,0x10,0x10}, //1 {0xFE,0x10,0x10,0xFE,0x10,0x10,0x10,0xFE}, //2 {0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00}, //红心字符 {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 {0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44},//A{0x00,0x3C,0x44,0x44,0x3C,0x44,0x44,0x3C},//B{0x00,0x78,0x04,0x04,0x04,0x04,0x04,0x78},//C{0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C},//D{0x00,0x7C,0x04,0x04,0x7C,0x04,0x04,0x7C},//E{0x00,0x7C,0x04,0x04,0x7C,0x04,0x04,0x04},//F{0x00,0x38,0x44,0x04,0x04,0x74,0x44,0x38},//G{0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44},//H{0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x38},//I{0x00,0x38,0x10,0x10,0x10,0x10,0x14,0x18},//J{0x00,0x04,0x24,0x14,0x0C,0x14,0x24,0x04},//K{0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x7C},//L{0x00,0xC6,0xAA,0xAA,0x92,0x82,0x82,0x82},//M{0x00,0x34,0x4C,0x44,0x44,0x44,0x44,0x44},//n{0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C},//O{0x00,0x3C,0x44,0x44,0x3C,0x04,0x04,0x04},//P{0x00,0x3C,0x42,0x42,0x42,0x52,0x62,0x7C},//Q{0x00,0x3C,0x44,0x44,0x3C,0x0C,0x14,0x64},//L{0x00,0x38,0x44,0x04,0x38,0x40,0x44,0x38},//S{0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x00},//T{0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//U{0x00,0xC6,0x44,0x44,0x44,0x28,0x28,0x10},//V{0x00,0xDB,0x5A,0x5A,0x5A,0x5A,0x7E,0x24},//W{0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00},//X{0x00,0x44,0x44,0x48,0x30,0x10,0x08,0x04},//Y{0x00,0x7C,0x40,0x20,0x10,0x08,0x04,0x7C}, //Z{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00},//红心字符{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00},//红心字符{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00},//红心字符{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00} //红心字符 }; unsigned int timecount; unsigned char cnta; unsigned char cntb; //-------------------------------------------------------------------------------------------------------// 函数名称:out_simuseri // 输入参数:data_buf// 输出参数:无// 功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA //--------------------------------------------------------------------------------------------------------void out_simuseri(uchar data_buf) { uchar i;i=8;ACC=data_buf;do { simuseri_CLK=0; simuseri_DATA=a7; simuseri_CLK=1; ACC=ACC<<1; }while(--i!=0);}void delay(){ uint i; i = 0x1ff; while (i--);}void main(void){ P1_4=1; P0=0xff; dula=1; wela=1; P0=0xff; wela=0; TMOD=0x01; TH0=(65536-3000)/256; TL0=(65536-3000)%256; TR0=1; ET0=1; EA=1; while (1) { ; }}void t0(void) interrupt 1 using 0{ TH0=(65536-3000)/256; TL0=(65536-3000)%256; P0=0xff; // 消隐,很重要,不加要红一片 out_simuseri(tab[cnta]); P0= ~digittab[cntb][cnta]; cnta++; if (cnta==8) { cnta=0; } timecount++; if (timecount==333) { timecount=0; cntb++; if (cntb==41) { cntb=0; } }}

如果觉得《8乘8led点阵显示数字_51单片机程序设计:[7]88点阵显示汉字》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。