完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
//--重定义函数变量--// #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //--定义SPI要使用的 IO--// ***it MOSIO = P3^4; ***it R_CLK = P3^5; ***it S_CLK = P3^6; //函数声明 void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0); /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main(void) { uint i , j; uchar b1; while(1) { //--全亮--// HC595SendData(0x00, 0x00, 0xFF, 0xFF); for(j=0; j<50000; j++); //--刷行--// b1 = 0x01; for(i = 0; i<8; i++) { HC595SendData(0x00, 0x00, 0x00, b1); b1 <<= 1; for(j=0; j<20000; j++); } b1 = 0x01; for(i = 0; i<8; i++) { HC595SendData(0x00, 0x00, b1, 0x00); b1 <<= 1; for(j=0; j<20000; j++); } //--刷列--// b1 = 0x01; for(i = 0; i<8; i++) { HC595SendData(0xFF, ~b1, 0xFF, 0xFF); b1 <<= 1; for(j=0; j<20000; j++); } b1 = 0x01; for(i = 0; i<8; i++) { HC595SendData(~b1, 0xFF, 0xFF, 0xFF); b1 <<= 1; for(j=0; j<20000; j++); } } } /******************************************************************************* * 函 数 名 : HC595SendData * 函数功能 : 通过595发送四个字节的数据 * 输 入 : BT3:第四个595输出数值 * * BT2: 第三个595输出数值 * * BT1:第二个595输出数值 * * BT0:第一个595输出数值 * 输 出 : 无 *******************************************************************************/ void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0) { uchar i; //--发送第一个字节--// for(i=0;i<8;i++) { MOSIO = BT3 >> 7 ; //从高位到低位 BT3 <<= 1; S_CLK = 0; S_CLK = 1; } //--发送第一个字节--// for(i=0;i<8;i++) { MOSIO = BT2 >>7; //从高位到低位 BT2 <<= 1; S_CLK = 0; S_CLK = 1; } //--发送第一个字节--// for(i=0;i<8;i++) { MOSIO = BT1 >> 7; //从高位到低位 BT1 <<= 1; S_CLK = 0; S_CLK = 1; } //--发送第一个字节--// for(i=0;i<8;i++) { MOSIO = BT0 >> 7; //从高位到低位 BT0 <<= 1; S_CLK = 0; S_CLK = 1; } //--输出--// R_CLK = 0; //set dataline low R_CLK = 1; //片选 } |
|
相关推荐
9个回答
|
|
我今天刚学的这个点亮点阵的程序,花了半天又是看595,又是琢磨程序,总算有点小的理解,也不知道能不能帮到你。你看哪儿不懂,追问我。
|
|
|
|
我今天刚学的这个点亮点阵的程序,花了半天又是看595,又是琢磨程序,总算有点小的理解,也不知道能不能帮到你。你看哪儿不懂,追问我。
|
|
|
|
第一个红色是三个IO口的定义,p3.4是数据输入,p3.5是锁存,p3.6是时钟。
|
|
|
|
第二个,看图
|
|
|
|
如果那里说错了,欢迎指正,如果有什么不清楚,就再问吧。
|
|
|
|
求问是是是是是是
|
|
|
|
发送四个字节的数据是什么意思,是使能端控制吗
|
|
|
|
大神,我刚开始看点阵,发送四个字节的数据是什么意思,算是使能端控制吗 |
|
|
|
谢谢楼主分享。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
418 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1083 浏览 0 评论
846 浏览 0 评论
886 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
882 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11831 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 18:01 , Processed in 0.770221 second(s), Total 91, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号