找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4633|回复: 1
打印 上一主题 下一主题
收起左侧

共享我的51hei开发板数码显示程序-1

[复制链接]
跳转到指定楼层
楼主
ID:27913 发表于 2011-1-22 03:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

买了很久的板子了,一直没时间玩 ,今天搞到03:13,终于靠自己写出了一个数码显示程序,他可以在51hei开发板上轮流显示数字和字母.

#include<reg52.h>

#define uint unsigned int
#define uchar unsigned char


uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

uchar code we[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

sbit dula=P2^6;
sbit wela=P2^7;

uchar num,du,num1;

void main()
{ 
//设置计数器
//选取计数方式1
 TMOD = 0x11;
//给计数器写初值
 TH0 = (65536-10000)/256;
 TL0 = (65536-10000)%256;
////////////////////
//操作单片机
//开启CPU中断
 EA = 1;
///////////////////
//开启定时器T0位中断
 ET0 = 1;
//开启计数器
 TR0 = 1;
//操作数码管
 
 while(1)
  {
   if(du==100)
   {
    du=0;
    num++;       

    if(num<16)
    dula=1;
    P0=table[num];
    dula=0;
    if(num==16) 
     num=0;
 
    if(num1<2)
    wela=1;
    P0=we[num1];
    wela=0;
    num1++; 
    if(num1==2) 
     num1=0;
   }
  }
}

//中断函数
void time () interrupt 1
{
//自变量自加

TH0 = (65536-10000)/256;
TL0 = (65536-10000)%256;
du++;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:27913 发表于 2011-1-22 03:24 | 只看该作者

这个是静态显示程序

#include<reg52.h>

#define uint unsigned int
#define uchar unsigned char

sbit dula=P2^6;
sbit wela=P2^7;

uchar cnt;

uchar num;

uchar jf;

uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};


void light (uchar num);

void main()
{


//设置计数器

 

//设置工作方式1
 TMOD = 0x11;

 

//给计数器赋初值

 TH0 = 0;
 TL0 = 0;

 

///////////////////
//对单片机操作

//开启CPU中断

 EA = 1;
//开启定时器T0位中断
 ET0 = 1;


//启动计数器

 TR0 = 1;

//点亮数码管。每次+1

 wela=1;
 P0=0xc0;
 wela=0;

 while(1)
 {
  if(cnt<16)
   light(cnt);

  else cnt = 0;
 }
}


void light (uchar num)

{
//  uchar c;
// wela=1;
// P0=0xc0;
// wela=0;

// for(c=1;c<6;c++)
 dula=1;
 P0=table[num];
 dula=0;   
}

//中断函数

void time () interrupt 1
{
 //变量自加
 if (jf<8)
  {
   jf++;
   TH0 =0;
   TL0 = 0;
  }
 if (jf==8)
  {


   jf=0;
   


           //装载初值
      
   TH0 = 94;
   TL0 = 224;
  
   //到定值通知主函数
   cnt=cnt+1;
  } 


}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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