大佬能给一个单片机图纸程序和图纸吗?简单的,三个功能以上,三个也可以,单片机图纸c51

单片机图纸一个串口复用问题 [问題点数:40分结帖人u]

我用一个单片机图纸的TXD,RXD分别接两个模块,从一个接受信息另一个发送信息,可以分时进行电路不冲突(单个模块呮与单片机图纸的TXD RXD中一个连接即可通信),但波特率不同那我是不是要分两次初始化串口呢?能实现吗还有串口中断怎么写呢,可以通过写入SBUF的信息不同来判断吗(分开单独通信已经搞定了)

“但波特率不同,那我是不是要分两次初始化串口呢”

什么叫开销大啊还囿我通过辨别发送接收内容不同怎么写串口中断呢?


根据波特率不就可以判断了吗

假设需要从A读信息发送到B

先设置成A的波特率,进中断读取数据,配成B的波特率发送出去,再设置成A的波特率等待

我接收信息是持续的,我在特定的时候发送信息怎么让串口从接受改为發送呢

“根据波特率不就可以判断了吗?”怎么判断啊判断哪个量的值?

就我们产品进行分时复用串行口的经验看,这样不太好弄.当然,峩们是分别对两个设备,和楼主的有点区别

在用到对应的设备的时候,重新配置串行口

同时把接收和发送功能互斥配置(大概就是,接收数据的时候,不允许发送,发送数据的时候不允许接收)

虽然没这么用过,不过,感觉应该可以实现

根据波特率不就可以判断了吗
假设需要从A读信息发送到B
先设置成A的波特率,进中断读取数据,配成B的波特率发送出去,再设置成A的波特率等待

用波特率判断可行吗,判断哪个参数呢


根據波特率不就可以判断了吗?
假设需要从A读信息发送到B
先设置成A的波特率进中断,读取数据配成B的波特率,发送出去再设置成A的波特率等待。

用波特率判断可行吗判断哪个参数呢?

你应该预先知道A和B的波特率

那么你设置成A的波特率的话,B发送的信息你是收不到的

另外根据你的描述,你只要配置成A的波特率B只是被动接受你发送的信息,所以你可以收到A的信息重新配置波特率然后发送给B发完后洅配成A的波特率。

一个串口当两个不同的波特率串口用时可以的但是,要是有两个独立的串口不就好了嘛干嘛非要这么折磨自己呢。

鼡IO口模拟一个TXD就是了反正是固定波特率的。自己延时程序调下就可以了

解决了啊,收和发前分别初始化串口还是可以用的谢谢大家嘚建议

匿名用户不能发表回复!

这是MFC上对应的一个按键的程序,发送的是32X16的单色图片

//以下为读取BMP文件的程序

为什么每次在编辑框里显示的总是h求大神解答!


转自—————————->


当进行大型工程设计时只靠一张图纸是无法实现的,这时需要用多个图纸进行开发设计一个多图纸设计工程是由逻辑块組成的多级结构,其中的每个块可以是原理图或是 HDL文件在这结构的最顶端是一个主原理图图纸——工程顶层图纸。

多图纸结构一般是通過图表符(sheet symbol)形成一个图表符对应一个子图纸;在主原理图图纸放置图标符,通过图表符与子图纸进行连接而子图纸也可以通过图表苻与更底层的图纸连接。通过点击“Place》Sheet Symbol”或 a1图标来放置图标符号如图 1:

我们可以在“Designer”区域输入标识符,若标识符包含有Repeat关键字的语句还能实现多通道功能(下文有详解)。而在“File Name”输入想要调用的子图纸文件名称(不分大小写)则可实现对子图纸的调用。还有其他方法能生成图表符具体方法见下文。

当多图纸工程编译好后各个图纸间的逻辑关系被识别并建立一个树形结构,表示各个图纸的逻辑關系如图 2:

层次结构包含如下三种:

”等命令创建子图纸、底层VHDL文件和底层Verilog文件。

3) 混合原理图/HDL文件层次:这种情况下图表符通过不同的文件名称来调用HDL文件或原理图

1.3.1端口与图纸入口的同步

选中不同步的端口,若想改变子图纸嘚端口使其与图表符匹配,则选中间的图标(第一个);相反就选第二个

1.3.2 重命名图表符对应的子图纸

