找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2209|回复: 0
打印 上一主题 下一主题
收起左侧

单片机键控Led程序+仿真

[复制链接]
跳转到指定楼层
楼主
自己做的51单片机键控Led试验,有喜欢的可以互相交流。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg51.h>
  2. sbit S1=P1^0;
  3. sbit S2=P1^1;
  4. sbit S3=P1^2;
  5. sbit S4=P1^3;
  6. unsigned char keyval;
  7. void key_scan(void);
  8. void  forward(void);
  9. void backward(void);
  10. void Alter(void);
  11. void  blink(void);
  12. void led_delay(void);
  13. void delay10ms(void);
  14. void main(void)
  15. {
  16.      keyval=0;
  17.      while(1)
  18.      {
  19.         key_scan( );
  20.         switch(keyval)
  21.         {  
  22.            case 1:forward();
  23.                  break;
  24.            case 2:backward();
  25.                  break;
  26.            case 3:alter();
  27.                  break;
  28.            case 4:blink();
  29.                  break;
  30.          }
  31.     }
  32. }

  33. void key_scan(void)
  34. {
  35.    
  36.     P1=0xff;
  37.     if((P1&0x0f)!=0x0f)
  38. {
  39.     delay10ms();
  40. if(S1==0)
  41.     keyval=1;
  42. if(S2==0)
  43.     keyval=2;
  44. if(S3==0)
  45.     keyval=3;
  46. if(S4==0)
  47.     keyval=4;
  48.    }
  49. }
  50. void  forward(void)
  51. {
  52. P3=0xfe;
  53.    led_delay();
  54. P3=0xfd;
  55.    led_delay();
  56. P3=0xfb;
  57.    led_delay();
  58. P3=0xf7;
  59.    led_delay();
  60. P3=0xef;
  61.    led_delay();
  62. P3=0xdf;
  63.    led_delay();
  64. P3=0xbf;
  65.    led_delay();
  66. P3=0x7f;
  67.    led_delay();
  68. }
  69. void backward(void)
  70. {
  71. P3=0x7f;
  72.    led_delay();
  73. P3=0xbf;
  74.    led_delay();
  75. P3=0xdf;
  76.    led_delay();
  77. P3=0xef;
  78.    led_delay();
  79. P3=0xf7;
  80.    led_delay();
  81. P3=0xfb;
  82.    led_delay();
  83. P3=0xfd;
  84.    led_delay();
  85. P3=0xfe;
  86.    led_delay();
  87. }
  88. void Alter(void)
  89. {
  90.    P3=0x0f;
  91.    led_delay;
  92.    P3=0xf0;
  93.    led_delay;
  94. }
  95. void  blink(void)
  96. {
  97. P3=0xff;
  98.    led_delay;
  99.    P3=0x00;
  100.    led_delay;
  101. ……………………

  102. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
键控led.zip (55.13 KB, 下载次数: 13)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表