① 51單片機計數器如何使用,我想要一個簡單一點的程序
將定時器0或者1設置為計數器模式就可以了。舉例如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#06H
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB TR1
SETB ET1
SETB EA
SJMP $
T0ISR:
INC A
MOV P1,A
RETI
END
② 單片機計數器怎麼計數
有定時器和計數器模式的區別,所謂定時器,就是對機器內部頻率計數爛逗,可以做州歷態時鍾,如果為計數器模式,就是對P3.4,P3.5所接冊源受到得脈沖計數,可以設置低電平或者下降沿觸發……
③ 求解:怎麼在單片機中實現計數器
用74HC161設計一個四進制計數器,使用同步置數功能。當計數到最大數3時,用一個與非門74LS00,產生一個置數信號加到置數端LD即可。下圖是邏輯圖,也是模擬圖,是計數到最大數3時的截圖。你畫邏輯圖時,要省掉 那個數碼管,那是為了顯示模擬效果的。
④ c51單片機的定時器計數器怎麼用
//用定時器T0查詢方式P0口8位控制LED閃爍
#include
#define uchar unsigned char
#define uint unsigned int
/**************************************************************
函數功能:主函數
**************************************************************/
void main(void)
{
TMOD=0x01; //使用定時器T0的模式1
TH0=(65536-50000)/256; //定時器T0的高8位賦初值
TL0=(65536-50000)%256; //定時器T0的高8位賦初值
TR0=1; //啟動定時器T0
TF0=0; //溢出標志位 先清零
P0=0xff; //關閉LED燈
while(1)//無限循環等待查詢
{
while(TF0==1)
{
TF0=0;
P0=~P0;
TH0=(65536-50000)/256; //定時器T0的高8位賦初值否則會從0開始計數
TL0=(65536-50000)%256; //定時器T0的高8位賦初值
}
}
}
⑤ 單片機 計數器值 怎樣應用
這個畢業設計真是太簡單了,我告訴你個思路,其餘的你不明白的給我留言,就是把光信號轉化成電信號,計數就是通過中斷方式來計數的,當技術到100時候,控制一個引腳輸出控制燈的點亮,時間自己控制,用定時器最好。led顯示就更簡單了,將計數的值顯示出來,只要知道led的十個數字顯示段碼就可以了,應該用兩個數碼管查詢顯示,
注意:光信號轉換成電信號可能很微弱,你要通過一個放大器或三極體來實現。
⑥ 單片機定時器、計數器怎樣使用
工作方式0:13位方式由tl的低5位和th的8位構成13位計數器(tl1的高3位無效)。你說的例子應該是:
假設t=1111
1111
1100
1101
那麼th1=1111
1111
tl1=1100
1101
t=1111
1111
0
1101
(tl的高三位110無效去掉)
定時計數器按系統時鍾(c8051f)或系統時鍾的12分頻(8051)計數的時候是數數再跟你寫的t值比較,如果一樣了,看是不是要中斷或其它操作,不是t值進位,你理解有問題。
這種工作方式很少要,一般用方式一代替了。16進制好用。
⑦ 51單片機計數器怎麼使用
main()
{
//初始化哪搭巧
TMOD =0x15//定義計數器枝斗0,定時器1 。李鍵。計數T0(P3^4)IO口脈沖
TH0 =0;
TL0 =0;
ET0= 1;
EA=1;
TR0 =1;
while(1)
{
;
}
}
void timer0() interrupt 1
{
TH0=0;
TL0=0;
}
⑧ 單片機定時器 計數器的工作原理,及如何實現定時 計數功能
原理: 16位的定時器/計數器實質上就是一個加1計數器,其控制電路受軟體控制、切換。 當定時器/計數器為定時工作方式時,計數器的加1信號由振盪器的12分頻信號產生,即每過一個機器周期,計數器加1,直至計滿溢出為止。
顯然,定時器的定時時間與系統的振盪頻率有關。因一個機器周期等於12個振盪周期,所以計數頻率fcount=1/12osc。
兩個位元組最大數據為65536(十進制),或者0FFFFH(十六進制)
高位元組為TH0=(65536-X)/256,就是除以256後的整數部分;
低位元組為TL0=(65536-X)%256,減去高位元組後餘下的部分;
定時/計數器
定時/計數器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數器T0由TH0和TL0組成,T1由TH1和TL1組成。此外,其內部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負責控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數,同時包含定時/計數器的狀態。
以上內容參考:網路-定時器中斷
⑨ 單片機定時記數器有什麼作用怎麼作用
就是實現定擾悄時(類似於鬧鍾)和計數的功磨李森能啊,比如說,可以用這個來定時50毫秒,到了點就做什麼事,也瞎畝可以做成計數,就是數東西啊,這個要用的話就要寫初始控制字,你去弄本書看看吧,一般的書都有很詳細的說明的,嘻嘻~~
⑩ 單片機定時器計數器如何使用
使用12MHz晶振,其機器周期為1us
欲產生5000us周期方波,只需在p1.0以2500us時間交替輸出高低電平
1.T0為方式0,則M1M0=00H。使用定時功能,C/T=0,GATE=0。T1不用,其有關位設為0。因此,TMOD=00H
2.方式0為13長度計數(TL0高3位不使用),設計數初值為X,則(8192-X)*1us=2500us,得X=5692D。X=1011000111100B。因為TL0高3位不用,所以10110001-00011100B得TH0=B1H,TL0=1CH
3.由控制寄存器TCON的TR0位來控制定時的啟動和停止,TR0=1啟動,TR0=0停止
C語言程序如下(編譯器Keil C)
#include<REG51.H>
sbit FB=p1^0;
void initial(void)
{
TMOD=0x00;
TH0=0xb1;
TL0=0x1c;
IE=0x00;
TR0=1;
}
void main(void)
{
initial();
for(;;)
{
while(!TF0);
TF0=0;
FB=!FB;
}
}
匯編程序如下
ORG 0000H
AJMP START
ORG 30H
START: MOV P1.0,#0FFH
MOV TMOD,#00H
MOV TH0,#0B1H
MOV TL0,#1CH
SETB TR0
LOOP: JBC TF0,NEXT
LJMP LOOP
NEXT: CPL P1.0
MOV TH0,#0B1H
MOV TL0,#1CH
LJMP LOOP
END