若想偅命名一个图表符对应的子图纸,一般的思路是先改子图纸的名称然后再改图表符的“file name”,最后编译工程现在AD提供了重命名子图纸的功能“Design》Rename Child Sheet”,出现浮动的十字光标点中想重命名的图表符,出现如图 4对话框:

我们可以根据自己的需要设置相关的选项

在設计过程可能会重复使用某个图纸,此时我们可通过两个方法实现:1)通过多图表符重复调用同一个子图纸;2)通过具有Repeat关键字的图表符这里具体介绍下第二种方法:在图表符的“Designator”区域输入包含Repeat的语句,其格式如下:

1.5 单个图表符调用多个子图紙

在图表符的“File Name”区域输入多个子图纸文件的名称并用分号隔开,则能实现单个图表符调用多个子图纸的目的;而这些子图纸间的相互連接可通过跨图纸接口(off-sheet connectors)实现

2.1 各类网络标识符

由于我们使用到多图纸功能,这时需要考虑图纸间的线路連接在单个图纸中,我们可以通过简单的网络标签“Net Label”来实现网络的连接;而在多图纸中网络连接涉及到的网络标识符比较多,下面具体介绍:

最基本的网络标识符是网络标签(net labels)在单个图纸内,它们可以代替导线来表示元件间的连接在多图纸设计中,其功能未变能表示单图纸内部的连接,也可以 用于多图纸之间的连接

端口(Port)既可以表示单图纸内部的网络连接(与net labels相似),也可以表示图纸间嘚网络连接端口(Port)在多图纸设计中,可用于纵向连接和横向连接横向连接时,可以忽略多图纸结构而把工程中所有相同名字的端口連接成同一个网络纵向连接时,需和图表符、图纸入口相联系——将相应的图纸入口放到图纸的图表符内这时端口就能将子图纸和父系图纸连接起来。

跨图纸接口(Off Sheet connectors)提供了介于端口和网络标号的作用当一个图表符调用多个子图纸时,这些子图纸间的网络连接就可以跨图纸接口实现——在这些子图纸中放置跨图纸接口当接口匹配时就能连接起来。注意跨图纸接口的连接作用只限于这一组子图纸间嘚连接,一般情况下不要用于其他图纸结构的连接

电源端口(也叫电源对象)完全忽视工程结构,并与所有的参与链接的图纸上匹配的電源端口连接起来

下面简单列举各类网络标识符的区别:

注:这里涉及到工程里面关于端口范围的设置,打开设置对话框(Project->Project Option点击Option标签),在“Net Identifier Scope”区域可以选择网络标识符的作用范围一般情况都是选择“Automatic”模式即可,AD会自动判断其他的还有“Flat”,“Hierarchical”“Global”模式,在特殊情况下可根据需要选择

如果要使网络标识符表示反相模式,只需在命名网络名称的每个字符后面加一个反斜杠(如E/N/A/B/L/E);或是在Preferences对话框中的Schematic-Graphical Editing页面内选中“Single‘/’Negation”复选框,之后在网络标识符名称之前加个反斜杠即可(如:/ENABLE)

2.2 网络连通性实例

如图 6,这个原理图工程被自动识别为分层次作用域因为其父系图纸中的图表符带有图纸入口。这时端口HP-L和HP-R通过图纸入口连接到一起;而两个子图纸Φ的C1和C2则不能跨越图纸连接

如图 7,此工程只有端口不存在图纸入口,因此作用域被自动设置成全局端口工程变成平行结构,此时工程上的所有匹配端口都会连接在一起但网络标签仍不能跨图纸连接。这时即使顶层图纸移除也不会影响工程

如图 8,此工程没有端口和圖纸入口使得网络标签能够跨越图纸,在匹配的情况下进行全局连接;此时移除顶层图纸工程仍能正常编译

例4:全局网络标号和端口

洳图 10示,此工程有四个子图纸图表符“Group A”调用了两个子图纸“A1.schdoc”和“A2.schdoc”,“Group B”调用了子图纸“B1.schdoc”和“B2.schdoc”此时图纸“A1.schdoc”内部的C1、C2能够和圖纸“A2.schdoc”中的C1、C2相连接,同理图纸“B1.schdoc”和“B2.schdoc”也能够实现网络的连接但这两个组间不会进行网络连接(如图纸A1.schdoc的C1不会连接到B1.schdoc的C1)。这就昰跨图纸接口的作用能增大图表符的图纸范围。

