
仿真
文章平均质量分 60
介绍proteus中仿真arduino,avr等,atmega,stm32,stc等
河西石头
二十年如一日
展开
-
proteus中的各种电阻-可变电阻-排阻
proteus中各种电阻的使用和查找原创 2023-09-18 08:18:58 · 35669 阅读 · 1 评论 -
利用芯片74hc165为单片机增加输入扩展端口proteus仿真arduino
常规我们拿到的165的芯片是这样的,芯片手册中的管脚顺序及命名方式和proteus中的有所差别(左边的图为芯片手册中的图,右边的为proteus中的图)很明显,我们看到proteus中9号管脚为SO,而芯片手册中的9号管脚为Qh,名称不但作用都是输出脚。原创 2023-09-15 22:11:25 · 3626 阅读 · 1 评论 -
CD4029计数器实测仿真及BCD转七段码
CD4029计数器使用案列演示4511使用演示原创 2023-08-09 20:07:14 · 3736 阅读 · 1 评论 -
在proteus中仿真arduino驱动点阵屏matrix-led
我们都知道,如果我们仅仅在某个时间段点亮一个数码管是没有任何困难的,但如果我们点亮多个数码管就会出现问题,因为多个数码管都使用着同样的端口来控制数码管的各个段的亮灭。所以,就会用上一个很重要的方法,对,这个方法就是视觉暂离(人的视觉暂留是0.05~0.2秒),也就是利用它我们就可以让人眼看起来,多个数码管是同时点亮的。下面我们要介绍的点阵屏(led-matrxi)要显示多种图形,也必须用到这种视觉暂留的方法。下面我们从点阵屏的一般使用开始来了解点阵屏显示各种花样图形的显示方法。原创 2023-07-03 23:34:16 · 2231 阅读 · 4 评论 -
Proteus中模拟CD40110操作及555组合成计数器
一、管脚及功能介绍40110为十进制可逆计数器、锁存器、译码器驱动器,具有加减计数,计数器状态锁存,七段显示译码输出等功能。40110有2个计数时钟输入端CPU和CPD分别用作加计数时钟输入和减计数田钟输入。由于电路内部有一个时钟信号预处理逻辑,因此当一个时钟输入端计数工作时,另一个时钟输入端可以是任意状态。40110的进位输出co和借位输出Bo一般为高电平,当计数器从0~9时,BO输出负脉冲;从9~0时cO输出负脉冲。在多片级联时,只需要将CO和Bo分别接至下级40110的CPU和CPD端,就可组原创 2020-06-30 11:17:43 · 9459 阅读 · 9 评论 -
proteus+arduino+ws2812仿真做彩虹流水灯带环
proteus必学案列arduino必学案例proteus+arduino+ws2812仿真原创 2023-03-14 11:18:38 · 2627 阅读 · 0 评论 -
proteus中仿真arduino驱动模拟器件(蜂鸣器继电器电机)
proteus仿真,arduino中驱动蜂鸣器,arduino中驱动直流电机,arduino中驱动继电器。原创 2023-03-08 18:12:23 · 3604 阅读 · 1 评论 -
proteus光敏电阻电路的arduino仿真
proteus仿真arduino光敏电阻,模拟电路,分压电路与模拟信号的采集注意点。原创 2023-03-07 22:27:43 · 6453 阅读 · 0 评论 -
利用keil arm编译器在proteus中仿真stm32
也许很多人都会讨厌keil 或者stm cube繁杂的配置过程,选出型号之后还有诸多的配置,那么又没有一种办法用上keil arm的编译器来编译我们的stm32,又不使用其他不熟悉的编译器(如yagarto)呢?其实我们知道,我们使用stm32一般会有两套库文件,一套是HAL,一套是标准库。keil arm中使用的就是标准库。那么我们怎么来使用它呢?......原创 2022-08-14 10:52:14 · 4627 阅读 · 2 评论 -
用proteus直接仿真stm32-可以完全丢弃编程器
stm32经济实惠,但它的使用又不如arduino那么便利,总是要弄一个下载器st-link或者也要一个usb转ttl的ch34或者lp2002的转换器连接着,一个“痣”,麻烦!stm32在许多的小项目中使用非常的频繁,或许很多人的嵌入式入门就从stm32开始,这里我们来看看在proteus中如何来仿真。对于初学者而言,我们更多的还是想在proteus中仿真一下更好,不必卖硬件,更不必买下载器等。下面我们就介绍如何实现哦!...原创 2022-08-09 09:37:30 · 15727 阅读 · 10 评论 -
arduino仿真单数码管
数码管的运用,在单片机学习中是非常基础的,而且很多的设备也是必须的显示设备,这里我们利用arduino来学习控制数码管。原创 2021-12-11 22:41:09 · 720 阅读 · 0 评论 -
proteus中仿真时钟计时器DS1307
#include <LiquidCrystal.h>#include <DS1307.h>#include <Wire.h>LiquidCrystal lcd(13,12,11,10,9,8);int clock[7];void setup(){for(int i=3;i<8;i++){ pinMode(i,INPUT); }lcd.begin(20,2);DS1307.begin();DS1307.setDate(16,4,29,0.原创 2021-11-16 09:07:47 · 3037 阅读 · 0 评论 -
Proteus中利用74HC192实现八进制演示
网上的某个在校的童鞋,希望实现一个计数器来实现的八进制电路。这里帮忙用HC192计数器搭建了电路(有关74HC192芯片的说明请参看我前面的博文《arduino结合74hc192实现计数显示》),并做了仿真,效果如下:说明:1、这里采用192芯片计数输出的是BCD编码,所以数码管也是采用的BCD的数码管输出。2、八进制的关键是二进制的最高位为1时触发高位192芯片的计数脉冲及自身位的清零信号。3、192芯片是MR(有的软件中位CR)高电平清零,所以要使芯片处于计数状态则MR=0,且DN=PL1 特原创 2021-11-15 09:14:24 · 6740 阅读 · 4 评论 -
proteus中仿真AVR实战入门之一单数码管
前面我们介绍过数码,七段数码管的本质是7个LED灯,也就是说和流水灯的操作方法没有两样,一般来说单数码管的使用仅仅是出学者学习过程中的一个测试性的程序,实用性并不大,但可以锻炼我们对字节数组的理解,以及单片机多管脚组合输出的理解。这里我们使用的是ATMEGA16,外加了一个排阻。我们看到,PB7没有信号的变化,那是因为我们在设定字节数组是的编码决定了这我们没有给这个管脚输出过高电平。我们可以把代码中的十六进制换成二进制,那样更加明显,如下代码十六进制编码:#include <inttypes原创 2021-11-13 11:37:36 · 1650 阅读 · 0 评论 -
proteus中仿真AVR实战入门之一blink与流水灯
一开始,我们还是用最简单的案例来最为入门练手,那就是我们嵌入式编程的注明LED闪灯和流水灯。效果如下图:代码如下:#include <inttypes.h>#include <avr/io.h>#include <avr/interrupt.h>#include <avr/sleep.h>#include <util/delay.h>#define uint unsigned int void DelayMS(uint i)原创 2021-11-12 18:43:31 · 652 阅读 · 0 评论 -
proteus中的各类开关及其使用
proteus中有各种开关,主要分为两类:通断开关,逻辑开关,本文将他们归纳呈现出来。原创 2021-11-05 23:05:48 · 61190 阅读 · 1 评论 -
解决Proteus中的[SPICE] * stepping time与[SPICE] TRAN Timestep too small错误
先上图[SPICE] transient GMIN stepping at time[SPICE] TRAN: Timestep too small; timestep = 6.60796e-008: trouble with node #00039.关于这两个错误警告,我想但凡使用protues来仿真的人没有少遇到这样的困恼。可说得上是既害怕有无奈。这是如何造成的呢?有的时候还有点摸不到头脑,为什么呢?同一个文件,在这台电脑上运行可能没有丝毫问题,跑到另外的电脑上运行却曝出这样的警告,导致仿真原创 2021-11-07 22:05:43 · 24935 阅读 · 16 评论 -
用proteus中的信号源测试WS2812原理试验
我们首先在proteus中找到WS2812B,给其加载一个Pattem信号源,如下图:在根据WS2812所需要的脉冲宽度进行修改,首先,实现逻辑0需要的是一个低电压在0.8us左右,高平电压需要0.35us,逻辑1则需要高电平0.7us,低电平0.6us。我们设置一个大于500ns的值(一般0.5us~5us都可以)如下图:很明显,WS2812B被点亮。对于这傻傻的点亮我们可能不满意的,我们希望看到的是流动起来的样子。那么,我们就必须有一个能够产生有规律的变化的信号才可以达到我们的目标。..原创 2021-11-06 08:38:53 · 3433 阅读 · 0 评论 -
proteus中仿真51单片系列之--流水灯程序
我们这里依旧使用P0端口来实现流水灯。增加了一个LED-BAR和一个排阻(RESPACK),这里的LED灯条我们有十个等,但由于P0端口只有八个口子,我们就只使用了八个。代码:```c#include <reg51.h>#include <stdio.h> void delayms(int ms);sbit LED0=P0^0; bit i=0; void main(void) { // Write your code here P0原创 2021-11-01 22:30:31 · 1251 阅读 · 0 评论 -
proteus中仿真51单片系列之---blink点灯程序
51单片时间世界上最简单的点灯闪灯程序就好比我们在学习java或者C语言的hello world!但我们还是要从这里入门,了解51单片机的操作,尤其51的四组GPIO(通过输入输出口P0~P3)为保证我们的点亮成功率,我们首先用P1端口来点亮如下图#include <reg51.h>#include <stdio.h> void delayms(int ms);sbit LED1=P1^0;void main(void) { // Write yo原创 2021-11-01 21:45:41 · 849 阅读 · 0 评论 -
4511或74LS48来实现BCD转7段数码管及逻辑状态输入演示
数字电路中常常需要设定一个逻辑输出以测验预定的结果,那么proteus就提供了这么一个元器件,logic state indicator。我们辅助加入4511的BCD转7段数码管显示的芯片,通过设定逻辑编码值,我们可以看到仿真预定的显示结果非常的理想。...原创 2021-10-29 15:16:45 · 9651 阅读 · 2 评论 -
proteus中管脚的逻辑状态显示测试
在做数字电路的时候对于端口的逻辑状态测试是常常遇到的,所以特意拿出来说说,介绍一下逻辑状态在proteus中怎么测试。首先我们必须找到这个器件(我们许多人可能会在标签模式或者终端模式、仪器库里去找),输入logic state indecator就可以找到,如下图:将上面的逻辑状态显示器加入工程里面,同时辅助加入一个ThumbSwitch,如下图:打开运行点击上下开关,显示出2的二进制编码的逻辑状态,如下图也可以从A字母开始这个测试在4管脚BCD码的数码管中也特别有用哦,如下图原创 2021-10-29 15:04:11 · 7161 阅读 · 2 评论 -
proteus中的标签及总线的使用方法
我们在proteus中绘制原理图的时候常常会遇到元器件的连线比较繁杂,导致原理图看起来比较乱,或者不是太好看,我们一般采用两种比较典型的方式来解决。一、标签1、终端模式下的标签终端模式下的标签须确保我们已经选择了终端模式,如下图2、连接下模式下的标签如下图,选择LBL图标,在任意连接线上点击即可给连线标注文字。如下图:二、总线1、总线的绘制使总线模式图标处于选择状态,如下图所示:在空白处单击(一定是单击,而不是按住左键不放的拖拽绘制,否则绘制不出总线),单击后拖动即可以绘制出总线,双原创 2021-10-29 13:01:49 · 80434 阅读 · 10 评论 -
proteus中仿真51单片系列之--单个数码管计数器
51的仿真在proteus中也是十分的方便,默认情况下,我们不必要将典型电路绘制完全就可以开始仿真,如下图,我这里没有把震荡电路接好,同样可以很方便的仿真。代码如下:#include <reg51.h>#include <stdio.h> unsigned char led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(unsigned int time); void m原创 2021-10-24 21:59:57 · 7140 阅读 · 0 评论 -
arduino中利用LiquidCrystal内置的scrool函数实现屏幕文字滚动播放
我们如果实现简单的LCD的屏幕文字滚动其实也不难,但这里我们还是先用拿来主义。首先,我们必须在类库管理器中找到LiquidCrystal的对应库文件,这里不再赘述。现在假定你已经成功安装了库文件了。那么我们可以开始看看其中的有关scrool的内置函数:scrollDisplayLeft() //向左滚动scrollDisplayRight() //向右滚动autoscroll() //自动滚动开启noAutoscroll()原创 2021-05-15 21:11:08 · 1716 阅读 · 0 评论 -
为proteus仿真arduino添加库文件
比如,我们在proteus中加入了一个onewire的器件,程序中就必须要包含这个类库,而且我们的proteus中也必须有,否则就会出现下面的代码。为什么找不到这个对应的目录呢?并不是我们的机器里没有,同样的这个程序我们在arduino的IDE中编译是没有问题的,说明只是我们的proteus中没有。要解决这个问题,我们就直接在arduino的IDE工具目录下找到这个文件夹即可。如果你的arduino下也没有,那就是你从来没有下载过,来到tool下的library manager直接下载吧!在搜索栏中输原创 2021-04-11 15:32:29 · 4499 阅读 · 0 评论 -
proteus中仿真max7219显示2个4位数码管
Max7219是一款不错的SPI芯片,尤其给LED和数码管带来了极大的便利。这里我们用proteus来仿真,体验一下它的便利之处。#include <LedControl.h>// inputs: DIN pin, CLK pin, LOAD pin. number of chipsLedControl mydisplay = LedControl(11, 9, 10, 1);void setup() { analogReference(INTERNAL); mydis原创 2020-09-13 22:58:27 · 2213 阅读 · 2 评论 -
在proteus中仿真18B20并实时显示
对于没有试验条件的童鞋来说,在Proteus中仿真18B20温度传感器的实验是个不错的选择。下面是电路连接图:用到的器件有:代码如下: #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal.h> #define ONE_WIRE_BUS 8 OneWire oneWire(ONE_WIRE_BUS); DallasT原创 2020-09-12 17:19:47 · 1162 阅读 · 0 评论 -
proteus仿真中虚拟终端的设置virtual terminal
在proteus仿真单片机的时候,比较麻烦的是串口通讯,实际串口通讯也就是一个收发显示的问题。这个一般的可以通过虚拟串口软件来解决(如virtual serial port)。但如果我们没有真正的出口需求的软件,只是想通过串口输出显示的话,完全不必那么麻烦。用一个虚拟终端就可以解决问题。一、代码比如,如下代码,我们仅仅想将写入和读出内存的内容显示出来看看是否正确,那么这个时候虚拟终端就是我们最理想的利器`#include <EEPROM.h>int addr = 0;void set原创 2020-07-05 17:26:04 · 30927 阅读 · 2 评论 -
单片595控制显示多位数码管
本文所讨论的是在proteus下仿真的,利用arduino及595控制的多位数码管的显示。一、电路连接如下图所示,提供了三种常见的数码管显示。从前面的显示二位数码管的例子中我们已经熟悉了,多位数码管无非就是多了几层循环用来将高位的数字代码重复从595中shiftout出去到数码管的管脚。二、参考代码外层可以根据需要设置6层循环,或者索性如下面的代码,给你一个固定的显示数字的数字即可,比如下面代码中的disNum[]. for(int k=0;k<speed;k++) {原创 2020-06-30 22:07:44 · 1686 阅读 · 0 评论 -
proteus中仿真arduino利用74hc373实现抢答器
首先,我们来介绍一下74HC373。74HC373和74LS373原理一样,8数据锁存器。主要用于数码管、按键等等的控制。这里我们用来制作抢答器。74HC373 的输出端 O0~O7 可直接与总线相连。当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。原创 2020-05-12 15:56:29 · 2977 阅读 · 0 评论 -
proteus中仿真D触发器CD4013
这里我们利用CD4013来做一个开关,以期达到演示原理的效果。硬件连接如下:运行起来效果如下:这里需要注意的是,本电路是模拟电路和数字电路混合的电路,那么在运行仿真的时候会发生错误提示:Timestep too small,我们可以进入System -> Set Animation Options -选择 SPICE Options:继续选择Settings for Bette...原创 2020-05-02 12:13:20 · 11301 阅读 · 0 评论 -
protues用一片74hc595控制两位数码管
前面的博文中我们介绍了一个arduino中用一片595来控制一位数码管,这里我们介绍一个595来控制两位数码管。两位数码管的动态显示机制可以简单的理解为交错显示,仅仅是我们的视觉停留看起来使我们觉得他们是同时显示的。听起来有点复杂吧,这样吧,我们依然从显示一位数字开始。然后我们再尝试显示两位静态的数字,最后我们再来看,两位数字的动态显示。一、显示一位数字代码:看看效果:二、显示两位静态...原创 2019-12-25 18:05:08 · 4756 阅读 · 0 评论 -
解决Logic contention(s) detected on net 错误
proteus仿真的确是很不错。有的时候会有莫名的黄色感叹号信息,其中这种Logic contention(s) detected on net xxxx是最常见的。1、logic contention detected on net +5v这个很显然,是将+5V电源接在了错误的管脚上,去掉即可解决。2、logic contention detected on net xxx这个xxx泛...原创 2019-12-25 09:41:07 · 33040 阅读 · 0 评论 -
proteus中仿真arduino利用74hc595控制数码管
前面我们介绍了利用595控制LED的方法(具体参考《proteus中仿真arduino利用74hc595控制LED》),这里我们继续前面的话题,介绍一下在proteus中仿真arduino利用74HC595控制单个数码管的方法。一、电路用到的器件:Atmega328P、74HC595、7SEG-DIGITAL、Resistor、LED-RED二、代码int latchPin=12;in...原创 2019-12-14 11:01:58 · 2333 阅读 · 0 评论 -
数码管与二进制及十六进制
一、数码管介绍数码管实际就是七个到八个LED组成的显示模块。如下图:我们可以看到,它有10个管脚,两排管脚的中间管脚是公共极,其余的头顶的靠近公共极的右边第一个管脚算起顺时针分别对应8字的一个边及一个点,从头顶第一段开始顺时针分别命名为a,b,c,d,e,f,中间的一段为g,小数点命名为dp。管脚则按照就近原则,上“口”字的右上方两段在上公共极的右边,左下两端分别在上公共极的左边,下“口”字...原创 2019-11-29 22:29:45 · 13425 阅读 · 0 评论 -
proteus从开发板新建arduino仿真项目实例
实际上,我们前面(两篇博文《proteus下仿真arduino》《Proteus Visual Designer仿真arduino实例讲解》)介绍的两种proteus仿真项目应该说是比较繁杂的,这里我们介绍一种新的方式——From Development Board,一步就搞定了基本的元器件配置,在此基础上我们则可以进一步展开arduino的仿真,打开proteus,直接新建项目时选择From D...原创 2019-01-07 16:22:57 · 7259 阅读 · 2 评论 -
Proteus Visual Designer仿真arduino实例讲解
首先,我们来新建一个工程在选择PCB向导中选择Arduino UNO R3在选择硬件向导对话框中,我们选择有流程图的工程,如下:next到finish,进入到工程,我们就可以得到一个默认添加了Arduino UNO及一个button一个黄色LED灯、一个电阻的Schematic Capture,如下图:这里的PCBlayout暂时没有什么用,可以关闭它,但Visual Design...原创 2019-01-07 11:50:45 · 5414 阅读 · 2 评论 -
proteus下仿真arduino
proteus早在8.4版本的时候就能够较好的对arduino进行仿真了,也过了一两年了,我们来看看现在的proteus最新版对arduino的仿真是否更稳定更强大。废话不多说,我们首先要下载并安装好proteus。Proteus8.8云盘下载地址一、安装proteus选择好本地License(这个文件在下载文件夹的crack文件夹中,通过Browse for key file浏览找到L...原创 2019-01-07 09:00:36 · 23052 阅读 · 10 评论 -
proteus下仿真Arduino实现流水灯
一般来说,我们学习51还是Arduino估计都是从一个闪灯程序开始的,这就好比学习C++或者Java的第一个程序hello world一样。估计闪灯程序之后紧接下来的就是流水灯了,实际流水灯的实现在很多初学者看来也不是很难,无非跟写数字一样,一字写一横,二字写二横,无非多写几横而已(哈哈哈哈)。按照上面的思路程序很容易出来,如下:setup(){//设置管及管脚的pinMode}vo...原创 2019-03-07 09:13:35 · 4491 阅读 · 2 评论