标题: 原创LED控制器(含绿色LED和LED1602)单片机程序及Proteus仿真文件 [打印本页]

作者: With_commands    时间: 2017-7-14 14:57
标题: 原创LED控制器(含绿色LED和LED1602)单片机程序及Proteus仿真文件
LED控制器,包含绿色LED和LED1602
是我原创的
希望人人喜欢
亮什么LED可以通过连接在P3.2、P3.3的按钮来调节,P3.4按钮是恢复到第一个LED上
晶振频率:12MHz

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):


单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #include "1602.c"

  5. sbit led1=P1^0;
  6. sbit led2=P1^1;
  7. sbit led3=P1^2;
  8. sbit led4=P1^3;
  9. sbit led5=P1^4;
  10. sbit led6=P1^5;
  11. sbit led7=P1^6;
  12. sbit led8=P1^7;
  13. sbit up=P3^2;
  14. sbit down=P3^3;
  15. sbit reset=P3^4;

  16. uchar ledn=1;

  17. void calcled()
  18. {
  19.     if(ledn==1){
  20.                         led1=0;
  21.                         led2=1;
  22.                         led3=1;
  23.                         led4=1;
  24.                         led5=1;
  25.                         led6=1;
  26.                         led7=1;
  27.                         led8=1;
  28.                         gotoxy(0,1);
  29.                         cprintf("LED=1");
  30.                 }
  31.     if(ledn==2){
  32.                         led1=1;
  33.                         led2=0;
  34.                         led3=1;
  35.                         led4=1;
  36.                         led5=1;
  37.                         led6=1;
  38.                         led7=1;
  39.                         led8=1;
  40.                         gotoxy(0,1);
  41.                         cprintf("LED=2");
  42.                 }
  43.     if(ledn==3){
  44.                         led1=1;
  45.                         led2=1;
  46.                         led3=0;
  47.                         led4=1;
  48.                         led5=1;
  49.                         led6=1;
  50.                         led7=1;
  51.                         led8=1;
  52.                         gotoxy(0,1);
  53.                         cprintf("LED=3");
  54.                 }
  55.     if(ledn==4){
  56.                         led1=1;
  57.                         led2=1;
  58.                         led3=1;
  59.                         led4=0;
  60.                         led5=1;
  61.                         led6=1;
  62.                         led7=1;
  63.                         led8=1;
  64.                         gotoxy(0,1);
  65.                         cprintf("LED=4");
  66.                 }
  67.     if(ledn==5){
  68.                         led1=1;
  69.                         led2=1;
  70.                         led3=1;
  71.                         led4=1;
  72.                         led5=0;
  73.                         led6=1;
  74.                         led7=1;
  75.                         led8=1;
  76.                         gotoxy(0,1);
  77.                         cprintf("LED=5");
  78.                 }
  79.     if(ledn==6){
  80.                         led1=1;
  81.                         led2=1;
  82.                         led3=1;
  83.                         led4=1;
  84.                         led5=1;
  85.                         led6=0;
  86.                         led7=1;
  87.                         led8=1;
  88.                         gotoxy(0,1);
  89.                         cprintf("LED=6");
  90.                 }
  91.     if(ledn==7){
  92.                         led1=1;
  93.                         led2=1;
  94.                         led3=1;
  95.                         led4=1;
  96.                         led5=1;
  97.                         led6=1;
  98.                         led7=0;
  99.                         led8=1;
  100.                         gotoxy(0,1);
  101.                         cprintf("LED=7");
  102.                 }
  103.     if(ledn==8){
  104.                         led1=1;
  105.                         led2=1;
  106.                         led3=1;
  107.                         led4=1;
  108.                         led5=1;
  109.                         led6=1;
  110.                         led7=1;
  111.                         led8=0;
  112.                         gotoxy(0,1);
  113.                         cprintf("LED=8");
  114.                 }
  115.                 if(ledn==9)ledn=1;
  116.                 if(ledn==0)ledn=8;
  117. }

  118. void main()
  119. {
  120.           while(1){
  121.                         display_init();
  122. ……………………

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

所有资料51hei提供下载:(在2楼)





作者: With_commands    时间: 2017-7-14 15:00
程序文件及仿真

LED.zip

17.74 KB, 下载次数: 19, 下载积分: 黑币 -5


作者: With_commands    时间: 2017-7-15 13:06
PCB结构图

360反馈意见截图16171117226242.png (36.96 KB, 下载次数: 97)

PCB结构图

PCB结构图

作者: With_commands    时间: 2017-7-15 13:12
PCB板焊接前及焊接后的样子

PCB版-焊接前.png (64.98 KB, 下载次数: 88)

PCB板-焊接前

PCB板-焊接前

PCB版-焊接后.png (94.31 KB, 下载次数: 66)

PCB板-焊接后

PCB板-焊接后

作者: With_commands    时间: 2017-7-15 13:33
刚才PCB板画错了

PCB版-焊接前.png (68.81 KB, 下载次数: 79)

PCB版-焊接前

PCB版-焊接前

PCB版-焊接后.png (98.34 KB, 下载次数: 68)

PCB版-焊接后

PCB版-焊接后

作者: With_commands    时间: 2017-7-15 13:34
按钮需自己焊接,PCB板图片没有




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1