完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
`求74hc595d的原理图啊。。。下面程序有些看不懂。。。P2^2不知道是什么意思。。。P2^3和P2^4也分不清、、 /********************************************************************************* * 【编写时间】: 2011.07.07 * 【作 者】: 雁翎电子 * 【版 本】: V1.0 * 【网 站】: http://ylelectronic.taobao.com/ * 【Q Q】: 348439350 * 【声 明】: 此程序仅用于学习与参考,引用请注明版权和作者信息! * 【函数功能】: 八位共阳数码管0-7 移动显示 * 【晶 振】: 11.0592M * 【硬件连接】: 跳线 选择模块 连接或断开 J1 8位数码管模块 连接 J2 点阵模块 断开 J3 时钟模块 断开 J4 8位跑马灯模块 断开 J6 蜂鸣器模块 断开 J7 继电器模块 断开 **********************************************************************************/ /*预处理命令*/ #include<reg52.h> //包含单片机寄存器的头文件 #define uchar unsigned char #define uint unsigned int /* 函数申明 -----------------------------------------------*/ void delay(uint z); void send595(uchar dat); void out595(void); void disp(uchar w,uchar d); void dispoff(); /* 变量定义 -----------------------------------------------*/ ***it MOSIO=P2^2; ***it R_CLKa=P2^3; ***it S_CLKa=P2^4; uchar code duan[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F};//此表为LED共阳级数码管段选字模 uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //此表为LED数码管位选字模 /* ******************************************************************************** ** 函数名称 : main(void) ** 函数功能 : 主函数 ******************************************************************************** */ void main() { uchar i; dispoff(); //先关闭数码管 while(1) { for(i=0;i<8;i++) //移动显示数码管0-7 { disp(i,i); delay(10); } } } void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } /* ******************************************************************************** ** 函数名称 : send595(uchar dat) ** 函数功能 : 数据输入 ******************************************************************************** */ void send595(uchar dat) //数据输入 { uchar i; for(i=0;i<8;i++) { if((dat<<i)&0x80) MOSIO=1; else MOSIO=0; S_CLKa=0; S_CLKa=1; } } /* ******************************************************************************** ** 函数名称 : out595(void) ** 函数功能 : 数据输出 ******************************************************************************** */ void out595(void) // 数据输出 { R_CLKa=0; R_CLKa=1; //上升沿 } /* ******************************************************************************** ** 函数名称 : disp(uchar w,uchar d) ** 函数功能 : 数码管显示函数 ******************************************************************************** */ void disp(uchar w,uchar d) //数码管显示函数:w-位码,d-段码 { send595(wei[w]); //发送位选 send595(wei[w]); out595(); send595(duan[d]); //发送段选 out595(); } /* ******************************************************************************** ** 函数名称 : dispoff() ** 函数功能 : 关闭共阳数码管 ******************************************************************************** */ void dispoff() //关闭共阳数码管 { send595(0); //位选全为0,对共阳极而言即端开 send595(0); out595(); send595(0xff); //段选全为1,对共阳极段为0时才有可能点亮,这样就被关闭 out595(); } ` |
|
相关推荐
9个回答
|
|
一个是时钟信号,还有两个分别是输入输出信号pin.
|
|
|
|
|
|
1 条评论
|
|
各位大神,程序中的(dat<
|
|
|
|
给你一个74HC595的中文资料吧。。。。。。{:soso_e130:}{:soso_e130:}{:soso_e130:}
|
|
|
|
|
|
|
|
好东西啊!
|
|
|
|
|
|
|
|
两根时钟线一定要注意
|
|
|
|
好东西啊!好东西啊!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11985 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 11:12 , Processed in 0.735215 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号