历史上的今天
返回首页

历史上的今天

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

正在发生

2020年03月12日 | 基于PIC的led点阵(验证版)

2020-03-12 来源:eefocus


原理图上图(应用时限流电阻可以放在X轴或Y轴),下图为74HC138译码器的逻辑图,图示可得,可将E1,E2接地,控制E3开启芯片。



#include        //调用头文件,可以去PICC18软件下去查找PIC18FXX2.H
__CONFIG(1,XT) ;         //晶振为外部4M
__CONFIG(2,WDTDIS) ;     //看门狗关闭
__CONFIG(4,LVPDIS) ;     //禁止低电压编程


#define HC138_1_2_A   RB0     //定义74HC138_1_2的A脚
#define HC138_1_2_B   RB1     //定义74HC138_1_2的B脚
#define HC138_1_2_C  RB2     //定义74HC138_1_2的C脚
#define HC138_1_E      RB3     //定义HC138_1的E3脚
#define HC138_2_E      RB4     //定义HC138_2的E3脚,这里有片选的意思,信号线共用,控制脚不同

/*--  文字:  辉  --*/

const unsigned char han[]=
{  /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
      0x24,0x38,0xE0,0x3F,0xE8,0x24,0x26,0x12,0xD2,0x3E,0xD2,0x12,0x12,0x16,0x02,0x00,
      0x40,0x30,0x0F,0x00,0x3F,0x10,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x00,        };


 

unsigned char m;

 /**点阵扫描,先PORTC输出代码,74HC138的ABC译码对应选择,该驱动芯片E3位置1,输出显示
  直到m=8时,打开另一个138芯片,因为一个138只能译码8位,而这里有16位,同样PORTC继续
  送代码;16位扫描完之后,下八位,PORTD同样处理************************************/

void disp16_16(void) 
{   
 if(++m>31) m=0;  //先扫描PORTC时的16+PORTD时的16,共计m=32
 PORTD=0;
 PORTC=0;
 PORTB=0;  
 if(m<16) PORTC=(han[m]); //前16位,对PORTC进行扫描,同时,m>7后,进行138芯片切换
 else  PORTD=(han[m]);        //后16位,就是对PORTD进行扫描了。
    PORTB|=(m&0x07); 
 if((m&0x08)>0) HC138_2_E=1;   //m>7时就要打开另外一个138芯片
 else HC138_1_E=1;                      //否则继续使用本芯片
}

 

void main(void)

   unsigned char k;
   ADCON1=0X06;                 //所有IO均为数字口,模拟量输入禁止
   TRISB=0B11100000;          //RB0-4设置为输出
   PORTB=0B00000000;       //失能74HC138_1_2
   TRISD=0B00000000;        //RD设置为输出
   PORTD=0B00000000;       //灭掉LED点阵屏的00-07行
   TRISC=0B00000000;         //RC设置为输出
   PORTC=0B00000000;       //灭掉LED点阵屏的08-15行 
   while(1)
   {             
      for(k=0;k<70;k++);
      disp16_16();            
   }
}

推荐阅读

史海拾趣

Fremont_Micro_Devices_USA公司的发展小趣事

Fremont Micro Devices USA公司的发展故事

故事一:初创与成长

Fremont Micro Devices USA(简称FMD或弗里蒙特微)的故事始于对高性能模拟及数模混合信号集成电路设计的执着追求。公司于多年前在加利福尼亚成立,起初是一家小型但充满活力的初创企业,专注于非易失性存储芯片、MCU芯片和电源管理芯片的研发。凭借其创始团队在半导体行业的深厚背景和技术专长,FMD迅速在消费电子、便携设备和通讯/网络领域崭露头角。通过持续的技术创新和产品研发,FMD逐渐积累了市场声誉,吸引了多家国际知名风险投资公司的关注和支持,为公司的快速发展奠定了坚实的基础。

故事二:技术突破与市场拓展

在FMD的发展历程中,技术突破是推动其不断前进的重要动力。公司研发团队拥有国内外顶尖半导体企业的工作经验,他们致力于全定制和半定制的数模混合芯片设计,不断提升产品的性能和可靠性。通过不断的技术积累和创新,FMD在Memory、MCU和PMIC等领域取得了显著的技术突破,拥有了业界领先的技术基础和IP积累。这些技术成果不仅提升了公司的市场竞争力,也为其在消费类、智能硬件、IOT和工控安防等应用领域的市场拓展提供了有力支持。

故事三:全球化布局与供应链管理

随着业务的不断扩张,FMD开始布局全球化市场。公司在美国本土建立了完善的研发和生产体系,同时在中国深圳设立了总部,并在香港设立了办事处,以便更好地服务亚太地区的客户。此外,FMD还积极与全球知名的电子元器件分销商合作,建立了稳定的供应链体系。通过优化供应链管理,FMD确保了产品的质量和交付速度,进一步提升了客户满意度和市场竞争力。

故事四:应对行业挑战与危机

在电子行业的发展过程中,FMD也面临着诸多挑战和危机。例如,全球半导体市场的周期性波动、国际贸易环境的变化以及新冠疫情的爆发等都对公司的运营和发展产生了一定的影响。然而,FMD凭借其强大的技术实力和市场敏锐度,积极应对这些挑战和危机。公司通过加强研发创新、优化产品结构、拓展新兴市场等方式,保持了业绩的稳定增长,并在逆境中实现了新的发展。

