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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]可預(yù)置的8位計(jì)數(shù)器程序的主要部分分析#include //器件配置文件#define uchar unsigned char //變量類型的宏定義#define uint unsigned intuchar code SEG7[10]={0x03,0x9f,0x25,0x0d,0x99, //0~9的數(shù)碼管段碼0x49,0x

可預(yù)置的8位計(jì)數(shù)器程序的主要部分分析

#include //器件配置文件

#define uchar unsigned char //變量類型的宏定義

#define uint unsigned int

uchar code SEG7[10]={0x03,0x9f,0x25,0x0d,0x99, //0~9的數(shù)碼管段碼

0x49,0x41,0x1f,0x01,0x09};

uchar data cnt[8]; //在data區(qū)定義8位長度的數(shù)組,用來存放計(jì)數(shù)值

uchar data pre_cnt[8]; //在data區(qū)定義8位長度的數(shù)組,用來存放預(yù)置值

sbit drv=P3^4; //定義輸出驅(qū)動端

bit set_flag; //定義工作標(biāo)志

bit out_flag; //定義輸出標(biāo)志

bit keydown_flag; //鍵按下標(biāo)志

/****************************************************************/

void scan_key(void) //掃描S1~S8鍵子程序開始

{uchar i,m=0x01; //定義兩個字符型局部變量,并賦值0x01給m

P3_6=0;P3_7=1; //禁止發(fā)送給顯示器,消隱有效

for(i=0;i<8;i++) //循環(huán)8次

{

SBUF=255-m;while(!TI);TI=0; //依次發(fā)送數(shù)據(jù)使IC2的輸出從右至左的列線為0

if(!P3_5)pre_cnt++; //若檢測到P3.5為0,說明某列線送出0時與連接

//該列線的按鍵被按下,數(shù)組中對應(yīng)的存放單元加1

m<<=1; //m的取值使從右向左的下一條列線為0

} //掃描S1~S8鍵子程序結(jié)束

//----------------------------------------------------------------------------------------

for(i=0;i<8;i++) //循環(huán)8次

{if(pre_cnt>9)pre_cnt=0;} //對數(shù)組中的8個單元進(jìn)行調(diào)整,其范圍為0~9

}

/*************************************************************/

void dis_cnter(void) //顯示計(jì)數(shù)器值子程序開始

{uchar i; //定義字符型局部變量i

P3_7=1;P3_6=1; //消隱有效,允許顯示

for(i=0;i<8;i++) //循環(huán)8次

{SBUF=SEG7[cnt];while(!TI);TI=0;} //根據(jù)8個單元的計(jì)數(shù)值查表發(fā)送顯示

P3_7=0; //關(guān)閉消隱,正常顯示

} //顯示計(jì)數(shù)器值子程序結(jié)束

/****************************************************************/

void cnter(void) //計(jì)數(shù)轉(zhuǎn)換子程序開始

{uchar i; //定義字符型局部變量i

for(i=0;i<7;i++) //循環(huán)8次

{if(cnt>9){cnt=0;cnt[i+1]++;}}//若計(jì)數(shù)器某位值大于9,則該位回0,

//而高位被進(jìn)位加1

//------------------------------------

if(cnt[7]>9){for(i=0;i<8;i++)cnt=0;}// 若計(jì)數(shù)器最高位值大于9,則計(jì)數(shù)器全清0

} //計(jì)數(shù)轉(zhuǎn)換子程序結(jié)束

/******************************************************************/

void pt_cnt(void) //輸出控制子程序開始

{

if((cnt[0]==pre_cnt[0])&&(cnt[1]==pre_cnt[1])&&

(cnt[2]==pre_cnt[2])&&(cnt[3]==pre_cnt[3])&&

(cnt[4]==pre_cnt[4])&&(cnt[5]==pre_cnt[5])&&

(cnt[6]==pre_cnt[6])&&(cnt[7]==pre_cnt[7])) //若計(jì)數(shù)值等于預(yù)置值

out_flag=1; //輸出標(biāo)志置1

else out_flag=0; //否則輸出標(biāo)志置0

//=================================================

if(out_flag)drv=0; //若輸出標(biāo)志為1,輸出端(P3.4)置0,驅(qū)動光耦U2

else drv=1; //否則輸出端(P3.4)置1

} //輸出控制子程序結(jié)束

/**********************************************************/

void main(void) //主程序開始

