ASM 板


LINE

看板 ASM  RSS
我用8051测试送收1byte的资料,但资料的高位元组却一直错误 我在8051设定一组十六进位数值0x00,透过rs232传送到监看软体, 结果却秀出十六进制0x80,正确应为0x00,而设定0x80就可以正常显示 从监看软体送到8051的P0倒是很正常 发现低位元都对,但高位元却一直错误, 有试过DEBUG模式,看到送出的资料是正确的,但电脑接收总是有问题 请问问题出在那里,谢谢您的帮忙~ 附上程式及测试结果 程式 #include <reg52.h> unsigned char c; /*-----------------------------*/ init_rs232() { SCON = 0x50; TMOD = 0x20; TH1 = 0xfd; //鲍率=9600 TR1 = 1; TI = 1; IE = 0x90; } /*-----------------------------*/ tx_char(unsigned char c) { while(1)if(TI)break; SBUF = c; TI=0; } /*-----------------------------*/ char rx_char() { while(1)if(RI)break; RI=0; return SBUF; } /*-----------------------------*/ main() { init_rs232(); while(1) { c=0; c=rx_char(); tx_char(c); } } 结果 0x00 → 0x80 0x10 → 0x90 0x20 → 0xa0 0x30 → 0xb0 0x40 → 0xc0 0x50 → 0xd0 0x60 → 0xe0 0x70 → 0xf0 0x80 → 0x80 0x90 → 0x90 0xa0 → 0xa0 0xb0 → 0xb0 0xc0 → 0xc0 0xd0 → 0xd0 0xe0 → 0xe0 0xf0 → 0xf0 -- 夏天到了~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.198.207
1F:→ jiannan1828:直接用SBUF = 0x00 05/20 01:05
2F:→ jiannan1828:不要再卡一个while 05/20 01:05
3F:→ jiannan1828:你振荡器用12MHz吗 05/20 01:06
4F:→ jiannan1828:接收不要用call function的方式做 05/20 01:08
5F:→ jiannan1828:call function有可能看错位置 05/20 01:08
6F:→ jiannan1828:资料没对齐,又卡一个while,绝对会误判 05/20 01:09
7F:→ jiannan1828:要计算一下指令的动作花费的机械周期 05/20 01:10
8F:→ wannet:有用过SBUF = 0x00的方式 送到PC还是0x80 收都正确 05/20 09:42
9F:→ wannet:收的时候 有指定收到0x00时才做动作 动作正常 05/20 09:43
10F:→ wannet:是12MHZ 在keil c里 设定11.059mhz 05/20 09:44
11F:→ wannet:感觉很像SBUF高位元不知道被啥占住了... 05/20 09:47
12F:推 cwl751005:i以参考看看我之前帮版友改的CODE,在1565篇 05/20 11:35
13F:→ cwl751005:用中断比用call function稳多了 05/20 11:38
14F:→ jiannan1828:你baudrate设定多少? 05/20 14:28
15F:→ jiannan1828:应该就要设定成12MHz 最好不要设11.0592MHz 05/20 14:29
16F:→ jiannan1828:0xFD的话,12MHz的Baudrate应该是10416 不是9600 05/20 14:30
17F:→ jiannan1828:你这边如果要使用9600,最好把震荡器换掉 05/20 14:30
18F:→ jiannan1828:10416的Baudrate不是完美震荡 05/20 14:30
19F:→ jiannan1828:0xFD产生9600的Baudrate 是基於11.0592MHz的震荡器 05/20 14:32
20F:→ jiannan1828:你换震荡器後,应该就会正常了 05/20 14:32
21F:推 jiannan1828:1565篇中,有提到 [email protected] 05/20 14:35
22F:→ jiannan1828:另外建议,传送还是不要卡一堆while比较好 05/20 14:36
23F:→ jiannan1828:直接写入register就可以了 TI旗标可以不用理他 05/20 14:36
24F:→ wannet:我刚刚改了12MHZ 结果还是一样 05/20 15:05
25F:→ wannet:还是我换一颗振荡器看看? 05/20 15:06
26F:→ wannet:还试了cw1751005大的方式 也是同样... 05/20 15:07
27F:→ wannet:谢谢各位的回覆 卡在这问题两个礼拜了...(有可能是硬体吗?) 05/20 15:09
28F:→ wannet:刚刚去ATMEL下载source code 结果一样...我傻了= = 05/20 17:27
29F:推 jiannan1828:是换成11.0592MHz的振荡器,不是重新换一个12MHz 05/20 17:34
30F:→ wannet:没有买11.0592的震荡器,明天去补一颗试试,谢谢~~^^ 05/20 22:43
31F:→ wannet:找了网路上的12MHZ鲍率计算方式 成功收到想要的数值了!!! 05/21 00:35
32F:→ wannet:谢谢大家的帮助!!^______^ 05/21 00:36
33F:推 jimmytzeng:想请问计算方式有网页吗? 05/21 13:52
34F:→ wannet:有~http://ppt.cc/c2zb 05/21 19:15
35F:推 jimmytzeng:谢谢! 05/22 11:06







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP