找回密码
 立即注册

QQ登录

只需一步,快速开始

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

AT89S52单片机485通讯开发板原理图与源程序PCB等资料

[复制链接]
跳转到指定楼层
楼主
【简要说明】
一、 尺寸:长72mmX宽72mmX高12mm
二、 主要芯片:AT89S52,MAX485
三、 工作电压:6V40V,功耗小于1W
四、  特点:1、具有稳压电路,输入电压广,具有电源指示灯
            2、具有485通信
            3、单片机标准十针下载接口。(可使用并口下载线和USB下载线下载)
            4、支持波特率 2400 4800  9600 19200
            5、采用的按键,机械寿命长
            6、单片机编程,客户可以自己更改,提供参考程序
            7、所以I/O口以引出。
            8、具有系统复位按键
            9、P2口四位按键输入           
            10、P1口四位信号灯指示
            11、通过编程可以实现与485设备之间直接通信            
            12、板子静态功耗小于1W
            13具有续流保护
            14、具有电磁抗干扰能力
            15、板子稳定工作可靠
            16、板子可安装在DIN导轨上面
            17、标准的11.0592M晶振(晶振在单片机下面)。
            18、端子采用螺旋压接端子
            19、工作温度-40度至 +70度
            20、工作湿度 40%  ~ 80%RH


GYJ-0025_AT89S52单片机485通讯开发板原理图及PCB图:


pcb图:


元件清单:



开发板的实物图与接线图:


GYJ-0025_AT89S52单片机485通讯开发板测试单片机源程序如下:
  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:此版配套测试程序
  4. 使用芯片:AT89S52
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 编译环境:Keil
  8. 作者:zhangxinchunleo
  9. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  10. /********************************************************************
  11. 程序说明:
  12. 1、所有IO口流水灯3次。
  13. 2、所有IO口闪烁输出5次。
  14. 3、按下P2.0按键点亮P1.0灯,按下P2.1按键点亮P1.1灯,按下P2.2按键点亮P1.2灯,按下P2.3按键点亮P1.3灯,
  15. 4、接收串口发送的数据再返回原值。
  16. ********************************************************************/
  17. #include<reg52.h>                 //库文件
  18. #define uchar unsigned char//宏定义无符号字符型
  19. #define uint unsigned int  //宏定义无符号整型

  20. sbit P10=P1^0;
  21. sbit P11=P1^1;
  22. sbit P12=P1^2;
  23. sbit P13=P1^3;

  24. sbit P20=P2^0;
  25. sbit P21=P2^1;
  26. sbit P22=P2^2;
  27. sbit P23=P2^3;
  28. /********************************************************************
  29.                             初始定义
  30. *********************************************************************/
  31. uchar dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
  32. /********************************************************************
  33.                             延时函数
  34. *********************************************************************/
  35. void delay()//延时程序 0.2秒
  36. {
  37. uchar m,n,s;
  38. for(m=20;m>0;m--)
  39. for(n=20;n>0;n--)
  40. for(s=248;s>0;s--);
  41. }

  42. /********************************************************************
  43.              功能:串口初始化,波特率9600,方式1
  44. *********************************************************************/        
  45. void Init_Com(void)
  46. {
  47. TMOD = 0x20;
  48. PCON = 0x00;
  49. SCON = 0x50;
  50. TH1 = 0xFd;
  51. TL1 = 0xFd;
  52. TR1 = 1;
  53. }
  54. /********************************************************************
  55.                             闪烁函数
  56. *********************************************************************/
  57. void shanshuo(uchar j)
  58. {
  59. uchar i;
  60. for(i=0;i<j;i++)
  61. {
  62. P0=0X00;P1=0X00;P2=0X00;P3=0X00;
  63. delay();
  64. P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;
  65. delay();
  66. }
  67. }
  68. /********************************************************************
  69.                             流水灯函数
  70. *********************************************************************/
  71. void liushuideng(uchar j)
  72. {
  73. uchar i,temp,a,k;
  74. for(i=0;i<j;i++)
  75. {
  76.         temp=0xfe; //11111110定义每次一个灯亮
  77.         P3=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。
  78.         delay();//延时
  79.         for(k=1;k<8;k++)//实现广告灯的从右到左移动
  80. {
  81. a=temp<<k;                //左移i位
  82. P3=P2=P0=P1=a;//相与求值
  83. delay();
  84. }
  85. }
  86. }
  87. /********************************************************************
  88.                             主函数
  89. *********************************************************************/
  90. void main()
  91. {
  92. Init_Com();//串口初始化
  93. liushuideng(3);//所有IO口流水灯3次
  94. shanshuo(5);//所有IO口闪烁输出5次
  95. while(1)
  96. {
  97. if(P20==0){P10=0;} //如果P2.0按键按下,P1.0口输出低电平,指示灯亮。
  98. if(P21==0){P11=0;} //如果P2.1按键按下,P1.1口输出低电平,指示灯亮。
  99. if(P22==0){P12=0;} //如果P2.2按键按下,P1.2口输出低电平,指示灯亮。
  100. if(P23==0){P13=0;} //如果P2.3按键按下,P1.3口输出低电平,指示灯亮。

  101. if(RI) //扫描判断是否接收到数据,
  102. {
  103. dat=SBUF; //接收数据SBUF赋与dat
  104. RI=0; //RI 清零。
  105. SBUF=dat; //在原样把数据发送回去
  106. ……………………

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


所有资料51hei提供下载:
GYJ-0025_AT89S52单片机485通讯开发板发货资料.rar (13.46 MB, 下载次数: 83)


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

使用道具 举报

沙发
ID:74349 发表于 2018-12-27 15:46 | 只看该作者
学习了!!!!!
回复

使用道具 举报

板凳
ID:63317 发表于 2019-1-24 08:06 | 只看该作者
谢谢分享资料
回复

使用道具 举报

地板
ID:320751 发表于 2020-6-15 20:44 | 只看该作者
谢谢分享 感恩付出
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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