强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 資訊 > 經(jīng)驗(yàn) > 60秒計(jì)時(shí)器,課程設(shè)計(jì) 一個(gè)60秒定時(shí)器 給出電路圖 詳細(xì)點(diǎn) 好的加分

60秒計(jì)時(shí)器,課程設(shè)計(jì) 一個(gè)60秒定時(shí)器 給出電路圖 詳細(xì)點(diǎn) 好的加分

來源:整理 時(shí)間:2024-09-23 02:28:52 編輯:智能門戶 手機(jī)版

1,課程設(shè)計(jì) 一個(gè)60秒定時(shí)器 給出電路圖 詳細(xì)點(diǎn) 好的加分

主體思路:用兩片74160接成60進(jìn)制計(jì)數(shù)器,將59作為進(jìn)位輸出端。 將CLK端接1Hz的時(shí)鐘脈沖信號。 你看看行不行

課程設(shè)計(jì) 一個(gè)60秒定時(shí)器 給出電路圖 詳細(xì)點(diǎn) 好的加分

2,電子計(jì)時(shí)器工作原理

例如石英鐘,電子表,由石英晶體振蕩器產(chǎn)生中頻或高頻時(shí)鐘信號,由計(jì)數(shù)器分頻,邏輯電路顯示, 邏輯門對被測信號進(jìn)行時(shí)間閥門控制,換算出頻率,或周期,或被測時(shí)間長度。 本科評估檢查

電子計(jì)時(shí)器工作原理

3,基于單片機(jī)控制的60秒倒計(jì)時(shí)實(shí)現(xiàn)

#include<reg52.h> unsigned char code table[]= 0x82,0xf8,0x80,0x90}; unsigned char second=0,minite=6; void main() EA=1; ET1=1; TMOD=0x10; TH1=(65536-50000)/256; TL1=(65536-50000)%256; TR1=1; while(1) ; } void time1() interrupt 3 using 1 unsigned char num; TH1=(65536-50000)/256; TL1=(65536-50000)%256; num++; if(num==20) num=0; if(second==0) second=10; minite--; if(minite==0) minite=6; } second--; } P0=table[minite]; P2=table[second]; }

基于單片機(jī)控制的60秒倒計(jì)時(shí)實(shí)現(xiàn)

4,用單片機(jī)匯編語言編寫60秒計(jì)時(shí)器

;數(shù)碼管段選接P1口,位選接P2.0和P2.1, ;采用定時(shí)器T1定時(shí)10ms,60H為1s計(jì)數(shù)單元,計(jì)數(shù)100次為1s ORG 0000H ;程序從0地址開始 LJMP MAIN ;跳到MAIN處執(zhí)行 ORG 001BH ;定時(shí)器T1 LJMP TIME1 ORG 0030H MAIN:MOV TMOD,#01H ;設(shè)置T1工作在模式1 MOV TH1,#068H ;賦初值,定時(shí)10ms MOV TL1,#0F0H MOV IE,#88H ;開CPU中斷,開定時(shí)器1中斷 SETB TR1 ;啟動(dòng)T1定時(shí)器工作 MOV 60H,#100 ;給60H單元賦初值 CLR 4FH ;清零4FH單元 DISPLAY: ;顯示子程序 MOV DPTR,#TAB ;DPTR指向編碼表位置 MOV A,R3 ;將R3的內(nèi)容復(fù)制到A MOV B,#10 DIV AB ;A除B,商給A,余數(shù)給B MOVC A,@A+DPTR ;根據(jù)A的值取出編碼表中的編碼 MOV P1,A ;由P1口輸出A的內(nèi)容 SETB P2.0 ;置位P2.0 CLR P2.0 ;清零P2.0 MOV A,B MOVC A,@A+DPTR ;根據(jù)A的值取出編碼表中的編碼 MOV P1,A ;由P1口輸出A的內(nèi)容 SETB P2.1 ;置位P2.1 CLR P2.1 ;清零P2.1 JNB 4FH,DISPLAY ;判斷1秒時(shí)間是否到,沒有到,則跳轉(zhuǎn)到DIAPLAY處 CLR 4FH ;1秒到,清4FH LJMP DISPLAY ;調(diào)用顯示子程序 TIME1:MOV TH1,#068H ;賦初值 MOV TL1,#0F0H DJNZ 60H,TT ;60H單元自減1,判斷是否為0,不為0則跳轉(zhuǎn)到TT處 MOV 60H,#100 ;60H單元為0,則重新給其賦值100 SETB 4FH ;同時(shí)置位4FH單元 INC R3 ;R3自加1 CJNE R3,#60,TT ;判斷R3是否為60,否則跳轉(zhuǎn)TT處 MOV R3,#0 ;R3為60,則給R3賦0 TT:RETI TAB: ;編碼表 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;編碼 END ;程序結(jié)束

