久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
流水燈,數(shù)碼管同時工作
[打印本頁]
作者:
瀟瀟123
時間:
2017-5-13 22:44
標(biāo)題:
流水燈,數(shù)碼管同時工作
請教怎么讓流水燈和數(shù)碼管同時工作,我弄的總只能顯示其中一個…剛剛?cè)腴T的小白,最好能推薦些有相關(guān)的詳細(xì)教程的,謝謝謝謝!!
作者:
admin
時間:
2017-5-14 00:40
這是我八年前寫的程序,你可以參考一下:
http://m.zg4o1577.cn/bbs/dpj-3011-1.html
作者:
瀟瀟123
時間:
2017-5-18 20:37
admin 發(fā)表于 2017-5-14 00:40
這是我八年前寫的程序,你可以參考一下:
http://m.zg4o1577.cn/bbs/dpj-3011-1.html
這是我的程序,如果是想要在定時器定義一個變量用來延時 ,也可以的嗎 大概要怎么弄啊
#include<reg52.h>
#include <intrins.h>
sbit key1=P1^0;
sbit key2=P1^1 ;
sbit key3=P1^2;
sbit key4=P1^3;
sbit key5=P1^4; //第五個鍵盤調(diào)節(jié)分
sbit key6=P1^5;
typedef unsigned char u8;
typedef unsigned int u16;
u8 smgduan[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71,};// 段選
u8 smgduan1[16]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,};
u8 smgwei[8]={0x00,0x04,0x08,0x0c,0x10,0x14,0x18,0x1c}; //位選
u8 a[4];//保存時鐘的數(shù)據(jù)
u8 sec,min;
void delay(u16 i)
{
while(i--);
}
void time0init() //定時器0初始化
{
TMOD=0X01;
TH0=0Xfc;
TL0=0X18; //1ms
TR0=1;
EA=1;
ET0=1;
}
void display()
{
u8 i;
a[0]=smgduan[sec%10];
a[1]=smgduan[sec/10];
a[2]=smgduan1[min%10];
a[3]=smgduan[min/10];
for(i=0;i<4;i++)
{
P0=a[i];
P2=smgwei[4-i];
delay(300); //不同的延時時間對數(shù)碼管顯示亮度會產(chǎn)生很大的影響,時間越短影響越大
}
}
//--聲明全局函數(shù)--//
void Delay10ms(unsigned int c); //延時10ms
/*******************************************************************************
* 函 數(shù) 名 : abc
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
abc()
{
if(min==40)
{
unsigned char LED;
LED = 0x01; //0xfe = 1111 1110
while (1)
{
P0 = LED;
Delay10ms(50);
LED = LED << 1; //循環(huán)右移1位,點亮下一個LED "<<"為左移位
if (P0 == 0x00) //當(dāng)它全滅的時候,重新賦值
{
LED = 0x01; // 0xfe = 1111 1110
}
}
}
}
/*******************************************************************************
* 函 數(shù) 名 : Delay10ms
* 函數(shù)功能 : 延時函數(shù),延時10ms
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void Delay10ms(unsigned int c) //誤差 0us
{
unsigned char a, b;
//--c已經(jīng)在傳遞過來的時候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
void keyscan()
{
if(key2==0)
{
delay(200);
if(key2==0)
{
delay(200);
min=0;
sec=0;
while (!key2);}
}
if(key1==0)
{
delay(200);
if(key1==0)
{
delay(200);
while (!key1);
TR0=~TR0;
}
}
if(key3==0)
{
delay(200);
if(key3==0)
{
delay(200);
sec +=10;
while(!key3);
}
}
if(key5==0)
{
delay(200);
if(key5==0)
{
delay(200);
min+=10;
while(!key5);}
if(min>=60)
{delay(200);
min=0;
sec=0;
while(!key5);}}
if(key6==0)
{
delay(200);
if(key6==0)
{
delay(200);
if(min>=10)
min-=10;
while(!key6);}
else
{delay(200);
min=0
sec=0;
while(!key6);}
}
if(key4==0)
{
delay(200);
if(key4==0)
{
delay(200);
if(sec>=10)
{delay(200);
sec-=10;
while(!key4);
}
else if(min>=1&&sec<=10)
{delay(200);
min-=1;
sec+=50;
while(!key4);
}
else if(min==0&&sec<=10)
{delay(200);
min=0;
sec=0;
while(!key4);
}
}
}
}
void main()
{
time0init();
while(1)
{ abc();
keyscan();
display();
}
}
void time0() interrupt 1
{
static u16 j;
TH0=0Xfc;
TL0=0X18; //1ms
j++;
if(j==1000) //1s
{
j=0;
sec++;
if(sec>=60)
{
sec=0;
min++;
if(min>=60)
{
min=0;
}
}
}
}
復(fù)制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产成人高清
|
国产伦精品
|
天堂av影院
|
精品免费国产一区二区三区四区
|
亚洲综合在线视频
|
日日日干干干
|
成人在线免费视频
|
www.色网
|
激情综合婷婷
|
天天操夜夜操
|
日韩欧美综合
|
国产伦精品一区二区三区视频网站
|
亚洲日本中文字幕
|
九九热在线精品
|
成人av网站在线观看
|
国产欧美日韩视频
|
午夜天堂av
|
91一级片
|
亚洲精品自拍视频
|
老女人毛片
|
99精品在线
|
九九精品免费视频
|
精品小视频
|
日韩精品一级
|
久久瑟瑟
|
天天操夜夜骑
|
亚洲www.
|
久久中文字幕视频
|
在线一区视频
|
日本不卡视频在线观看
|
久久依人
|
小视频黄色
|
欧美 日韩 国产 成人 在线
|
国产精品手机在线观看
|
四虎网站在线观看
|
日本在线天堂
|
欧美日韩视频在线
|
中文字幕在线免费看
|
天天插天天操
|
国产黄色精品视频
|
第一福利视频导航
|