单片机控制16*16点阵显示屏显示字符,附仿真和源程序可运行。循环显示想要显示的字符。自己编写,可运行。点阵可以在网上搜在线转换的转换成自己想要的字符放在源文件数组中,便可显示。逐行,倒向,共阳极。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define out0 P0
- #define out1 P1
- #define out2 P2
- void delay(uint j){
- uchar i=250;
- for(;j>0;j--){
- while(--i);
- i=100;
- }
- }
- uchar code string[]={
- 0x7F,0xFF,0x77,0xF7,0x6F,0xFB,0x5F,0xFD,0x7F,0xF7,0x07,0xE0,0xF7,0xF7,0xF7,0xF7,
- 0x07,0xF0,0xF7,0xF7,0xF7,0xF7,0x07,0xF0,0xF7,0xF7,0xF7,0xF7,0xF7,0xF5,0xF7,0xFB,
- //Ф
- 0xDF,0xFD,0xDF,0xDD,0x00,0x80,0xDF,0xFD,0xDF,0xFD,0xFF,0xF7,0x03,0xE0,0xFF,0xFF,
- 0xFF,0xDF,0x00,0x80,0xBF,0xFF,0xBF,0xFF,0xDF,0xFD,0xEF,0xFB,0x07,0xF0,0xFF,0xF7,
- //ܿ
- 0xDF,0xFD,0xDF,0xDD,0x00,0x80,0xDF,0xFD,0xDF,0xFD,0xFF,0xF7,0x03,0xE0,0xFF,0xFF,
- 0xFF,0xDF,0x00,0x80,0xBF,0xFF,0xBF,0xFF,0xDF,0xFD,0xEF,0xFB,0x07,0xF0,0xFF,0xF7,
- //ܿ
- 0xFF,0xFD,0xFB,0xFD,0xF7,0xFD,0xF7,0xFD,0xFF,0xFD,0xFF,0xDD,0x10,0x80,0xF7,0xFD,
- 0xF7,0xFD,0xF7,0xFD,0xF7,0xFD,0xB7,0xFD,0xD7,0xFD,0xE7,0xFD,0xF7,0xFD,0xFF,0xFD,
- /*以上为"计"的点阵*/
- 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xEF,0x01,0xC0,0x5F,0xFD,0x5F,0xFD,0x5F,0xFD,
- 0x6F,0xFB,0x6F,0xFB,0x77,0xF7,0x0B,0x88,0x7C,0xDF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
- /*以上为"本"的点阵*/
-
- 0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xE3,0xFF,0xE1,0xFF,0xE7,0xFF,0xE7,0xFF,0xE7,0xFF,
- 0xE7,0xFF,0xE7,0xFF,0xE7,0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- /*以上为"1"的点阵*/
- 0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFC,0xFF,0xFC,0xFF,0xFC,0xFF,0xC0,0xFF,0x9F,0xFF,
- 0x9F,0xFF,0x9F,0xFF,0x9C,0xFF,0xC1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- /*以上为"5"的点阵*/
- 0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xC9,0xFF,0x9C,0xFF,0x9C,0xFF,0x94,0xFF,0x94,0xFF,
- 0x9C,0xFF,0x9C,0xFF,0xC9,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- /*以上为"0"的点阵*/
- 0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xE3,0xFF,0xE1,0xFF,0xE7,0xFF,0xE7,0xFF,0xE7,0xFF,
- 0xE7,0xFF,0xE7,0xFF,0xE7,0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- /*以上为"1"的点阵*/
- 0x7F,0xFF,0x6F,0xDF,0x40,0x81,0x7B,0xF7,0x5B,0xF7,0x5B,0xF7,0x5B,0xF7,0x50,0xC1,
- 0x5B,0xF7,0x6B,0xF7,0x7B,0xF7,0xBB,0xF7,0xA3,0xF7,0xB8,0xD7,0xDD,0x80,0xEF,0xFF,
- /*以上为"班"的点阵*/
- };
- void main(){
- uchar i,j,n;
- while(1){
- for(j=0;j<10;j++){
- for(n=0;n<40;n++){
- for(i=0;i<16;i++){
- out1=i%16;
- out0=string[i*2+j*32];
- out2=string[i*2+1+j*32];
- delay(4);
- out0=0xff;
- out2=0xff;
- }
- }
- }
- }
- }
复制代码
所有资料51hei提供下载:
16乘16LED点阵显示屏,循环显示.zip
(75.52 KB, 下载次数: 133)
|