久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1132|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求教單片機(jī)點(diǎn)陣LED程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1005226 發(fā)表于 2022-2-23 23:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)問大佬們,做點(diǎn)陣led流動(dòng)字體精確延時(shí)移動(dòng)時(shí),無(wú)意間發(fā)現(xiàn)設(shè)置變量flag1s 與TF0下延時(shí)時(shí)間不相同,不太明白,求教各位啦

單片機(jī)源程序如下:
用TF0時(shí)
#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code image[]={
        0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
        0x7D,0x01,0x01,0x7D,0xFF,0xFF,0xE3,0xC1,
        0x81,0x03,0x03,0x81,0xC1,0xE3,0xFF,0xFF,
        0x81,0x01,0x3F,0x3F,0x3F,0x01,0x81,0xFF,
        0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};

void main()
{
        
        ENLED = 0;
        ADDR3 = 0;
        EA = 1;
        TMOD = 0x01;
        TH0 = 0xFC;
        TL0 = 0x67;
        TR0 = 1;
        ET0 = 1;
        while(1)
        {
                if(TF0 == 1)
        {
                TF0 =0;
               
                }
               
        }
}
        
void interrupttime0() interrupt 1
{
        static unsigned char index = 0;
        static unsigned char i = 0;
        static unsigned int tmr = 0;
        TH0 = 0xFC;
        TL0 = 0x67;
        
        P0 = 0xFF;
        
        switch(i)
        {
                case 0:ADDR2 = 0;ADDR1 = 0;ADDR0 = 0;i++;P0=image[index+0];break;
                case 1:ADDR2 = 0;ADDR1 = 0;ADDR0 = 1;i++;P0=image[index+1];break;
                case 2:ADDR2 = 0;ADDR1 = 1;ADDR0 = 0;i++;P0=image[index+2];break;
                case 3:ADDR2 = 0;ADDR1 = 1;ADDR0 = 1;i++;P0=image[index+3];break;
                case 4:ADDR2 = 1;ADDR1 = 0;ADDR0 = 0;i++;P0=image[index+4];break;
                case 5:ADDR2 = 1;ADDR1 = 0;ADDR0 = 1;i++;P0=image[index+5];break;
                case 6:ADDR2 = 1;ADDR1 = 1;ADDR0 = 0;i++;P0=image[index+6];break;
                case 7:ADDR2 = 1;ADDR1 = 1;ADDR0 = 1;i=0;P0=image[index+7];break;
               
        }
        if(TF0 == 0)
        {
                TF0 =1;
                tmr++ ;
                if(tmr>=1000)
                {
                        tmr =0;
                index ++;
                if(index >=32)
                {
                        index = 0;
        }
                }
        }
}









控制flag1s條件時(shí)

#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code image[]={
        0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
        0x7D,0x01,0x01,0x7D,0xFF,0xFF,0xE3,0xC1,
        0x81,0x03,0x03,0x81,0xC1,0xE3,0xFF,0xFF,
        0x81,0x01,0x3F,0x3F,0x3F,0x01,0x81,0xFF,
        0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
unsigned char flag1s = 0;
void main()
{
        
        ENLED = 0;
        ADDR3 = 0;
        EA = 1;
        TMOD = 0x01;
        TH0 = 0xFC;
        TL0 = 0x67;
        TR0 = 1;
        ET0 = 1;
        while(1)
        {
                if(flag1s == 1)
        {
                flag1s =0;
               
                }
               
        }
}
        
void interrupttime0() interrupt 1
{
        static unsigned char index = 0;
        static unsigned char i = 0;
        static unsigned int tmr = 0;
        TH0 = 0xFC;
        TL0 = 0x67;
        
        P0 = 0xFF;
        
        switch(i)
        {
                case 0:ADDR2 = 0;ADDR1 = 0;ADDR0 = 0;i++;P0=image[index+0];break;
                case 1:ADDR2 = 0;ADDR1 = 0;ADDR0 = 1;i++;P0=image[index+1];break;
                case 2:ADDR2 = 0;ADDR1 = 1;ADDR0 = 0;i++;P0=image[index+2];break;
                case 3:ADDR2 = 0;ADDR1 = 1;ADDR0 = 1;i++;P0=image[index+3];break;
                case 4:ADDR2 = 1;ADDR1 = 0;ADDR0 = 0;i++;P0=image[index+4];break;
                case 5:ADDR2 = 1;ADDR1 = 0;ADDR0 = 1;i++;P0=image[index+5];break;
                case 6:ADDR2 = 1;ADDR1 = 1;ADDR0 = 0;i++;P0=image[index+6];break;
                case 7:ADDR2 = 1;ADDR1 = 1;ADDR0 = 1;i=0;P0=image[index+7];break;
               
        }
        if(flag1s == 0)
        {
                flag1s =1;
                tmr++ ;
                if(tmr>=1000)
                {
                        tmr =0;
                index ++;
                if(index >=32)
                {
                        index = 0;
        }
                }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2022-2-24 07:35 | 只看該作者
兩種定時(shí)方式的基本架構(gòu)
  1. //查詢方式
  2. void main()
  3. {
  4.         TMOD = 0x01;
  5.         TH0 = 0xFC;
  6.         TL0 = 0x67;
  7.         TR0 = 1;
  8.         while(1)
  9.         {
  10.                 if(TF0 == 1)//查詢
  11.                 {
  12.                         TF0 =0;//需要軟件復(fù)位
  13.                         TH0 = 0xFC;
  14.                         TL0 = 0x67;
  15.                         //需要定時(shí)的任務(wù)
  16.                 }
  17.                 //其它任務(wù)
  18.         }
  19. }

  20. //中斷方式
  21. void main()
  22. {      
  23.         EA = 1;
  24.         TMOD = 0x01;
  25.         TH0 = 0xFC;
  26.         TL0 = 0x67;
  27.         TR0 = 1;
  28.         ET0 = 1;
  29.         while(1)
  30.         {
  31.                 //其他任務(wù)
  32.         }
  33. }
  34.        
  35. void interrupttime0() interrupt 1
  36. {
  37.   //TF0由內(nèi)部硬件自動(dòng)復(fù)位
  38.         TH0 = 0xFC;
  39.         TL0 = 0x67;       
  40.         //需要定時(shí)的任務(wù)
  41. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 男女性毛片 | av大片 | 久久国产电影 | 国产一区二区三区四区五区加勒比 | 精品欧美一区二区三区久久久小说 | 黄色一级视频免费 | 亚洲免费一区二区 | 久久网日本 | 国产激情视频网址 | 偷拍亚洲色图 | 一区二区三区欧美在线 | 中文字幕韩在线第一页 | 在线观看av网站 | 久久69精品久久久久久久电影好 | 美女张开腿露出尿口 | 午夜免费| 国产精品99久 | 91视频88av | 伊人久久在线 | 久草福利| 色999日韩 | 日韩一区二区在线视频 | 国产精品一区在线 | 国精产品一区二区三区 | 国产视频二区 | 99av成人精品国语自产拍 | 久草视频观看 | 伊人久久综合 | 欧美在线观看一区 | 成人在线播放网站 | 欧美高清成人 | 日韩免费视频一区二区 | 亚洲狠狠 | 久国产| 日韩高清一区二区 | 亚洲成人中文字幕 | 国产精品明星裸体写真集 | 国产 欧美 日韩 一区 | 一区二区三区国产精品 | 欧美日韩在线一区二区三区 | 久视频在线 |