历史上的今天
返回首页

历史上的今天

今天是:2025年06月22日(星期日)

2020年06月22日 | C51单片机小程序(一)

2020-06-22 来源:eefocus

好久没碰单片机了,有些生疏了。到现在还依稀记得自己独自坐在电脑屏幕前自学单片机,硬生生的去看了单片机的基础,现在想想还是挺有趣的。附上当初一点初学的单片机小程序,请大家多多指教!


用P1口作为输出口,接8位用作逻辑电平显示的发光二极管。设计程序使发光二极管间隔300ms先奇数亮再偶数亮,循环3次;一个发光二极管亮上下循环3次;两个分别从两边向中间流动3次;再从中间向两边流动3次;8个全部闪烁3次;关闭全部发光二极管,停止。


综合实验程序:


#库定义

#include

#include


sbit  led=P1^0;    #位定义

int i,j,k,num,e,p,m;            

void delay(int k)       #定义延时函数

{

 while(k--);

}

void timer0()   #定时器0的初始化

{

  TMOD=0X01;    #工作模式

    TR0=1;          

    EA=1;           #开启总中断

    ET0=1;

    TH0=0XDc;       #定时时间  需经过换算

    TL0=0X00;

}

void Pled()     

{

          EA=0;

                        //P1=0xfe;

                //delay(50000);

for(p=0;p<3;p++){               

    P1=0xfe;

    for(num=0;num<8;num++)

    {

   delay(50000);

     P1=_crol_(P1,1);    #_crol_(左移函数)

        if(num==6)

        {

            for(e=0;e<6;e++){

                delay(50000);

    P1=_cror_(P1,1);    #_cror_(左移函数)


 }

 }


            }

}

}

void flowmiddle()

{

for(m=0;m<3;m++)

{   

  P1=0x7e;

    delay(50000);

    P1=0XBD;

    delay(50000);

    P1=0XDB;

    delay(50000);

    P1=0XE7;

    delay(50000);

}

for(m=0;m<3;m++)

{   

        P1=0XE7;

    delay(50000);

    P1=0XDB;

    delay(50000);

    P1=0XBD;

    delay(50000);

    P1=0x7e;

    delay(50000);

}

  for(m=0;m<3;m++){

            P1=0xff;

            delay(50000);

            P1=0;

            delay(50000);

  }

}

void main()

{

    timer0();

     while(1){

       if(j==7)

         { j=0;

     Pled();

     flowmiddle();

} if(j==0)

{

P1=0xff;

}

     }

}

void time0() interrupt 1    #定时器0中断响应

{

    TH0=0Xdc;

    TL0=0X00;//10ms

    i++;

    if(i==30)

    {  i=0; 

        j++;

        if(j%2==0){

        P1=0x55;}

        if(j%2!=0)

        {

     P1=0xaa;

}  

  }

}


实验实现说明:使用定时器0设定一个计时300ms的计时器,通过判断变量j在计时器计时到后是奇偶数,分别亮对应的小灯,当变量到7时,清除变量值,并执行通过左右移操作,以及流向中间的操作。


推荐阅读

史海拾趣

Agere System(LSI Logic)公司的发展小趣事

Agere Systems(后来被LSI Logic收购)是一家在半导体行业具有重要影响力的公司之一。以下是该公司发展的五个相关故事:

  1. 公司成立和发展:Agere Systems成立于2000年,是由Lucent Technologies的微电子部门分拆而成。公司总部位于美国新泽西州的默里斯敦市。Agere Systems专注于开发半导体解决方案,包括通信芯片、存储芯片和无线网络技术。通过不断的技术创新和市场拓展,Agere Systems在短时间内成为半导体行业的领军企业之一。

  2. 无线通信技术:Agere Systems在无线通信技术方面取得了重大突破,推动了移动通信产业的发展。该公司开发了一系列的基带处理器和射频芯片,用于手机和其他移动设备中的无线通信。这些技术的应用使得移动通信设备具有更高的性能、更低的功耗和更广泛的覆盖范围,促进了全球移动通信市场的快速增长。

  3. 存储解决方案:除了在通信领域取得成功外,Agere Systems还致力于开发先进的存储解决方案。该公司生产的存储芯片和控制器广泛应用于硬盘驱动器、固态硬盘和存储系统中,为数据存储和处理提供了关键的技术支持。Agere Systems的存储产品以其高速、高效和可靠性而闻名,成为许多数据中心和企业用户的首选。

  4. 公司并购与重组:在Agere Systems发展的过程中,该公司进行了多次并购和重组以加强自身实力和市场竞争力。2007年,LSI Logic公司宣布收购Agere Systems,将两家公司的技术和资源整合在一起,共同致力于推动半导体行业的发展。通过这一合并,LSI Logic扩大了其在存储和通信领域的市场份额,进一步巩固了在全球半导体市场的领导地位。

  5. 技术创新与发展:Agere Systems始终把技术创新作为公司发展的核心驱动力。该公司投入大量资源用于研发,并与全球各地的科研机构和合作伙伴进行紧密合作。Agere Systems持续推出高性能、低功耗的芯片产品,并不断改进现有产品的性能和功能,以满足客户不断增长的需求。通过持续的技术创新和产品优化,Agere Systems在半导体行业保持了竞争优势,并为客户提供了更加先进和可靠的解决方案。

