久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
求單片機程序 用四位數碼管分別顯示小時和分鐘
[打印本頁]
作者:
青葙子
時間:
2017-6-5 00:06
標題:
求單片機程序 用四位數碼管分別顯示小時和分鐘
用四位數碼管分別顯示小時和分鐘(其中第二位數碼管倒置安放,用第二和第三位數碼管的小數點閃爍指示秒);設置兩個功能按鍵,A鍵作為數字加鍵,B鍵作為小時、分鐘切換鍵。第一次按下B鍵時鐘進入調整小時狀態,第二次按下B鍵進入調整分鐘狀態,第三次按下B鍵退出調整時間回到正常走時狀態。進入調整狀態后,時間位對應數碼管閃爍顯示,以提示用戶,未被調整的時間位應保持正常顯示狀態。按下A鍵修改相應時間位。
作者:
cjjcjj1
時間:
2017-6-5 06:17
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
青葙子
時間:
2017-6-6 00:02
cjjcjj1 發表于 2017-6-5 06:17
你好!是51單片機嗎?程序是c語言寫嗎?可以加我QQ 1413753805
程序有了 就是實物出了點問題
作者:
青葙子
時間:
2017-6-6 22:54
#include <reg51.h>//<stc15.h>
#define uchar unsigned char
#define uint unsigned int
void BCSegNum();
void XSSegNum();
void DelayMs(uint n);
uchar Second=59, Hour=8, Minute=13;
static uchar Counter;
uchar flag0=0;
sbit dp=P2^7;
SegNum[]={1,2,3,4};//四個數碼管
SegCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
BitCode[]={0x01,0x02,0x04,0x08};
void main()
{
TMOD = 0x01; //16位不自動重裝,方式1
TH0 = 0x4c; //50ms
TL0 = 0x00;
ET0 = 1;
EA = 1;
TR0 = 1;
EX0 = 1;
EX1 =1;
IT0 = 1;
IT1 = 1;
P1 = 0;
while(1)
{
BCSegNum();
XSSegNum();
}
}
void BCSegNum()
{
SegNum[3] = Hour/10; //時十位
SegNum[2] = Hour%10;
SegNum[1] = Minute/10;
SegNum[0] = Minute%10;
}
void XSSegNum()
{
uchar i;
for(i=0;i<4;i++)
{
P2=SegCode[SegNum[i]];
P1=BitCode[i];
DelayMs(3);
P1=0x00;
}
}
void T0_Isr(void)interrupt 1
{
TH0 = 0x4c;
TL0 =0x00;
Counter++;
if(Counter<=10)dp = 0;
else dp = 1;
if(Counter==20)
{
Second++;
Counter = 0;
if(Second==60)
{
Second=0;
Minute++;
if(Minute==60)
{
Minute=0;
Hour++;
if(Hour==24)
{
Hour=0;
}
}
}
}
}
void DelayMs(uint n)
{
uchar j;
while(n--)
{
for(j=0;j<113;j++);
}
}
void Ex0Isr() interrupt 0 //選擇鍵
{
TR0 = 0;
flag0++; //flag0=0無鍵按下
if(flag0==3)
{
flag0=0;
TR0 = 1;
}
}
void Ex1tsr() interrupt 2 //加鍵
{
if(flag0==1) //分加1
{
Minute++;
if(Minute==60)
Minute=0;
}
if(flag0==2) //時加1
{
Hour++;
if(Hour==24)
Hour=0;
}
}
作者:
青葙子
時間:
2017-6-6 22:56
程序如下 怎么把它改成雙機通信呀
#include <reg51.h>//<stc15.h>
#define uchar unsigned char
#define uint unsigned int
void BCSegNum();
void XSSegNum();
void DelayMs(uint n);
uchar Second=59, Hour=8, Minute=13;
static uchar Counter;
uchar flag0=0;
sbit dp=P2^7;
SegNum[]={1,2,3,4};//四個數碼管
SegCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
BitCode[]={0x01,0x02,0x04,0x08};
void main()
{
TMOD = 0x01; //16位不自動重裝,方式1
TH0 = 0x4c; //50ms
TL0 = 0x00;
ET0 = 1;
EA = 1;
TR0 = 1;
EX0 = 1;
EX1 =1;
IT0 = 1;
IT1 = 1;
P1 = 0;
while(1)
{
BCSegNum();
XSSegNum();
}
}
void BCSegNum()
{
SegNum[3] = Hour/10; //時十位
SegNum[2] = Hour%10;
SegNum[1] = Minute/10;
SegNum[0] = Minute%10;
}
void XSSegNum()
{
uchar i;
for(i=0;i<4;i++)
{
P2=SegCode[SegNum[i]];
P1=BitCode[i];
DelayMs(3);
P1=0x00;
}
}
void T0_Isr(void)interrupt 1
{
TH0 = 0x4c;
TL0 =0x00;
Counter++;
if(Counter<=10)dp = 0;
else dp = 1;
if(Counter==20)
{
Second++;
Counter = 0;
if(Second==60)
{
Second=0;
Minute++;
if(Minute==60)
{
Minute=0;
Hour++;
if(Hour==24)
{
Hour=0;
}
}
}
}
}
void DelayMs(uint n)
{
uchar j;
while(n--)
{
for(j=0;j<113;j++);
}
}
void Ex0Isr() interrupt 0 //選擇鍵
{
TR0 = 0;
flag0++; //flag0=0無鍵按下
if(flag0==3)
{
flag0=0;
TR0 = 1;
}
}
void Ex1tsr() interrupt 2 //加鍵
{
if(flag0==1) //分加1
{
Minute++;
if(Minute==60)
Minute=0;
}
if(flag0==2) //時加1
{
Hour++;
if(Hour==24)
Hour=0;
}
}
作者:
zaojinong
時間:
2017-12-13 11:04
在嗎兄弟 有電路嗎
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
免费午夜视频在线观看
|
国产一区二区三区在线视频
|
成人免费看片又大又黄
|
日韩视频一区在线观看
|
久草免费在线视频
|
国产99精品
|
欧美中文一区
|
日本久草视频
|
熟女毛片
|
国产在线精品一区二区三区
|
理论片87福利理论电影
|
久久精品视频一区二区三区
|
在线观看亚洲一区二区
|
亚洲福利在线视频
|
亚洲欧洲av在线
|
国产精品一区二区在线播放
|
国产成人精品一区二
|
国产在线一区二区
|
夜夜夜操
|
一区2区
|
国产精品成人久久久久a级 久久蜜桃av一区二区天堂
|
国产精品一区一区三区
|
久久曰视频
|
亚洲一区二区三区视频在线
|
91在线成人
|
拍戏被cao翻了h承欢
|
国产精品永久免费视频
|
国产精品欧美一区二区三区不卡
|
成人在线看片
|
又黄又爽的网站
|
国产欧美在线播放
|
久久国产精品久久久久久久久久
|
色资源站
|
91精品国产综合久久婷婷香蕉
|
成人免费网站
|
麻豆亚洲
|
成人av免费
|
日本精品一区二区三区在线观看
|
日本免费视频在线观看
|
av日日操
|
四虎影音
|