原创
单个数码管显示程序——开发板程序
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;
}
}
文章评论(0条评论)
登录后参与讨论