完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
源程序如下:
#include //端口定义 ***it hhp = P2^0; //行输出移位允许 ***it hds = P2^1; //行数据输入 ***it htp = P2^2; //行输出锁存 ***it lhp = P2^3; //列输出移位 ***it lds = P2^4; //列数据输入 ***it ltp = P2^5; //列输出锁存 unsigned int code zhong[]= { 0xFF,0xFF,0xF0,0xF7,0xF7,0xF7,0xF7,0x00,0xF7,0xF7,0xF7,0xF7,0xF0,0xFF,0xFF,0xFF, 0xFF,0xFF,0x0F,0xDF,0xDF,0xDF,0xDF,0x00,0xDF,0xDF,0xDF,0xDF,0x0F,0xFF,0xFF,0xFF }; //延时函数1ms void delay(unsigned int t) { unsigned int x,y; for(x=t;x>0;x--) for(y=110;y>0;y--) ; } //行输出 void hang(unsigned int w) { unsigned int z; for(z=0;z<8;z++) { hhp = 0; w = w<<1; hds = CY; hhp = 1; delay(1); } htp = 0; delay(1); htp = 1; delay(1); htp = 0; } //输出到led点阵 void display(void) { unsigned int i,j,temp,tmp; tmp = 0x80; for(i=0;i<16;i++) { lhp = 0; tmp = tmp<<1; lds = CY; lhp = 1; delay(1); ltp = 0; delay(1); ltp = 1; delay(1); for(j=0;j<2;j++) { temp = zhong[i*2+j]; hang(temp); } } } void main (void) { P2 = 0x00; while(1) { display(); } } 为什么行没有输出啊,就是void hang(unsigned int w)这个函数里面的hds压根没有输出?求大神解答
|
|
相关推荐
6个回答
|
|
看不懂比的程序,CY都没有定义
|
|
|
|
w = w<<1; hds = CY; C语言的移位应该是不带CY的,所以这里应该是
if(w&0x80) hds = 1; else hds = 0; w = w<<1; |
|
|
|
|
|
|
|
|
|
|
|
CY是在做运算时会有硬件自动置位和清零,但是在移位操作时,是有指令来决定的,最简单的就是汇编分带进位移位和不带进位移位,也就是比如右移位,则RRC A为带进位移位,RR A为不带进位移位
|
|
|
|
不懂,路过了!!!!!!!!!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
729 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
715 浏览 0 评论
882 浏览 1 评论
616 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
1038 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11667 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-12 05:57 , Processed in 0.608208 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号