打印
[51单片机]

点阵原理大致已经弄明白了,但是有三行代码不明白

[复制链接]
2891|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dlmuzjq|  楼主 | 2014-3-17 13:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2014-3-17 13:18 | 只看该作者
倒序嘛

使用特权

评论回复
板凳
86hupeng| | 2014-3-17 14:14 | 只看该作者
嗯,就是把第12345678位变成第87654321位,
比如 11110000变成00001111

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
dlmuzjq + 1 很给力!
地板
dlmuzjq|  楼主 | 2014-3-17 15:00 | 只看该作者
86hupeng 发表于 2014-3-17 14:14
嗯,就是把第12345678位变成第87654321位,
比如 11110000变成00001111

麻烦能详细点吗,那个CY里面是什么?

使用特权

评论回复
5
huangruiz| | 2014-3-17 15:02 | 只看该作者
CY时PSW里面的一位  ,进位标志

使用特权

评论回复
6
huangruiz| | 2014-3-17 15:06 | 只看该作者

使用特权

评论回复
7
dlmuzjq|  楼主 | 2014-3-17 15:06 | 只看该作者
huangruiz 发表于 2014-3-17 15:02
CY时PSW里面的一位  ,进位标志

PT=0x21  0010 0001
PT>>=1就是 0001 0000
那么PA=PA|CY该是多少?
麻烦了 详细点

使用特权

评论回复
8
dlmuzjq|  楼主 | 2014-3-17 15:08 | 只看该作者
huangruiz 发表于 2014-3-17 15:06

我太笨了

使用特权

评论回复
9
huangruiz| | 2014-3-17 15:12 | 只看该作者
PT=0x21  0010 0001
PT>>=1就是 0001 0000
移没了的一位就是CY的值

使用特权

评论回复
10
dlmuzjq|  楼主 | 2014-3-17 15:18 | 只看该作者
huangruiz 发表于 2014-3-17 15:12
PT=0x21  0010 0001
PT>>=1就是 0001 0000
移没了的一位就是CY的值

然后呢???
下面的几步怎么做

使用特权

评论回复
11
dlmuzjq|  楼主 | 2014-3-17 15:40 | 只看该作者
huangruiz 发表于 2014-3-17 15:12
PT=0x21  0010 0001
PT>>=1就是 0001 0000
移没了的一位就是CY的值

PT右移动之后,就没他的事了啊,PA是0,它和CY按位或之后是什么

使用特权

评论回复
12
huangruiz| | 2014-3-17 16:02 | 只看该作者
饿   
比如啊   PT=1001 1110    PA就是0
一步一步来  左边是PT  中间是CY   右边是PA
10011110       0        0
01001111       0        0
00100111       1        01
00010011       1        011
00001001       1        0111
00000100       1        01111
00000010       0        011110
00000001       0        0111100
00000000       1        01111001

使用特权

评论回复
13
dlmuzjq|  楼主 | 2014-3-17 16:09 | 只看该作者
huangruiz 发表于 2014-3-17 16:02
饿   
比如啊   PT=1001 1110    PA就是0
一步一步来  左边是PT  中间是CY   右边是PA

瞬间我就懂了,万分感谢

使用特权

评论回复
14
cm398515912| | 2014-3-17 16:46 | 只看该作者
huangruiz 发表于 2014-3-17 15:06

左移有进位  右移也有效吗 哪来的借位

使用特权

评论回复
15
通宵敲代码| | 2014-3-17 19:24 | 只看该作者
dlmuzjq 发表于 2014-3-17 15:08
我太笨了

别灰心,刚开始都一样的。

使用特权

评论回复
16
dlmuzjq|  楼主 | 2014-3-17 22:15 | 只看该作者
通宵敲代码 发表于 2014-3-17 19:24
别灰心,刚开始都一样的。

我现在研一了都,大学时候没好好学,现在天天恶补,天天累的跟狗似的。。
我现在才开始学习单片机,同时也看看ARM资料,导师说毕业论文必须用aRM做。
我现在也很苦恼,不知道自己这么走对不对!我尽力了

使用特权

评论回复
17
lkl0305| | 2014-3-18 08:22 | 只看该作者
因为在KEIL下面”PT>>=1;“被翻译成汇编语言的"RRC    A"(带CY的循环右移运算),所以,执行右移1位后,PT最低位被移到CY中,然后”PA = PA|CY;“就把CY的内容存放打PA变量的最低位。举例可见12楼

使用特权

评论回复
18
qinqiabc| | 2014-3-18 08:40 | 只看该作者
PA = PA|CY;
PA<<=1;
这两句是不是颠倒了,把移位放在最后,PA最低位不就空了吗

使用特权

评论回复
19
sxhhhjicbb| | 2014-3-18 08:42 | 只看该作者
用汇编和c的混和编程,效率更高。

使用特权

评论回复
20
通宵敲代码| | 2014-3-18 08:44 | 只看该作者
dlmuzjq 发表于 2014-3-17 22:15
我现在研一了都,大学时候没好好学,现在天天恶补,天天累的跟狗似的。。
我现在才开始学习单片机,同时 ...

ARM分高低档次的。

Cortex=M系列也属于ARM,这种就是个单片机,跟51比难不了多少。

高通的晓龙号也属于ARM,要重者芯片做出个像样的东西,每个团队恐怖是不行的。

使用特权

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

本版积分规则

14

主题

36

帖子

0

粉丝