完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
大家拿到国信长天这块开发板的时候先不要着急下手编程,一定要先看一下这块板子都有哪些外设,然后再简单分析一下原理图,先大概了解一下各个外设是跟哪些IO口连接,这样也方便我们后续的编程。
这次我们要做的是如何利用这块开发板上的LED灯做一个跑马灯设计,咱们从易到难,逐个讲解板子上的外设。 设计内容: 1.让八只LED灯整体闪烁三次,间隔为1秒钟; 2.LED灯从左到右逐渐点亮,间隔为0.5秒; 3.LED灯从左到右逐渐熄灭,间隔为0.5秒。 相信大家都已经看过这个电路图了,板子上的LED灯与一个74HC573锁存器相连接,74HC573锁存器又与一个74HC02或非门连接,最后又和74HC138译码器相连接,所以我们如果想驱动LED灯的话,需要先驱动74HC138译码器,继而驱动74HC02和74HC573锁存器对LED进行操作。 74HC138译码器真值表 想要控制Y4我们需要怎样,肯定是通过输入端A、B、C来控制,通过真值表我们发现,要想选中Y4的话我们只需要让C为高电平,B为低电平,A为低电平,即C=1;B=0;A=0;此时Y4为低电平,74HC02是一个而输入或非门,通过电路图我们可以发现WR实际上是与GND相连接,因为咱们选择的是IO模式编程,所以用了一个跳线帽把WR与GND连在了一起,那就是低电平嘛,这样的话那Y4=0,WR=0,Y4C=1;此时74HC573导通,咱们就可以通过单片机P0口来控制LED灯了,总结一下,想要驱动LED灯、继电器、蜂鸣器等外设的话,咱们只需要通过A、B、C让74HC138译码器的对应输出端为低电平就行了。 参照上面知识和电路咱们就可以着手写代码了。 #include《stc15f2k60s2.h》***it HC138_A=P2^5; ***it HC138_B=P2^6; ***it HC138_C=P2^7; void LED_Run(); void delayms(int ms);void main() { while(1) { LED_Run(); } } void LED_Run() { int i; HC138_C=1; HC138_B=0; HC138_A=0; for(i=0;i《3;i++) { P0=0X00; delayms(1000); P0=0XFF; delayms(1000); } for(i=0;i《8;i++) { P0=(0XFF《《i); delayms(500); } for(i=0;i《8;i++) { P0=~(0XFF《《i); delayms(500); } } void delayms(int ms) { int i,j; for(i=ms;i》0;i--) for(j=845;j》0;j--); } |
|
|
|
只有小组成员才能发言,加入小组>>
2514 浏览 0 评论
1092浏览 2评论
703浏览 1评论
456浏览 0评论
199浏览 0评论
340浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 04:17 , Processed in 1.259170 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号