标题: 求个最简单的89C52单片机程序,求大神帮忙 [打印本页]

作者: since_love    时间: 2015-6-19 16:23
标题: 求个最简单的89C52单片机程序,求大神帮忙
我的要求很简单,就是按一下按键,然后从输出一个间隔0.1秒的高低高低高低的脉冲,求大神帮忙写个程序
谢谢,邮箱76967857@qq.com

作者: lgjdqm    时间: 2015-6-19 16:58
#include<reg52.h>
void delay1ms(unsigned int i)
{

        unsigned char j;
         while(i--)
         {
         for(j=0;j<115;j++)          //1ms基准延时程序
         {
          ;
         }
         }  
}
void main()
{
unsigned char k=20,c=5,b=6,a=3,t;
unsigned char tabb[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
        while(a--)
        {
                while(k--)
                {
               
                        P0=0x00;
                        P1=0x00;
                        delay1ms(500);
                }
                while(c--)
                {
                        P0=0xff;
                        P1=0xff;
                        delay1ms(500);
                        P0=0x00;
                        P1=0x00;
                        delay1ms(500);
                        P0=0xff;
                        P1=0xff;
                 }
                 while(b--)
                 {
                     for(t=0;t<8;t++)
                        {
                                P0=tabb[7-t];
                                delay1ms(200);
                        }
                        P0=0xff;
                        for (t=0;t<8;t++)
                        {
                                P1=tabb[t];
                                delay1ms(200);
                        }
                        P1=0xff;
                }
                k=20,c=5,b=6,a=3;                       
        }
}


作者: since_love    时间: 2015-6-19 17:03
lgjdqm 发表于 2015-6-19 16:58
#include
void delay1ms(unsigned int i)
{

谢谢大神,晶振是11.952M的,请问开关定义的哪一脚,接通是高电平还是低电平,输出是哪一脚,谢谢。
作者: 2243889766    时间: 2015-6-20 14:26
要准确延时  还是要用定时器  不然都准
作者: pang_2018    时间: 2015-6-20 14:59
准确延时,在定时器中断中控制某脚的高低电平输出
作者: lgjdqm    时间: 2015-6-21 10:27
最好定义P0以外的端口




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1