找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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, 下载次数: 136)

1.png

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

2.png

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

3.png

程序PCB原理图.7z

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

评分

参与人数 2黑币 +55 收起 理由
一只小学徒 + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:92553 发表于 2022-7-18 13:06 | 只看该作者
支持梯形图吗?
回复

使用道具 举报

板凳
ID:335746 发表于 2022-9-3 23:15 | 只看该作者
同问,支持梯形图编程吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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