導航:首頁 > 操作系統 > 單片機flagt1

單片機flagt1

發布時間:2024-09-21 19:02:44

A. 單片機C語言編程

數碼管顯示程序放在18b20的那個定時器或電機的那個定時器么
像下面的程序一樣,數碼管顯示,已經該時間時相應的數碼管閃爍都用了同一個定時器
要是C51系列的單片機你程序發來看能不能給你整合下我郵箱[email protected]

void timer0(void)interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
temp++;
if(key.index1)//被選擇的時間閃爍
{
shan++;
if(shan==30) flag&=~(1<<(key.index1+1));
if(shan==60){flag=flag|(1<<(key.index1+1));shan=0;}
}
if(temp==10)
{
temp=0;
tmiao++;
if(press)tmiao--;
if(tmiao==10)
{
tmiao=0;
miao++;
if(miao==60)
{
fen++;miao=0;
if(fen==60)
{
shi++;fen=0;
if(shi==100)shi=0;
}
}
}
}
P3=tmiao;
switch(tt)
{
case 0:if(flag_miao){dis_shuma(5,miao%10);}tt=1;break;
case 1:if(flag_miao){dis_shuma(4,miao/10);}tt=2;break;
case 2:if(flag_fen){dis_shuma(3,fen%10);}tt=3;break;
case 3:if(flag_fen){dis_shuma(2,fen/10);}tt=4;break;
case 4:if(flag_shi){dis_shuma(1,shi%10);}tt=5;break;
case 5:if(flag_shi){dis_shuma(0,shi/10);}tt=0;break;
default:break;
}
}

B. 單片機縮寫的英文全稱及中文名稱

單片機縮寫的英文全稱是Microcontrollers,中文名稱就是單片機。

單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。

單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——「智能型」,如智能型洗衣機等。

(2)單片機flagt1擴展閱讀:

單片機的單機應用的范圍:

1、測控系統。 用單片機可以構成各種不太復雜的工業控制系統、自適應控制系統、數據採集系統等, 達到測量與控制的目的。

2、智能儀表。 用單片機改造原有的測量、控制儀表, 促進儀表向數字化、智能化、多功能化、綜合化、柔性化方向發展。

3、機電一體化產品。單片機與傳統的機械產品相結合, 使傳統機械產品結構簡化, 控制智能化。

4、智能介面。 在計算機控制系統, 特別是在較大型的工業測、控系統中, 用單片機進行介面的控制與管理, 加之單片機與主機的並行工作, 大大提高了系統的運行速度。

5、智能民用產品。 如在家用電器、玩具、游戲機、聲像設備、電子秤、收銀機、辦公設備、廚房設備等許多產品中, 單片機控制器的引入, 不僅使產品的功能大大增強, 性能得到提高, 而且獲得了良好的使用效果。

C. 單片機頻率計

1.實驗任務

利用51單片機的T0、T1的定時計數器功能,來完成對輸入的信號進行頻率計數,計數的頻率結果通過8位動態數碼管顯示出來。要求能夠對0-250KHZ的信號頻率進行准確計數,計數誤差不超過±1HZ。

2.電路原理圖

見插圖

3.程序設計內容

(1).定時/計數器T0和T1的工作方式設置,由圖可知,T0是工作在計數狀態下,對輸入的頻率信號進行計數,但對工作在計數狀態下的T0,最大計數值為fOSC/24,由於fOSC=12MHz,因此:T0的最大計數頻率為250KHz。對於頻率的概念就是在一秒只數脈沖的個數,即為頻率值。所以T1工作在定時狀態下,每定時1秒中到,就停止T0的計數,而從T0的計數單元中讀取計數的數值,然後進行數據處理。送到數碼管顯示出來。

(2).T1工作在定時狀態下,最大定時時間為65ms,達不到1秒的定時,所以採用定時50ms,共定時20次,即可完成1秒的定時功能。

4.C語言源程序

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

*定時器+計數器測頻

*

*file:frequency.c

*name:zhzhchang

