完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
数码管仿真 及静态驱动
数码管原理 是最常见的显示器件,其内部是8个led,按照连接方法分共阳和共阴两种。共阳的com端接正电,信号端接低电平亮;共阴的com端接GND,信号端接高电平亮。 资料请自行百度。 仿真模型 新建proteus空工程,在主窗口区域点右键,选 放置-原件-从库 如图 在左上第一个框里输入7seg 回车,在右面找 7seg-mpx1-ca。ca是共阳,cc是共阴。 搭电路如下验证。 电源和接地符号在主窗口左侧竖立的工具条,从上往下数第八个,点击后其右侧出现power、Gnd 等端子,点击并放置到电路图即可,连线简单,自己尝试即可。 数码管的静态驱动电路 单片机驱动数码管,一般都选共阳数码管,原因在于单片机芯片吸收(灌入)电流比较容易,输出电流比较困难,会导致发热增大。 现在看起来只需要把数码管的8个信号端代替连接上节课的8个独立led即可。请自行复制粘贴 刚才画的数码管到上节课电路实验。(先留备份,再修改) 修改后电路如图。运行程序,会发现有显示,但是不是你预想的数字。 注意----电路仿真没有问题,但如果要实际稳定使用,需要给数码管每一位信号上串入270欧姆电阻,用来限制流过led的电流。具体计算书上有,自己看看。 修改程序,显示数码。 原程序第20行 unsigned char code led1[] ={ 0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; //试试看,把0x后面的值 改成其它--16进制数--有什么效果。 改成 unsigned char code led1[] ={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //试试看,把0x后面的值 改成其它--16进制数--有什么效果。 第48行改成 for (time=0;time<16;time++) //for循环什么意思 运行看看,数码管已经可以显示0–f ,一位十六进制数了。 思考:码表的每一个数字是怎么来的? 看书、百度、bing……搞明白。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:17 , Processed in 1.113092 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号