本文包含原理图、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重新编辑 ]
|