完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 吴鉴鹰 于 2016-7-18 21:30 编辑
对应的程序设计 /******************************************************* * 程序名称:main.c * 程序功能:主程序文件 * 创建时间:2016-7-18 * 修改时间: * 程序版本:V0.1 ******************************************************/ #include ***it HC595_SDI = P0^7; ***it HC595_RCK = P0^6; ***it HC595_SCK = P0^5; code unsigned short Move_LED[16] = {0x0100,0x0200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000, 0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080}; code unsigned short Stable_LED[16] = {0x0000,0x0080,0x00c0,0x00e0,0x00f0,0x00f8,0x00fc,0x00fe, 0x00ff,0x80ff,0xc0ff,0xe0ff,0xf0ff,0xf8ff,0xfcff,0xfeff}; void main(void) { unsigned int t,h; unsigned char i,n,k; unsigned short C_LED; while(1) { for(i=0;i<16;i++) { for(n=0;n<(16-i);n++) { C_LED = Move_LED[n] | Stable_LED; HC595_RCK = 0; for(k=0;k<16;k++) { HC595_SCK = 0; if((C_LED&0x8000)!=0) HC595_SDI = 1; else HC595_SDI = 0; HC595_SCK = 1; C_LED <<= 1; } HC595_RCK = 1; for(t=60;t>0;t--) for(h=600;h>0;h--); } } } } 评分
|
||
相关推荐
|
||
原理很简单,单片机无非就是一条条指令执行,轮番操作寄存器,可是这里面的算法不简单,有的人用几句就可写好,有的人却几十句写好,最有技术含量的是这句 C_LED = Move_LED[n] | Stable_LED;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
程序有问题
C_LED = Move_LED[n] | Stable_LED; 应该改为: C_LED = Move_LED[n] | Stable_LED[i]; |
|
|
|
|
|
Tatezhao 发表于 2018-7-15 21:39 程序复制的时候少复制ile一个 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
25231 浏览 56 评论
2062 浏览 0 评论
63812 浏览 142 评论
吴鉴鹰单片机项目详细解析系列(连载)之基于单片机的.....
7785 浏览 7 评论
吴鉴鹰单片机项目详细解析系列(连载)之基于单片机的.....
6649 浏览 4 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:37 , Processed in 0.736853 second(s), Total 93, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号