课程设计内容(1) - 图文

2020-02-20 14:05

1 任务及要求

1.1设计任务

用3开关控制的两数码显示倒数计时器的Proteus仿真及汇编程序设计。

1.2 设计要求

利用AT89C51单片机的P0端口连接到电路图左边的数码管上,P2端口连接到电路图右边的数码管上, P3.1、P3.3、P3.5分别接三个开关。启动时,两数码管都显示为零,每按下P3.1开关时,给左边显示十位的数码管加一,每按下P3.3开关时,给右边显示个位的数码管加一。然后当按下P3.5开关时启动倒数计时,当左右数码管显示都为零时,LED红灯开始闪烁。

2 设计思想

2.1 硬件设计思想

硬件包括AT89C51芯片,两个数码管,一个红色LED和3个控制开关,在

51芯片外部接一个震荡时钟频率。用51芯片的控制模块,具有按键等功能,并利

用51芯片的P0、P2口作输出信号,P3.1、P3.3、P3.5做控制输入信号,使得数码管显示在软件的控制下工作。

2.2 软件设计思想

采用汇编语言编写程序,程序由一个主函数,3个按键控制子程序和3个延时子程序构成。由主函数实现等待按键,控制左右数码管数字显示和启动倒数计时。当启动倒数计时程序后,程序按步进行让后当条件满足时调用红灯闪烁程序来结束程序。

3 电路原理与电路图

3.1 电路原理

单片机最小系统。一个AT89C51单片机做为控制电路,运用其P0、P2口来控制两数码管显示,通过P3.1、P3.3两按键控制给左右两数码管加数,通过P3.5按键来控制倒数计时。P1.0接LED显示。

1

3.2 电路原理图

4 流程图与算法描述

4.1 系统流程图

如图4.1所示

开始 P3.5=1? 启动倒数计时子程序 P3.1=1? 调用左数码管置数子程序 P3.3=1? 调用右数码管置数子程序

图4.1主函数流程图

2

4.2 置数子程序流程图

如图4.2所示

把R1移入A中 通过MOV A,@A+DPTR调用表格 将A从表格中取得的数显示在左数码管调用延时子程序 将R1加1 NO 判断R1是否为7 YES 将R1置0 返回

图4.2十位显示数码管置数子程序流程图

3

4.3 启动倒计时子程序流程图

如图4.3所示

取R1,R2的数 将R1,R2分别作为一个两位数存入R0 R0自减1 取R0个位,十位数 R0十位,个位数调用表格显示在左右数码管上 调用延时子程序 NO R0=0? YES 红灯闪烁 END

图4.3 启动倒数计时子程序

4

4.4延时子程序流程图

如图4.4所示

R3置数100 R4置数20 20H置数250 NO 20H-1=0? NO R4-1=0? NOR3-1=0? YES 返回

图4.4 延时子程序

5


课程设计内容(1) - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:深基坑开挖专项施工方案(专家论证) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: