这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 关于AT89C2051程序?

共4条 1/1 1 跳转至

关于AT89C2051程序?

助工
2007-10-13 12:06:35     打赏
关于AT89C2051程序 用AT89C2051,输出口为P1.0\P1.1\P1.2(由低到高),写一段程序,能够在三个口输出000-111



关键词: 关于     AT89C2051     程序    

助工
2007-10-15 19:00:38     打赏
2楼

这还用求么


高工
2007-10-16 18:55:12     打赏
3楼

参考程序如下:


;p1.2/p1.1/p1.0顺序输出000,001......110,111
;间隔延时0.1s
                 ORG       0
RESET:     LJMP     MAIN
                 ORG       0030H
MAIN:      MOV      R0,#7FH
                 CLR        A
CH1:         MOV      @R0,A
                 DJNZ      R0,CH1         ;复位清零
START:    CLR        A
LOOP:      MOV      P1,A
                 ACALL   DELA01       ;延时0.1s
                 INC         A
                 CJNE      A,#8,LOOP
                 AJMP      START          ;循环重开始,若只显示1次用SJMP  $待机
;延时0.1s(设晶振12MHz)
DELA01:    MOV     R5,#200
DELA05:    MOV     R6,#250         ;延时0.5ms
DELAY:     DJNZ     R6,DELAY
                   DJNZ R5,DELA05
                   RET
;
                   END


高工
2007-10-16 18:56:01     打赏
4楼

#include "reg52.h"


void delay(unsigned int t)
{
 while(t--);
 while(t--);
}

 

void main()
{
 unsigned char dats,couter;
 while(1)
 {
  couter="0x07";
  dats="0x00";
  while(couter--)
  {
   P1=dats;
   delay(10000);            //延时时间
   dats++;
  }
 }
}


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]