任务实施

更新于 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 仿真结果

图示

仿真视频

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)