现在要设计一个2.0低音功放此时假设有一个现成的有源低通音频滤波器原理图(filter.SchDoc),一个双通道功率放大器原理图(Amplifier.SchDoc);我们可以直接使用这两个原理图来实现此设计功能:创建一个PCB工程和原理图将现荿的两个文件添加到此工程中,然后在新建的原理图中创建两个图表符其中一个图表符调用双通道功放,另一个通过多通道功能调用两佽滤波器之后就可以进行连线,最后编译工程

注:filter.SchDoc原理图中要用到的信号有输入(IN),输出(OUT);Amplifier.SchDoc原理图中要用到的信号有左输入(IN_L)右输入(IN_R),左输出(OUT_L)右输出(OUT_R)。设计前可先创建好工程的文件夹将这两个原理图文件复制到工程文件夹中。

1) 创建PCB笁程给新工程添加新原理图toplevel.SchDoc,并将两个现成的原理图添加到工程中之后save all。

file”在弹出的窗口中选择“filter.SchDoc”文件;之后重命名“Designator”为“repeat(FI,1,2)”,表示调用两次filter.SchDoc图纸注意,所有子图纸的公共网络是按照正常的方式连接的此时图表符的图纸入口名称不用修改;而子图纸都有的但叒是各自独立的网络则是以总线方式引出,总线中的每一条线连接一个子图纸此时图表符的图纸入口需修改为Repeat(端口名),如本例中的輸入需改为Repeat(IN)如下图示。网络是以在导线上放置总线名的方式(而不是以总线范围的方式)来表示当设计被编译时,总线就会被分解为每个通道带有一个标识的独立的网络(从IN1到IN2)IN1连接到FI_1子图纸,IN2连接到FI_2子图纸如图

5) 放置其他元件,连接好线路如图 14,然后编译工程

编译好之后,可以看左边的面板发现工程变长树形结构,如图 15

3.3 关于多通道设计的几点说明

多通道设计多次调用同一个子图纸,在编译之后会为各个通道分配好标识符,进而映射到PCB文件中;点击“Project->Project Option”在打开的对话框中單击“Multi-Channel”标签,如图 16示在这里可以设置到通道(ROOM)和元件的命名方式。

1) 通道(ROOM)的命名

下拉列表的选项设置ROOM的命名方式命名方式包括了2种平行化和3种层次化类型,可根据具体情况选择;在有多级room的情况下其命名结构为(通道前缀+通道索引)。我们可以随便选择一种命名方式其命名情况如上图;该图片给出了一个2*2的通道设计例子,共有6个通道每个Bank一个,4个较低层次通道各一个且层次化命名类型還支持通过“Level Separator for Paths”来修改分割路径信息的符号。

元件命名一般包括通道名称元件命名类型有8种,在“Designator Format”下拉列表可以选择具体的命名方式用户还可以直接在对话框里输入自定义的元件标识符命名方式,其中可能会用到一些关键词如表 1

工程被编译后,我们可以在被多佽调用的子图纸界面下方看到多了一些标签如图 17示。我们可以单击相应的标签查看里面元件标识符的分配情况之后给工程添加一个PCB文件,通过“Design->Update PCB”将元件导入到PCB文件中;转换过程会自动为每个子图纸建立一组元件中每组元件有一个room并将元件都置于room之中。对一个通道布局布线后可通过“Design->Rooms->Copy Room Formats”来复制该通道的布局与走线到另一通道中。

3.3.3查看通道标识符分配情况

AD提供的Signal Harness功能支持将哆个导线、总线包裹在一起进行连接。在导线、总线连接较多且复杂的原理图中我们可以使用Signal Harness将这些线路汇集在一起,结合各种网络标識符进行图纸内或跨图纸连接一般Signal Harness系统包含有四块:Signal Harness(连线c1),Harness Connector(连接器c2)Harness Entry(入口c3)和Harness Definition File(定义文件)。前三者在画原理图时需用到朂后的定义文件则会自动生成(前提是使用了Harness Connector)。其原理图如图 19

放置端口“AUDIO”和其他的网络标签,之后进行连线;其中AUDIO需用Signal Harness连接

之后鈳以在图纸内其他需要连接的地方再建一个Signal Harness,通过端口连接起来;如果需要连接的电路在其他图纸内同样可以通过端口(port)将电路连接起来。

我要回帖

更多关于 单片机图纸 的文章

 

随机推荐