课程设计 一个60秒定时器 给出电路图 详细点 好的加分
主体思路:用两片74160接成60进制计数器,将59作为进位输出端.
将CLK端接1Hz的时钟脉冲信号.
你看看行不行
单片机开发板定时器60秒怎么编程
#include
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x0F6;
TL0 = 0x3C;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
}
void Timer0Interrupt(void) interrupt 1
{
unsigned char num1,num2;
TH0 = 0x0F6;
TL0 = 0x3C;
num1++;
if(num1==200) //定时1s
{
num1=0;
num2++;
if(num2=60) //定时60秒
num2=0;
}
}
单片机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,可以参考用的
用单片机的定时器及中断设计一个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
winform c# 60秒计时器的程序
直接使用Timer控件 设置timer1.Interval=60000 //执行频率为60秒 private void timer_Tick(object sender, System.EventArgs e){ timer1.Enabled=false; //停止记时 //这里是执行语句 }
单片机定时器倒计时60秒程序中CJNE R2,#0FFH,LOOP1 是什么意思
就是到0 时再减就是#0FFH了 作用就是R2到0 ,返回到LOOP1,重新从60开始.
单片机六十秒倒计时程序
原发布者:寂寞的猪猪
60秒倒计时程序#include#defineucharunsignedchar#defineuintunsignedintuchartemp,bai,shi,ge,num;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uint);voidmain(){temp=60;num=0;P2=0x00;TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;while(1){shi=temp/10;ge=temp%10;P0=table[shi];P2=0x02;delay(5);P0=table[ge];P2=0x01;delay(5);}}voidT0_time()interrupt1{TH0=(65536-45872)/256;TL0=(65536-45872)%256;num++;if(num==40){num=0;temp–;if(temp==0){temp=60;}}}voiddelay(uintz){uintx,y;for(x=z;x>0;x–)for(y=110;y>0;y–);}
设计一个计数器类,引用计数器类实现60秒倒计时
你咋不用ne555设计一个呢
FLASH 60秒钟的倒计时代码
60秒倒计时,[可选最后10(9–0)秒带声音(你需要在flash同文件夹下放一个1.mp3声音文件,声音半秒即可);]展开全部
该flash1桢2个图层
图层1放脚本如下:
txt = 59;
var song0 = new Sound();
datas = new Date();
time = int(datas.getSeconds());
function djs() {
_root.onEnterFrame = function() {
datas = new Date();
newtime = int(datas.getSeconds());
if (newtime != time) {
txt–;
// if (txt=0) {
// song0.loadSound(“1.mp3”, true);
// txt2 = Math.floor(song0.duration/1000)+”sec”;
// }
if (txt txt = 59;
}
time = newtime;
}
};
}
图层2放一个动态文本,文本框50X50大小即可,变量名txt;
再放一个开始按钮,按钮下放脚本如下:
on(press){
djs()
}
把上面脚本中用//注释掉的4行放开即可最后10秒带声音
就这些,你试试吧!
用单片机实现60秒倒计时
ORG 0
SJMP STAR
ORG 1BH
SJMP TIS
ORG 30H
STAR:MOV R2,#60
MOV R4,#20
MOV IE,#88
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB TR1
MOV A,R2
MOV B,#10
DIV AB
ACALL SEG7
MOV P1,A
MOV A,B
ACALL SEG7
MOV P2,A
TIS:MOV TH1,#3CH
MOV TL1,#0B0H
DJNZ R4,TIS0
MOV R4,#20
DJNZ R2,TIS1
CLR TR1
SJMP TIS1
TIS0:RETI
TIS1:MOV A,R2
MOV B,#10
DIV AB
ACALL SEG7
MOV P1,A
MOV A,B
ACALL SEG7
MOV P2,A
RETI
SEG7:INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,08EH
END