微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 从0开始学习51单片机第二集之流水灯

从0开始学习51单片机第二集之流水灯

时间:10-02 整理:3721RD 点击:
   首先,我在这里谢谢大家鼓励我!今天我写了一个流水灯程序,开始也是不太顺利,弄了好一阵子。希望大家看看我写的程序,帮忙指出程序中不规范的地方,我一定会加以改正!
/*******程序名称:八个LED灯左移流水显示*******/
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led_port P0    /*定义显示端口*/
/*****1MS延时程序****/?
void delay(uchar x)
{
   uchar j;
  while(x--)
  { for(j=0;j<125;j++)
   {;}
  }
}
/*****主程序****/
void main()
{
uchar led_data;  /*定义显示寄存器*/
uchar i;   
while(1)
{
  led_data=0xfe; /*初始化显示寄存器*/
  led_port=led_data;`/*将数据输出到LED端口*/
  delay(500);     /*延时*/
  for(i=0;i<8;i++) /*做8次左移的循环*/
   {
    led_data=(led_data<<1)+1;/* 数据左移一位并+1*/
    led_port=led_data;
    delay(500);   
   }
  led_port=0xff;/*全部关闭*/
  delay(500);
}
}

这个程序调试过吗?

第一集在哪?要看!

我调试过了,在学习板上调试过,一开始不成功,因有以下两个错误:1、将#define led_port=P0了!2、将for(i=0;i<8;i--);后来我反复看了挻久的才发现到问题。改正后终于可以啦!

不错的程序,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top