led数码管显示程序

麻烦用C语言写出具体程序是基于MSP430单片机的。不好意思,因为是帮别人问的,楼下的那个是符合上述条件的吗?... 麻烦用C语言写出具体程序
是基于MSP430单片机的。
不好意思,因为是帮别人问的,楼下的那个是符合上述条件的吗?
展开
 我来答
cdc19860820
2009-05-18 · TA获得超过110个赞
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
#include"at89x51.h"
#define uchar unsigned char
#define uint unsigned int
/************************* 全局变量定义部分 **************************/
//硬件设计接口不同,要修改下一行
uchar code acLEDCS[]={0x7f,0xbf,0xdf,0xed}; /* 位选地址码,“0”有效,位选接的是P2口高4位 */
uchar code acLedSegCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};/* 段码 */
uchar acLED[4]; /* 显示缓冲区 */
char cScanIndex; /* 位选指针0~3 */
uint t=0;
/************************* 数码管显示函数 ***************************/
void Display(void)
{
// 添加要显示的数据(变量)
acLED[3]=acLedSegCode[t/1000]; /* LED显示第1位 */
acLED[2]=acLedSegCode[t%1000/100]; /* LED显示第2位 */
acLED[1]=acLedSegCode[t%100/10]; /* LED显示第3位 */
acLED[0]=acLedSegCode[t%10]; /* LED显示第4位 */
}

/************************** 主函数 *****************************/
void main(void)
{
/**************** 定时器初始化 *******************/
TMOD= 0x02; /* 定义定时器0工作于方式2(8位自动重装) */
TH0 = -200; /* 8位自动重装定时器约每100uS中断1次,9216次为1秒 */
TL0 = -200;
TR0 = 1;
ET0 = 1;
EA = 1; /* 开总中断 */

while(1)
{
Display();
}
}
void IntT0(void) interrupt 1 /* 定时器0中断,完成1秒定时和LED延时 */
{
t++;
if(t==10000)
t=0;
P0 = 0; /* 先清显示再换位选 */
P2 = acLEDCS[cScanIndex]; /* 送位选数据 */
P0 = acLED[cScanIndex++]; /* 送显示数据,位选指针移位 */
cScanIndex &= 3; /* 位选指针回位 */
}
奥蕾达
2024-11-14 广告
如果说原理的话,液晶是起到一个开关的作用。好比水龙头控制水量,液晶控制着光的通过量。 1 A:透明的不是液晶,而是整个显示系统。液晶显示器中的液晶显示系统在未浮花第拘郢饺电邪钉矛通电时是透明的(而且是Normaly White模式的)。 2... 点击进入详情页
本回答由奥蕾达提供
kings19850815
2009-05-20 · TA获得超过122个赞
知道答主
回答量:87
采纳率:100%
帮助的人:0
展开全部
不知道你朋友的硬件数码管是用什么驱动的,共阴还是共阳的,最好有硬件图,说的太含糊,没法帮忙啊?我有用74164驱动的程序,要是用,给我个邮箱,我发给你吧!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式