www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]//中斷的應(yīng)用二//★★★★★★★★★數(shù)字鐘★★★★★★★★★★★\\\\ //單征機型號:PIC16F877A //功能描述:數(shù)字鐘功能,初始顯示時間為12點,且?guī)謩诱{(diào)整時間功能。 //端口定義:RA0~RA5數(shù)碼管位控制口、RD0~R

//中斷的應(yīng)用二

//★★★★★★★★★數(shù)字鐘★★★★★★★★★★★\
//單征機型號:PIC16F877A
//功能描述:數(shù)字鐘功能,初始顯示時間為12點,且?guī)謩诱{(diào)整時間功能。
//端口定義:RA0~RA5數(shù)碼管位控制口、RD0~RD7數(shù)碼管段控制口、RB0秒增一、RB1分增一、RB2時增一。


#include
__CONFIG(0xf73A); //芯片配置字

const unsigned char dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段選0~9
unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位選,數(shù)碼管1~8
unsigned char dispbuf[8]={0,0,16,0,0,16,0,0}; //時間數(shù)據(jù)寄存器
unsigned int tcnt; //百分之一秒計數(shù)器
unsigned char second; //秒計數(shù)器
unsigned char minite; //分計數(shù)器
unsigned char hour; //時計數(shù)器
unsigned char dispbitcnt; //顯示子程序中段與位顯示計數(shù)器
bit keyb0,keyb1,keyb2; //RB0,RB1,RB2按鍵作用標志位

//========================================================================
//功能描述:延時子程序
//函數(shù)名稱:delay);
void delay()
{
int i;
for(i=80;i>0;i--);
}

//========================================================================
//功能描述:顯示子程序
//函數(shù)名稱:disp();
void disp()
{

PORTA=dispbitcode[dispbitcnt];
PORTD=dispcode[dispbuf[dispbitcnt]];
dispbitcnt++;
if(dispbitcnt==8)
{
dispbitcnt=0;
}
delay();
}

//========================================================================
//功能描述:端口初始化
//函數(shù)名稱:portinit();
void portinit()
{
TRISA=0x00; //PA口設(shè)為輸出
TRISB=0xff; //PB口設(shè)為輸入
TRISC=0x00; //PC口設(shè)為輸出
TRISD=0x00; //PC口設(shè)為輸出
PORTA=0x00; //PA口設(shè)為輸出為0
PORTB=0x00;
PORTC=0x00;
PORTD=0;
tcnt=0;
second=0;
minite=0;
hour=12;
dispbitcnt=0;
keyb0=0;
keyb1=0;
keyb2=0;
}

