找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

这个数模转换程序为什么后两位数码管比第一位要暗很多

[复制链接]
admin 发表于 2012-9-2 10:37:34 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

//定义数码管
uchar code LEDData[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
sbit OE = P1^0;
sbit EOC = P1^1;
sbit ST = P1^2;
sbit CLK = P1^3;
//延时子程序
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);

}
//显示转换结果
void Display_Result(uchar d)
{
P2=0xfe;
P0=LEDData[d%10];
DelayMS(5);
P2=0xfd;
P0=LEDData[d%100/10];
DelayMS(5);
P2=0xfb;
P0=LEDData[d/100];
DelayMS(5);
}
//主程序
void main()
{
TMOD=0x02;TH0=0x14;TL0=0x00;IE=0x82;TR0=1;
P1=0x3f; //选择通道三

while(1)
{
ST=0;ST=1;ST=0;
while(EOC==0);
OE=1;
Display_Result(P3);
OE=0;

}
}
//定时器中断为0809提供时钟信号
void Timer0_INT() interrupt 1
{
CLK=!CLK;
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-28 11:01 , Processed in 0.049080 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表