DXP学习3-单片机时钟显示系统的层次原理图设计

2024-04-02 03:44

本文主要是介绍DXP学习3-单片机时钟显示系统的层次原理图设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一,自上而下的子母图设计

1,绘制层次式电路母图

1)工程及原理图创建和保存

2)开始绘制层次式母图main.SchDoc

2,绘制图纸符号

1)properties选项卡

2)designator标号

3)filename文件名

4)添加显示模块接口(图纸入口)

 3,电气连线

 4,绘制层次式电路子图

1)单片机系统功能模块

2)电源系统功能模块 

 3)显示系统功能模块

4)通信功能模块 

5,编译

 二,自下而上的子母图设计

1,创建及保存工程 

2,创建子图

 3,创建母图

 4,创建纸张sheet

5,编译 

 三,引用模板

 1,创建模板原理图muban.SchDoc 

​☀☀

 2,让其他原理图调用模板


之前的多电路图的连接方式不便于工程管理与电路分析,很难看出电路部分之间的电气关系。为此,Altium Designer(dxp)提供了另外一种更为强大的电路原理图设计方案-层次式电路原理图设计。

现在让我来完成单片机时钟显示系统的层次原理图设计

(自上而下或自下而上的方法选一种)

一,自上而下的子母图设计

  • 实验报告要求1:

要体现子母图关系,如下图:

最后我的实现效果:

  可以点击下列网盘,直接下载所需要的文件到dxp软件中,之后直接编译工程即可

链接:https://pan.baidu.com/s/1V4ePZJh3ClKbUD2yhdv_iQ?pwd=6666 
提取码:6666 

如果想要知道详细步骤的请继续往下看: 

自上而下的电路原理图设计:根据电路原理将电路划分为若干个组成模块,先在层次式母图绘制出模块的方框图,以及电气连线,然后由系统生成各方块图的实际电路图绘制实际电路

1,绘制层次式电路母图

1)工程及原理图创建和保存

首先创建新的电路原理图,命名为“层次式电路图1.PrjPCB”,并添加原理图文件“main.SchDoc”(用来绘制层次式母图),如下为保存工程和原理图👇:

2)开始绘制层次式母图main.SchDoc

需要的层次式电路母图如下: 

2,绘制图纸符号

图纸符号代表一个实际的电路原理图,可以通过如下步骤设置一个原理图符号👇

 

 之后双击图纸符号,就可以对该图纸符号进行编辑和设置:

1)properties选项卡

2)designator标号

图纸符号的标号与元件的标号同样是唯一的,可以设置为对应电路原理图的文件名,便于理解。

3)filename文件名

图纸 符号所对应的电路原理图的文件是原理图符号最重要的属性,可以在后面的文本框中填入原理图文件名,或是单击【...】按钮,来选择对应的原理图文件。如下👇

请忽略左边栏中,工程里,除了main.SchDoc原理图以外的其他文件,不要去创建那些文件】 

 直接在图纸filename后面的文本框中填入原理图文件名。没有文件没事。不要去创建。

 

4)添加显示模块接口(图纸入口)

图纸符号之间的电气连接通过图纸入口来完成,而图纸入口又是以图纸符号为载体。因此只有在绘制好图纸符号之后才能在图纸符号上放置图纸入口。可以通过如下操作👇

 

可以看到图纸入口的默认方向bidirectional双向的,如果想要其他方向的可以进行修改

双击图纸入口即可编辑

 output

input 

 bidirectional

 修改后如下: 

 之后如法炮制另外两张图纸:

 

之后再添加电源系统功能模块:

绘制一个电源模块的图纸符号,命名为“Power”,该模块不需要添加图纸入口,因为电源和地网络属于特殊网络,同一工程不同图纸中的电源和地在电气上是相连的,不需要另外用端口连接。

 

 3,电气连线

可以使用快捷键p+b来生成一个总线用来连接,或者是通过工具栏获取,如下👇

 4,绘制层次式电路子图

由图纸符号生成原理图,可以如下操作👇

之后鼠标就会有一个“+”号附着,鼠标右击想要生成对应原理图的图纸,就会自动新建一个原理图,如下👇

 之后如法炮制,生成另外三个原理图。

有些元件找起来会比较麻烦,所以我按照自己使用过的元件(现在不超过20个,后续会更新),整理了一个word文档(使用时可以ctrl+f,输入查找元件名来找到对应的库名),有兴趣的可以去网盘中下载:

链接:https://pan.baidu.com/s/1V4ePZJh3ClKbUD2yhdv_iQ?pwd=6666 
提取码:6666 

 创建了对应的原理图之后,需要在里面绘制对应的功能模块,如下👇:

1)单片机系统功能模块

2)电源系统功能模块 

 3)显示系统功能模块

4)通信功能模块 

5,编译

如果之前在项目里面创建了其他的文档,建议在编译之前需要将一些无关的文档移出我们要编译的工程 。鼠标右击想要移除的文档,之后选择“remove from  project”,如下👇

只剩下我们想要的文档之后点击“project”项目→“compile  pcb  project xxx”编译pcb项目如下👇

运行完之后可以重启软件,文档就会呈现出子母图的效果:

 二,自下而上的子母图设计

自下而上的设计方法和之前的自上而下的方法刚好相反。

自下而上中,我们首先设计好各部分的电路原理子图,然后再由子图来生成层次式原理图母图。

依旧是完成单片机时钟显示系统的层次原理图设计

1,创建及保存工程 

2,创建子图

因为之前已经绘制好了子图,这里就直接将之前创建好的子图在当前窗口中打开,如下👇

 

 3,创建母图

 新建一个层次式电路图母图,不用就行任何编辑,命名为“main.SchDoc”后直接保存。如下👇

 4,创建纸张sheet

 

 

 之后 调整图纸入口如下:

 另外三个图纸如法炮制:

调整好后如下:

5,编译 

出现如下提示不用管 

 编译后没有效果,需要将项目关闭重新打开,如下👇

 

 

 以上就是层次式原理图的设计过程,有问题请在评论区留言,或者是私信我。

下面的可看可不看,有兴趣的看,因为之前引用模板已经实现过,对于大多数来说还是简单的。

 三,引用模板

  • 实验报告要求2

要在Title里写上自己的名字以及对应的电路名称,如下图:

 1,创建模板原理图muban.SchDoc 

 

 

 

 

 双击每一行的第一个“Text”进行修改

冒号后面的“text”我们使用引用的方式赋值,如下👇

 

 如果是第一次创建并使用模板,那么得到的效果就不是上面那样,而是下面这样:

这个时候需要进行如下操作:

dxp→“preferences”→“schematic”→“graphical  editing” →勾选“convert  special  strings”

 接着我们继续修改冒号后的test,如下👇

 

在第一行添加自己的姓名选项并指定引用类型👇

现在模板完成:

最后一步,将模板另存为模板类型文件,如下👇

 2,让其他原理图调用模板

 

 之后工程下的原理图都有了模板的右下角的标题栏(这里以Comm.SchDoc文件为例):

 

 

剩下的就一一赘述 了,有问题的评论区留言。一天8h在线。 

这篇关于DXP学习3-单片机时钟显示系统的层次原理图设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868867

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方