标题: 51单片机控制数码管显示0~9的实验程序设计 面包板搭建电路 [打印本页]

作者: liupi    时间: 2019-1-12 21:43
标题: 51单片机控制数码管显示0~9的实验程序设计 面包板搭建电路

单片机控制数码管显示0~9的数字显示,当按一下按钮,数码管显示1,再按一下显示2,再按一下显示3,如此循环,显示到9


二、实验过程


(一)实验项目的方案分析


1.设计原理

STC12C5A60S2单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。

本实验充分利用了8051芯片的I/O引脚。系统已采用STC12C5A60S2系列单片机为中心器件来设计数码管显示系统,实现数码管循环显示。

2.器件配置清单

表1器件配置表

名称

型号

数值

数量

面包板

MB-102

165*55*10(mm)

1

单片机

Stc12c5a60s2


1

按键

直插式

5mm

1

公对母连接线

40P彩色杜邦线

21cm

9

公对公连接线



9

电阻


1kΩ

8


(二)实验项目的硬件电路设计

    通过Proteus仿真电路软件搭建电路,电路图如图所示。

图1硬件设计图

(三)实验项目的程序设计

1、C51程序编写

2、keil软件调试截图

   通过Keil软件进行C51控制程序的编写,通过不断调试修改,最终的调试好的Keil

程序截图如图2所示。

图2调试无措的Keil程序

(四)实验项目的虚拟仿真

打开Keil C软件将上面程序输入,调试无误后编译输出".hex"文件,打开Proteus软件,将之前编译好的".hex"文件加入到芯片中,开始运行仿真。


(五)实验项目的实际验证电路及验证结果

    将单片机C51程序编译无误后,生成HEX文件,通过STC-ISP下载到单片机中,下载的软件界面如图4所示,搭建的实际电路如图5所示。

图4下载HEX文件到单片机


图5面包板搭建的实际电路


以下为实际效果的截图:








(六)总结

总的来说数码管实验还是比较简单的,跟前面做流水灯的实验差不多。还比流水灯简单一点。总的来说,数码管实验只是比流水灯多了一个按键,要对按键进行定义。其他的就跟流水灯差不多。


单片机源码:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit button=P2^0;
  5. uchar i=0;
  6. uchar code shuzu[]={0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  7. void delay_1ms(uint t)
  8. {
  9.   uint i;
  10.   while(t--)
  11.   for(i=0;i<600;i++);
  12. }
  13.      main()
  14.     {
  15.          while(1)
  16.        {
  17.          if(button==0)
  18.          delay_1ms(10);
  19.          if(button==0)
  20.         {
  21.          while(button==0);
  22.          i++;
  23.          if(i==11)
  24.          {i=0;}
  25.         }
  26.         P0=shuzu[i];
  27.        }
  28.               }
复制代码

完整的Word格式文档51黑下载地址:
数码管说明书.doc (894.5 KB, 下载次数: 12)



作者: chdfb    时间: 2020-11-19 20:19
楼主,我用的你的原理图还有程序,怎么没有办法用啊 ,老有错误,求解




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