C_and_CPP 板


LINE

这个程式是用Keil uVision3来控制或模拟8051 而控制的方法是一开始都不会动作 之後触发某只脚会输入high讯号,之後会开始动作(触发脚设为P1_7) 而触发脚的high就要恢复为low(大约就等於弹簧按钮会复归原位) 之後再触发一次动作会停止 这是c语言的程式,我觉得大概方向是对的 在动作方面虽然启动触发正常,但是在结束的触发就没反应 不知道是不是在宣告变数那边要换别种类型? 希望有大大能帮解惑^^" #include<AT89X51.H> void delayms(unsigned int time); main() { while(1) { unsigned char j,k = 0; if(P1_7 == 0) { k = ~k; } while(k) { for(j=0x01; j<0x80; j<<=1) { P2 = j; delayms(200); } for(j=0x80; j>0x01; j>>=1) { P2 = j; delayms(200); } if(P1_7 == 0) { k = ~k; } } } } void delayms(unsigned int time) { unsigned int n; while( time>0 ) { n = 120; while(n>0) n--; time--; } } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.27.237
1F:推 areyo:是左右来回跑的灯嘛? 04/13 21:01
2F:→ apol1033:恩...动作是左右移的灯,不过主要问题在触发那边 04/13 22:24
3F:推 TroyLee:要记得你按下按钮到放开, 中间有一段时间差 04/13 23:26
4F:→ TroyLee:所以第二次触发跳出while(k)回圈马上又进入上面的触发侦测 04/13 23:28
5F:→ TroyLee:while(k)马上又成立了.. 04/13 23:28
6F:→ TroyLee:另外就是按钮会有弹跳的问题也要考虑到 04/13 23:29
7F:→ apol1033:那将第2个按钮触发拿掉,只用第一个来触发不知道还缺什麽 04/13 23:46
8F:推 TroyLee:会掉进无穷回圈喔.. 04/13 23:59
9F:推 TroyLee:或是拿掉第二个, 把while(k)改成if(k)也许可以成功 04/14 00:03
10F:→ apol1033:拿掉第2个触发改成if的话动作会变成,按钮h>开始动作> 04/14 00:10
11F:→ apol1033:按钮0>停止动作,变成触发复原之後影响到状态= =" 04/14 00:11
12F:推 TroyLee:P1_7 要的二次变成 0 才会停止动作吧? 04/14 00:19
把修改的主程式部分贴上来 main() { while(1) { unsigned char j,k = 0; if(P1_7 == 0) { k = ~k; } if(k) { for(j=0x01; j<0x80; j<<=1) { P2 = j; delayms(200); } for(j=0x80; j>0x01; j>>=1) { P2 = j; delayms(200); } } } } 是有拿掉第二个触发跟改成if,不过这样子好像也有按钮反应时间的问题 ※ 编辑: apol1033 来自: 59.126.27.237 (04/14 00:22)
13F:→ apol1033:不知道可不可以还是有第二个触发跟用while,不过第二触发 04/14 00:29
14F:→ apol1033:判断後跳回的地方不会直接跟第一个触发接触到? 04/14 00:29
最後想到一个烂招,将第二触发内加上延迟,不过按钮的时间间隔就要自己算好 main() { while(1) { unsigned char j,k = 0; if(P1_7 == 0) { k = ~k; } while(k) { for(j=0x01; j<0x80; j<<=1) { P2 = j; delayms(2000); } for(j=0x80; j>0x01; j>>=1) { P2 = j; delayms(2000); } if(P1_7 == 0) { k = ~k; delayms(5000); } } } } 感觉蛮烂的= ="不稳定,不知道有没有大大能提出一些意见或者修改@@" ※ 编辑: apol1033 来自: 59.126.27.237 (04/14 00:48)







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灯, 水草

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

TOP