医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > ARM汇编中ldr伪指令和ldr指令

ARM汇编中ldr伪指令和ldr指令

文章转自:http://blog.csdn.net/ce123_zhouwei/article/details/7182756

作者:ce123

本文已获得作者授权转载!

LED小灯就是一种发光二极管,正向压降是1.6V~2.2V,电流是2~20mA,2~5mA时亮度随电流的增大而增大,超过5mA后亮度不再变化,大于20mA小灯损坏。本实验采用贴片式的LED小灯,通过一个74HC573D芯片(数据手册)控制LED小灯的亮灭。

名称:LED小灯控制

说明:通过实验控制LED小灯产生不同的变化,学习LED小灯的原理和控制方法,用排线将J10与J21连接起来;P2口控制。实验中当给小灯置1时,小灯亮,置0时小灯熄灭。


实验例程如下:

  • /*********************************************** 

  •    > File Name: 点亮LED 

  •    > Author: pengshp 

  •    > Mail: pengshp3@outlook.com 

  •    > Date: 2015年 6 月 27 日 

  • *************************************************/  

  •   

  • #include<reg51.h>  

  • sbit LED0=P2^0;  

  • void main()  

  • {  

  •     //P2=0x00;  

  •     while(1)  

  •     {     

  •         LED0=1;//灯亮  

  •         //LED0=0; 灯熄  

  •     }  

  • }     


  • /*********************************************** 

  •    > File Name: 闪烁的LED 

  •    > Author: pengshp 

  •    > Mail: pengshp3@outlook.com 

  •    > Date: 2015年 6 月 27 日 

  • *************************************************/  

  •   

  • #include<reg51.h>  

  • #define uchar unsigned char  

  • #define uint unsigned int  

  • sbit LED=P1^0;  

  • //延时函数  

  • void DelayMS(uint x)  

  • {  

  •     uchar i;  

  •     while(x--)  

  •     {  

  •         for(i=0;i<120;i++);  

  •     }  

  • }  

  •   

  • void main()  

  • {  

  •     while(1)  

  •     {  

  •         LED=~LED;  

  •         DelayMS(150);  

  •     }  

  • }  


  • /*********************************************** 

  •    > File Name: 流水灯实验 

  •    > Author: pengshp 

  •    > Mail: pengshp3@outlook.com 

  •    > Date: 2015年 7 月 13 日 

  • *************************************************/  

  •   

  • #include<reg51.h>  

  •   

  • sbit ADDR0 = P1^0;  

  • sbit ADDR1 = P1^1;  

  • sbit ADDR2 = P1^2;  

  • sbit ADDR3 = P1^3;  

  • sbit ENLED = P1^4;  

  •   

  • void main()  

  • {  

  •    unsigned char cnt = 0;  

  •    unsigned int i=0;  

  •    ENLED = 0;  

  •    ADDR3 = 1;  

  •    ADDR2 = 1;  

  •    ADDR1 = 1;  

  •    ADDR0 = 0;  

  •   

  •    while(1)  

  •    {  

  •       P0 = ~(0x01 <<cnt);     //左移一位然后取反  

  •       for(i=0; i<30000; i++); //0000 0001   1111 1110  

  •       cnt++;                  //0000 0010   1111 1101  

  •       if(cnt>=8)  

  •       {  

  •           cnt = 0;            //共八个流水灯,大于8时赋值为零,循环  

  •        }  

  •     }  

  • }  


  • /************************************** 

  •   > File Name: 左右流水灯 

  •   > Author: pengshp 

  •   > Mail: pengshp3@outlook.com 

  •   > Date: 2015年 7 月 13 日 

  • ***************************************/  

  • #include<reg51.h>  

  •   

  • void delay500ms(void)               //延时0.5s,误差 0us  

  • {  

  •     unsigned char a,b,c;  

  •     for(c=23;c>0;c--)  

  •         for(b=152;b>0;b--)  

  •             for(a=70;a>0;a--);  

  • }  

  •   

  • void main()  

  • {  

  •     unsigned char cnt=0;  

  •     P2=0x00;  

  •     while(1)  

  •     {     

  •         for(;cnt<8;cnt++)  

  •         {  

  •             P2=(0x01<<cnt);//0000 0001左移  

  •             delay500ms();  

  •         }  

  •         cnt=0;  

  •         for(;cnt<8;cnt++)  

  •         {  

  •             P2=(0x80>>cnt);//1000 0000右移  

  •             delay500ms();  

  •         }  

  •         cnt=0;    

  •     }     

  • }  

  • 本文转自网络,版权归原作者,如果您觉得不好,请留言联系我们删除!

    广告

    关于立创商城

    立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。自建9200多平米现代化元器件仓库,现货库存超50000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式电子元器件采购服务