标题: AVR单片机仿PLC控制器的程序与原理图PCB [打印本页]

作者: Rtz_    时间: 2022-7-10 16:09
标题: AVR单片机仿PLC控制器的程序与原理图PCB
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)


单片机源程序如下:
  1. #include <iom8v.h>
  2. #include <macros.h>
  3. /**********************************************************************
  4.                                   函数数据类型说明                                                                  
  5. **********************************************************************/
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. /**********************************************************************
  9.                                   MS级延时函数程序,参数i 延时时间                                                                          
  10. **********************************************************************/
  11. void DelayMS(uint i)
  12. {
  13. uint j;
  14. for(;i!=0;i--)
  15. {
  16. for(j=1000;j!=0;j--);
  17. }
  18. }
  19. /**********************************************************************
  20.                                    初始化                                                  
  21. **********************************************************************/
  22. void Init_IO(void)//初始化I/O
  23. {
  24. //设置B口为输出
  25. DDRB=0x3F;
  26. PORTB=0x3F;
  27. //设置C口为输出
  28. DDRC=0xFF;
  29. PORTC=0xFF;
  30. //设置D口为输入
  31. DDRD=0X00;
  32. PORTD=0x00;
  33. }
  34. /**********************************************************************
  35.                                   主函数                                          
  36. **********************************************************************/
  37. void main(void)
  38. {
  39. Init_IO();  //初始化I/O
  40. while(1)
  41. {
  42. WDR();//WDT 复位
  43. if((PIND&0X01)==0)//按下PD0,PC0闭合
  44. {PORTC=0xFE;PORTB=0xFF;}
  45. if((PIND&0X02)==0)//按下PD1,PC1闭合
  46. {PORTC=0xFD;PORTB=0xFF;}
  47. if((PIND&0X04)==0)//按下PD2,PC2闭合
  48. {PORTC=0xFB;PORTB=0xFF;}
  49. if((PIND&0X08)==0)//按下PD3,PC3闭合
  50. {PORTC=0xF7;PORTB=0xFF;}
  51. if((PIND&0X10)==0)//按下PD4,PB0闭合
  52. {PORTB=0xFE;PORTC=0xFF;}
  53. if((PIND&0X20)==0)//按下PD5,PB1闭合
  54. {PORTB=0xFD;PORTC=0xFF;}
  55. if((PIND&0X40)==0)//按下PD6,PB2闭合
  56. {PORTB=0xFB;PORTC=0xFF;}
  57. if((PIND&0X80)==0)//按下PD7,PB3闭合
  58. {PORTB=0xF7;PORTC=0xFF;}
  59. }
  60. }
复制代码

1.png (63.83 KB, 下载次数: 146)

1.png

2.png (22.31 KB, 下载次数: 151)

2.png

3.png (8.96 KB, 下载次数: 140)

3.png

程序PCB原理图.7z

6.88 MB, 下载次数: 70, 下载积分: 黑币 -5


作者: 紫气东来    时间: 2022-7-18 13:06
支持梯形图吗?
作者: siemenswj    时间: 2022-9-3 23:15
同问,支持梯形图编程吗




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