5,用單片機(jī)的定時(shí)器及中斷設(shè)計(jì)一個(gè)60秒的定時(shí)器

;數(shù)碼管段選接P1口,位選接P2.0和P2.1,;采用定時(shí)器T1定時(shí)10ms,60H為1s計(jì)數(shù)單元,計(jì)數(shù)100次為1s ORG 0000H ;程序從0地址開始 LJMP MAIN ;跳到MAIN處執(zhí)行 ORG 001BH ;定時(shí)器T1 LJMP TIME1 ORG 0030HMAIN:MOV TMOD,#01H ;設(shè)置T1工作在模式1 MOV TH1,#068H ;賦初值,定時(shí)10ms MOV TL1,#0F0H
th0 =(-5000)/256;tl0 = (-5000)%256;這樣就會每5000個(gè)機(jī)器周期進(jìn)入一次中斷,然后在中斷時(shí)再重新賦初值,并將一個(gè)全靜態(tài)變量加一,當(dāng)加到200時(shí),清零。這樣5000*200*1us = 1s
ORG 0000H JMP BEGIN ORG 000BH LJMP T0INT ORG 001BH LJMP T1INTLEDD EQU 30HLEDC EQU 36HSECC EQU 37HTCNT EQU 3AH ORG 0030H;---------------------------------------TABLE: ; 共陰極數(shù)碼管顯示代碼表 DB 0FCH ;"0" 00H DB 60H ;"1" 01H DB 0DAH ;"2" 02H DB 0F2H ;"3" 03H DB 66H ;"4" 04H DB 0B6H ;"5" 05H DB 0BEH ;"6" 06H DB 0E0H ;"7" 07H DB 0FEH ;"8" 08H DB 0F6H ;"9" 09H DB 0EEH ;"A" 0AH DB 3EH ;"B" 0BH DB 9CH ;"C" 0CH DB 7AH ;"D" 0DH DB 9EH ;"E" 0EH DB 8EH ;"F" 0FH DB 00H ;" " 10H; DB 3FH,06H,5BH,4FH,66H ;12345; DB 6DH,7DH,07H,7FH, ;6789;---------------------------------------DELAY: MOV R6,#25DLY01: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY01 RET;---------------------------------------BEGIN: MOV SP,#5FH MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0F4H MOV TL1,#48H MOV LEDC,#0 MOV R0,#LEDD CLR AINIT: MOV @R0,A INC R0 DJNZ LEDC,INIT SETB ET1 SETB TR1 MOV P2,#0 MOV TCNT,#0 MOV SECC,#0 SETB ET0 SETB EA MOV SECC,#60 LCALL DISSEC SETB TR0 SETB TR1LOOP: SJMP $;---------------------------------------T1INT: PUSH ACC CLR TR1 MOV TH1,#0F4H MOV TL1,#48H SETB TR1 MOV DPTR,#TABLE MOV R0,#LEDD MOV A,LEDCT1INT0: JNZ T1INT1 MOV P2,#01H MOV A,@R0 MOVC A,@A+DPTR CPL A MOV P0,A SJMP T1INTDT1INT1: MOV P2,#02H INC R0 MOV A,@R0 MOVC A,@A+DPTR CPL A MOV P0,AT1INTD: INC LEDC MOV A,LEDC CJNE A,#2,T1INT6T1INT6: JC T1INTE MOV LEDC,#0T1INTE: POP ACC RETI;---------------------------------------HBCD: MOV B,#10 DIV AB SWAP A ORL A,B RET ;---------------------------------------T0INT: PUSH ACC CLR TR0 MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 INC TCNT MOV A,TCNT CJNE A,#20,T0INT1T0INT1: JC T0INTE MOV TCNT,#0 MOV A,SECC DEC A MOV SECC,A JNZ T0INT2 MOV SECC,#60T0INT2: LCALL DISSECT0INTE: POP ACC RETI;---------------------------------------DISSEC: MOV A,SECC LCALL HBCD PUSH ACC ANL A,#0FH MOV 30H,A POP ACC SWAP A ANL A,#0FH MOV 31H,A RET;--------------------------------------- END
uint a;//計(jì)中斷次數(shù)void main(void)TMOD=0X01;ET0=1;EA=1;TH0=(65536-50000)/256;//定時(shí)50msTL0=(65536-50000)%256;a=0;TR0=1;while(1)if(aa==1200) //1200*50ms=60Saa=0; ........其它語句}........其它語句}}中斷程序如下:void timer0()interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;a++;}

