亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
51單片機P1^0口led改變狀態,產生脈沖,T0計數加一數碼管顯示,T1定時
[打印本頁]
作者:
安暖暖
時間:
2018-11-29 20:37
標題:
51單片機P1^0口led改變狀態,產生脈沖,T0計數加一數碼管顯示,T1定時
51單片機問題求助,P1^0口led改變狀態,產生脈沖,T0計數加一數碼管顯示,T1定時數碼管,正常顯示不了,改了好幾次,不知道哪里錯了,求助,謝謝
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0; //用杜邦線連接p1^0和p3^4
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f); //0~9
void delay(uint j)
{
uint m,n;
for(m=j;m>0;m--)
for(n=125;n>0;n--);
}
void display(uchar i)
{
uchar bai,shi,ge;
bai=i/100;
shi=i%100/10;
ge=i%10;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=table[bai];
dula=0;
delay(1);
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
dula=1;
P0=table[shi];
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
dula=1;
P0=table[ge];
dula=0;
delay(5);
}
void t0Init() //
{
TR0=1;
TMOD |=0x05; //實現計數功能
TH0=0;
TL0=0;
}
void t1Init()
{
TR1=1;
TMOD |=0x10;
TH1=0x4b; //定時50ms
TL1=0xfd;
}
void main() //main函數自身會循環
{
uchar mSec; //毫秒和秒儲存變量
t0Init() ;
t1Init() ;
TH0=0;
TL0=0;
while(1)
{
if(TF1==1)
{ //判斷是否溢出
TF1=0; //軟件清零溢出標志位
TH1=0x4b; //定時50ms
TL1=0xfd;
mSec++;
if(mSec==10)
{
mSec=0;
led=~led; //產生方波
}
}
display(TL0);//數碼管顯示函數
}
}
復制代碼
作者:
wulin
時間:
2018-11-30 09:23
你的數組括號用錯了,另外動態數碼管顯示程序也有缺陷,亮度不均勻。給你改了下,你試試。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0; //用杜邦線連接p1^0和p3^4
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9
/*
void delay(uint j)
{
uint m,n;
for(m=j;m>0;m--)
for(n=125;n>0;n--);
}*/
void display(uchar i)
{
static uchar a=0;
// uchar bai,shi,ge;
// bai=i/100;
// shi=i%100/10;
// ge=i%10;
P0=0x00;
switch(a)
{
case 0:
P0=0xfe;
wela=1;
wela=0;
P0=table[i/100];
dula=1;
dula=0;
a++;
break;
case 1:
P0=0xfd;
wela=1;
wela=0;
P0=table[i%100/10];
dula=1;
dula=0;
a++;
break;
case 2:
P0=0xfb;
wela=1;
wela=0;
P0=table[i%10];
dula=1;
dula=0;
a=0;
break;
}
}
void t0Init() //
{
TMOD |=0x05; //實現計數功能
TH0=0;
TL0=0;
TR0=1;
}
void t1Init()
{
TMOD |=0x10;
TH1 = 0xEC; //定時5ms
TL1 = 0x78;
TR1=1;
}
void main() //main函數自身會循環
{
uchar mSec; //毫秒和秒儲存變量
t0Init() ;
t1Init() ;
TH0=0;
TL0=0;
while(1)
{
if(TF1==1)
{ //判斷是否溢出
TF1=0; //軟件清零溢出標志位
TH1 = 0xEC; //定時5ms
TL1 = 0x78;
mSec++;
if(mSec==100)
{
mSec=0;
led=~led; //產生方波
}
display(TL0);//數碼管顯示函數
}
}
}
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1