原创 (原创)PC机通过串口控制LED点阵屏显示(最终版)

2009-10-30 16:52 5871 2 4 分类: MCU/ 嵌入式

Keil源程序下载:


该程序可实现通过上位机上的串口控制点阵屏的显示,随时更新时间数据


https://static.assets-stash.eet-china.com/album/old-resources/2009/10/30/c693bba5-a49c-4f96-95e4-3c9b262e6d70.rar


main函数如下:


/*****************用DS1302+串口写得小时钟程序(64*32整屏显示)********************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#include"CODE.h"
#include"DS1302LED.H"
#include"SERIAL.H"
sbit R1=P2^4;   //位定义
sbit R2=P2^5;
sbit CLK="P2"^6;
sbit STB="P2"^7;
bit count;
uchar j,k;     //数据变量定义
char temp;
void WriteByte(char);  //上半屏写一个字节数据函数
void WriteByte1(char); //下半屏写一个字节数据函数
/*-----------------------------------------------*/
void main()
{  
 send_int();    //初始化串口 
 Set_RTC(l_tmpdate1);//初始化时钟芯片
 while(1)
 { 
     time_date();        //时间处理    
  for(j=0;j<16;j++)   //行扫描
    {   
               
   WriteByte(~table[l_tmpdisplay[0]][j]);  //时
   WriteByte(~table[l_tmpdisplay[1]][j]);
          
   WriteByte(~table[10][j]);       //":"
    
   WriteByte(~table[l_tmpdisplay[2]][j]); //分       
   WriteByte(~table[l_tmpdisplay[3]][j]);
    
   WriteByte(~table[10][j]);       //":"    
    
   WriteByte(~table[l_tmpdisplay[4]][j]);  //秒  
   WriteByte(~table[l_tmpdisplay[5]][j]);



   P0=j;  //放上面会错乱 消影
   STB=1;  //下降沿
   STB=0;  
      
   WriteByte1(~table[l_tmpdisplay[6]][j]);   //年
   WriteByte1(~table[l_tmpdisplay[7]][j]);
       
   WriteByte1(~table[12][j]);          //“-” 
    
   WriteByte1(~table[l_tmpdisplay[8]][j]);    //月  
   WriteByte1(~table[l_tmpdisplay[9]][j]);
    
   WriteByte1(~table[13][j]);           //“-” 
     
   WriteByte1(~table[l_tmpdisplay[10]][j]);    //日 
   WriteByte1(~table[l_tmpdisplay[11]][j]);
   
   P0=j;  //放上面会错乱 消影
   STB=1;  //下降沿
   STB=0;
                         
   if(RI)          // 是否有数据到来
   {
    RI = 0;  
    l_tmpdate1[wei--]=SBUF;             
    if(wei<0)
    wei=4;
    Set_RTC(l_tmpdate1);       //初始化时钟芯片
   // send_char(tmp);      // 回传接收到的数据      
   } 
  }
  }   
}       
void WriteByte(char temp)   //上半屏写一个字节的数据
{
 for(k=0;k<8;k++)  //循环8次把编码传给锁存器
  {
    temp="temp"<<1;
    R1=CY;
 //   R2=1;
    CLK="0";          //上升沿有效
    CLK="1";   
  } 
}
void WriteByte1(char temp)  //下半屏写一个字节的数据
{
 for(k=0;k<8;k++)  //循环8次把编码传给锁存器
  {
    temp="temp"<<1;
    R2=CY;
 //   R1=1;
    CLK="0";          //上升沿有效
    CLK="1";   
  } 
}

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377235 2015-2-28 14:52

我想要,可以送货上门吗?

用户377235 2015-2-24 19:00

我想买点,做代理也可以。

用户377235 2015-2-8 20:00

买军用的老板,你的手机号码是多少啊!发过来,

用户377235 2014-8-10 01:34

你好我想做代理18868555779王先生

用户1514079 2014-5-19 21:08

斗鸡用的比较多

用户1514079 2014-5-19 21:08

还卖不卖啊,我想买点,找代理的话我也可以考虑一下,市场前景很不错

用户377235 2013-2-25 20:23

有谁用过军用体力恢复剂,怎么样?

用户1228096 2010-1-30 10:01

听说有个什么软件的,哪位有啊,传上来

用户1228096 2010-1-30 09:56

没有原理图
相关推荐阅读
用户395791 2011-02-21 10:10
单片机实现贪吃蛇游戏
本文章原创于 www.yafeilinux.com  作者:雨?烟?, 转载请注明出处。最近忙完英语考试了,感觉轻松许多。手痒的很,想写点程序,在玩弄手机时看见自己的手机游戏里连个贪吃蛇都没有呢…为什...
用户395791 2011-02-13 16:20
Qt 的未来
2011年的春节刚过,当我们还不愿意从过年的懒散生活中清醒过来时,一则无法设想的新闻将我们惊醒!   一、事件突发: 1.北京时间2月11日下午消息,诺基亚与微软刚刚宣布,双方计划建立广泛的战略伙伴关...
用户395791 2010-07-17 13:37
Qt串口通信专题教程
本文章原创于www.yafeilinux.com 转载请注明出处。Qt串口通信专题教程前言去年我使用Qt编写串口通信程序时,将自己的学习过程写成了教程(Qt编写串口通信程序全程图文讲解),但是由于时间...
用户395791 2010-06-16 22:32
Led非典型应用——感测外部光线
本文章原创于 www.yafeilinux.com  作者:Jay , 转载请注明出处。基本上初学者学习任何一款单片机都会写同样的一个程序——Led流水灯。就像初学C、C++、Qt之类的语言时都要写“...
用户395791 2010-05-27 18:47
Qt Creator系列教程
Qt Creator系列教程        为了使更多的Qt初学者能尽快入门Qt,也为了Qt及Qt Creator的快速普及,我们花费大量精力写出了这一系列教程。虽然教程的知识可能很浅显,虽然教程的语...
用户395791 2010-03-26 17:51
二十七、Qt数据库(七)QSqlRelationalTableModel(原创)
声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。讲完QSqlTableModel了,我们这次讲这个类的扩展类QSqlRel...
EE直播间
更多
我要评论
2
2
关闭 站长推荐上一条 /3 下一条