历史上的今天
返回首页

历史上的今天

今天是:2025年03月23日(星期日)

正在发生

2020年03月23日 | 单片机点阵案例循环显示爱心和“亲”字

2020-03-23 来源:eefocus

#include "main.h"


//定义变量
unsigned char temp = 0xfe;
unsigned char KEY_NUM = 0;


unsigned char Display_word[4][4] = {
0x00,0x48,0x2A,0x8E,0xFB,0x0E,0x2A,0x48, //亲
0x0C,0x1E,0x3E,0x7C,0x7C,0x3E,0x1E,0x0C, //心
};






//****************************************************
//主函数
//****************************************************
void main()
{
unsigned int i;
unsigned char j,k;
while(1)
{
for(i = 0 ; i < 1000 ; i++)
{
temp = 0x7f;
for(j = 0 ; j < 2 ; j++) //显示前两个字母
{
for(k = 0 ; k < 4 ; k++) //一个字母4BYTE
{
Send_Byte(temp); //列选择
Send_Byte(Display_word[j][k]); //行数据
LEDARRAY_LAT = 1; //锁存数据
_nop_();

LEDARRAY_LAT = 0;
_nop_();
temp = (temp>>1)|0x80;
}
}
}


for(i = 0 ; i < 1000 ; i++)
{
temp = 0x7f;
for(j = 2 ; j < 4 ; j++) //显示前两个字母
{
for(k = 0 ; k < 4 ; k++) //一个字母4BYTE
{
Send_Byte(temp); //列选择
Send_Byte(Display_word[j][k]); //行数据
LEDARRAY_LAT = 1; //锁存数据
_nop_();

LEDARRAY_LAT = 0;
_nop_();
temp = (temp>>1)|0x80;
}
}
}


}
}


//****************************************************
//发送一个字节数据
//****************************************************
void Send_Byte( unsigned char dat)
{
unsigned char i;
LEDARRAY_CLK = 0;
_nop_(); 
LEDARRAY_LAT = 0;
_nop_();


for( i = 0 ; i < 8 ; i++ )
{
if( dat&0x01)/*这是C语言中的按位与运算,dat与0000 0001相与,
              然后当dat最低位不是0的是则为if(1),则为真于是就执行if下面的语句,
  反之无论dat其他位是什么,最后一位如果是0则为假,不执行对应语句。*/
{
LEDARRAY_DI = 1; 
}
else
{
LEDARRAY_DI = 0;
}
LEDARRAY_CLK = 1; //上升沿发送数据
// _nop_();
LEDARRAY_CLK = 0;
// _nop_();

dat >>= 1; 

}

#ifndef __MAIN_H__
#define __MAIN_H__


#include
#include


sbit LEDARRAY_LAT = P3^6;
sbit LEDARRAY_CLK = P3^5; 
sbit LEDARRAY_DI = P3^4;


//函数或者变量声明
extern void Delay_ms(unsigned int n);
extern void Send_Byte( unsigned char dat);


#endif

推荐阅读

史海拾趣

GS Technology公司的发展小趣事
在物理、化学等科研实验中,用于观察和记录实验数据的峰值。
东科半导体(DK)公司的发展小趣事

为了加速技术创新和人才培养,东科半导体(DK)公司积极与高校和科研机构开展产学研合作。公司与安徽工业大学共建联合实验室,共同研发新技术、新产品。此外,东科还积极引进国内外优秀人才,打造了一支高素质、专业化的研发团队。通过与高校和科研机构的合作,东科不仅提升了自身的研发实力,也为公司的长期发展奠定了坚实的人才基础。

Electrocube Inc公司的发展小趣事

Electrocube Inc公司高度重视产品质量管理。公司建立了严格的质量管理体系,从原材料采购到生产流程控制,再到产品检验和售后服务,每一个环节都严格把关。这种对质量的执着追求,使得Electrocube Inc公司的产品具有极高的可靠性和稳定性,赢得了客户的信赖和好评。

Edcon Components Netherlands Cv公司的发展小趣事

为了进一步扩大市场份额,Edcon Components Netherlands Cv开始积极拓展国际市场。公司通过对不同国家和地区的市场进行深入分析,制定了精准的市场拓展策略。通过与当地经销商建立合作关系,Edcon的产品逐渐进入国际市场,并在多个国家和地区取得了成功。国际市场的拓展不仅为公司带来了更多的商机,也提升了公司的品牌影响力。

COMPUTAR公司的发展小趣事

随着技术的不断进步和市场需求的扩大,CBC株式会社开始寻求更广阔的发展空间。1960年,CBC香港公司成立,这标志着CBC的镜头产品开始走向国际市场。香港作为当时亚洲的金融中心和贸易枢纽,为CBC提供了宝贵的国际资源和市场机遇。通过香港公司的努力,CBC的镜头产品逐渐在国际市场上获得认可。

Frequency Devices公司的发展小趣事

为了进一步扩大市场份额,Frequency Devices公司积极实施国际化战略。公司通过参加国际电子展会、建立海外销售网络、与国际知名企业建立合作关系等方式,不断提升品牌国际影响力。同时,公司还根据不同国家和地区的市场特点,定制化开发符合当地需求的高频电子产品。这些努力使得Frequency Devices公司的产品成功打入多个国际市场,实现了全球化布局。

问答坊 | AI 解惑

verilog教程

一个很好用的verilog教程,我是通过这个来学习的,很实用…

查看全部问答>

目前国内机器人应用现状

目前国内机器人应用现状■国内机器人产业研究不逊于发达国家     从上世纪80年代开始,国内已开始大范围地进行有关机器人的研究。经过20多年的发展,国内在应用、研究方面已经发展得比较好。但是,跟发达国家相比,还存在一定的差距。 ...…

查看全部问答>

——PCB布局经验谈——

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑 对于电子产品来说,印制线路板设计是其从电原理图变成一个具体产品必经的一道设计工序,其设计的合理性与产品生产及产品质量紧密相关,而对于许多刚从事电子设计的人员来说,在这方面经验较少,虽然 ...…

查看全部问答>

怎样调用API实现对录音音频输入线路的选择(AC97)?

AC97支持以下几种音频输入:   Mono Mix   Stereo Mix   辅助   CD 唱机   线路输入(Line In)   麦克风(Mic In) 问题:     我应该调用什么API函数来实现在这几种音 ...…

查看全部问答>

DIY FPGA 系列之EE_FPGA_V1.0闪亮登场,准备送出8块PCB

DIY FPGA的板子终于回来了,呵呵,闲话少说,先上图   先来照全家福 接着来照正面照   反面照   来张特写 …

查看全部问答>

出售闲置路虎LPC1768开发板(Cortex-M3)已出

已出 [ 本帖最后由 nt402 于 2011-6-15 12:43 编辑 ]…

查看全部问答>

ccs 关于类的问题

我在程序里面定义了一个类 然后编译的时候说:类未定义 error: identifier \"class\" is undefined…

查看全部问答>

430存储

我想实现单片机采集传感器数据,这中间包括发出和接收指令,解析协议,并能够保存一定量的数据,等到一定时间再发给上位机,430那一款合适?有没有类似的案例??…

查看全部问答>

晒WEBENCH设计的过程 + 基于LM3481芯片的3.7V锂电池供电5V@200mA电源设计

一、方案介绍:            在面向低成本应用的手持或微型设备中,采用16位和32位MCU都不具有成本优势,通常会采用8位MCU的设计方案,这里采用8位8引脚PIC MCU设计一款产线物料记录器,供电电源部分采用3. ...…

查看全部问答>