久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
幫忙指導下嘛 看看我的程序有錯沒 幫我改下嘛
[打印本頁]
作者:
1824380946
時間:
2016-7-13 18:36
標題:
幫忙指導下嘛 看看我的程序有錯沒 幫我改下嘛
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code Tab0[]= //定義數碼管數組,沒有小數點
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
uchar code Tab1[]= //定義數碼管數組,有小數點
{
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef
};
void Delay(uchar x); //延時函數
void Display0(); //時間顯示函數
void Display2(); //時間設置顯示函數
void Init(); //中斷初始化函數
uchar Hours=23,Minutes=56,seconds=55; //分別定義三個變量表示時、分、秒
uchar Time0_bit=0; //用于定時器0的溢出標志
bit Set_Time=0; //設置時 閃爍時長的標志位
bit Set0=0; //設置時間標志,確定是設置‘分’還設置‘時’
void main()
{
Init(); //中斷初始化
while(1) //死循環
{
Display0(); //顯示時間
}
}
void Time0() interrupt 1 //定時器0函數
{
TH0=(65536-50000)/256; //重裝初值
TL0=(65536-50000)%256;
Time0_bit++;
if((Time0_bit%10)==0) //每溢出10次Time0_bit取反一次
Set_Time=~Set_Time; //0.5秒閃爍一次
if(Time0_bit==20) //以下為時間數據處理
{
Time0_bit=0;
seconds++;
if(seconds==60)
{
seconds=0;
Minutes++;
if(Minutes==60)
{
Minutes=0;
Hours++;
if(Hours==24)
{
Hours=0;
}
}
}
}
}
void Init() //中斷初始化函數
{
EA=1; //開總中斷
TMOD=0X01; //定時器工作方式選擇,定時器0和定時器1都選擇第1種工作方式
TH0=(65536-50000)/256; //定時器0裝初值,定時50ms
TL0=(65536-50000)%256;
ET0=1; //開定時器0開關
TR0=1; //開定時器0小開關
}
void Display2() //時間設置時的顯示函數
{
if(Set0==0) //判斷是否為設置‘時’還是‘分’
{
P0=Tab0[seconds%10]; //顯示秒的個位
P1=0xdf; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[seconds/10]; //顯示秒的十位
P1=0xef; //段選
Delay(10); //延時
P0=0X00; //消隱
if(Set_Time) //這個if語句實現分鐘以0.5秒的頻率閃爍
{
P0=Tab1[Minutes%10]; //顯示分的個位,需要加上小數點做分隔符
P1=0xf7; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Minutes/10]; //顯示分的十位
P1=0xfb; //段選
Delay(10); //延時
P0=0X00; //消隱
}
else
{
P0=0x00; //顯示分的個位,需要加上小數點做分隔符
P1=0xf7; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=0x00; //顯示分的十位
P1=0xfb; //段選
Delay(10); //延時
P0=0X00; //消隱
}
P0=Tab1[Hours%10]; //顯示時的個位,需要加上小數點做分隔符
P1=0xfd; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Hours/10]; //顯示時的十位
P1=0xfe; //段選
Delay(10); //延時
P0=0X00; //消隱
}
else //‘時’鐘閃爍
{
P0=Tab0[seconds%10]; //顯示秒的個位
P1=0xdf; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[seconds/10]; //顯示秒的十位
P1=0xef; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab1[Minutes%10]; //顯示分的個位,需要加上小數點做分隔符
P1=0xf7; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Minutes/10]; //顯示分的十位
P1=0xfb; //段選
Delay(10); //延時
P0=0X00; //消隱
if(Set_Time) //這個if語句實現‘時’鐘以0.5秒的頻率閃爍
{
P0=Tab1[Hours%10]; //顯示時的個位,需要加上小數點做分隔符
P1=0xfd; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Hours/10]; //顯示時的十位
P1=0xfe; //段選
Delay(10); //延時
P0=0X00; //消隱
}
else
{
P0=0x00; //顯示時的個位,需要加上小數點做分隔符
P1=0xFF; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=0X00; //顯示時的十位
P1=0xFF; //段選
Delay(10); //延時
P0=0X00; //消隱
}
}
}
void Display0() //顯示時鐘
{
P0=Tab0[seconds%10]; //顯示秒的個位
P1=0xdf; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[seconds/10]; //顯示秒的十位
P1=0xef; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab1[Minutes%10]; //顯示分的個位,需要加上小數點做分隔符
P1=0xf7; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Minutes/10]; //顯示分的十位
P1=0xfb; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab1[Hours%10]; //顯示時的個位,需要加上小數點做分隔符
P1=0xfd; //段選
Delay(10); //延時
P0=0X00; //消隱
P0=Tab0[Hours/10]; //顯示時的十位
P1=0xfe; //段選
Delay(10); //延時
P0=0X00; //消隱
}
void Delay(uchar x) //延時
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久久久精
|
国产精品自拍视频
|
亚洲一区在线日韩在线深爱
|
妞干网视频
|
日本成人片在线观看
|
亚洲国产欧美一区二区三区久久
|
国产精品欧美一区二区三区不卡
|
成人av免费
|
www亚洲精品
|
中文字幕一区二区三区乱码在线
|
亚洲国产成人精品女人久久久
|
欧美国产精品
|
久久久精品一区二区三区四季av
|
亚洲国产精品久久
|
欧美精品a∨在线观看不卡 国产精品久久国产精品
|
91精品国产综合久久精品图片
|
在线观看国产
|
日本免费一区二区三区四区
|
亚洲欧美国产精品久久
|
国产视频黄色
|
91精品国产一区二区三区蜜臀
|
亚洲精品1区
|
精品一区av
|
国产成人自拍av
|
精品一区国产
|
亚洲成人高清
|
亚洲先锋影音
|
日韩精品一区二区三区四区视频
|
久久精品99久久
|
日本中文字幕视频
|
欧美日韩视频在线
|
av激情在线
|
久久久国产一区
|
99久久精品国产毛片
|
亚洲在线一区
|
日韩在线日韩
|
亚洲一区二区三区四区在线观看
|
国产黄色在线观看
|
久久区二区
|
欧美精品tv
|
国产精品久久久久久久久久久久
|