一个简单的51单片机编程,求程序,谢谢!
#includereg51.h
#define uchar unsigned char;
uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f
uchar number;
sbit key1=P1^0;
sbit key2=P1^1;
uchar dat=0;
void t0isr() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
number++;
if(number1)number=0;
switch(number)
{
case 0:P2=0x02;P0=distab[dat/10];
break;
case 1:P2=0x01;P0=distab[dat%10];
break;
default:break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
dat++;
dat%=100;
}
if(key2==0)
{
if(dat0)dat--;
}
}
}
END
51单片机设计跑马灯的程序用(c语言)编写
|P1口接8个发光二极管共阳
#include AT89X51.H
unsigned char i;
unsigned char temp;
unsigned char a,b;
void delay(void)
{
unsigned char m,n,s;
for(m=20;m0;m--)
for(n=20;n0;n--)
for(s=248;s0;s--);
}
void main(void)
{
while(1)
{
temp=0xfe;
P1=temp;
delay();
for(i=1;i8;i++)
{
a=tempi;
b=temp(8-i);
P1=a|b;
delay();
}
for(i=1;i8;i++)
{
a=tempi;
b=temp(8-i);
P1=a|b;
delay();
}
}
}
扩展资料:
Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。
参考资料来源:百度百科-51单片机
51单片机,用汇编编程,,,新手跪求帮助,,,改程序,,,急。。。。。。。。。。。。
ORG 00H
LJMP START
ORG 30H
START:MOV R2,#12H
MOV A, #7FH
LOOP: RL A
INC A
MOV P1, A
LCALL DELAY
DJNZ R2,LOOP
MOV R2,#12H
LOOP1: ; 下面的程序就是让LED灯一盏接一盏的亮, 最后全亮
MOV R2,#8
MOV A,#0FFH
LOOP2:
RL A
CLR ACC.0
MOV P1, A
LCALL DELAY
DJNZ R2, LOOP2
LJMP START
用MCS-51单片机汇编语言实现下列的程序:
;1--片内RAM30H字节单元的存储内容传送到片内RAM20H字节单元
MOV 20H,30H
;2--片内RAM30H字节单元的存储内容传送到片外RAM2000H字节单元
MOV A,30H
MOV DPH,#20H
MOV DPL,#00H
MOVX @DPTR,A
;3--片外ROM30H字节单元的存储内容传送到片内RAM30H字节单元
MOV DPH,#00H
MOV DPL,#30H
CLR A
MOVC A,@A+DPTR
MOV 30H,A
;4--片外ROM3000H字节单元的存储内容传送到片外RAM2000H字节单元
MOV DPH,#30H
MOV DPL,#00H
CLR A
MOVC A,@A+DPTR
MOV DPH,#20H
MOV DPL,#00H
MOVX @DPTR,A
;5--片外ROM3000H字节单元的存储内容传送到片外ROM2000H字节单元
;这道题目是错误的,ROM不可修改,所以无法将任何数据传送到ROM里
;所以,“内容传送到片外ROM2000H字节单元”是无法实现的。
51单片机汇编语言编写一个跑马灯的程序,初学者做实验用,具体要求如下,好了可以加分
程序1:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
LOOP:
MOV A,P2
MOV B,A
MOV P0,A
MOV P1,#0FFH
LOOP1:
LCALL DELAY
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
MOV A,P2
CJNE A,B,LOOP
SJMP LOOP1
DELAY:
MOV R2,#60
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
END
程序2:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
JNB P2.0,LOOP1 ;
JNB P2.1,LOOP2 ;
SJMP MAIN
LOOP1:
MOV P0,#0FEH
MOV P1,#0FFH
LOOP11:
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
JNB P2.1,LOOP2
SJMP LOOP11
LOOP2:
MOV P0,#0FCH
MOV P1,#0FFH
LOOP21:
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
JNB P2.0,LOOP1
SJMP LOOP21
DELAY:
MOV R2,#60
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
END
0条大神的评论