首页 > 资讯 > 经验 > 60秒计时器,课程设计 一个60秒定时器 给出电路图 详细点 好的加分

60秒计时器,课程设计 一个60秒定时器 给出电路图 详细点 好的加分

来源:整理 时间:2024-09-23 02:28:52 编辑:智能门户 手机版

1,课程设计 一个60秒定时器 给出电路图 详细点 好的加分

主体思路:用两片74160接成60进制计数器,将59作为进位输出端。 将CLK端接1Hz的时钟脉冲信号。 你看看行不行

课程设计 一个60秒定时器 给出电路图 详细点 好的加分

2,电子计时器工作原理

例如石英钟,电子表,由石英晶体振荡器产生中频或高频时钟信号,由计数器分频,逻辑电路显示, 逻辑门对被测信号进行时间阀门控制,换算出频率,或周期,或被测时间长度。 本科评估检查

电子计时器工作原理

3,基于单片机控制的60秒倒计时实现

#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]; }

基于单片机控制的60秒倒计时实现

4,用单片机汇编语言编写60秒计时器

;数码管段选接P1口,位选接P2.0和P2.1, ;采用定时器T1定时10ms,60H为1s计数单元,计数100次为1s ORG 0000H ;程序从0地址开始 LJMP MAIN ;跳到MAIN处执行 ORG 001BH ;定时器T1 LJMP TIME1 ORG 0030H MAIN:MOV TMOD,#01H ;设置T1工作在模式1 MOV TH1,#068H ;赋初值,定时10ms MOV TL1,#0F0H MOV IE,#88H ;开CPU中断,开定时器1中断 SETB TR1 ;启动T1定时器工作 MOV 60H,#100 ;给60H单元赋初值 CLR 4FH ;清零4FH单元 DISPLAY: ;显示子程序 MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,R3 ;将R3的内容复制到A MOV B,#10 DIV AB ;A除B,商给A,余数给B MOVC A,@A+DPTR ;根据A的值取出编码表中的编码 MOV P1,A ;由P1口输出A的内容 SETB P2.0 ;置位P2.0 CLR P2.0 ;清零P2.0 MOV A,B MOVC A,@A+DPTR ;根据A的值取出编码表中的编码 MOV P1,A ;由P1口输出A的内容 SETB P2.1 ;置位P2.1 CLR P2.1 ;清零P2.1 JNB 4FH,DISPLAY ;判断1秒时间是否到,没有到,则跳转到DIAPLAY处 CLR 4FH ;1秒到,清4FH LJMP DISPLAY ;调用显示子程序 TIME1:MOV TH1,#068H ;赋初值 MOV TL1,#0F0H DJNZ 60H,TT ;60H单元自减1,判断是否为0,不为0则跳转到TT处 MOV 60H,#100 ;60H单元为0,则重新给其赋值100 SETB 4FH ;同时置位4FH单元 INC R3 ;R3自加1 CJNE R3,#60,TT ;判断R3是否为60,否则跳转TT处 MOV R3,#0 ;R3为60,则给R3赋0 TT:RETI TAB: ;编码表 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;编码 END ;程序结束

5,用单片机的定时器及中断设计一个60秒的定时器

;数码管段选接P1口,位选接P2.0和P2.1,;采用定时器T1定时10ms,60H为1s计数单元,计数100次为1s ORG 0000H ;程序从0地址开始 LJMP MAIN ;跳到MAIN处执行 ORG 001BH ;定时器T1 LJMP TIME1 ORG 0030HMAIN:MOV TMOD,#01H ;设置T1工作在模式1 MOV TH1,#068H ;赋初值,定时10ms MOV TL1,#0F0H
th0 =(-5000)/256;tl0 = (-5000)%256;这样就会每5000个机器周期进入一次中断,然后在中断时再重新赋初值,并将一个全静态变量加一,当加到200时,清零。这样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: ; 共阴极数码管显示代码表 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;//计中断次数void main(void)TMOD=0X01;ET0=1;EA=1;TH0=(65536-50000)/256;//定时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,单片机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 ;设定定时初值NOPNOPMOV DPTR , #TABLE ;表首地址MOV 50H, #0 ;50H=0MOV 51H, #0 ;51H=0MOV 52H, #0 ;52H=0MOV 53H, #0 ;53H=0NOPNOPSETB TR0 ;启动T0LOOP_1:MOV A , 50H ;A=(R0)MOVC A, @A+DPTR ;读取数据MOV P0,A ;把数据赋给P0口CLR P2.7 ;打开位码CALL DELAYSETB P2.7 ;关闭位码NOPNOPMOV A,51H ; A=(R1)MOVC A,@A+DPTR ;读取第二位7---SEGMENT----- LED的数据MOV P0, A ;把读取的数据送入P0口NOPNOPCLR P2.6 ;打开第二个数码管的位码CALL DELAYSETB P2.6 ;关闭位码MOV A, 52H ;A=(R2)MOVC A, @A+DPTR ; 读取第三位7---SEGMENT----- LED的数据MOV P0, A ;把读取的数据送入P0口NOPNOPCLR P2.5 ;打开第三位的位码CALL DELAYSETB P2.5 ;关闭位码MOV A , 53H ;A=(R3)MOVC A , @A+DPTR ; 读取第四位7---SEGMENT----- LED的数据MOV P0, A ;把读取的数据送入P0口CLR P2.4 ;打开第四位的位码CALL DELAYSETB P2.4 ;关闭位码NOPNOPJMP LOOP_1 ;跳转到LOOP-1//*******************以下是TIMER0的中断服务子程序***********************//TIMER_0:PUSH PSW ;CLR TR0 ;DJNZ R4, NEXT ;不够一秒就继续执行MOV A,50H ;CJNE A, #9, LOOP_2 ;所要显示的数字是否达到9?若未达到,就跳转到LOOP-2MOV 50H,#0 ;(50H)=0MOV A ,51H ;A=(50H)CJNE A,#9,LOOP_4 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-4MOV 51,#0 ;(51H)=0MOV A ,52H ;A=(52H)CJNE A,#9,LOOP_5 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-5MOV 52H ,#0 ;(52H)=0MOV A ,53H ;A=(53H)CJNE A ,#9,LOOP_6 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-6MOV 53H,#0 ;(53H)=0JMP LOOP_3 ;跳转到LOOP--3LOOP_2:INC 50H ;50H的数据增加1JMP LOOP_3 ;跳转到LOOP--3LOOP_4:INC 51H ;51H的内容增加1JMP LOOP_3 ;跳转到LOOP--3LOOP_5:INC 52H ;52H的内容增加1JMP LOOP_3 ;跳转到LOOP--3LOOP_6:INC 53H ;53H的内容增加1LOOP_3:MOV R4, #40 ;R4=40NEXT: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,可以参考用的
#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秒计时器课程60秒计时器课程设计一个60秒定时器给出电路图详细点好的加分

