#include <reg52.h>#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
uchar h;uint r=0;
uint s;
uchar code dis[]={
0Xc0,/*0*/
0Xf9,/*1*/
0Xa4,/*2*/
0Xb0,/*3*/
0X99,/*4*/
0X92,/*5*/
0X82,/*6*/
0Xf8,/*7*/
0X80,/*8*/
0X90,/*9*/
0Xff,/*NULL*/
};
void delay(uint c)
{
uint i,j;
for(i=0;i<c;i++)
for(j=0;j<100;j++);
}
//interrupt 1void t0(void) interrupt 0 using 1
{
delay(2);
if(INT0==0)
{
r++;
if(r==2)
{
r=0;
}
r%=2;
if(r==0)
{
P0=0xeb;
P1=0x00;
P2=0xff;
}while(1)
{
if(INT0==0|INT1==0|T0==0)
{
delay(2);
if(INT0==0|INT1==0|T0==0)
break;
}
};
}
}
//interrupt 2void t1(void) interrupt 2 using 1
{
delay(2);
if(INT1==0)
{
r++;
if(r==2)
{
r=0;
}
r%=2;
if(r==0)
{
P0=0xdd;
P1=0x00;
P2=0xff;
}while(1)
{
if(INT1==0|INT0==0|T0==0)
{
delay(2);
if(INT1==0|INT0==0|T0==0)
break;
}
};
}
}
//interrupt 3void t2(void) interrupt 1 using 1
{
TH0=0xff;
TL0=0xff;
delay(2);
if(T0==0)
{
P0=0xdb;
P1=0x00;
P2=0xff;
}while(1)
{
if(INT0==0|INT1==0)
{
delay(2);
if(INT0==0|INT1==0)
break;
}
};
}
void main(void){
TMOD=0x06;
TH0=0xff;
TL0=0xff;
TR0=1;
EA=1;
EX0=1;
EX1=1;
ET0=1;
while(1)
{
P0=0xeb; for(h=28;h>0;h--)
{
for(s=248;s>0;s--)
{
P1=0x00;
P2=0xff;
P1=0x01;
P2=dis[h/10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x02;
P2=dis[h%10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x04;
P2=dis[(h+2)/10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x08;
P2=dis[(h+2)%10];
delay(1);
}
}
delay(248);
P0=0xf3; for(h=3;h>0;h--)
{
delay(392);
P0=0xf3;
delay(1);
P1=0x00;
P2=0xff;
P1=0xaa;
P2=dis[(h-1)%10];
delay(600);
P0=0xfb;
}
delay(248);
P0=0xdd;
for(h=38;h>0;h--)
{
for(s=248;s>0;s--)
{
P1=0x00;
P2=0xff;
P1=0x01;
P2=dis[(h+2)/10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x02;
P2=dis[(h+2)%10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x04;
P2=dis[h/10];
delay(1);
P1=0x00;
P2=0xff;
P1=0x08;
P2=dis[h%10];
delay(1);
}
}
delay(248);
P0=0xde; for(h=3;h>0;h--)
{
delay(392);
P0=0xde;
delay(1);
P1=0x00;
P2=0xff;
P1=0xaa;
P2=dis[(h-1)%10];
delay(600);
P0=0xdf;
}
delay(248);
}
}
温馨提示:内容为网友见解,仅供参考
单片机大作业怎么这么难
单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是...
大学单片机作业,大神们帮忙做一下吧,实在不会
单片机书上都有差不多的 拿汇编编没准简单点 改下数据就差不多了
单片机作业:用一片6264(RAM 8k*8)扩展数据存储器,根据你的设计说出其...
如图所示:地址范围为:20000H~3FFFH(如果将CS接Vcc,地址可以为0000H~1FFFH)
急求单片机作业一题的答案,会单片机的高手快来
初始化程序可以是一样的,大概如下:UARTINIT:MOV TMOD,#20H CLR SMOD MOV TH1,#0E8H MOV TL1,#F0H SETB TR1 MOV SCON,#50H RET
单片机作业 编程 查表将累加器A中的0~9的二进制数转换成ASCII码_百度...
如下即可:INC A MOVC A, @A + PC RET DB '0123456789'END
单片机作业:编写程序将内部RAM20H-23H单元的高4位写1,低4位写0._百度...
ORG 0000H AJMP START ORG 0030H START:MOV R0,#20H MOV R7,#04H LOOP:MOV A, #F0H MOV @R0,A INC R0 DJNZ R7,LOOP END
单片机程序作业,用两种查表指令查3,4的立方值并送到外部RAM的50H和100...
1.MOV A, #3 CALL LF MOV R0, #50H MOVX @R0, A MOV A, #4 CALL LF MOV DPTR, #1000H MOVX @DPTR, A SJMP LF: ADD A, #1 MOVC A, @A + PC RET LFB:DB 0, 1, 8, 27, 64, 125, 216 END ;--- 2.MOV A, #3 MOV DPTR, #LFB MOVC A, @A +...
扶位作业是什么?
问的是“复位作业是什么吗?”是单片机的初始化操作。根据查询百度百科得知,复位操作是单片机的初始化操作。其功能主要是将程序计数器(PC)初始化为0000H, 使单片机从0000H 单元开始执行程序,并将特殊功能寄存器赋一些特定值表。复位是上电的第一个操作,然后程序从0000H 开始执行。在运行中,外界干扰...
我写了个单片机程序C++ 用定时器控制数码管显示数字 1秒数字减1 但是不...
把 if(aa==20){ aa=0;temp--;if(temp==0){ temp=345678;} 放到定时器0的中断中去,原因嘛!你自己慢慢想嘿嘿
江苏农牧科技职业学院农业工程学院有什么专业
江苏农牧科技职业学院的农业工程学院设有机电一体化技术、数控技术、农业装备应用技术、汽车检测与维修技术四个专业。 一、机电一体化技术 主修课程:主要开设《AutoCAD》、《单片机技术》、《电气控制与PLC》、《机械设计技术》、《传感器与检测技术》、《无人机技术》等专业课程。 培养目标:对接中国制造2025,培养掌握...