//=====================================================================
//功能描述:定時中斷服務(wù)
//函數(shù)名稱:TimeInt();
void interrupt TimeInt(void)
{
tcnt++;
if(tcnt==20)
{
tcnt=0;
second++;
if(second==60)
{
second=0;
minite++;
if(minite==60)
{
minite=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
dispbuf[0]=hour/10;
dispbuf[1]=hour%10;
dispbuf[2]=minite/10;
dispbuf[3]=minite%10;
dispbuf[4]=second/10;
dispbuf[5]=second%10;
dispbuf[6]=tcnt/10;
dispbuf[7]=tcnt%10;


TMR0 = 0x3d; //定時初值
T0IF = 0; //清除標志
}


//========================================================================
//功能描述:中斷設(shè)置
//函數(shù)名稱:IdsInit();
void IdsInit(void)
{
OPTION = 0x87; //分頻因子
TMR0 = 0x3d; //定時初值
T0IE = 1; //開啟定時
GIE = 1; //準許中斷
}

//========================================================================
//功能描述:手動調(diào)時子程序
//函數(shù)名稱:key();
void key()
{
if(RB0==0)
{
delay();
if(RB0==0)
{
if(keyb0==0)
{
keyb0=1;
second++;
if(second==60)
{second=0;}

}
}
}
else keyb0=0;
if(RB1==0)
{
delay();
if(RB1==0)
{
if(keyb1==0)
{
keyb1=1;
minite++;
if(minite==60)
{minite=0;}
}
}
}
else keyb1=0;
if(RB2==0)
{
delay();
if(RB2==0)
{
if(keyb2==0)
{
keyb2=1;
hour++;
if(hour==24)
{hour=0;}

}
}
}
else keyb2=0;
}

//========================================================================
//功能描述:主程序
//函數(shù)名稱:main();
main()
{
portinit(); //端口初始化
IdsInit(); //TMR0初始化
while(1)
{
disp();
key();
}
}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

單片機將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認識和了解,詳細內(nèi)容如下。

關(guān)鍵字: 單片機 中斷 boot

在嵌入式系統(tǒng)的開發(fā)中,中斷機制扮演著至關(guān)重要的角色。它允許系統(tǒng)在執(zhí)行正常程序流程時,響應(yīng)外部或內(nèi)部事件,從而確保系統(tǒng)能夠及時響應(yīng)并處理緊急事件。本文將深入探討嵌入式系統(tǒng)中中斷的概念、如何在系統(tǒng)中設(shè)置和處理多個中斷的優(yōu)先級...

關(guān)鍵字: 嵌入式系統(tǒng) 中斷

中斷機制在單片機及嵌入式系統(tǒng)中是重中之重,我們必須深入理解。首先我們要明白一點:CPU執(zhí)行指令代碼,并非一直順序地逐條執(zhí)行,而是可能突然跳到某段代碼上去的。因為這段代碼的優(yōu)先級更高,或者說它更加緊迫,CPU必須暫時放下手...

關(guān)鍵字: 中斷 單片機 嵌入式系統(tǒng)

PIC單片機是基于RISC系統(tǒng)結(jié)構(gòu)的單片機,最初的設(shè)計是支持PDP(編程數(shù)據(jù)處理器)計算機。大量的操作可以用來控制外圍設(shè)備。PIC單片機比微控制器具有更快的程序執(zhí)行能力。它是由微芯片技術(shù)公司于1889年發(fā)明的,是一種8位...

關(guān)鍵字: PIC單片機 定時器 中斷

STC單片機是一款增強型51單片機,完全兼容MCS-51,還增加了新的功能,比如新增兩級中斷優(yōu)先級,多一個外中斷,內(nèi)置EEPROM,硬件看門狗,具有掉電模式,512B內(nèi)存等。還支持ISP下載,不用編程器,只要一個MAX2...

關(guān)鍵字: 單片機 看門狗 中斷

什么是PIC中斷程序呢?形象的生活比喻就比如你現(xiàn)在這在看我的文章,突然你的朋友喊你一起去烤地瓜,這時候你就中斷了看文章和朋友烤地瓜去了,烤完地瓜之后你又回來看文章。烤地瓜這件事就好比中斷程序,他中斷了你看文章這件事。在程...

關(guān)鍵字: PIC 中斷 標志位

pic單片機應(yīng)用很多,生活中到處都有pic單片機的身影。小編個人也是從事pic單片機開發(fā)的人員之一,對于pic單片機有一定的理解。今天,小編將帶領(lǐng)大家一起看一下pic單片所具備的8大優(yōu)勢。

關(guān)鍵字: pic 單片機 寄存器

MCS—51系列單片機內(nèi)部只需兩個外部接中斷連源輸入端,當外部接連源多于兩個時,就必須進行拓寬,下面介紹幾種簡略的拓寬辦法:

關(guān)鍵字: 單片機 軟件 中斷

最近在瀏覽星球主題的時候,發(fā)現(xiàn)一位球友打卡中斷了,就去關(guān)心了一下他(瞧我這該死的責任心??),結(jié)果被他反手就問了下面這個問題。

關(guān)鍵字: 中斷 Spring Boot 實戰(zhàn)項目

實質(zhì)上是加一的計數(shù)器。外部脈沖讓他不斷加一,當計數(shù)器溢出時,計數(shù)器的溢出相應(yīng)的中斷標志位置1,并向CPU發(fā)出中斷請求。如果定時器/計數(shù)器工作為定時模式,則表示時間以到;如果工作于計數(shù)模式,則表示計數(shù)器、則表示計數(shù)值已滿。

關(guān)鍵字: 周期 中斷
關(guān)閉