標題: 單片機四位數碼管可調時鐘 [打印本頁]
作者: chaoxing889 時間: 2018-6-14 16:56
標題: 單片機四位數碼管可調時鐘
四位數碼管可調時鐘(1)
/**** 本程序中,晶振為12MHz, ****/
/**** 時間控制采用定時中斷控制方式。 ****/
/**** 模式和時間調整采用查詢方式。 ****/
- #include<reg52.h>
-
- sbit P20=P2^0; //分個位控制端
- sbit P21=P2^1; //分十位控制端
- sbit P22=P2^2; //時個位控制端
- sbit P23=P2^3; //時十位控制端
- sbit led=P2^7; //second display led
-
- sbit key0=P3^0; //模式設置
- sbit key1=P3^1; //加
- sbit key2=P3^2; //減
-
- unsigned char hour,min,sec,T50ms;
- unsigned char modstate; //模式狀態
-
- unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//段碼
-
- void init(); //初始化子程序聲明
- void delay500us(unsigned char X); //延時子程序聲明
- void display(); //顯示子程序聲明
- void display001(); //顯示子程序聲明
- void display002(); //顯示子程序聲明
- void keyscan(); //按鍵識別子程序聲明
-
- void main()
- {
- init();
- while(1)
- {
- keyscan();
- }
- }
-
- void init() //初始化子程序
- {
- TMOD=0x01;
- TH0=(65536-49990)/256;
- TL0=(65536-49990)%256;
- ET0=1;
- EA=1;
- TR0=1;
- }
-
- void delay500us(unsigned char X)
- {
- unsigned char i,j;
- for(i=X;i>0;i--)
- for(j=248;j>0;j--);
- }
-
- void timer0() interrupt 1 //timer0中斷服務子程序,定時時間為50ms,本程序加了10us的時間修正量
- {
- TMOD=0x01;
- TH0=(65536-49990)/256;
- TL0=(65536-49990)%256;
-
- T50ms++;
- if(T50ms>=20)
- {
- T50ms=0;
- sec++;
- if(sec>=60)
- {
- sec=0;
- min++;
- if(min>=60)
- {
- min=0;
- hour++;
- if(hour>=24)hour=0;
- }
- }
- }
- }
-
- void display()
- {
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[hour/10];
- P23=0;
- delay500us(5);
-
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[hour%10];
- P22=0;
- delay500us(5);
-
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[min/10];
- P21=0;
- delay500us(5);
-
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[min%10];
- P20=0;
- delay500us(5);
-
- if(T50ms<=10)led=0;
- if(T50ms>10)led=1;
- }
-
- void display001()
- {
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[hour/10];
- P23=0;
- delay500us(10);
-
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[hour%10];
- P22=0;
- delay500us(10);
- }
-
- void display002()
- {
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[min/10];
- P21=0;
- delay500us(10);
-
- P20=1;
- P21=1;
- P22=1;
- P23=1;
- P0=table[min%10];
- P20=0;
- delay500us(10);
- }
-
-
- void keyscan() //按鍵識別鐘程序
- {
- while(modstate==0)
- {
- display();
- if(key0==0)
- {
- display();
- if(key0==0)modstate++; //這兩句加在一起為延時10ms軟件防抖設計。
- while(key0==0)display001(); //等待按鍵釋放。
- }
- }
- //****************************************************************************//
- while(modstate==1)
- {
- display001();
- if(key0==0)
- {
- display001();
- if(key0==0)modstate++; //這兩句加在一起為延時10ms軟件防抖設計。
- while(key0==0)display002(); //等待按鍵釋放。
- }
-
- if(key1==0)
- {
- display001();
- if(key1==0)
- {
- hour++;
- if(hour>=24)hour=0;
- while(key1==0)display001();
- }
- }
- if(key2==0)
- {
- display001();
- if(key2==0)
- {
- hour--;
- if(hour>=24)hour=0;
- while(key2==0)display001();
- }
- }
- }
- //****************************************************************************//
- while(modstate==2)
- {
- display002();
- if(key0==0)
- {
- display002();
- if(key0==0)modstate=0; //這兩句加在一起為延時10ms軟件防抖設計。
- while(key0==0)display(); //等待按鍵釋放。
- }
-
- if(key1==0)
- {
- display002();
- if(key1==0)
- {
- min++;
- if(min>=60)min=0;
- while(key1==0)display002();
- }
- }
- if(key2==0)
- {
- display002();
- if(key2==0)
- {
- min--;
- if(min>=60)min=0;
- while(key2==0)display002();
- }
- }
- }
- }
復制代碼
-
-
四位數碼管秒閃爍可調時鐘 (1).doc
2018-6-14 16:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
801 KB, 下載次數: 58, 下載積分: 黑幣 -5
作者: 漫威 時間: 2018-10-8 00:00
想問問數碼管是共陰的還是共陽的
作者: 小學扎 時間: 2018-12-18 17:03
想知道接數碼管1.2.3.4的那四個三角是什么?
作者: X黑貓 時間: 2020-1-8 18:48
你好 如果再加上鬧鐘設置 應該怎么弄呢 大哥求解
作者: 好來屋 時間: 2020-12-18 21:56
漫威 發表于 2018-10-8 00:00
想問問數碼管是共陰的還是共陽的
是共陽極的啊
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
久久精品国产99国产精品亚洲
|
国产91精品久久久久久久网曝门
|
97人人超碰
|
国产精品免费一区二区三区四区
|
日韩精品一区二区三区中文字幕
|
国产精品成av人在线视午夜片
|
黄色激情毛片
|
欧美色人
|
99热这里只有精品8
激情毛片
|
一区二区不卡
|
久久久久黄
|
www..com18午夜观看
|
精品国产乱码久久久久久蜜臀
|
h在线|
超碰地址
|
精品91久久
|
综合久久av
|
日韩在线免费视频
|
亚洲日日
|
亚洲欧美日韩精品久久亚洲区
|
欧美在线观看一区
|
亚洲欧美在线视频
|
久久不卡
|
www国产亚洲精品
|
a级免费观看视频
|
午夜激情影院
|
91就要激情|
天天躁日日躁狠狠的躁天龙影院
|
在线观看成人精品
|
国产区视频在线观看
|
日韩中文在线视频
|
亚洲视频二区
|
欧美成年黄网站色视频
|
欧美精品片|
精品日韩一区
|
亚洲二区视频
|
在线观看av网站永久
|
亚洲在线一区二区三区
|
男女羞羞免费网站
|
国产一级片久久久
|
天天干天天草
|