標(biāo)題: 51單片機(jī)74ls595控制16*32點(diǎn)陣屏顯示走字屏,附帶源碼以及Proteus仿真 [打印本頁(yè)]

作者: cq846450550    時(shí)間: 2020-11-13 10:09
標(biāo)題: 51單片機(jī)74ls595控制16*32點(diǎn)陣屏顯示走字屏,附帶源碼以及Proteus仿真
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int




sbit SRCLK=P2^0;//hang
sbit RCLK=P2^1;
sbit SER=P2^2;


sbit SRCLK2=P0^0;//lie
sbit RCLK2=P0^1;
sbit SER2=P0^2;




//字模格式 16x16  陰碼,逐行,逆向,十六進(jìn)制,C51格式


uint code temp[]={
0x18,0x18,0x30,0x0C,0x60,0x06,0xFC,0x3F,
0x8C,0x31,0x8C,0x31,0xFC,0x3F,0x8C,0x31,
0x8C,0x31,0xFC,0x3F,0x80,0x01,0x80,0x01,
0xFF,0xFF,0x80,0x01,0x80,0x01,0x80,0x01,/*"單",0*/


0x00,0x06,0x18,0x06,0x18,0x06,0x18,0x06,
0x18,0x06,0xF8,0x7F,0x18,0x00,0x18,0x00,
0x18,0x00,0xF8,0x0F,0x18,0x0C,0x18,0x0C,
0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x06,0x0C,/*"片",1*/


0x18,0x00,0x98,0x1F,0x98,0x19,0x98,0x19,
0xFF,0x19,0x98,0x19,0x9C,0x19,0xBC,0x19,
0xFE,0x19,0xFE,0x19,0x9B,0x19,0x98,0xD9,
0x98,0xD9,0xD8,0xD8,0xD8,0xF0,0x78,0x00,/*"機(jī)",2*/


0xC0,0x00,0x80,0x01,0x80,0x01,0xFF,0xFF,
0x00,0x00,0x18,0x18,0x18,0x30,0x0C,0x6C,
0x36,0x6C,0x60,0x06,0xC0,0x03,0x80,0x01,
0xC0,0x03,0x70,0x06,0x1C,0x1C,0x07,0xF0,/*"交",3*/


0x00,0x03,0x0C,0x06,0xF8,0xFF,0x18,0x03,
0x83,0x19,0xC6,0x30,0xE6,0x7F,0x18,0x60,
0x18,0x00,0xCC,0x36,0xCF,0x36,0xCC,0x36,
0xCC,0x36,0xCC,0xF6,0x6C,0xF6,0x30,0xE6,/*"流",4*/


0x00,0xC3,0xFE,0x66,0xD8,0x3C,0xD8,0xFF,
0xFF,0x19,0xD8,0x18,0xD8,0x18,0xFE,0x7E,
0x0C,0x18,0x0C,0x18,0xFE,0x18,0xCE,0xFF,
0xCF,0x18,0xCC,0x18,0xFC,0x18,0xCC,0x18,/*"群",5*/


0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC0,
0x60,0x30,0x18,0x0C,0xC6,0xFE,0x00,0x00,/*"2",6*/


0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",7*/


0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",9*/
};






uint code table1[]={
0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,
0xfeff,0xfdff,0xfbff,0xf7ff,0xefff,0xdfff,0xbfff,0x7fff};








//void delay(uint a)
//{
//  uint i,j;
//        for(i=a;i>0;i--)
//        for(j=10;j>0;j--);
//}


void Hang_595(uint dat)//hang
{
        uint i=0;
        RCLK=0;
        for(i=0;i<16;i++)
        {
                SER=dat&0x8000;
                dat<<=1;
                SRCLK=1;
                SRCLK=0;
        }
        RCLK=1;               
        RCLK=0;
        }




void Line_595(uchar numL,uchar numH)//lie
{
        uint dat2=0X8001;
    uint i=0;
        RCLK2=0;
        
        dat2=numH;
        dat2<<=8;
        dat2|=numL;
        
        for(i=0;i<16;i++)
        {
                SRCLK2=0;
                SER2=dat2&0x8000;
                dat2<<=1;        
                SRCLK2=1;
                SRCLK2=0;        
        }
        RCLK2=1;               
        RCLK2=0;
}




void main()
{
        uchar v;
        uchar t;
        uint g;
  Hang_595(0);
        
        while(1)
        {        


                for(g=0;g<140;g++)                //一個(gè)字是16,字?jǐn)?shù)乘以16
                for(v=0;v<30;v++)   
                        for(t=0;t<16;t++)
                        {
                                Hang_595(table1[t]);
                                Line_595(temp[(g+t)*2],temp[(g+t)*2+1]);
                                Line_595(0,0);
                        }
        }
        
}  

全部資料51hei下載地址:
走字屏.rar (56.37 KB, 下載次數(shù): 75)


作者: 2780761481    時(shí)間: 2021-6-21 18:50
可以問(wèn)下您怎么換個(gè)方向顯示和加快滾動(dòng)嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1