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

数码管显示时间求助!!!

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

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

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

×
一下是我板子的硬件原理图:











我的目的是想显示固定的时间!一下是代码,P2口控制位选,P0控制段选!
timer.c:
#include<reg52.h>
#include"diy.h"
#include"timer.h"
code uint8 Smg_wei[8]={0,1,2,3,4,5,6,7};
code uint8 Smg_duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
uint8 Sbuffer[8]={0};

void Display(uint8 *buffer)
{ static uint8 num=0;
if(Smg_dis_flag==1)
{
Smg_dis_flag=0;
if(buffer[num]=='-')
{
P2=0;
P0=Smg_duan[16];
P2=Smg_wei[num];

}
else
{
P2=0;
P0=Smg_duan[buffer[num++]];
P2=Smg_wei[num];
}
if(num>7)
{
num=0;

}
}
timer.h
#ifndef _TIMER_H_
#define _TIMER_H_
extern void init();
extern bit Smg_dis_flag;
#endif

smg_dis.c
#include<reg52.h>
#include"diy.h"
#include"timer.h"
code uint8 Smg_wei[8]={0,1,2,3,4,5,6,7};
code uint8 Smg_duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
uint8 Sbuffer[8]={0};

void Display(uint8 *buffer)
{ static uint8 num=0;
if(Smg_dis_flag==1)
{
Smg_dis_flag=0;
if(buffer[num]=='-')
{
P2=0;
P0=Smg_duan[16];
P2=Smg_wei[num];

}
else
{
P2=0;
P0=Smg_duan[buffer[num++]];
P2=Smg_wei[num];
}
if(num>7)
{
num=0;

}
}

smg_dis.h

#ifndef _SMG_DIS_H_
#define _SMG_DIS_H_
extern void Display(uint8 *buffer);
extern uint8 Sbuffer[8];

#endif


main.c


#include<reg52.h>
#include"diy.h"
#include"timer.h"
#include"smg_dis.h"
void main()
{
init();
Sbuffer[0]='2';
Sbuffer[1]='0';
Sbuffer[2]='-';
Sbuffer[3]='3';
Sbuffer[4]='6';
Sbuffer[5]='-';
Sbuffer[6]='9';
Sbuffer[7]='7';
while(1)
{
Display(Sbuffer);

}
}

代码编译可以通过,但是下载下来是乱码!
我用的是stc的单片机

希望会的网友帮帮忙吧!!!
谢谢了!

[ 此帖被林翌荨在2011-02-21 20:45重新编辑 ]

5_143438_7767141272be839.jpg
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-11-24 20:48 , Processed in 0.051756 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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