6,單片機(jī)60秒計(jì)時(shí)器設(shè)計(jì)程序

ORG 0000H ;從地址0開始執(zhí)行JMP START ;跳轉(zhuǎn)到START處orG 000BH ;TIMER0 的中斷向量LJMP TIMER_0 ;跳轉(zhuǎn)到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 ;設(shè)定定時(shí)方式MOV SP , #30H ;移開堆棧MOV TH0, #75 ;設(shè)定定時(shí)初值MOV TL0, #234 ;設(shè)定定時(shí)初值NOPNOPMOV DPTR , #TABLE ;表首地址MOV 50H, #0 ;50H=0MOV 51H, #0 ;51H=0MOV 52H, #0 ;52H=0MOV 53H, #0 ;53H=0NOPNOPSETB TR0 ;啟動(dòng)T0LOOP_1:MOV A , 50H ;A=(R0)MOVC A, @A+DPTR ;讀取數(shù)據(jù)MOV P0,A ;把數(shù)據(jù)賦給P0口CLR P2.7 ;打開位碼CALL DELAYSETB P2.7 ;關(guān)閉位碼NOPNOPMOV A,51H ; A=(R1)MOVC A,@A+DPTR ;讀取第二位7---SEGMENT----- LED的數(shù)據(jù)MOV P0, A ;把讀取的數(shù)據(jù)送入P0口NOPNOPCLR P2.6 ;打開第二個(gè)數(shù)碼管的位碼CALL DELAYSETB P2.6 ;關(guān)閉位碼MOV A, 52H ;A=(R2)MOVC A, @A+DPTR ; 讀取第三位7---SEGMENT----- LED的數(shù)據(jù)MOV P0, A ;把讀取的數(shù)據(jù)送入P0口NOPNOPCLR P2.5 ;打開第三位的位碼CALL DELAYSETB P2.5 ;關(guān)閉位碼MOV A , 53H ;A=(R3)MOVC A , @A+DPTR ; 讀取第四位7---SEGMENT----- LED的數(shù)據(jù)MOV P0, A ;把讀取的數(shù)據(jù)送入P0口CLR P2.4 ;打開第四位的位碼CALL DELAYSETB P2.4 ;關(guān)閉位碼NOPNOPJMP LOOP_1 ;跳轉(zhuǎn)到LOOP-1//*******************以下是TIMER0的中斷服務(wù)子程序***********************//TIMER_0:PUSH PSW ;CLR TR0 ;DJNZ R4, NEXT ;不夠一秒就繼續(xù)執(zhí)行MOV A,50H ;CJNE A, #9, LOOP_2 ;所要顯示的數(shù)字是否達(dá)到9?若未達(dá)到,就跳轉(zhuǎn)到LOOP-2MOV 50H,#0 ;(50H)=0MOV A ,51H ;A=(50H)CJNE A,#9,LOOP_4 ; 所要顯示的數(shù)字是否達(dá)到9?若未達(dá)到,就跳轉(zhuǎn)到LOOP-4MOV 51,#0 ;(51H)=0MOV A ,52H ;A=(52H)CJNE A,#9,LOOP_5 ; 所要顯示的數(shù)字是否達(dá)到9?若未達(dá)到,就跳轉(zhuǎn)到LOOP-5MOV 52H ,#0 ;(52H)=0MOV A ,53H ;A=(53H)CJNE A ,#9,LOOP_6 ; 所要顯示的數(shù)字是否達(dá)到9?若未達(dá)到,就跳轉(zhuǎn)到LOOP-6MOV 53H,#0 ;(53H)=0JMP LOOP_3 ;跳轉(zhuǎn)到LOOP--3LOOP_2:INC 50H ;50H的數(shù)據(jù)增加1JMP LOOP_3 ;跳轉(zhuǎn)到LOOP--3LOOP_4:INC 51H ;51H的內(nèi)容增加1JMP LOOP_3 ;跳轉(zhuǎn)到LOOP--3LOOP_5:INC 52H ;52H的內(nèi)容增加1JMP LOOP_3 ;跳轉(zhuǎn)到LOOP--3LOOP_6:INC 53H ;53H的內(nèi)容增加1LOOP_3:MOV R4, #40 ;R4=40NEXT:MOV TH0,#75 ;設(shè)定定時(shí)初值MOV TL0,#234 ;設(shè)定定時(shí)初值SETB TR0 ;啟動(dòng)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; 這是以前做過的,硬件電路圖找不到了,仔細(xì)看一看引腳的I/O,可以參考用的
#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar temp,aa,qian,bai,shi,ge;sbit ww=P3^0;sbit ee=P3^5;sbit qq=P3^7;uchar code table[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void miaobiao(uchar bai,uchar shi,uchar ge);void delay(uint z);void init();void main() init();//初始化子程序 qian=0; bai=0; shi=0; ge=0; while(1) if(ee==0)//zhanting EA=0; ee=1; } if(EA==0) if(ww==0)//kaishi EA=1; }if(qq==0) qian=0; bai=0; shi=0; ge=0;} if(aa==20) ge++; aa=0; if(ge==10) shi++; ge=0; if(shi==6) bai++; shi=0; ge=0; if(bai==10) qian++; bai=0; shi=0; ge=0; if(qian==6) qian=0; bai=0; shi=0; ge=0; } } } }} P0=table[qian]; P2=0xfd; delay(1); P2=0xff; miaobiao(bai,shi,ge); }}void delay(uint z) uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}void miaobiao(uchar bai,uchar shi,uchar ge) P0=table[bai]; P2=0xfb; delay(1); P2=0xff; P0=0x40; P2=0xf7; delay(1); P2=0xff; P0=table[shi]; P2=0xef; delay(1); P2=0xff; P0=table[ge]; P2=0xdf; delay(1); P2=0xff;}void init() temp=0; TMOD=0x01; TH0=(65536-45000)/256; TL0=(65536-45000)%256; EA=1; ET0=1; TR0=1; }void timer0() interrupt 1 TH0=(65536-45000)/256; TL0=(65536-45000)%256; aa++; }
文章TAG:60秒計(jì)時(shí)器課程60秒計(jì)時(shí)器課程設(shè)計(jì)一個(gè)60秒定時(shí)器給出電路圖詳細(xì)點(diǎn)好的加分

最近更新