当前位置:网站首页>单片机开发之拓展并行I/O口
单片机开发之拓展并行I/O口
2022-07-29 23:35:00 【华为云】
目录
1. 在Proteus环境下建立原理图,如图1所示,并保存为expandIO.DSN文件。
2. 将实验代码写入文本文档,并保存为expandIO .asm文件。
5. 执行仿真过程观察各个方向的交通信号灯指示,查看程序功能是否正确。
一、题目
3.2 拓展并行I/O口实验
二、要求
1、画出实验的流程图
2、编写源程序并进行注释
3、记录实验过程
4、记录程序运行结果截图
三、过程及结果记录
按照思路搭建电路图1如下:
图1:实验电路图
实现功能:控制交通信号灯
仿真实现交通信号灯控制功能。
控制顺序为:
① 南北绿灯亮,同时东西红灯亮 10s;
② 南北黄灯亮,同时东西红灯亮 2s;
③ 南北红灯亮,同时东西绿灯亮 10s;
④ 东西黄灯亮,同时南北红灯亮 2s;
⑤ 重复①~④。
实验过程:
1. 在Proteus环境下建立原理图,如图1所示,并保存为expandIO.DSN文件。
2. 将实验代码写入文本文档,并保存为expandIO .asm文件。
3. 输入源程序,将源程序加入系统中并编译源程序。
4. 双击芯片,将编译得到的hex文件下载到芯片
5. 执行仿真过程观察各个方向的交通信号灯指示,查看程序功能是否正确。
实验的结果如下图2~5所示:
图2:南北绿灯亮,同时东西红灯亮10s
图3:南北黄灯亮,同时东西红灯亮2s
图4:南北红灯亮,同时东西绿灯亮 10s
图5:东西黄灯亮,同时南北红灯亮 2s
四、思路
实验流程图如下:
图6:实验流程
1. 进行初始化工作,包括设置堆栈指针SP,将两个373 的输出口所有位均设置为1,使所有发光二极管全部熄灭。
2. 定义两个锁存器的地址: U4的地址是0FE00H, U5的地址是0FD00H
3. 分析4 个状态下两个373 的输出数据值:假定“南北绿灯亮,同时东西红灯亮”为状态1,即:Stat1;“南北黄灯亮,同时东西红灯亮”为状态2,即:Stat2;“南北红灯亮,同时东西绿灯亮”为状态3,即:Stat3;“东西黄灯亮,同时南北红灯亮”为状态4,即:Stat4。可以分析其每个状态下的输出。
6. 对于状态1:东西红灯,南北绿灯
① 那么对于U4,只有两个红灯亮,红灯对应的地址置0即可。对应的控制信号是11110011即0F3H
② 对于U5,绿灯亮,只需要将对应的绿灯置0 即可,对于高四位不使用的端口,也一起置0.控制信号为00001100即0CH
图7:状态1下U4和U5的输出
7. 对于状态2:东西红灯,南北黄灯
① 对于U4:南北的黄灯、东西红灯对应的端口置0.所以控制信号为11000011即0C3H
② 对于U5:没有绿灯亮,有用位(低四位)置1,用不到的位还是置0.所以控制信号为00001111即0FH
图8:状态2下U4和U5的输出
8. 对于状态3:东西绿灯,南北红灯
① 对于U4:将南北红灯对应的端口置0,其余位为0.所以控制信号为11111100即0FCH
② 对于U5: 将东西绿灯对应端口置0,其余位为1.注意未用到的位也置零。所以控制信号为00000011即03H
图9:状态3下U4和U5的输出
9. 对于状态4:东西黄灯,南北红灯
① 对于U4:将东西黄灯、南北红灯对应的端口置0,其余位置1,。所以控制信号为00111100即3CH
② 对于U5:没有涉及到绿灯,所以将有用位置1即可。所以控制信号为00001111即0FH
图10:状态4下U4和U5的输出
五、源程序
边栏推荐
- Elephant Swap:借助ePLATO提供加密市场的套利空间
- [leetcode] 82. Delete duplicate elements in sorted linked list II (medium)
- 运动步数抽奖小程序开发
- 论文精读——YOLOv3: An Incremental Improvement
- 资源集合
- devops学习(八) 搭建镜像仓库---jenkins推送镜像
- 【leetcode】The sword refers to Offer II 002. Binary addition
- 管理区解耦架构见过吗?能帮客户解决大难题的
- codeforces每日5题(均1600)-第二十六天
- [leetcode] 75. Color classification (medium) (double pointer, in-situ modification)
猜你喜欢
随机推荐
读书笔记:《这才是心理学:看穿伪心理学的本质(第10版)》
kaniko --customPlatform parameter: support image construction of different platforms (eg: arm, etc.)
Prometheus 的功能特性
High - level - the rest - the client determine whether indexes exist
什么是色选机(color sorter)?
C陷阱与缺陷 第4章 链接 4.2 声明与定义
C陷阱与缺陷 第5章 库函数 5.1 返回整数的getchar函数
玻璃表面修饰DNA|DNA修饰的上转换纳米材料|DNA-UCNPs实验原理
软件测试拿8k以上有多简单,掌握这些随随便便拿8k以上...
C陷阱与缺陷 第5章 库函数 5.3 缓冲输出与内存分配
MySQL函数(经典收藏)
LabVIEW为什么在存储VI时死机
Override and customize dependent native Bean methods
全国双非院校考研信息汇总整理 Part.6
C陷阱与缺陷 第4章 链接 4.5 检查外部类型
Codeforces Round #805 (Div. 3)总结
SAP UI5 FileUploader 的隐藏 iframe 设计明细
y81.第四章 Prometheus大厂监控体系及实战 -- 监控扩展(十二)
devops学习(四) Jenkins CI 持续集成
【2023校招刷题】笔试及面试中常考知识点、手撕代码总结




















