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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3577|回復: 0
打印 上一主題 下一主題
收起左側

請問請問這段代碼中的變量TCount是什么意思?該程序中是怎么實現加速減速的?謝謝...

[復制鏈接]
跳轉到指定樓層
樓主
ID:214531 發表于 2017-6-25 20:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//可調控的跑馬燈
#include<reg52.h>
#define uchar unsigned char       
#define uint unsigned int
uchar ModeNo;//模式
uint Speed;
uchar TCount=0;////////////?????????????
uchar Idx;
uchar mb_Count=0;
bit Dirtect=1;                                       
uchar code DSY_CODE[]={0xC0,0XF9, 0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint code sTable[]={0,1,3,5,7,9,15,100,200,230,300,350};

void Delay(uint x)               
{
uchar i;
while(x--) for(i=0;i<120;i++);
}               

uchar GetKey()//獲取按鍵信息
{
uchar K;
if(P2==0xFF) return 0;
Delay(10);
switch(P2)
{                         case 0xFE: K=1;break;                         case 0xFD: K=2;break;                         case 0xFB: K=3;break;                         default:   K=0;
}                         while (P2!=0xFF);                         return K;
}

void Led_Demo(uint Led16)
{
P1=(uchar)(Led16&0x00FF);
P0=(uchar)(Led16>>8);
}

void T0_INT() interrupt 1//模式內容
{
if(++TCount<Speed) return;/////////////////////?????????
TCount=0;
switch(ModeNo)
{
case 0:Led_Demo(0x0001<<mb_Count);break;
case 1:Led_Demo(0x8000>>mb_Count);break;
case 2:if(Dirtect)Led_Demo(0x000F<<mb_Count);
Else
Led_Demo(0xF000>>mb_Count);
if(mb_Count==15) Dirtect=!Dirtect;break;
case 3:if(Dirtect)Led_Demo(~(0x000F<<mb_Count));
else                          Led_Demo(~(0xF000>>mb_Count));
if(mb_Count==15) Dirtect=!Dirtect;
break;
case 4:if(Dirtect)Led_Demo(0x003F<<mb_Count);
else                          Led_Demo(0xFC00>>mb_Count);
if(mb_Count==15) Dirtect=!Dirtect;break;
case 5:if(Dirtect)Led_Demo(0x0001<<mb_Count);
else                   Led_Demo(0x8000>>mb_Count);
if(mb_Count==15) Dirtect=!Dirtect;
break;
case 6:if(Dirtect)Led_Demo(~(0x0001<<mb_Count));
else                   Led_Demo(~(0x8000>>mb_Count));
if(mb_Count==15) Dirtect=!Dirtect;break;
case 7:if(Dirtect)Led_Demo(0xFFFE<<mb_Count);
else                   Led_Demo(0x7FFF>>mb_Count);
if(mb_Count==15) Dirtect=!Dirtect;break;
default:break;
}
mb_Count=(mb_Count+1)%16;
}

void KeyProcess(uchar Key)//按鍵處理選擇模式
{
switch(Key)
{                         case 1:
Dirtect=1;mb_Count=0;
ModeNo=(ModeNo+1)%8;
P3=DSY_CODE[ModeNo];break;                         case 2:
if(Idx>1) Speed=sTable[--Idx];break;                         case 3:
if(Idx<15) Speed=sTable[++Idx];
}
}

void main()
{
uchar Key;
P0=P1=P2=P3=0xFF;
ModeNo=0;Idx=4;
P3=DSY_CODE[ModeNo];
IE=0x82;
TMOD=0x00;
TR0=1;
while(1)
{
Key=GetKey();
if(Key!=0) KeyProcess(Key);
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色综合九九| 99久久精品国产一区二区三区 | 国际精品久久 | 国产欧美一区二区三区久久人妖 | 成人av观看| 国产精品久久久久一区二区三区 | 日本一二区视频 | 中文字幕在线精品 | 久久久久久久综合色一本 | 美美女高清毛片视频免费观看 | 成人国产在线观看 | 天天干夜夜操 | 日韩中文字幕一区二区 | 91一区二区 | 亚洲精品福利视频 | 精品成人免费一区二区在线播放 | 国产一卡二卡三卡 | 一区二区三区视频免费看 | 亚洲免费在线观看 | 日韩欧美在线观看 | 成人免费视频网站在线观看 | 国产精品久久久久影院色老大 | 欧美精品在线观看 | 国产精品夜间视频香蕉 | 国产二区在线播放 | 中国91av| 中文在线视频 | 国产午夜亚洲精品不卡 | www.亚洲视频.com | 国产91在线播放 | 四虎在线观看 | 不卡一区二区三区四区 | 很很干很很日 | 国产传媒毛片精品视频第一次 | 国内精品久久精品 | 一区二区三区精品视频 | 欧美精品在线播放 | 国产精品免费福利 | 久久久性 | 二区av | caoporn免费 |