故事五:上市规划与未来发展

近年来,FMD在资本市场也取得了重要进展。公司已完成与中信证券的上市辅导协议签署,并在深圳证监局备案,拟在A股市场挂牌上市。这一举措不仅将为FMD带来更多的资金支持和发展动力,也将进一步提升公司的品牌影响力和市场竞争力。展望未来,FMD将继续秉承高性能、高可靠性和低成本的理念,加大在研发创新和市场拓展方面的投入力度,为客户提供更加优质的产品和服务,推动公司向更高层次的发展迈进。

Broyce Control公司的发展小趣事

进入21世纪,Broyce Control已经成为电气和电子产品设计、制造和供应领域的佼佼者。公司不仅在技术上持续创新,还注重与行业伙伴的合作与交流。通过参与国际标准的制定和推广,Broyce Control逐渐在行业内树立了领导地位。同时,公司还积极承担社会责任,推动可持续发展和环保理念的实践,为行业的健康发展做出了积极贡献。

国产公司的发展小趣事
确保放大电路的增益不会过高,避免输入信号的幅度超过电路的处理能力。
Elekon Industries公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,Elekon意识到只有不断创新才能保持竞争力。因此,公司加大了研发投入,致力于技术创新和产品升级。经过多年的努力,Elekon成功开发出一系列具有自主知识产权的电子产品,包括高性能的集成电路、智能传感器等。这些新产品的推出不仅丰富了Elekon的产品线,也提升了公司的市场竞争力。

Armel Electronics Inc公司的发展小趣事

在电子行业中,技术更新迅速,创新是企业持续发展的动力。Armel Electronics Inc公司始终将研发创新作为公司的核心竞争力。公司不断投入资金,引进先进设备和技术,加强研发团队的建设。通过不断创新,Armel成功推出了一系列具有行业领先水平的新产品,为公司的持续发展提供了有力保障。

Conxall公司的发展小趣事

随着科技的飞速发展,物联网成为了新的热点。Conxall公司敏锐地捕捉到了这一机遇,投入大量资源进行物联网技术的研发。经过数年的努力,公司成功推出了一款具有高度集成和智能化特点的物联网模块,广泛应用于智能家居、智慧城市等领域,为公司的快速发展奠定了坚实的基础。

问答坊 | AI 解惑

共享一份论文的评分规则

本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 一份整理出来的论文评分规则!与大家分享!大赛即将来临,大家一起加油!  …

查看全部问答>

三路同步循环怎么做

三路流水循环,123123123式的,两盏各自的灯能同时亮灭。 我用CD4024从电网中分频提取同步信号,再用CD4017做三路输出,能实现。 觉的实现这么简单的原理要用两个IC有点麻烦,而且空脚很多, 请问大吓们,有没有更好的方法。…

查看全部问答>

项目前期分析可行性报告

大家好。小弟做数字也有2年多了。前面都是做的底层实现既从详细方案开始一直到最后的FPGA上板都经历过,对于细节比较清楚。但缺少项目整体的经验,特别是功耗,面积,规模,电压电流这种前期分析阶段。  目前公司给了小弟一个任务,做某 ...…

查看全部问答>

wince5.0 nand flash 驱动问题

    最近要向一个基于mips的soc上移植nand flash驱动,对wince了解不深,nand flash也不懂。有几个疑问不明白,请达人解惑。 1.我看到wince提供了WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\BLOCK\\MSFLASHFMD目录里的一系列代码。看注释 ...…

查看全部问答>

单片机

   本人现在做毕业设计,题目是用AT89051和ADC0809设计多路数字电压表,望高手能够指点一下,不甚感激!…

查看全部问答>

杂牌的PCI GPIB 卡可以用NI或者agilent的DLL吗?

刚接到 一个任务,是实现PC与一个信号源进行通信。 信号源的接口是IEEE488接口。 公司给我买了一个杂牌的PCI GPIB卡, 现在我将卡装在电脑上,随卡的驱动也装好了, 可是没有大家所说的任何编程开发界面和配置界面, 只是在设备管理器里的树状 ...…

查看全部问答>

主轴自己摆动,震荡?

我司有台车削中心,带C轴,现在一开机主轴就自己正反反复不停摆动(没有进行任何操作),无任何报警,是哪里的问题呀?主轴是电主轴,只有一个海德汉编码器,系统是西门子840D的。另本以为是个别案例,不料另一台也是一样的问题,两台机器08年生产 ...…

查看全部问答>

FPGA设计入门学习(基本概念认识)

1 数字电路设计中的几个基本概念: 1.1 建立时间和保持时间:建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器 ...…

查看全部问答>

全国赛PCB板可以代工不?

本帖最后由 paulhyde 于 2014-9-15 09:39 编辑 参加全国电子设计大赛,想做四层板(自己设计板子、布局、布线),但学校的设备不能做出四层板,如果交给相应的PCB制作工厂制板,是不是违反了比赛规则?  …

查看全部问答>