單片機課程設計計時器
⑴ 單片機60秒計時器設計程序
ORG 0000H ;從地址0開始執行
JMP START ;跳轉到START處
orG 000BH ;TIMER0 的中斷向量
LJMP TIMER_0 ;跳轉到TIMER—0
START:
MOV P0, #0FFH ;
MOV P1, #0FFH ;
MOV P2, #0FFH ;
MOV P3, #0FFH ;
MOV R4 , #40 ;R4=40
MOV IE , #10000010B ;開中斷
MOV TMOD , #00000001B ;設定定時方式
MOV SP , #30H ;移開堆棧
MOV TH0, #75 ;設定定時初值
MOV TL0, #234 ;設定定時初值
NOP
NOP
MOV DPTR , #TABLE ;表首地址
MOV 50H, #0 ;50H=0
MOV 51H, #0 ;51H=0
MOV 52H, #0 ;52H=0
MOV 53H, #0 ;53H=0
NOP
NOP
SETB TR0 ;啟動T0
LOOP_1:
MOV A , 50H ;A=(R0)
MOVC A, @A+DPTR ;讀取數據
MOV P0,A ;把數據賦給P0口
CLR P2.7 ;打開位碼
CALL DELAY
SETB P2.7 ;關閉位碼
NOP
NOP
MOV A,51H ; A=(R1)
MOVC A,@A+DPTR ;讀取第二位7---SEGMENT----- LED的數據
MOV P0, A ;把讀取的數據送入P0口
NOP
NOP
CLR P2.6 ;打開第二個數碼管的位碼
CALL DELAY
SETB P2.6 ;關閉位碼
MOV A, 52H ;A=(R2)
MOVC A, @A+DPTR ; 讀取第三位7---SEGMENT----- LED的數據
MOV P0, A ;把讀取的數據送入P0口
NOP
NOP
CLR P2.5 ;打開第三位的位碼
CALL DELAY
SETB P2.5 ;關閉位碼
MOV A , 53H ;A=(R3)
MOVC A , @A+DPTR ; 讀取第四位7---SEGMENT----- LED的數據
MOV P0, A ;把讀取的數據送入P0口
CLR P2.4 ;打開第四位的位碼
CALL DELAY
SETB P2.4 ;關閉位碼
NOP
NOP
JMP LOOP_1 ;跳轉到LOOP-1
//*******************以下是TIMER0的中斷服務子程序***********************//
TIMER_0:
PUSH PSW ;
CLR TR0 ;
DJNZ R4, NEXT ;不夠一秒就繼續執行
MOV A,50H ;
CJNE A, #9, LOOP_2 ;所要顯示的數字是否達到9?若未達到,就跳轉到LOOP-2
MOV 50H,#0 ;(50H)=0
MOV A ,51H ;A=(50H)
CJNE A,#9,LOOP_4 ; 所要顯示的數字是否達到9?若未達到,就跳轉到LOOP-4
MOV 51,#0 ;(51H)=0
MOV A ,52H ;A=(52H)
CJNE A,#9,LOOP_5 ; 所要顯示的數字是否達到9?若未達到,就跳轉到LOOP-5
MOV 52H ,#0 ;(52H)=0
MOV A ,53H ;A=(53H)
CJNE A ,#9,LOOP_6 ; 所要顯示的數字是否達到9?若未達到,就跳轉到LOOP-6
MOV 53H,#0 ;(53H)=0
JMP LOOP_3 ;跳轉到LOOP--3
LOOP_2:
INC 50H ;50H的數據增加1
JMP LOOP_3 ;跳轉到LOOP--3
LOOP_4:
INC 51H ;51H的內容增加1
JMP LOOP_3 ;跳轉到LOOP--3
LOOP_5:
INC 52H ;52H的內容增加1
JMP LOOP_3 ;跳轉到LOOP--3
LOOP_6:
INC 53H ;53H的內容增加1
LOOP_3:
MOV R4, #40 ;R4=40
NEXT:
MOV TH0,#75 ;設定定時初值
MOV TL0,#234 ;設定定時初值
SETB TR0 ;啟動TIMER0
POP PSW ;
RETI ;返回
DELAY: ;100MS?????
MOV R7,#2
D1: MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
TABLE: DB 03FH,06H,5BH,4FH;
DB 66H,6DH,7DH,07H;
DB 7FH,6FH;
END; 這是以前做過的,硬體電路圖找不到了,仔細看一看引腳的I/O,可以參考用的
⑵ 要求:一 課程設計內容:設計一個單片機秒錶,該秒錶可顯示00.000到99.999秒的時間
#include<reg52.h>
#include<intrins.h>
void Delay1ms(); //@11.0592MHz
int ms=0;
int s=0;
void main()
{
while(1)
{
Delay1ms();//延時函數
ms++;
if(ms>=1000) //經過一千毫秒
{
ms=0; //讓一千毫秒的變數清零
s++; //秒變數加一
}//這里得到的就是數據,看你通過什麼顯示,然後將兩個數據填寫進去就行
}
}
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
剛剛給你寫的
⑶ 單片機課程設計秒錶
1. 可通過M鍵切換顯示模抄式:日期(年、襲月、日)、時間(小時、分、秒)、秒錶(小時、分、秒、1/100秒)、鬧鍾(小時、分、秒)。
2. 在日期顯示模式,可通過A鍵依次使年、月、日閃爍或變色,這時可通過I鍵加1調整。
3. 在時間顯示模式,可通過A鍵依次使小時、分、秒閃爍或變色,這時可通過I鍵加1調整。
4. 在秒錶顯示模式,可通過I鍵切換(啟動/暫停)計時,當暫停計時時可通過A鍵復位。
5. 在鬧鍾顯示模式,可通過A鍵依次使On/Off標志、小時、分、秒閃爍或變色,這時可通過I鍵切換On/Off標志或加1調整。
6. 調整和秒錶操作不影響日期和時間的准確性。
7. 可通過Q鍵結束程序。
⑷ 要求:一 課程設計內容:設計一個單片機秒錶,該秒錶可顯示00.00到99.99秒的時間,進行相應的單片機硬體電
首先明白有幾個模塊:1、51最小系統 2、定時器10ms中斷一次 3、數碼管顯示(建兩個數組版,一個權不帶小數的,一個帶小數的)3、按鍵掃描
就這幾個模塊,心裡有個數,具體自己寫吧
核心部分是定時器部分,我寫一個:
//Timer0
void Timer0_Init(void)
{
EA=1;
TMOD=0x01;
ET0=1;
TH0=(65535-10000)/256;
TL0=(65535-10000) %256; //賦初值,10ms中斷一次,即0.01秒
TR0=1;
}
void Timer0(void) interrupt 1
{
TH0=(65535-10000)/256;
TL0=(65535-10000) %256;
t++;
}
//主函數可以計t的值,10ms t自增1。 1秒t是多少,會算吧。
這些程序網上也可以找找,比較簡單。
希望對你有點幫助
⑸ 單片機課程設計:倒計時計時器,從99到0
單片機課程設計:倒計時計時器,從99到0這個是可以搞定的.
⑹ 誰有單片機課設籃球賽計時器程序
【二】籃球比賽計分器系列
[1]紅外無線遙控籃球比賽計分器
可定製實現的功能:
通過紅外遙控器進行設定比賽時間,可以實現開始、暫停、加減分、結束等功能,具有24S時間功能。
☆已作出的實物優酷視頻演示地址:
http://v.youku.com/v_show/id_XMTQxODI0NzU2OA==.html
[2]單片機籃球比賽計時器(按鍵版本)
可定製實現的功能:
簡單實現籃球比賽計時功能。
☆已作出的實物優酷視頻演示地址:
http://v.youku.com/v_show/id_XMTQwOTQ0MDEyMA==.html
[3]手機藍牙無線遙控籃球比賽記分牌
簡介:同紅外版本一樣,通過手機藍牙APP來實現無線遙控籃球比賽計分系統的設計。可以設定時間,遙控比賽開始,暫停,結束等,加減分等功能。
☆已作出的實物優酷視頻演示地址:
http://v.youku.com/v_show/id_XMTM4Njk5ODM2NA==.html
⑺ 單片機籃球比賽計時器課程設計 要求 24秒到計時,計兩隊得分
籃球比賽24秒倒計時器的設計
設計製作一個籃球競賽計時系統,具有進攻方24秒倒計時功能,具體設計要求如下:
1、具有顯示 24s 倒計時功能:用兩個共陰數碼管顯示,其計時間隔為1s。 2、設置啟暫停/繼續鍵,控制兩個計時器的計數,暫停/繼續計數功能。 3、設置復位鍵:按復位鍵可隨時返回初始狀態,即進攻方計時器返回到24s。 4、計時器遞減計數到「00」時,計時器跳回「24」停止工作,並給出聲音和發光提示,即蜂鳴器發出聲響和發光二極體發光 前言
電子課程設計是電子技術學習中非常重要的一個環節,是將理論知識和實踐能力相統一的一個環節,是真正鍛煉學生能力的一個環節。
在許多領域中計時器均得到普遍應用,諸如在體育比賽,定時報警器、游戲中的倒時器,交通信號燈、紅綠燈、行人燈、交通纖毫控制機,還可以用來做為各種葯丸、葯片,膠囊在指定時間提醒用葯等等,由此可見計時器在現代社會的應用是相當普遍的。
在籃球比賽中,規定了球員的持球時間不能超過24秒,否則就違例了。本課程設計「智能籃球比賽倒計時器的設計」,可用於籃球比賽中,用於對球員持球時間24秒限制。一旦球員的持球時間超過了24秒,它自動的報警從而判定此球員的違例。
本設計主要能完成:顯示24秒倒計時功能;系統設置外部操作開關,控制計時器的直接清零、啟動和暫停/連續功能;在直接清零時,數碼管顯示器滅燈;計時器為24秒遞減計時其計時間隔為1秒;計時器遞減計時到零時,數碼顯示器不滅燈,同時發出光電報警信號等。
1.1基本原理
24秒計時器的總體參考方案框圖如圖1所示。它包括秒脈沖發生器、計數器、解碼顯示電路、報警電路和輔助時序控制電路(簡稱控制電路)等五個模塊組成。其中計數器和控制電路是系統的主要模塊。計數器完成24秒計時功能,而控制電路完成計數器的直接清零、啟動計數、暫停/連續計數、解碼顯示電路的顯示與滅燈、定時時間到報警等功能。