完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
#include
#include ***it HC165_DATA= P2^0; // 定义串行数据端口 ***it HC165_SH = P2^1; // 定义数据锁存端口 ***it HC165_CLK = P2^2; // 定义串行时钟端口 //***it rck=P1^2; //***it ds=P1^1; //***it clk=P1^0; unsigned char a[2]; void read_char165(void) //并入串出 { unsigned char i; HC165_SH =0; //置入控制有效,锁存端口值 HC165_SH =1; for(i=0;i<8;i++) { a[0]<<=1; //先取高位 if(HC165_DATA) { a[0]|=0X01; } HC165_CLK=0; // HC165_CLK=1; //上升沿 } // for(i=0;i<8;i++) // { // a[1]<<=1; // if(HC165_DATA) // { // a[1]|=0X01; // } // HC165_CLK=0; // // HC165_CLK=1; //上升沿 // } } //void write_595(unsigned char dat)//串入并出 //{ // unsigned char i=0; // for(i=0;i<8;i++) // { // clk=0; // if((dat&0x80)==0x80) //先读高位 // ds=1; // else ds=0; // clk=1; // dat<<=1; //一直往高位移 // } //} //void send_595(unsigned char dat0,unsigned char dat1)//显示 //{ // write_595(dat0); // write_595(dat1); // rck=0; // rck=1; //} void main(void) { P0=0xFF; P1=0xFF; while(1) { // read_char165(); // send_595(a[0],a[1]); read_char165(); P0=~a[0]; //P1=~a[1]; } } |
|
相关推荐
5个回答
|
|
|
|
|
|
|
|
|
单个可以,级联有点问题,多谢!
|
|
|
|
|
|
级联和单个是一样的,就是移位的数量不一样
|
|
|
|
|
|
程序的问题
|
|
|
|
|
|
要看电路图,看第二片165和第一片165是怎么连接的
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1986 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4787 浏览 0 评论
4266 浏览 9 评论
3855 浏览 16 评论
4429 浏览 1 评论
4255浏览 3评论
2413浏览 0评论
3431浏览 0评论
1194浏览 0评论
2883浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 05:42 , Processed in 0.742458 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
15985