一、 实验简介:
本程序通过对端口的置数操作,展示了数码管的应用技术,数码管是将发光二极管通过一定的形式封装在一个数字的外壳中,可以通过不同的点亮方式来显不同的数字符号。
二、 实验原理图:
三、 实现代码:
//============================================================= //
// 开发日期: 2009/01/26 //
// 修改日期: //
// 程序作者: guojun //
// 程序备注: 此程序仅为表现本机功能而演示用,当用作实际工程时请慎用. //
// 特别声明: 此程序可作研究之用,但引用,转载,使用请注明出处. //
//============================================================== //
#include <AT89x51.h> //包含头文件
typedef unsigned int uint; //重命名整数类型关键字
typedef unsigned char uchar; //重命名字符类型关键字
uchar code LedShowData[]={0x9F,0x25,0x0D,0x99,0x49, //定义固定存储显示字符
0x41,0x1F,0x01,0x19,0x03}; //1,2,3,4,5,6,7,8,9,0
void Delay() //定义延时函数
{
uint TempTime="20000"; //定义延时时间变量
while(TempTime--); //通过循环进行延时
}
void main() //主程序开始main()
{uchar CountData="0"; //定义计数变量
while(1) //主程序无限循环开始
{
P2=LedShowData[CountData]; //P2端口读入显示数据
CountData++; //计数变量++(加加)
if(CountData>=10) //判断是否超出计数范围
{
CountData="0"; //重新置零
}
Delay(); //延时函数被调用
}
}
四、 运行效果:
程序运行效果为:程序下载后,数码管将从1-9依次显示,最后将显示数字0.
文章评论(0条评论)
登录后参与讨论