任务实施
更新于 2026年10月10日
版权声明
任务实施
一、任务分析
本任务要完成数码管动态显示,利用74HC573的锁存输出功能,输出锁存的数据,不受输入数据的影响。所以把数码的段码和位码都用单片机的P0端口输出。在程序设计中,把数码管的显示驱动程序单独定义,这样增强了主函数的可读性和逻辑性。
编写数码管动态显示驱动程序,基本函数如下:
●写段码函数:void writeduan(uchar x);
●写位码函数:void writewei(uchar x);
●8位数码管动态扫描显示函数:void display()。
二、程序设计
数码管动态显示的程序流程图如图4-2-4所示。
参考程序:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define leddata P0 //定义 leddata 为 P0 口
sbit du=P2^0; //74HC573段码使能端



图4-2-4 程序流程图(https://www.daowen.com)
三、电路仿真
1.绘制电路图
打开Proteus软件,创建“数码管动态显示”文件,绘制电路图。元件清单见表4-2-2。绘制完成的电路图如图4-2-5所示。
表4-2-2 元件清单


图4-2-5 绘制电路图
2.编写程序
打开Keil软件,新建“数码管动态显示”工程文件,新建“segd.c”文件。编写程序,并生成hex文件。编写完成的程序如图4-2-6所示。

图4-2-6 编写程序
3.电路仿真
加载hex文件,单击“仿真”按钮,仿真电路。仿真结果如图4-2-7所示。

图4-2-7 仿真结果

仿真视频