久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
protues仿真 單片機可調時鐘
[打印本頁]
作者:
lucky999
時間:
2018-5-28 20:12
標題:
protues仿真 單片機可調時鐘
可調時鐘仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(13.23 KB, 下載次數: 39)
下載附件
2018-5-29 01:27 上傳
單片機源程序如下:
#include "reg52.h"
typedef unsigned char u8; // 定義無符號8位類型
typedef unsigned short int u16; // 定義無符號16位類型
typedef unsigned long int u32; // 定義無符號32位類型
sbit Button1 = P1^0; // 模式按鈕
sbit Button2 = P1^1; // 加號按鈕
sbit Button3 = P1^2; // 減號按鈕
u8 DisBuf[8] = { 12,30,17,30,00,17,00,00 }; // 數碼管初始值無顯示
u8 Hour=12,Min=30,Sec=0;
u32 seconds = 0;
/********************************************************************
* 函數功能 :延時函數
* 入口參數 :None
* 出口參數 : Time:延時時間
* 其他描述
********************************************************************/
void Delay_us( u16 Time )
{
while( Time-- );
}
/********************************************************************
* 函數功能 :數碼管驅動
* 入口參數 :None
* 出口參數 : 按鍵識別碼
* 其他描述
********************************************************************/
void Seg_Drive( void )
{
// 共陽極數碼管的數碼表
u8 code codebuf[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xbf,0xff};
u8 i = 0;
for( i=0;i<8;i++ ) // 有8個為共陰極數碼管
{
P3 = 0xff; // 關閉顯示,消除鬼影
P3 = ~(1<<i); // 輸出片選
P2 = ~codebuf[DisBuf[i]]; // 根據緩沖區顯示數據且數碼管顯示數字2015.09.15
Delay_us( 200 ); // 200 us的時間
}
}
/********************************************************************
* 函數功能 :數據拆分
* 入口參數 :None
* 出口參數 : Num:兩位數據
* 其他描述
********************************************************************/
void SegDisp( u8 hour,u8 min,u8 sec )
{
DisBuf[0] = hour/10; //
DisBuf[1] = hour%10; //
DisBuf[3] = min/10; //
DisBuf[4] = min%10; //
DisBuf[6] = sec/10; //
DisBuf[7] = sec%10; //
}
/********************************************************************
* 函數功能 :ScanKey
* 入口參數 :None
* 出口參數 : 按鍵識別碼
* 其他描述 矩陣按鍵的掃描
********************************************************************/
u8 ScanKey( void )
{
if( 0 == Button1 ) return 'M'; // 返回對數據執行的模式M
if( 0 == Button2 ) return '+'; // 返回對數據執行的加數+
if( 0 == Button3 ) return '-'; // 返回對數據執行的減數-
return 0;
}
/********************************************************************
* 函數功能 :按鍵判斷、消除抖動、松手檢測
* 入口參數 :None
* 出口參數 : 按鍵識別碼
* 其他描述 :
********************************************************************/
u8 ReadKey( void )
{
u8 tmp;
tmp = ScanKey(); // 讀取按鍵值
if( 0 == tmp ) return 0; // 判斷是否有按鍵按下
if( tmp!=ScanKey() ) return 0; // 讀回來的值是否與原來相同
while( 0 != ScanKey() ); // 讀回來的按鍵為0,也就是說是松手檢測
return tmp; // 返回鍵值
}
/********************************************************************
* 函數功能 :定時器初始化
* 入口參數 :None
* 出口參數 : None
* 其他描述 :
********************************************************************/
void time_init( void )
{
TMOD = 0x01; // 設置定時T0器工作方式1
EA = 1; // 開啟T0總中斷
TR0 = 1; // 啟動T0定時器
ET0 = 1; // 開啟計數/定時器T0中斷
}
/********************************************************************
* 函數功能 :用戶程序入口
* 入口參數 :None
* 出口參數 : None
* 其他描述 :
********************************************************************/
void main( void )
{
u8 Num = 0;
static u8 Mode = 0;
time_init(); // 定時器初始化
while( 1 )
{
switch( ReadKey() )
{
// 三種模式:時、分、秒
case 'M': Mode = (Mode+1)%4; break;
// 時鐘調整 增操作
case '+':
if( 1 == Mode ) // 小時調整
{
Hour = (Hour+1)%24; // 一天 24 小時
}
else if ( 2== Mode )
{
Min = (Min+1)%60; // 一小時60 分鐘
}
else if ( 3== Mode )
{
Sec = (Sec+1)%60; // 一分鐘 60 秒
}
break;
// 時鐘調整 減操作
case '-':
if( 1 == Mode ) // 小時調整
{
Hour == 0 ? Hour =23 : Hour--; // 一天 24 小時
}
else if ( 2== Mode )
{
Min == 0 ? Min =59 : Min--; // 一小時60 分鐘
}
else if ( 3== Mode )
{
Sec == 0 ? Sec =59 : Sec--; // 一分鐘 60 秒
}
break;
}
SegDisp(Hour,Min,Sec); // 數碼管數據拆分
Seg_Drive(); // 數碼管驅動
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
Chap6_3(可調時鐘).rar
(72.38 KB, 下載次數: 26)
2018-5-28 19:52 上傳
點擊文件名下載附件
protues仿真
下載積分: 黑幣 -5
作者:
徐小苗
時間:
2018-6-10 09:33
(⊙o⊙)哇,我還不會
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久国产精品一区
|
成人av在线网站
|
国产精品高潮呻吟久久
|
精品国产免费人成在线观看
|
日韩中文字幕一区二区
|
中文在线www
|
欧美专区在线
|
韩日一区二区三区
|
国产激情一区二区三区
|
丁香综合
|
黄色免费观看网站
|
国产乱码精品一区二区三区中文
|
久久综合狠狠综合久久综合88
|
a视频在线
|
一区二区国产精品
|
国产精品久久久久久婷婷天堂
|
久久亚洲视频
|
日本在线小视频
|
亚洲一区二区三区在线
|
精品久久精品
|
久久国产精品无码网站
|
日韩毛片免费视频
|
欧美日日
|
国产精品久久久久久久岛一牛影视
|
一区二视频
|
中文字幕亚洲视频
|
中文字幕在线观看日韩
|
亚洲精品九九
|
国产视频三区
|
中文字幕精品一区
|
国产成人精品免费
|
欧美狠狠操
|
超碰在线人人
|
日本精品久久久一区二区三区
|
一区二区三区免费
|
永久免费在线观看
|
在线观看成人小视频
|
国产免费观看一级国产
|
毛片一区二区三区
|
最新中文字幕在线
|
日韩综合色
|