欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機LED旋轉顯示屏的程序,有些地方不理解 求解釋
[打印本頁]
作者:
1085662623
時間:
2020-5-22 21:14
標題:
單片機LED旋轉顯示屏的程序,有些地方不理解 求解釋
下面是LED旋轉顯示屏的程序,有些地方不理解。哪位能幫我解釋一下,zhushi,不用全部,主要是從定時器0中斷部分
單片機源程序如下:
#include "reg51.h"
#include "DS1302.H"
#include "hongwai.H"
#define uchar unsigned char
#define uint unsigned int
uchar xdata ShowDat[176];
uint ShowNum;
uchar nian,yue,ri,shi,fen,miao;
uchar ms,ziNum,NB;
uchar i;
bit QuanOK; //bit一般作為程序判斷的標志位
uchar flagset=0;
uchar Tim_red_tab[6]={0}; //記錄年月日時分秒和系統狀態信息
uchar send_ok=0;
uchar code Zimo[][16];
uchar code Zimo1[][16];
uchar code Zimo2[][16];
uchar code Zimo3[][16];
void delayms(uint xms) //延時1ms
{
uchar k;
while(xms--)
{for(k=0;k<125;k++);}
}
void InterConfig(void)
{
TMOD|=0x01; //TMOD|=0x01等價于TMOD=TMOD|0x01;設置定時器0的工作方式,且保證其他位不變
TH0=0xfe;
TL0=0x0b;
ET0=1; //打開定時器0的中斷
TR0=1; //定時器0工作
EX0=1; //允許外部中斷
IT0=1; //外部中斷的方式為 下降沿觸發
EA=1; //中斷總開關
}
void main()
{
InterConfig();//中斷、定時器設置
for(i=0;i<176;i++) //顯示數據緩存清空
{
ShowDat[i]=0xff; //設為高電平
}
TIM1init();//定時器1 紅外使用
EX1init();// 外部中斷1 紅外使用
delayms(1000);
while(1)
{
delayms(100);
if(irok==1) //紅外接收完成
{
Ircordpro();
irok=0;
}
if(irpro_ok==1) //紅外解析完成
{
irpro_ok=0;
if(IRcord[2]==0x0c)//鍵1
{
IRcord[2]=0;
for(i=0;i<176;i++)
{
ShowDat[i]=0xff;
}
ShowNum=0; ms=0; QuanOK=0; ziNum=0;
flagset=1;
}
}
}
}
void EX0_int() interrupt 0 //外部中斷0
{
ShowNum=0;
ms++;
}
void timer0() interrupt 1 //定時中斷0 中斷處理
{
TH0=0xfe; //0.37ms 11.0592M 晶振
TL0=0xab;
if(flagset==1)
{ if(ShowNum<80)
{
P1=ShowDat[ShowNum*2]; //送數據低位顯示
P0=ShowDat[ShowNum*2+1];
ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3];
ShowNum++;
QuanOK=1;
}
else
{
P1=P0=0xff;
if(ms==8)
{
ms=0;
QuanOK=0;
for(i=0;i<16;i++)
{
ShowDat[160+i]=Zimo1[ziNum][i];
}
ziNum=(ziNum+1)%61; //重復
}
else
{
if(QuanOK==1&&ms!=0) // 如果全部數據發送完畢 則更新160---176 數據
{
QuanOK=0;
for(i=0;i<7;i++)
{
ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];
}
}
}
}
}
uchar code Zimo1[][16]=
{
0xEF,0xFF,0xF3,0xFF,0xBB,0xC0,0xDB,0xFE,0xEB,0xFE,0xFB,0xFE,0xFA,0xFE,0x39,0x00,
0xFB,0xFE,0xFB,0xFE,0xEB,0xEE,0xDB,0xDE,0xBB,0xE0,0xEB,0xFF,0xF3,0xFF,0xFF,0xFF,/*"簾",0*/
0xFF,0x7E,0x3F,0xBF,0xCF,0xDE,0xE0,0xED,0xEF,0xF3,0xEF,0xFC,0x0F,0xFF,0xFF,0xFF,
0xFF,0xFF,0x00,0x00,0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,/*"外",1*/
0xBF,0xFF,0xBD,0xFF,0x33,0x80,0xFF,0xDF,0xBF,0xEF,0xDF,0xFF,0x07,0x00,0xB0,0xDD,
0xB7,0xDD,0xB6,0xDD,0x01,0xC0,0xB7,0xDD,0xB7,0xDD,0xB7,0xDD,0xF7,0xDF,0xFF,0xFF,/*"誰",2*/
0xFF,0xDE,0xF7,0xDE,0xF7,0xEE,0xD7,0xEE,0x37,0xF6,0xF7,0xFA,0xF7,0xFC,0x00,0x00,
0xF7,0xFC,0xF7,0xFA,0x77,0xF6,0x97,0xEE,0xF7,0xEE,0xF7,0xDE,0xFF,0xDE,0xFF,0xFF,/*"來",3*/
0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,0x00,0x80,0xEF,0xFE,0xAF,0xFF,0xDF,0xFF,0x07,0x00,
0xB0,0xDD,0xB7,0xDD,0xB6,0xDD,0x05,0xC0,0xB7,0xDD,0xB7,0xDD,0xF7,0xDF,0xFF,0xFF,/*"推",4*/
0xDF,0xDD,0xCF,0x98,0x53,0xDD,0x9C,0xED,0xCF,0x6D,0x6F,0xBF,0xAD,0xCE,0xCD,0xF0,
0xED,0xFE,0x01,0xF6,0xEE,0xB2,0xCE,0x74,0xAE,0xB7,0x6F,0xC7,0x7F,0xFF,0xFF,0xFF,/*"繡",5*/
0xFF,0xFF,0xFF,0x7F,0xFF,0x9F,0x07,0xE0,0xF7,0xFE,0xF7,0xFE,0xF6,0xFE,0xF1,0xFE,
0xF7,0xFE,0xF7,0xFE,0xF7,0xFE,0xF7,0xFE,0x07,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"戶",6*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",7*/
0xEF,0xFB,0xEF,0xFC,0x2F,0xFF,0x00,0x00,0x6F,0xFF,0xEF,0xBE,0xFB,0xBF,0xFB,0xBE,
0xFB,0xBE,0xFB,0xBE,0x03,0x80,0xFB,0xBE,0xFB,0xBE,0xFB,0xBE,0xFB,0xBF,0xFF,0xFF,/*"枉",8*/
0xDF,0xFB,0x5B,0xF5,0x5B,0xB6,0x5B,0x77,0x00,0x81,0x5B,0xFA,0x4B,0xFB,0xD7,0x7B,
0x7B,0xBF,0x8F,0xDF,0x70,0xEC,0xF7,0xF3,0xF7,0xCC,0x07,0xBF,0xF7,0x7F,0xFF,0xFF,/*"教",9*/
0xFF,0x7F,0xFF,0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0xF3,0xFF,0xFC,0x3F,0xFF,0xC0,0xFF,
0x3F,0xFF,0xFF,0xFC,0xFF,0xF3,0xFF,0xEF,0xFF,0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,/*"人",10*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFF,0xF7,0xFF,0xE7,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"、",11*/
0xBF,0xFF,0xBB,0x7F,0xDB,0x77,0xEB,0x7B,0x80,0xBD,0x6B,0xBA,0xDB,0xD6,0xFF,0xEE,
0xDB,0xEE,0xEB,0xF6,0x80,0xFA,0xEB,0xFC,0xDB,0xFF,0xBB,0xFF,0xBF,0xFF,0xFF,0xFF,/*"夢",12*/
0xFF,0xFF,0x03,0xC0,0xDF,0xDD,0xDB,0xDE,0x57,0xDF,0x00,0xD0,0x57,0xDF,0xDB,0x5C,
0xFF,0x9F,0x03,0xE0,0xBB,0xFF,0xBB,0xFF,0x3B,0x00,0xBD,0xFF,0xBF,0xFF,0xFF,0xFF,/*"斷",13*/
0xBB,0xEF,0xBB,0xCF,0x03,0xE0,0xBB,0xF7,0xBB,0xF7,0xFF,0xFF,0x6B,0xFD,0x9B,0x85,
0xBB,0xBD,0xAB,0xBD,0x1D,0x80,0xBD,0xBD,0x9C,0xBD,0xA5,0x05,0xFF,0xFD,0xFF,0xFF,/*"瑤",14*/
0xFF,0xFF,0xBF,0xFF,0x1F,0xFF,0xAF,0x01,0xB7,0xBD,0xBB,0xBD,0xBC,0xBD,0xBF,0xBD,
0xBF,0xBD,0xBF,0xBD,0xB7,0xBD,0xAF,0x01,0x9F,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"臺",15*/
0xFF,0xFF,0x0F,0x00,0xEF,0xBD,0xEF,0xBD,0xEF,0xBD,0x00,0x80,0xEF,0xBD,0xEF,0xBD,
0xEF,0xBD,0x00,0x80,0xEF,0xBD,0xEF,0xBD,0xEF,0xBD,0x0F,0x00,0xFF,0xFF,0xFF,0xFF,/*"曲",16*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xDB,0xFF,0xDB,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"。",17*/
0x7F,0xEF,0x77,0xC7,0x77,0xEB,0x77,0xEC,0x00,0xEF,0x77,0xEB,0x77,0xE7,0x77,0xCF,
0x7F,0xFF,0x03,0x00,0xFB,0xFF,0xFB,0xF7,0xFB,0xEF,0x03,0xF0,0xFF,0xFF,0xFF,0xFF,/*"卻",18*/
0xFF,0x7F,0xFF,0x7F,0xFD,0xBF,0xE1,0xBF,0x9D,0xDF,0x7D,0xEE,0xFD,0xF5,0xFD,0xFB,
0xFD,0xF5,0x7D,0xEE,0x8D,0xDF,0xF1,0xBF,0xFF,0xBF,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,/*"又",19*/
0xFF,0x7E,0xFF,0xBE,0xFF,0xDE,0x80,0xE2,0xB6,0xDE,0xB6,0xBE,0xB6,0x7E,0xB6,0x00,
0xB6,0x76,0xB6,0x76,0xB6,0x76,0x80,0x76,0xFF,0x76,0xFF,0x7E,0xFF,0x7E,0xFF,0xFF,/*"是",20*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*",",21*/
0xFF,0x7F,0xFF,0x9F,0x01,0xE0,0xFD,0xFF,0xED,0xDF,0xDD,0xEF,0x3D,0xF3,0xFD,0xFC,
0x3D,0xF3,0xCD,0xCF,0xFD,0xFF,0x01,0xF0,0xFF,0xCF,0xFF,0xBF,0xFF,0x07,0xFF,0xFF,/*"風",22*/
0xFB,0x00,0x8B,0xFE,0xAB,0xE2,0xAA,0xEA,0xA9,0xEA,0xAB,0xA2,0x8B,0x7E,0xFB,0x80,
0xBF,0x7F,0x3F,0xBC,0xBF,0xD3,0x80,0xEF,0xB7,0xD3,0x37,0xBC,0xF7,0x7F,0xFF,0xFF,/*"敲",23*/
0x7F,0xFF,0xBF,0xFF,0xCF,0xFF,0xE0,0xFF,0x0F,0x00,0xEF,0xFF,0x6F,0xFF,0xBF,0xFF,
0xCF,0xFF,0xE0,0xBF,0xEF,0x7F,0x0F,0x80,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xFF,0xFF,/*"竹",24*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xDB,0xFF,0xDB,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"。",25*/
0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"—",26*/
0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"—",27*/
0xFB,0xFF,0xBB,0xEF,0xBB,0x71,0xBB,0xBF,0xA0,0xDF,0xBB,0xE7,0x0B,0xF8,0xBB,0xFF,
0xBB,0xBF,0xBB,0x7F,0xA0,0xBF,0x3B,0xC0,0xFB,0xFF,0xFB,0xFE,0xFB,0xF1,0xFF,0xFF,/*"蘇",28*/
0x37,0xF7,0x47,0xE7,0x70,0xF7,0x17,0x00,0x77,0xFB,0x77,0xFB,0xFF,0xDF,0x6F,0xDF,
0x6F,0xC0,0x6F,0xEF,0xEF,0xEF,0x00,0xF8,0xEF,0xC7,0xED,0xBF,0xEB,0x0F,0xFF,0xFF,/*"軾",29*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",22*/ //61行
};
復制代碼
作者:
man1234567
時間:
2020-5-23 09:24
定時器0中斷部分已包含注釋看不清可以靠近點
作者:
1085662623
時間:
2020-5-23 10:04
man1234567 發表于 2020-5-23 09:24
定時器0中斷部分已包含注釋看不清可以靠近點
我是不理解那部分的工作流程,也就是從if(shownum<80)這里開
ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3]; 這兩句是讓文字滾動起來的意思嗎?也就是往前一列?,還還有后面的呢,是什么?更新數據?啥意思呀。
ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1