Electronics 板


LINE

下面是我的程式 我做的练习是霹雳灯的试验 用kile c内建的软体检正可以成功的模拟出 输出的功能 但是 一旦我把他烧录进去89s52晶片中 实际的以电路去执行 他就会一直只有最右边的一颗LED恒亮 但是我把for回圈删掉後 一行一行的输入 我想要的霹雳灯亮的样子 例如 LED = ff;LED = fe; LED = fd; 在烧入进晶片 电路就成功了 所以应该不是电路的问题吧?? 想请教各位 是否我哪边有可能错误 我用的版本是Keil uVision2 /* ch03_3.c - 霹雳灯实验程式 */ //==宣告区================================================================ #include <reg51.h> // 定义8051暂存器之标头档,P2-17~19 #define LED P2 // 定义LED接至Port 2 void delay(int); // 宣告延迟函数 //==主程式================================================================ main() // 主程式开始 { unsigned char i ; // 宣告无号数字元变数i(占1Bytes) LED=0xfe; // 初值=1111 1110,只有最右1灯亮 while(1) // 无穷回圈,程式一直跑 { for(i=0;i<7;i++) // 左移7次 { delay(100); // 延迟100*5m=0.5s LED=(LED<<1)|0x01; // 左移1位,并设定最低位元为1 } // 左移结束,只有最左1灯亮 for(i=0;i<7;i++) // 右移7次 { delay(100); // 延迟100*5m=0.5s LED=(LED>>1)|0x80; // 右移1位,并设定最高位元为1 } // 结束右移,只有最右1灯亮 } // while回圈结束 } // 主程式结束 //==副程式================================================================ /* 延迟函数,延迟约x*5ms */ void delay(int x) // 延迟函数开始 { int i,j; // 宣告整数变数i,j for (i=0;i<x;i++) // 计数x次,延迟x*5ms for (j=1;j<=600;j++); // 计数600次,延迟5ms } // 延迟函数结束 ※ 引述《beminaru (赏你个痛快)》之铭言: : 想请问 : 我使用的是Keil uVision2并且以c语言方式进行撰写 : 但是有些程式组译完後烧进去晶片, : 以实际电路来看结果却没办法完成我要的动作 : (但以Keil uVision2内的软体模拟来看我的输出,输出的方式仍为我想要达成的 : 方式在进行,所以程式应该没有错) : 後来我改用简易的写法去组译 : (一行一行动作的写舍弃for回圈) : 载入晶片後,就可以动作了 : 是否是因为我的程式Keil uVision2版本问题? : 我使用的晶片是89s52 : 请指教谢谢 -- 静静的等人追的话顶多只能有两三个选择 但是主动出击去追人的话你的选择将会是无限喔~共勉之 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.250.16
1F:推 mosquito520:LED=(LED<<1)|0x01; ←这逻辑怪怪的 03/10 12:54
2F:→ beminaru:请教一下该怎麽写好 03/10 22:32
3F:推 mosquito520:LED = LED<<1;//这样就好了...为什麽要做or运算? 03/10 23:43
4F:→ beminaru:让最低位元恒保持高电位的状态 03/10 23:54
5F:推 mosquito520:我电脑没装keilC...所以我没办法查help翻指令... 03/11 01:49
6F:→ mosquito520:也没办法直接跑来测看看...以下纯粹是推论... 03/11 01:49
7F:→ mosquito520:你要不要试看看把这行拆成两行来写... 03/11 01:49
8F:→ mosquito520:LED = LED << 1; 03/11 01:50
9F:→ mosquito520:LED = LED || 0x01; 03/11 01:50
10F:→ mosquito520:实际去debug看看LED的变化到底是不是你要的... 03/11 01:50
11F:→ mosquito520:另外...|跟||的意义不同...﹝如果我没记错的话﹞ 03/11 01:51







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