最近更新

  • 现金贷大数据库接入,财务数据库现金贷大数据库接入,财务数据库

    怎么查询网贷大数据?网贷大数据要怎么查询?央行征信和网贷大数据基本不关联,申请网贷的话,主要以大数据、平台风控为主,而申请银行贷款和那些接入有央行征信系统的贷款机构、平台的贷款.....

    经验 日期:2024-09-22

  • tf卡速度,求高手这TF卡的传输速率是多少啊有图tf卡速度,求高手这TF卡的传输速率是多少啊有图

    求高手这TF卡的传输速率是多少啊有图4.6mb/s2,32Gtf卡的写入速度是多大我的怎么是2MB多偶买的是金士顿的你的不是高速卡所以速度慢我的写入速度是8M/s3,TF卡的速度帮着看看吧用不着测,商.....

    经验 日期:2024-09-22

  • 苹果二代耳机,苹果Airpods2代耳机与魔浪mifo O5哪款更好用苹果二代耳机,苹果Airpods2代耳机与魔浪mifo O5哪款更好用

    苹果Airpods2代耳机与魔浪mifoO5哪款更好用苹果知名度摆在那,市场肯定比魔浪mifo大,但是我个人会更喜欢魔浪mifoO5,性价比高,他们都夸这款耳机轻巧、便于携带,还非常好看。虽然我很聪明,但这.....

    经验 日期:2024-09-22

  • 复杂问题,超难最难的脑筋急转弯复杂问题,超难最难的脑筋急转弯

    超难最难的脑筋急转弯1+1=哪有什么最难的呀,只是自己不会感觉难而已1:贝多芬给了学生什么样的启示?【答案:背了课本就会多得分(背多分)】2:一座桥上面立有一牌,牌上写“不准过桥”。但是很多人.....

    经验 日期:2024-09-22

  • 富锶,什么是富锶水富锶,什么是富锶水

    什么是富锶水含锶元素多的水。太极集团的太极水就属于饮用类天然富锶水。2,什么是天然富锶水天然富锶水,就是天然水中锶含量超过0.2mgL的水,比如,太极水,它的锶含量高达0.3-0.7mgL,所以被专.....

    经验 日期:2024-09-22

  • 苹果健康 sync solver数据重复苹果健康 sync solver数据重复

    或者苹果健康1苹果要将Fitbit数据同步到苹果健康application,只需要购买一个1.99美元的名为SYNC的应用。买一个1.99美元的名为SyncSolver的app,相关数据包括步数、距离、睡眠分析、卡路.....

    经验 日期:2024-09-22

  • cb12,一文读懂!关于反渗透饮水机的五个问题cb12,一文读懂!关于反渗透饮水机的五个问题

    28A1002Cpatch1,00A41821patch1,四季沐歌品牌ycz-1cb12-M01R反渗透净水器。你想描述什么?20172f34,a06110c8pack1,0patch1,apack1,20173ba4,3c0205F6//团队精神消耗0pack1。1、静夜无缘CS生化.....

    经验 日期:2024-09-22

  • 成都航空学院电气自动化,成都比较好的航空专业学校有哪些?成都航空学院电气自动化,成都比较好的航空专业学校有哪些?

    成都航校推荐中国民航飞行学院、四川航天职业技术学院、成都航空技术学院、成都东星航空旅游学院、四川西南航空职业学院、成都西乡航空学院、成都航空旅游职业学校。2022年成都有哪些.....

    经验 日期:2024-09-22

759