原创 单个数码管显示程序——开发板程序

2008-5-31 16:50 2290 8 8 分类: 模拟

单个数码管显示程序——开发板程序之一


/*
***************************************************************************
*
*     (C) Copyright 2007,单片机初学者园地
*                          All Rights reserved.
*
*项目名称:    51单片机学习开发系统
*               
*本文件名称:sigle-led.c
*      
* 完成作者 : 单片机初学者——mcu_51  
* 当前版本 : V1.0        
* 完成日期 : 2007年6月1日
* 描    述 :      此程序专门为刚刚开始接触单片机的学习者设计的,
*             主要是帮助其学会单片机是怎么调试的,如何自己编写的程
*             序,从课本的迷团中走出来。
*                本程序结构简单、合理,有帮助于初学者养成良好的编
*             程风格。
****************************************************************************
*/


#include <reg52.h>   //调用头文件(单片机内部的寄存器定义)
/******本段为硬件I/O口定义********/
sbit  LED0   = P0 ^ 0;
sbit  LED1   = P0 ^ 1;
sbit  LED2   = P0 ^ 2;
sbit  LED3   = P0 ^ 3;
sbit  DIG0   = P0 ^ 4;  //数码管位0
sbit  DIG1   = P0 ^ 5;  //数码管位1
sbit  BUZZ   = P3 ^ 4;  //蜂鸣器
//数码管显示0~9 ,共阴极
code unsigned  char DispBuf[10]= {0x3f,0x06,0x5b,0x4f,0x66,
          0x6d,0x7d,0x07,0x7f,0x6f};
/**************************************************
** 函数名称: dellay
** 入口参数:h(双字节型)
** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS
****************************************************/

void dellay(unsigned int  h)
{
  while(h--);    //0.01MS
}

/************主程序**************/
main()
{
unsigned  char  i=0;
     
DIG0=0;            //选择数码管0
while(1)     //单片机在此反复执行
  {
  dellay(60000);   //延时约600MS
P1=DispBuf[i++];  //显示
if(i>9)
   i=0;   
  }   
}
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条