用MCS51单片机的汇编语言编写倒计时程序

有一个课程设计,其中遇到一个困难。我们想设计一个交通灯的,想用LED来显示绿灯或者红灯亮的时间,例如,红灯亮60秒,旁边用数码管显示倒计时,从60到0.请教倒计时的程序如何编写,是用在MCS51的单片机中的~~
请你写出详细的程序呢???

第1个回答  2008-08-26
用定时器延时,到一秒便将显示的值减1,轮询或者中断都可以。

答:坚决不给程序,这么简单的还不自己写。
第2个回答  2008-08-29
。。。。。。。。。。。。。。。
倒的和正的有虾米区别

做1秒的时间常数来检测被 变1秒就减1
#include <reg52.h>
#include <STDIO.H>
#include <CTYPE.H>
#include <STRING.H>
#include <INTRINS.H>
uchar tm0;

t0chushi(void)
{
EA=0;
TR0=0;
TR1=0;
TMOD=0x51;
TL0=0x00;
TH0=0x4C;
TL1=0x00;
TH1=0x00;
ET0=1;
ET1=0;
TR0=1;
TR1=1;
EA=1;
}
static void timer0(void) interrupt 1 using 1
{
TR0=0;
TL0=0x00;
TH0=0x4c;
TR0=1;
tm0+=1;
}
main
{
t0chushi();
while(1)
{
if(tm0>=20)
{
tm0-=20;
//........这里写自减和显示
}

//........这里写其他内容

}
}

51单片机C语言设置一个精确到毫秒的倒计时
51单片机 12MHz 汇编:DELAY: ;误差 0us MOV R7,#13H DL1:MOV R6,#14H DL0:MOV R5,#82H DJNZ R5,DJNZ R6,DL0 DJNZ R7,DL1 RET C:void delay(void) \/\/误差 0us { unsigned char a,b,c;for(c=19;c>0;c--)for(b=20;b>0;b--)for(a=130;a>0;a--);}。

求C51单片机汇编语言控制两位数码管倒计时程序,最好能说明下思路_百度...
MOVR0,#20 ;20次为1S MOV R4,#60 ;60S开始倒计时 SETBEA SETBET0 SETB TR0 MOV DPTR,#TABLE MAIN1:ACALLDISP AJMPMAIN1 DISP:MOV A,R4 MOV B,#10 DIV AB ;当前值除以10 MOV 20H,A ;得出的商送给十位 MOV 21H,B ;得出的余数送给个位 MOV A,20H ;...

怎样用51单片机实现累加计时和倒计时,并用六个共阴极数码管显示出来。用...
P1.4--P1.7:单片机的P1口,和反光二极管L1--L4相连,通过单片机的P1.4--P1.7控制,用以显示秒表和时钟的时间变化。(3)功能简介LED显示模块与单片机的连接中,对LED显示模块的读写和字位、字段通道的选择是通过单片机的P2.6、P2.7口完成。其中,P2.6、P2.7口的片选信号需要和读写信号做一定的逻辑操作,以保证字位和...

51单片机做9999秒倒计时怎么原理图怎么做啊还要程序
include<reg51.h>#include "intrins.h"#include "absacc.h"#define uchar unsigned charuchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};\/\/0-9unsigned char sec=0,dat=0,scanled;unsigned char key=0,mode,time; unsigned char disdat[4];v...

求C51单片机汇编语言控制两位数码管倒计时程序,从60秒到30秒再到90秒...
AJMP JP1DEC1: DEC A MOV R4,AJP1: ACALL DISP AJMP LP0这样写对吗? 更多追问 wgq930wy | 发布于2013-03-09 举报| 评论(1) 1 0 为您推荐: 七段数码管 51单片机时钟汇编语言 汇编语言中断程序 单片机数码管显示程序 单片机数码管动态显示 单片机编程 汇编语言用数码管 数码管引脚图 数码...

急求51单片机倒计时三十秒程序
START:MOV R0,#30 MOV DPTR,#TABLE LOOP: LCALL DISPLAY EDC R0 CJNE R0,#100,LOOP DISPLAY: MOV A,R0 MOV B,#10 DIV AB MOV R1,A MOV R2,B MOV R3,#50 LOOP1: MOV A,R2 LCALL CHANGE CLR P3.1 LCALL DELAY SETB P3.1 MOV A,...

如何用C51单片机做出以下程序 “秒表是倒计时,从100秒开始倒计时 用数...
void main(void )\/\/主程序 { TMOD=0X01;ET0=1;EA=1;TH0=(65536-50000)\/256;\/\/定时50ms TL0=(65536-50000)%256;TR0=1;while(1){ P0=table[num\/10];Delay1ms(2);P2=table[num%10];Delay1ms(2);} } void TIMER0()interrupt 1\/\/中断程序 { TH0=(65536-50000)\/256;TL0=(65536...

高手帮忙51c单片机——想制作倒计时报警器,求个c程序
刚写的程序,可以通过S0(功能键),S1(加键),S2(减键)设定初值,倒数为00-00-00时蜂鸣器响,通过八位LED显示;include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};\/\/八位位选...

求51单片机24秒倒计时器程序设计
void delay(void);void delay1(void);void main (){ unsigned char i,k;P0=0x00;P2=0x00;delay();P0=0xFF;P2=0xFF;delay();i=0;k=0;while(1){ for(k=0;k<55;k++){ P0=DT[i\/10];COM1=1;COM2=0;delay();P0=DT[i%10];COM1=0;COM2=1;delay();} i++;if(i>24)i...

51单片机 数码管实现九秒倒计时的程序
主程序可以这样写:a=9;while(a>0){ P0=table[a];delayms(1000);a--;}

相似回答