⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led5322.c

📁 一个用于停车场收费系统中独立的LED显示屏的单片机代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                         enable=1;
                         enable=1;
                         enable=0;
                         lieram=lie;
                         lieram|=0xf0;
                         P1&=lieram;
                         lieram=lie;
                         P1|=lieram;
                         gg=0;
                         }
}


void yuanjiao(na,nb)
unsigned int na,nb;
{
bit ok;
unsigned char ram,zi,lie,pp,count,lieram,na1,na2,na3,nb1,nb2,nb3;
if (na>999) {na1=9;na2=9;na3=9;}
   else {na1=na/100;
         na=na-na1*100;
         na2=na/10;
         na=na-na2*10;
         na3=na;
         }
if (nb>999) {nb1=9;nb2=9;nb3=9;}
   else {nb1=nb/100;
         nb=nb-nb1*100;
         nb2=nb/10;
         nb=nb-nb2*10;
         nb3=nb;
         }
for (lie=0;lie<16;lie++) {
                         for (zi=0;zi!=0xff;zi--) {                                          /* 角 */
                                                   pp=zi*32+lie*2+1;
                                                   ram=jiao[pp];
                                                  for (count=8;count;count--) {
                                                                                        clk=0;
                                                                                        ram>>=1;
                                                                                        sda=!CY;
                                                                                        clk=1;
                                                                                        }
                                                   ram=jiao[pp-1];
                                                   for (count=8;count;count--) {
                                                                                         clk=0;
                                                                                         ram>>=1;
                                                                                         sda=!CY;
                                                                                         clk=1;
                                                                                         }    /* 角 */
                                                 }

                          pp=nb3*16+lie;
                          ram=nuber[pp];
                          for (count=8;count;count--) {
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                }1;
                                                             
                         for (zi=0;zi!=0xff;zi--) {                                          /* 元 */
                                                   pp=zi*32+lie*2+1;
                                                   ram=y[pp];
                                                  for (count=8;count;count--) {
                                                                                        clk=0;
                                                                                        ram>>=1;
                                                                                        sda=!CY;
                                                                                        clk=1;
                                                                                        }
                                                   ram=y[pp-1];
                                                   for (count=8;count;count--) {
                                                                                         clk=0;
                                                                                         ram>>=1;
                                                                                         sda=!CY;
                                                                                         clk=1;
                                                                                         }    /* 元 */
                                                 }



                          pp=na3*16+lie;
                          ram=nuber[pp];
                          for (count=8;count;count--) {
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                }
                          pp=na2*16+lie;
                          ram=nuber[pp];
                          for (count=8;count;count--) {
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                }
                           pp=na1*16+lie;
                           ram=nuber[pp];
                           for (count=8;count;count--) {
                                                             clk=0;
                                                             ram>>=1;
                                                             sda=!CY;
                                                             clk=1;
                                                             }
                                                             
                         for (zi=0;zi!=0xff;zi--) {                                          /* 收 */
                                                   pp=zi*32+lie*2+1;
                                                   ram=shou[pp];
                                                  for (count=8;count;count--) {
                                                                                        clk=0;
                                                                                        ram>>=1;
                                                                                        sda=!CY;
                                                                                        clk=1;
                                                                                        }
                                                   ram=shou[pp-1];
                                                   for (count=8;count;count--) {
                                                                                         clk=0;
                                                                                         ram>>=1;
                                                                                         sda=!CY;
                                                                                         clk=1;
                                                                                         }    /* 收 */
                                                 }

                         clk=0;
                         gg=1;
                         gg=1;
                         gg=1;
                         gg=1;
                         enable=1;
                         enable=1;
                         enable=0;
                         lieram=lie;
                         lieram|=0xf0;
                         P1&=lieram;
                         lieram=lie;
                         P1|=lieram;
                         gg=0;
                         }
}


void disyxq(na,ll)    /* /18*8=144;ll从0到144数越大左移越多  */
unsigned int na;
unsigned char ll;
{
bit ok;
unsigned char rrambak,rram;
unsigned char ram,zi,lie,pp,count,lieram,na1,na2,na3;
if (na>999) {na1=9;na2=9;na3=9;}
   else {na1=na/100;
         na=na-na1*100;
         na2=na/10;
         na=na-na2*10;
         na3=na;
        }
rrambak=15*8-ll;
for (lie=0;lie<16;lie++) {
                          rram=0;ok=0;
                          for (count=ll;count>0;count--) {
                                                          clk=0;
                                                          sda=1;
                                                          clk=1;
                                                          }
                         for (zi=3;zi!=0xff;zi--) {                                          /* (天有效期 */
                                                   pp=zi*32+lie*2+1;
                                                   ram=tyxq[pp];
                                                  for (count=8;!ok&&(count>0);count--) {
                                                                                        if (rram++>rrambak) ok=1;
                                                                                        clk=0;
                                                                                        ram>>=1;
                                                                                        sda=!CY;
                                                                                        clk=1;
                                                                                        }
                                                   ram=tyxq[pp-1];
                                                   for (count=8;!ok&&(count>0);count--) {
                                                                                         if (rram++>rrambak) ok=1;
                                                                                         clk=0;
                                                                                         ram>>=1;
                                                                                         sda=!CY;
                                                                                         clk=1;
                                                                                         }      /* 天有效期) */
                                                 }

                          pp=na3*16+lie;
                          ram=nuber[pp];
                          for (count=8;!ok&&(count>0);count--) {
                                                                if (rram++>rrambak) ok=1;
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                }
                          pp=na2*16+lie;
                          ram=nuber[pp];
                          for (count=8;!ok&&(count>0);count--) {
                                                                if (rram++>rrambak) ok=1;
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                }
                           pp=na1*16+lie;
                           ram=nuber[pp];
                           for (count=8;!ok&&count;count--) {
                                                             if (rram++>rrambak) ok=1;
                                                             clk=0;
                                                             ram>>=1;
                                                             sda=!CY;
                                                             clk=1;
                                                             }


                         for (zi=1;zi!=0xff;zi--) {                                           //(还有
                                                   pp=zi*32+lie*2+1;
                                                   ram=hy[pp];
                                                  for (count=8;!ok&&(count>0);count--) {
                                                                                        if (rram++>rrambak) ok=1;
                                                                                        clk=0;
                                                                                        ram>>=1;
                                                                                        sda=!CY;
                                                                                        clk=1;
                                                                                        }
                                                   ram=hy[pp-1];
                                                   for (count=8;!ok&&(count>0);count--) {
                                                                                         if (rram++>rrambak) ok=1;
                                                                                         clk=0;
                                                                                         ram>>=1;
                                                                                         sda=!CY;
                                                                                         clk=1;
                                                                                         }      //还有)
                                                 }

                         clk=0;
                         gg=1;
                         gg=1;
                         gg=1;
                         gg=1;
                         enable=1;
                         enable=1;
                         enable=0;
                         lieram=lie;
                         lieram|=0xf0;
                         P1&=lieram;
                         lieram=lie;
                         P1|=lieram;
                         gg=0;
                         }
}



void dis5(spi)
unsigned char spi[];
{
unsigned char ram,zi,lie,pp,count,lieram;
for (lie=0;lie<16;lie++) {
       for (zi=4;zi!=0xff;zi--) {
                                 pp=zi*32+lie*2+1;
                                 ram=spi[pp];
                                 for (count=8;count>0;count--) {
                                                                clk=0;
                                                                ram>>=1;
                                                                sda=!CY;
                                                                clk=1;
                                                                _nop_();
                                                 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -