完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
8*8LED仿真proteus遇到问题了,求大神指导!! 如下代码能正常显示一个张字,可是不想用ord数组,直接利用oxfe悠移动与0x01或运算得出控制行标,(用程序中//后的代替该行,最后补p=(p<<1)|0x01;)反而没有结果,求赐教!!!
程序: #include #include #define uchar unsigned char ***it sh=P2^0; ***it ds=P2^1; ***it st=P2^2; code TAB[]={0xE9,0x2A,0xEC,0x9F,0xEC,0x2A,0xED,0x00}; code ord[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(int s) { int i; for(i=0;i _nop_(); _nop_(); _nop_(); } } void main() { uchar p=0xfe,q; int i,j; for(i=0;i<8;i++) { q=ord;//q=p; st=0; for(j=0;j<8;j++) { q=q<<1; ds=CY; sh=0; delay(1); sh=1; } st=1; P0=TAB; delay(10); // p=(p<<1)|0x01; } } |
|
相关推荐
6个回答
|
|
|
|
|
|
不知道你是啥意思?没理解,如果用//后面的替代前者,程序最后的//删除,让p左移 |
|
|
|
p=(p<<1)|0x01这个移到头是不要从新赋值呢。比如哈0111 1111 在移动一次是1111 1111,在咋移动都是1111 1111 |
|
|
|
当第7次移完,就会出现0111 1111,i=8时不是已经退出循环了么??不会再移动一次出现1111 1111... |
|
|
|
下来看看,多谢
|
|
|
|
你不一直向一个方向移动吗,在循环呢 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
5872 浏览 3 评论
7143 浏览 1 评论
7388 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
9179 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1265 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 17:32 , Processed in 0.658404 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号