*time:2010.3.17

*V1.0

*blog:http://blog.csdn.net/zhzht19861011

*Nots:本程序定義6個數碼管,經過實測,在200HZ~50KHZ時結果較准確,誤差小於0.4%,

*50KHZ以上頻率未進行測量.據資料表明,可以測量到120KHZ,本程序未證明.

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

#include<reg52.h>

bitint_flag;//定時器01S到標志位

unsignedcharvolatileint_count;//定時器0中斷次數

unsignedcharvolatileT1count;//定時器1中斷次數

unsignedcharcodedofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示段碼值0123456789

unsignedlongsum;//1S內脈沖總個數

unsignedcharled[6];//LED顯示緩存

///////////////軟體延時/////////////

voiddelay(unsignedintcnt)

{

while(--cnt);

}

///定時器0初始化

voidinit_t0(void)

{

TMOD=(TMOD&0xF0)||0x01;//定時器0工作於方式1

TH0=(65536-50000)/256;//定時50ms

TL0=(65535-50000)%256;

}

//定時器1初始化

voidinit_t1(void)

{

TMOD=(TMOD&0x0F)|0x50;//timer1forcount

TH1=0x00;

TL1=0x00;

}

//顯示

voiddisp(void)

{

unsignedchari;

for(i=0;i<6;i++)

{

P0=dofly[(led[i])];//取顯示數據

P2=5-i;//取段碼

delay(100);//掃描間隙延時,根據單片機調整,延時1ms即可

}

}

///////////////////////////////////////////////////////

voidmain(void)

{

EA=1;//開總中斷

init_t0();//初始化定時器

init_t1();

TR0=1;//定時器開始工作

TR1=1;

ET0=1;//開T0中斷

while(1)

{

if(int_flag==1)

{

int_flag=0;

sum=TL1+TH1*256+T1count*65536;//計算1秒內的脈沖個數

//以下將數據格式化,轉成LED可顯示的BCD碼

led[0]=sum%10;//最低位

sum=sum/10;

led[1]=sum%10;//第二位

sum=sum/10;

led[2]=sum%10;

sum=sum/10;

led[3]=sum%10;

sum=sum/10;

led[4]=sum%10;

led[5]=sum/10;

int_count=0x00;

T1count=0;

TH1=0x00;

TL1=0x00;

TR1=1;

}

disp();

}

}

//定時器0中斷服務程序

voidint_t0(void)interrupt1

{

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

int_count++;

if(int_count==20)

{

TR1=0;

int_flag=1;

int_count=0x00;

}

}

//定時器1中斷服務程序

voidint_t1(void)interrupt3

{

T1count++;

}

別說你的設計要求用匯編啊!!!

不過既然是課程設計,我這個只是給你參考,你自己一定要弄懂,變成自己的。我實測過,程序沒問題,但用到你的硬體上可能需要改一下,因為你的硬體數碼管不一定和我的硬體接法一樣,但整體思路我都給你了。

閱讀全文

與單片機flagt1相關的資料

熱點內容
中小學計演算法則 瀏覽:83
無職轉生哪個app能看 瀏覽:578
夏夢迪在哪個app 瀏覽:105
c編譯軟體cl 瀏覽:933
逗比的程序員頭像 瀏覽:984
單片機原理作業答案 瀏覽:230
文件夾的東西怎麼能轉成文檔 瀏覽:968
linux下解壓iso 瀏覽:463
android常見解析度 瀏覽:386
文件解壓怎麼變成ps 瀏覽:177
python教程django編程 瀏覽:263
程序員放飛自己 瀏覽:395
基建伺服器有什麼用 瀏覽:354
php表單防注入 瀏覽:91
什麼叫e筋加密鎖 瀏覽:712
世界無敵簡單的折紙解壓球 瀏覽:943
安卓開服光遇什麼季節 瀏覽:565
破解的系統怎麼用銀行app 瀏覽:265
java三層架構mvc 瀏覽:880
徐州編程教育加盟 瀏覽:899