找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12597|回复: 3
收起左侧

51单片机经典开发学习板PCB与电路图(含四位数码管显示 8个LED灯)资料下载

[复制链接]
ID:284341 发表于 2018-2-19 01:23 | 显示全部楼层 |阅读模式
Altium Designer画的AT89S52单片机数码管开发板的原理图和PCB图如下:(51hei附件中可下载ad工程文件)
0.png 0.png
0.png

【简要说明】
一、尺寸:长76mmX宽69mmX高17mm
二、主要芯片:AT89S52单片机(支持AT89S51;AT89S52;AT89S53;)
三、工作电压:直流4.5~5.5伏(或者USB供电)
四、单片机标准十针下载接口。(可使用并口下载线和USB下载线下载)另外支持:双龙下载软件以及Easy 51Pro.exe 和 progisp.exe
五、特点:
         1、具有电源指示;
         2、所以I/O口以引出;
         3、具有四位数码管显示;
         4、标准的11.0592M晶振;
         5、具有上电复位和手动复位;
         6、支持AT89SXX系列单片;
         7、工作稳定可靠;
         8、P2口五位按键输入;
         9、P1口八位信号灯指示;
        10、可端子接线供电、可排针引电;

实物图:
image002.jpg

功能:
image004.jpg

pcb空板子:
image006.jpg

安装了部分电子元件的pcb板:
image008.jpg

六、提供原理图
七、提供相关软件
八、提供例程及其学习资料
适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。。

此单片机开发板完整版测试源程序如下:

  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:开发板测试程序完整版
  4. 使用芯片:AT89S52
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 编译环境:Keil
  8. 作者:zhangxinchunleo
  9. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

  10. 功能介绍: 先跑马灯1 次 然后显示数字1234  然后,按键控制,灯变化
  11. *********************************************************************/
  12. #include<reg52.h>                 //库文件
  13. #define uchar unsigned char//宏定义无符号字符型
  14. #define uint unsigned int  //宏定义无符号整型

  15. /********************************************************************
  16.                             初始定义
  17. *********************************************************************/
  18. uchar temp;           //定义字符型变量
  19. uchar a,b,i;
  20. int display_date=4321; //定义并赋值要显示的数据
  21. sbit P2_0=P2^0; //定义按键的输入端(为单片机P2口的P2.0按键)
  22. sbit P2_1=P2^1; //定义按键的输入端(为单片机P2口的P2.1按键)
  23. sbit P2_2=P2^2; //定义按键的输入端(为单片机P2口的P2.2按键)
  24. sbit P2_3=P2^3; //定义按键的输入端(为单片机P2口的P2.3按键)
  25. sbit P2_4=P2^4; //定义按键的输入端(为单片机P2口的P2.4按键)
  26. code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
  27. uchar wei[4]={0XEf,0XDf,0XBf,0X7f};                                 //位的控制端
  28. /********************************************************************
  29.                             延时函数
  30. *********************************************************************/
  31. void delay(uchar t)
  32. {
  33.   uchar i,j;
  34.    for(i=0;i<t;i++)
  35.    {
  36.             for(j=13;j>0;j--);
  37.          { ;
  38.          }
  39.    }
  40. }

  41. /********************************************************************
  42.                             延时函数
  43. *********************************************************************/
  44. void delay1()//延时程序
  45. {
  46. uchar m,n,s;
  47. for(m=20;m>0;m--)
  48. for(n=20;n>0;n--)
  49. for(s=248;s>0;s--);
  50. }
  51. /********************************************************************
  52.                             流水灯
  53. *********************************************************************/
  54. void lsd()
  55. {
  56. temp=0xfe; //11111110定义每次一个灯亮
  57. P3=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。
  58. delay();//延时
  59. for(i=1;i<8;i++)//实现广告灯的从右到左移动
  60. {
  61. a=temp<<i;                //左移i位
  62. b=temp>>(8-i);        //右移8-i位
  63. P3=P2=P0=P1=a|b;//相与求值
  64. delay1();
  65. }
  66. for(i=1;i<8;i++)//实现广告灯的从左到右移动
  67. {
  68. a=temp>>i;            //右移i位
  69. b=temp<<(8-i);  //左移8-i位
  70. P3=P2=P0=P1=a|b;//相与求值
  71. delay1();
  72. P3=P2=P0=P1=0XFF;
  73. }}
  74. /********************************************************************
  75.                             按键函数
  76. *********************************************************************/
  77. void anjian()
  78. {
  79.     if(P2_0==0){P1=0X55;display_date=0;}        //如果P2.0按键按下,P1口输出01010101
  80.         if(P2_1==0){P1=0Xaa;display_date=1111;}        //如果P2.1按键按下,P1口输出10101010
  81.         if(P2_2==0){P1=0X0f;display_date=3333;}        //如果P2.2按键按下,P1口输出00001111
  82.         if(P2_3==0){P1=0Xf0;display_date=5555;}        //如果P2.3按键按下,P1口输出11110000
  83.         if(P2_4==0){P1=0X00;display_date=7777;}        //如果P2.3按键按下,P1口输出00000000
  84. }
  85. /********************************************************************
  86.                             显示函数
  87. *********************************************************************/        
  88. void Led(int date) //显示函数
  89. {
  90. /*****************数据转换*****************************/
  91. uint z,x,c,v;
  92.   z=date/1000;                         //求千位
  93.   x=date%1000/100;                 //求百位
  94.   c=date%100/10;                 //求十位
  95.   v=date%10;                         //求个位

  96.       P2=0XFF;
  97.           P0=seg7code[z];
  98.           P2=wei[0];
  99.           delay(80);
  100.           P2=0XFF;  
  101.       P0=seg7code[x];
  102.           P2=wei[1];
  103.           delay(80);
  104.           P2=0XFF;  
  105.              P0=seg7code[c];
  106.           P2=wei[2];
  107.           delay(80);
  108.           P2=0XFF;  
  109.       P0=seg7code[v];
  110.           P2=wei[3];
  111.           delay(80);
  112.           P2=0XFF;
  113. }


  114. /********************************************************************
  115.                             主函数
  116. *********************************************************************/
  117. void main()
  118. {
  119. {

  120. lsd();
  121. while(1)
  122. {
  123. Led(display_date);//调用显示函数显示数据display_date
  124. anjian();
  125. }
  126. }
  127. }
复制代码
0.png

所有开发资料51hei提供下载:

AT89S52数码管显示开发板.doc

4.5 MB, 下载次数: 25, 下载积分: 黑币 -5

本开发板配套程序及其仿真.rar

140.47 KB, 下载次数: 31, 下载积分: 黑币 -5

开发板测试程序完整版.zip

21.82 KB, 下载次数: 26, 下载积分: 黑币 -5

原理图.doc

41.5 KB, 下载次数: 35, 下载积分: 黑币 -5

AT89S52数码管显示开发板DXP资料.rar

552.52 KB, 下载次数: 48, 下载积分: 黑币 -5

评分

参与人数 1黑币 +2 收起 理由
qjzyx + 2 赞一个!

查看全部评分

回复

使用道具 举报

ID:67312 发表于 2018-2-21 14:47 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:266116 发表于 2018-2-21 17:27 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:424192 发表于 2019-3-5 20:23 | 显示全部楼层
感谢分享。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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