完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
Arduino-Proteus仿真05-分立式数码管循环显示0~9
前言: Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路和集成电路,其提供了大量模拟与数字元器件及外部设备,以及各种虚拟仪器(如电压表、电流表、示波器、逻辑分析仪、信号发生器等),特别是它具有对单片机及其外围电路组成的综合系统交互仿真功能, 目前,Proteus仿真系统支持的主流单片机有ARM7(LPC21xx)、8051/52、AVR、PIC 10/12/16/18/24、MSP430、CotexM0/M3、HC11等,其支持的开发环境有Keil u Vision2/3/4、MPLAB、Atmel Studio等。 提示: Proteus仿真Arduino中,关于所需硬件获取、软件编译、HEX文件获取、代码导入等问题请参考文章:Arduino-Proteus仿真01-LED灯闪烁 1) 描述 数码管可以分为共阳数码管和共阴数码管两种,本例中使用的是共阳数码管,因此将公共端接到Arduino的+5V上。单个数码管中有7颗led,当显示数字“8”的时候将点亮所有7颗led。仿真电路中,单只共阳数码管的名称为 “7SEG-COM-AN-GREEN”,7SEG代表7段,COM-AN代表的是共阳,GREEN表示led颜色为绿色;共阴数码管组件的名称为“7SEG-COM-CAT -GREEN”。 2) 元器件选择 ·ATMEGA328P ·7SEG-COM-AN-GREEN ·RX8 ·LED-YELLOW ·RES(220O欧姆) 在元件模式中点击P选项,在元件库中搜索所需的元件名称,双击后便可添加到元件清单中。 3) 电路连接 从电路连接图上可以看到,单只数码管的公共端连接到VCC,其余7个引脚,先连接到330欧姆的排阻上,再分别接到Arduino的引脚上,分别连接0~6号IO口。 这里说明一下,单只共阳数码管的段码标号如下图。其中abcdefg分别对应接到了Arduino的0~6,如果想让数码管显示1,只需要将b、c两个led引脚拉低即可,其他位均拉高电平,用2进制表示为11111001,对应的16进制数据为0xF9, 大家可以打开自己电脑的计算器,转换为程序员模式,看看二进制数据与16进制数据的转换。 4) 程序设计 5) 程序说明: 源程序中先定义一个数组,用来存放显示0-9的数据; 之后定义led引脚数组,方便之后对其进行引脚的模式设置和操作对应引脚的电平 if((CA_SEGCODE 》》 j) & 0x01 == 1) digitalWrite(ledPins[j],HIGH); else digitalWrite(ledPins[j],LOW); 通过数据的移位并与0x01进行与操作,当比较的位的数据为1,则拉高对应的引脚,因此该led不亮,当比较的位的数据为0,则拉低对应引脚的电平,led亮起。 5) 软件操作 程序编写完成后点击Arduino IDE编译器的文件—首选项,将编译选项勾选上。点击好以后进行编译,编译完成后复制HEX文件所在的路径,复制完成后返回Proteus软件,双击Arduino控制板,在Program File处粘贴HEX文件的路径。点击确定以后即可进行仿真,点击Proteus软件下方运行仿真按钮,可以看到仿真的效果。 |
|
|
|
只有小组成员才能发言,加入小组>>
2591 浏览 0 评论
783浏览 1评论
218浏览 1评论
548浏览 0评论
298浏览 0评论
499浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 05:58 , Processed in 0.894609 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号