ELECTRONIC ASSEMBLY公司的发展小趣事

在电子产业的浪潮中,一家名为“智汇电子组装”的初创公司凭借其独特的技术优势迅速崛起。公司创始人是一位资深的电子工程师,他带领着一支由多名技术精英组成的团队,专注于研发高效、精确的电子组装技术。通过不断创新和优化,智汇电子组装成功开发出一套自动化组装设备,大大提高了生产效率,降低了成本。凭借这一技术优势,公司逐渐在电子组装市场上崭露头角,赢得了众多客户的青睐。

巴丁微公司的发展小趣事

深圳市巴丁微电子有限公司,简称巴丁微,自创立之初便专注于高性能模拟集成电路的研发与销售。公司的创始人及核心团队由一群在集成电路行业拥有丰富经验的专家组成,他们看中了电子行业的巨大潜力,决心以技术创新为驱动力,推动模拟集成电路的发展。

在创立初期,巴丁微面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借着对技术的深刻理解和不懈追求,巴丁微成功研发出了一系列具有竞争力的产品,并逐渐在电机驱动和电源管理等电子领域获得了市场认可。

AEL [AEL Crystals Ltd]公司的发展小趣事

AEL Crystals一直注重技术创新和产品升级。公司拥有一支专业的研发团队,致力于开发具有竞争力的新产品。通过不断引进新技术和新材料,AEL Crystals成功推出了一系列具有高性能和稳定性的频率控制产品。这些产品不仅满足了客户的多样化需求,也进一步巩固了公司在行业内的领先地位。

Davies Molding公司的发展小趣事

Davies Molding公司自创立之初,就将产品质量视为企业的生命线。在早期,公司创始人意识到,只有提供高品质的塑料注塑成型产品,才能在竞争激烈的电子行业中立足。因此,公司投入大量资源在研发、生产和质量控制上,确保每一件产品都符合严格的标准。这种对品质的坚持,不仅赢得了客户的信任,也为Davies Molding公司赢得了良好的口碑。

Arima Lasers Corp公司的发展小趣事

在激烈的市场竞争中,Arima Lasers Corp始终保持着创新的步伐。公司不断投入研发资源,探索激光技术在各个领域的应用潜力。其中,一项关于激光通信技术的创新项目引起了业界的广泛关注。这项技术利用激光束进行高速数据传输,具有传输速率快、安全性高等优点。随着该技术的商业化应用,Arima Lasers Corp在通信领域取得了重大突破,引领了市场变革的潮流。

问答坊 | AI 解惑

Windows Embedded帮助数字农业发展

随着全球信息化的发展,数字农业成为了现代农业发展的新潮流。 数字农业是一个集信息化、数字化、网络化、自动化等多种现代高新技术为一体的计算机管理和应用系统。它对农业生产中的现象、过程进行模拟,达到合理利用农业资源,降低生产成本,改 ...…

查看全部问答>

Fiber Optic Communication Systems

Fiber Optic Communication Systems Fiber-Optic Communication Systems, 3rd Edition Govind P. Agrawal ISBN: 978-0-471-21571-4 Hardcover 576 pages June 2002 目录: Preface. 1. Introduction. 1.1 Historical Perspective. 1. ...…

查看全部问答>

谁有DVD光盘格式, 主要是文件头的解析

如题, 俺现在已经能够准确地分拆它的每个视频单元(CELL),但我需要的是按章节(Charpter)来进行分拆, 这需要解析它的IFO文件, 有没有朋友熟悉这方面的, 提点一下, 不胜感谢!…

查看全部问答>

串口传输线有232和485之分吗

我用板子带的线(一头公,一头母)进行传输都可以。 但我自己买的两根线(一根线为全公,一根线为全母),连接后传输,就连不通了。 难道线有232和485之分吗? 我要求的是PC端和板子间传输,板子的串口也是232的。…

查看全部问答>

初学者问个pc与单片机通信协议的问题

我做pc上位机程序 通过串口与51单片机通信 涉及到通行协议不太明白怎么弄。 请问如果自定义pc与单片机通信的协议  要定义些什么啊 不太清楚 能详细点最好 谢谢…

查看全部问答>

有关tcsetattr的问题

tcsetattr(0,TCSANOW,&term); tcsetattr(1,TCSANOW,&term);   中的“0”和“1”表示啥意思啊?…

查看全部问答>

添加hive-based registry问题,系统起不来

环境:S3C2440+EVC4.0+SP4+PB5.0  NAND Flash 问题: 添加了Hive-Based Registryz组件,添加FAT File System组件       platform.reg 如下:      ; HIVE BOOT SECTION [HKEY_LOCAL_MACHINE\\i ...…

查看全部问答>

MSP430开发

我做的是基于MSP430的温度检测系统,为什么程序下载到板子上运行时没有反应?…

查看全部问答>

arm开发高手

对电路,对编程,对操作系统都熟悉 请加qq:602199326…

查看全部问答>

招聘C语言工程师(北京)

本公司因业务需要,急需招聘软件开发工程师,熟悉嵌入式C语言、串口开发、LCD及键盘应用,待遇从优。有意者请将简历发送至liuyh0105@126.com刘月红收。有IC卡、条形码行业工作经验者优先。电话:010-51265035、68219720、68219760…

查看全部问答>