打印

求教编程问题

[复制链接]
1182|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
li199013|  楼主 | 2013-7-5 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  unsigned char shuju=0x55;
  while(1)
  {
ds=shuju&0x80;   //0101 0101 & 1000 0000 =0000  0000   0x00
   sh_cp=0;
   sh_cp=1;
       
   st_cp=0;
   st_cp=1;
   delay(1000);
ds=shuju&0x40;// 0101 0101 &0100 0000=0100  0000   0x40
   sh_cp=0;
   sh_cp=1;

   st_cp=0;
   st_cp=1;
   delay(1000);          
  ds=shuju&0x04;// 0101 0101 &0000 0100=0000  0100   0x04         
   sh_cp=0;
   sh_cp=1;

   st_cp=0;
   st_cp=1;
   delay(1000);
    ds=shuju&0x08;// 0101 0101 &0000 1000 =0000 0000  0x00
   sh_cp=0;
   sh_cp=1;       

   st_cp=0;
   st_cp=1;
  为什么shuju与0x80它们相与后计算得到的结果(0x00,0x40,0x04,0x00)与仿真得到的结果(0x00,0x01,0x03,0x0c.......)不一样?用的是ISIS Professional仿真软件。请各位大师赐教 谢谢。

相关帖子

沙发
dirtwillfly| | 2013-7-5 10:17 | 只看该作者
看不出有啥问题

使用特权

评论回复
板凳
这个名字2| | 2013-7-5 12:36 | 只看该作者
ds是全局量?有没有被其他的东西改变?LZ问题描述的详细点好吧!

使用特权

评论回复
地板
li199013|  楼主 | 2013-7-5 13:37 | 只看该作者
dirtwillfly 发表于 2013-7-5 10:17
看不出有啥问题

问题是仿真时候出现的数据和计算得到的不一样呀

使用特权

评论回复
5
li199013|  楼主 | 2013-7-5 13:40 | 只看该作者
这个名字2 发表于 2013-7-5 12:36
ds是全局量?有没有被其他的东西改变?LZ问题描述的详细点好吧!

ds定义的是全局量,你的意思是 在运行过程中,它的值被改变了吗?可是就算改变了,它仿真的时候也不该是那些数据呀?

使用特权

评论回复
6
这个名字2| | 2013-7-5 14:32 | 只看该作者
(0x00,0x01,0x03,0x0c.......)这个仿真结果还有省略号,是得到的数据是随机的吗?建议调试程序还是在keil上用单步,看的比较明白!protus有时候会出问题!

使用特权

评论回复
7
li199013|  楼主 | 2013-7-5 15:37 | 只看该作者
这个名字2 发表于 2013-7-5 14:32
(0x00,0x01,0x03,0x0c.......)这个仿真结果还有省略号,是得到的数据是随机的吗?建议调试程序还是在keil上 ...

恩,它就是出现随机数据。好的我在KEIL是看看。谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

66

帖子

0

粉丝