Chinaunix首页 | 论坛 | 博客
  • 博客访问: 947861
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 嵌入式

2013-11-13 16:24:37

原文:

来源:瑞萨单片机论坛

工具:
1、R8C1B学习板
2、74HC595驱动LED
3、HEW软件以及NC30

已经达到目标:
1、实现LED显示,74HC595级联驱动N个LED显示
2、使用3个IO口
3、脱机可以运行,串口下载后去掉MODE跳线,RESET即可脱机运行

备注:
LED模块原理图




显示效果图:





74HC595驱动:
#include "sfr_r81B.h"
#include "led.h"
const unsigned char LED_SEG_TAB[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x1a,0x7a,0x9e,0x8e,0x01};
//01234567890abcdef.
void Led_Send_Byte(unsigned char data)
{
unsigned char i,temp;
temp=data;
for(i=0;i<8;i++)
{
   if((temp & 0x01)==0)
   {SER=0;}
   else
   {SER=1;}
   SCK=0;
   SoftWait(100);
   SCK=1;
   temp=temp/2;
}
}
void Led_Lock(void)
{
RCK=0;
SoftWait(100);
RCK=1;
}
void Led_Send_Buf(unsigned char *buf,unsigned char count)
{
unsigned char i;
for(i=0;i {
   Led_Send_Byte(LED_SEG_TAB[*buf]);
   buf++;
}
Led_Lock();
}

阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~