STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计

简介: STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计

此项目是作为单片机应用系统设计,通过STC单片机实验开发装置的结构、原理电路、以及其所能实现的功能和应用,建立单片机实现多功能综合应用系统的整体概念,打下实际工程项目设计、开发、应用的较好基础。

  • 分析和熟悉实验装置的硬件结构
  • 分析和掌握实验装置的电路原理:器件工作原理、电路接口原理、端口和编址分配原理、电路的主要技术参数等
  • 分析和了解设计方法,理解器件的合理布局,装置的工艺设计及安装工艺

一、说明

并行扩展是指单片机与外围设备之间采用并行接口的连接方式,数据传输采用并行传送方式。并行扩展方式一般采用总线并行扩展,即数据传送由数据总线完成,地址总线负责外围设备的寻址,而传输过程中的传输控制,诸如读、写操作等,则由控制总线来完成。与串行扩展相比,并行扩展的数据传输速度较快,但扩展电路较复杂。


存储器的扩展方式有字扩展、位扩展、字位同时扩展。存储器芯片与单片机扩展连接具有共同的规律。即不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。


用Proteus仿真编程实现以下功能:

  • 并行扩展电路设计

二、重点

  • 单片机系统总线及其并行扩展的工作原理及实现方法
  • 外部常用的扩展元器件的功能及使用方法
  • 单片机串行扩展的基本方式

三、实现

#include <reg52.h>
#include <intrins.h>
xdata unsigned char RAM8155[256] _at_ 0x3F00;
xdata unsigned char IO8155[6] _at_ 0xBF00; 
unsigned char ad_result,j;
unsigned int i,k ;  //i 为 int 变量,和绝对地址匹配
sbit ADDA=P1^0; 
sbit ADDB= P1^1;
sbit ADDC= P1^2; 
sbit STA= P1^3; 
sbit EOC=   P1^4;
sbit CLOCK= P1^6; 
sbit flag=PSW^5;
void int_8155 (void)        //8155 初始化函数
{
IO8155[0]=0x4D; //PA、C 均为输出口,PB 为输入口。
for(i=0;i<256;i++) //8155 中 RAM 单元依次放 0、1、2、…255 
RAM8155[i]=i;
}
void  main()
{ int_8155(); //8155 初始化          
for(i=0;i<256;i++)
{ j=RAM8155[i];
IO8155[1]=j;  //读取 8155RAM 单元的内容,并由 PA 口输出驱动 LED 显示
for(k=0;k<1000;k++);
} 
CLOCK=0;j=0;EOC=1;
while(1)
{ //选择 A/D 通道
if(j<50){ADDA=1;ADDB=0;ADDC=0;}
else if((j>=50)&&(j<100)){ADDA=1;ADDB=0;ADDC=0;}
else if((j>=100)&&(j<150)){ADDA=0;ADDB=1;ADDC=0;}
else if((j>=150)&&(j<200)){ADDA=1;ADDB=1;ADDC=0;} STA=0;STA=1; STA=0; //启动转换
while(1)
{ CLOCK=!CLOCK; if(EOC==1)break;} //转换结束信号 EOC 查询
ad_result=IO8155[2];  //由 PB 口读入 A/D 结果
j++;  //计算 RAM 单元
RAM8155[j-1]=ad_result; // A/D 结果存入 8155 的 RAM 单元
IO8155[1]=ad_result;  // A/D 结果送 PA 口显示
if (j>=200) j=0;  //  一轮结果存放完毕,存放单元下标清零。
}
}

四、下载

详见:STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计项目开发

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
224 0
|
传感器 编解码 人机交互
基于51单片机的温室大棚环境检测系统
基于51单片机的温室大棚环境检测系统
505 0
|
传感器
基于51单片机的车辆倒车雷达报警系统
该文描述了一个基于51单片机的超声波倒车雷达系统设计,要求包括:2cm至4m的测量范围,3mm精度,集成DS18B20温度传感器以校准声速,使用LCD1602显示距离和温度,具备按键设置预警距离及蜂鸣器报警功能。系统由AT89C51单片机、HC-SR04超声波模块、DS18B20温度模块、报警电路和LCD显示电路组成。文中还展示了Proteus仿真电路图和部分仿真结果分析,包括LCD显示示例和预警距离设置操作。
590 4
|
存储 监控 芯片
单片机的扩展结构
单片机的扩展结构
1004 2
|
人工智能 C语言
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
1776 0
|
传感器
基于51单片机的自动浇花器电路
该文档是一个基于AT89C51单片机的自动浇水灌溉系统的设计方案。系统由5V供电模块、土壤湿度传感器模块、ADC0832模数转换模块、水泵控制模块、按键输入模块、LCD显示模块和声光报警模块组成。它通过检测土壤湿度并将其转换为数字信号,与预设的湿度上下限值进行比较,以决定是否启动水泵进行灌溉。用户可以通过按键设置湿度上下限值,LCD屏幕实时显示当前湿度和上下限值。如果湿度低于下限,系统会启动声光报警并打开水泵;当湿度超过上限,声光报警关闭,但水泵会继续工作,直至湿度下降到下限以下。设计中还提供了Proteus仿真电路图和C代码实现。
424 1
|
传感器 数据处理 芯片
基于51单片机的自动售货机系统
该项目设计了一个基于AT89C51单片机的自动售货机系统,采用4×4矩阵键盘选择货物和投入货币,LCD1602液晶显示购物状态和货币状态,LED显示货物选择和出货情况。系统通过货币传感器检测投入的真伪和金额,根据商品价格进行找零。功能包括选择货物、货币识别、自动计算总价、出货与找零。仿真电路展示了从欢迎界面到购物、投币、出货或找零的过程。程序设计中包含了状态定义和延时函数等。
425 0
【期末不挂科-单片机考前速过系列P5】(第五章:11题速过中断系统和中断系统结构)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P5】(第五章:11题速过中断系统和中断系统结构)经典例题盘点(带图解析)
|
芯片
AT89S52单片机的最小应用系统
AT89S52单片机的最小应用系统
712 0
|
存储
【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)
【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)