16点阵显示.c
来自「单片机写的程序都含有Protues仿真结果」· C语言 代码 · 共 47 行
C
47 行
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char //为什么显示 的 字数多 仿真的时候会 出现抖动
#define uint unsigned int 嘉 使
uchar code tab[]={
0x82,0x00,0x4A,0x02,0x2A,0x02,0x1E,0xE2,0x4B,0xAA,0x8A,0xAA,0x7A,0xAA,0x02,0xAF,0x02,0xAA,0x7B,0xAA,0x4A,0xAA,0x4A,0xE2,0x7A,0x02,0x02,0x02,0x02,0x00,0x00,0x00, //嘉
0x20,0x00,0x10,0x20,0x08,0x24,0x04,0x24,0x02,0x24,0x01,0xA4,0x00,0x64,0xFF,0xFC,0x00,0x62,0x01,0xA2,0x02,0x22,0x0C,0x23,0x18,0x22,0x30,0x30,0x10,0x20,0x00,0x00, //禾
0x10,0x10,0x10,0x10,0x0F,0xFE,0x48,0x10,0x28,0x10,0x1F,0xFC,0x00,0x44,0x7D,0x54,0x25,0x55,0x27,0xFE,0x25,0x54,0x25,0x54,0x7D,0xF4,0x00,0x44,0x00,0x44,0x00,0x00, //塘
0x04,0x10,0x03,0x10,0x00,0xD0,0xFF,0xFF,0x00,0x50,0x01,0x90,0x00,0x00,0x00,0x90,0x03,0x10,0x40,0x10,0x80,0x10,0x7F,0xFF,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00, //村
0x80,0x00,0x40,0x00,0x30,0x00,0x0F,0xFE,0x00,0x02,0x00,0x42,0x1F,0x4A,0x09,0x4A,0x09,0x7E,0x09,0x4A,0x1F,0x4A,0x40,0x42,0x80,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00, //周
0x00,0x00,0x40,0x20,0x20,0x20,0x10,0x22,0x0C,0x22,0x03,0xE2,0x00,0x22,0x00,0x22,0x00,0x22,0x3F,0xE2,0x40,0x22,0x40,0x22,0x40,0x22,0x40,0x20,0x70,0x20,0x00,0x00, //元
0x00,0x80,0x40,0x80,0x20,0x80,0x10,0x80,0x0E,0xBE,0x10,0xAA,0x20,0xAA,0x3F,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xBE,0x44,0x80,0x40,0x80,0x40,0x80,0x00,0x00, //是
0x00,0x40,0x00,0x40,0x00,0x40,0x3F,0xFC,0x40,0x48,0x40,0x20,0x40,0x20,0x47,0xFF,0x40,0x22,0x42,0x10,0x44,0x10,0x48,0x10,0x47,0xF8,0x78,0x10,0x20,0x00,0x00,0x00}; //也
/* 0x04,0x00,0x02,0x04,0x01,0x04,0x7F,0xC4,0x00,0x64,0x20,0x9C,0x20,0x87,0x20,0x84,0x20,0x84,0x3F,0xE4,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x04,0x00,0x00, //在
0x20,0x00,0x20,0x00,0x3F,0xF0,0x10,0x00,0x10,0x00,0x0F,0xFF,0x08,0x20,0x08,0x20,0x00,0x00,0x3F,0xFF,0x40,0x40,0x40,0x20,0x40,0x20,0x40,0x10,0x78,0x10,0x00,0x00, //此
0x02,0x00,0x01,0x08,0x00,0x88,0x7F,0xC9,0x01,0x2E,0x02,0x98,0x44,0x48,0x20,0x00,0x10,0x08,0x0C,0x08,0x03,0xF8,0x20,0x08,0x40,0x08,0x3F,0xFC,0x00,0x08,0x00,0x00, //初
0x20,0x00,0x21,0x00,0x22,0x00,0x2C,0x3E,0x20,0x2A,0x3F,0xEA,0x20,0x2A,0x20,0x2A,0x20,0x2A,0x3F,0xEA,0x28,0x2A,0x24,0x3E,0x23,0x00,0x20,0x00,0x20,0x00,0x00,0x00, //显
0x00,0x00,0x42,0x00,0x42,0x00,0x22,0x00,0x23,0xFC,0x12,0x56,0x12,0x55,0x0A,0x54,0x0A,0x54,0x46,0x54,0x86,0x54,0x7F,0xFC,0x03,0x00,0x02,0xE0,0x02,0x40,0x00,0x00, //手
0x02,0x00,0x02,0x24,0x02,0x24,0x02,0x24,0x02,0x24,0x42,0x24,0x82,0x24,0x7F,0xFE,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x20,0x02,0x00,0x00,0x00, //脚
0x07,0xFC,0x01,0x04,0x01,0x04,0x03,0xFC,0x00,0x20,0x00,0x20,0x7F,0x50,0x21,0x48,0x21,0x44,0x21,0x43,0x21,0x44,0x21,0x48,0x7F,0x58,0x00,0x30,0x00,0x10,0x00,0x00, //哈
0x07,0xFC,0x01,0x04,0x01,0x04,0x03,0xFC,0x00,0x20,0x00,0x20,0x7F,0x50,0x21,0x48,0x21,0x44,0x21,0x43,0x21,0x44,0x21,0x48,0x7F,0x58,0x00,0x30,0x00,0x10,0x00,0x00, //哈
0x07,0xFC,0x01,0x04,0x01,0x04,0x03,0xFC,0x00,0x20,0x00,0x20,0x7F,0x50,0x21,0x48,0x21,0x44,0x21,0x43,0x21,0x44,0x21,0x48,0x7F,0x58,0x00,0x30,0x00,0x10,0x00,0x00}; //哈 */
uchar t;
void delay(t)
{
while(t--) {;};
} //不扩展外部存储器 做多只能显示 3 个字的大小
void main()
{
while(1)
{ unsigned int j;
for(j=0;j<256;j+=2) //左移控制 如果是for(j=96;j>0;j--)则右移控制
{ uchar k;
for(k=0;k<0x10;k++) //短暂 控制静态显示 左移不至于太快
{ unsigned int i;
P1=0; //列扫描 从0~15 分别对应 4~16译码器的16状态
for(i=0;i<16;i++) //注意这里 每次只能 扫描一个 字
{
P3=tab[(2*i+j)%256]; //扫描该列时 送该列的字码 注意这里的查表方式
P2=tab[(2*i+1+j)%256];
delay(50); //延时以保证led能持续的点亮
P1++;
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?