{ IE=0x84; //開放CPU中斷,開放外中斷1的中斷

IT1=1; //置外中斷1為邊沿觸發(fā)

while(1) //無限循環(huán)

{P3_6=0;P3_7=1; //禁止發(fā)送給顯示器,消隱有效

SBUF=0x00;while(!TI);TI=0; //向IC2發(fā)送0x00,使IC2輸出為全0

if((P3&0x24)!=0x24)keydown_flag=1; //檢測P3.2、P3.5是否為高電平。

//若不為高電平,說明有鍵按下,鍵被按下標(biāo)志置1

else keydown_flag=0; //否則,鍵被按下標(biāo)志置0

//-------------------------------------------------------------------------------

SBUF=0xfe;while(!TI);TI=0; //向IC2發(fā)送0xfe

if(!P3_2)set_flag=!set_flag; //若P3.2為0,說明S9鍵按下,標(biāo)志set_flag取反

//==================================================

if(!set_flag){cnter();dis_cnter();pt_cnt();delay(100);}

//若標(biāo)志set_flag為0,調(diào)用計(jì)數(shù)、顯示計(jì)數(shù)、輸出控制的子程序

else {scan_key();dis_pre_cnter();delay(10);}

否則標(biāo)志set_flag為1,調(diào)用掃描S1~S8鍵、顯示預(yù)置值的子程序

//=====================================================

if(keydown_flag)delay(300); //因有鍵按下,調(diào)用延時300mS子程序,

//以免調(diào)整鍵值的速度過快

}

} //主程序結(jié)束

/***************************************************************/

void extern_int1(void) interrupt 2 using 1 //外中斷1服務(wù)子程序

{

cnt[0]++; //計(jì)數(shù)器的最低位加1

}

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

上海2025年7月27日 /美通社/ -- 在2025世界人工智能大會(WAIC)期間,全球領(lǐng)先消費(fèi)品企業(yè)聯(lián)合利華首次以企業(yè)展商身份亮相,并深度參與多個AI主題論壇和行業(yè)對話,展示了其在人工智能領(lǐng)域的戰(zhàn)略思考與實(shí)踐布局。...

關(guān)鍵字: AI FOR SCIENCE 人工智能

完全無人化 —— 定義未來金標(biāo)標(biāo)準(zhǔn)的100%自動化診斷系統(tǒng) CURECA? 將于7月28日至31日在芝加哥首次亮相。 實(shí)現(xiàn)全球診斷數(shù)據(jù)的統(tǒng) —— 設(shè)立大數(shù)據(jù)平臺 S...

關(guān)鍵字: GEN 自動化 無人值守 SE

-創(chuàng)新邂逅包容,2025年EdHeroes全球論壇探索以人為本的教育技術(shù)未來 列支敦士登特里森2025年7月22日 /美通社/ -- 隨著創(chuàng)新加速、科技重新定義現(xiàn)代生活的方方面面, 2025年EdHeroes全球論壇(...

關(guān)鍵字: 人工智能 FOR GLOBAL 數(shù)字化

廈門 2025年7月3日 /美通社/ -- 廈門市華師希平雙語學(xué)校在三年辦學(xué)歷程中取得積極進(jìn)展,教育教學(xué)工作呈現(xiàn)良好態(tài)勢。 教育教學(xué)穩(wěn)步推進(jìn) 中考表現(xiàn):2024年首屆中考總均分在全市表現(xiàn)良好;2025屆地...

關(guān)鍵字: BSP 人工智能 AI SE

Holtek推出新一代無刷直流電機(jī) (BLDC) 控制專用單片機(jī) HT32F65233。采用 Arm? Cortex?-M0+ 低功耗內(nèi)核, 具備 2.5 V~5.5 V 寬電壓操作。系統(tǒng)電壓為 5 V 時,可獲得更高的...

關(guān)鍵字: BLDC單片機(jī) 電機(jī)驅(qū)動 計(jì)數(shù)器

上海 2025年6月20日 /美通社/ -- 6月18日至20日,2025世界移動通信大會?上海(MWCS 2025)在上海盛大開幕,全球目光再次聚焦這場通信領(lǐng)域的年度盛會...

關(guān)鍵字: AI 5G WORLD FOR

會議議題將涵蓋 ?AI 驅(qū)動的工程設(shè)計(jì)、智能制造以及基于 ?HPC 和 AI 相結(jié)合的智能擴(kuò)展 上海 2025年6月19日 /美通社/ -- 全球計(jì)算智能領(lǐng)域科技公司Altair將于?2025 年 6 月...

關(guān)鍵字: ENGINEERS FOR TC AIR

與英偉達(dá)的技術(shù)合作致力加速生產(chǎn)制造的數(shù)字化轉(zhuǎn)型 舍弗勒全球工廠將通過AI解決方案的應(yīng)用加速制造工藝的革新,并提升產(chǎn)品質(zhì)量 舍弗勒憑借數(shù)十年在制造領(lǐng)域的技術(shù)積累,推動工業(yè)元宇宙持續(xù)發(fā)展 巴黎和赫...

關(guān)鍵字: 數(shù)字化 英偉達(dá) SE NI

巴黎和首爾 2025年6月12日 /美通社/ -- 全球AI內(nèi)容創(chuàng)作先鋒SKAI Intelligence今日宣布,將于2025年巴黎VivaTech科技盛會正式發(fā)布全球首個完全基于NVIDIA Omniverse構(gòu)建...

關(guān)鍵字: AI NVIDIA SE RS

上海 2025年5月28日 /美通社/ -- 2024年12月15日,DEKRA德凱溫州低壓實(shí)驗(yàn)室正式通過沙特電力公司(SEC)的全面評估,成功入選其認(rèn)可的獨(dú)立測試實(shí)驗(yàn)室名...

關(guān)鍵字: 電力 SE 低壓電器 電力系統(tǒng)
關(guān)閉