完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
CD4066介绍
1. 功能简介 CD4066是四双向模拟开关,主要用作模拟或数字信号的多路传输。CD4066 的每个封装内部有4 个独立的模拟开关,每个模拟开关有输入、输出、控制三个端子,其中输入端和输出端可互换。 2. 引脚说明 CONTROL:开关控制端 [1] IN/OUT:输入/输出端 OUT/IN:输出/输入端 VDD:电源正 VSS:电源负 3. 控制方法 将CD4066的四个输入端接在L298N的输出口,CD4066的输出端接在步进电机的A+、A-、B+、B-端口,四个控制口同时接在单片机的某一引脚上,实现单片机的一个引脚控制一个CD4066上四个开关的同时开断,进而实现步进电机的选择。 Proteus仿真 Proteus接线图如下图所示。 由于Proteus内没有CD4066,只有4066,因此考虑将4个4066组合视为一个整体。 仿真结果: 代码: #include ***it enable = P3^0; ***it key = P3^1; void delay(int i) { int j; for(;i>0;i--) for(j=114;j>0;j--); } void main() { unsigned char step[] = {0x01,0x02,0x04,0x08}; //顺时针转动 //unsigned char istep[] = {0x01,0x02,0x04,0x08}; //逆时针转动 unsigned char table1[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned char table2[] = {0x01,0x02,0x04,0x08}; int i=0,num=0; enable=1; P1 = 0x00; P0 = 0x00; while(1) { if(key == 0); { delay(10); if(key == 0) { num++; if(num>=12) num=-1; while(!key); } } if(num==-1) { P1=0x00; P0=0x00; } else if(num<8) P1=table1[num]; else P0=table2[num-8]; for(i=0; i<4; i++) { P2 = step; delay(500); } } } |
|
|
|
只有小组成员才能发言,加入小组>>
2386 浏览 0 评论
8910 浏览 4 评论
36486 浏览 19 评论
4981 浏览 0 评论
24307 浏览 34 评论
1375浏览 2评论
1627浏览 1评论
2017浏览 1评论
1441浏览 0评论
386浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:00 , Processed in 1.199408 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号