完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
`自己刚入门PIC,24fj256ga108的单片机,我写了程序,控制8个继电器分别导通电路的,但是程序烧写到单片机中,无法使电路按照我要求导通。大神们看一下,是不是我程序出问题了。 #include #include"serial.h" unsigned char RxData;//这个数是从串口收到数据,可以判断这个数据,来决定开哪一个继电器 int main() { TRISB = 0x0000; TRISC = 0X0000; TRISD = 0x0000; UART_Init(); while(1) { if(RxData==1) {PORTB = 0xCDFF; PORTD = 0xFFFF; PORTC = 0xFFFF; } else if(RxData==2) { PORTB = 0xADFF; PORTD = 0xFFFF; PORTC = 0xFFFF; } else if(RxData==3) {PORTB = 0xF5FF; PORTD = 0xFFFF; PORTC = 0xEFFF; } else if(RxData==4) { PORTB = 0xF5FF; PORTD = 0xEFFF; PORTC = 0xFFFF; } else if(RxData==5) { PORTB = 0xBBFF; PORTD = 0xF7FF; PORTC = 0xFFFF;} else if(RxData==6) { PORTB = 0xBBFF; PORTD = 0xFFFB; PORTC = 0xFFFF;} else if(RxData==7) {PORTB = 0xFBFF; PORTD = 0xDFFF; PORTC = 0xFFFE;} else if(RxData==8) { PORTB = 0xFBFF; PORTD = 0xDFFF; PORTC = 0xFFFD;} } } 附上我的工程文件,希望大神帮我看看,一切自学有些不懂的地方想找人请教。 `
pic24GAv2.1.zip
(192.45 KB, 下载次数: 15
)
|
|
相关推荐
11个回答
|
|
此问答贴被选为2月16日的每日一答贴,活动详情见:https://bbs.elecfans.com/jishu_1111064_1_1.html 希望大家可以踊跃帮助坛友解决问题,谢谢。
|
|
|
|
|
|
|
|
贴出的程序不全,通讯部分没有,这个你是问问题的,附件还要积分是个什么鬼。难度不大,问的人没有诚意。
|
|
|
|
这都是小问题,首先单片机各个寄存器的初始化程序都没写完整,程序只配置了IO端口的方向寄存器,这是有问题的,因为其他寄存器不配置的话,默认状态很多IO都是模拟输入状态,不能用做输出的。
评分
|
||
|
||
首先确保初始化参数都对,然后最好不用if else 像这种多嵌套的 最好是用SWITCH CASE语句做 还有 PORTB = 0xFBFF;
PORTD = 0xDFFF; PORTC = 0xFFFD 这种操作IO口会对其他端口有影响的 最好一个继电器操作一个IO口 评分
|
||
|
||
#include
#include"serial.h" unsigned char RxData;//这个数是从串口收到数据,可以判断这个数据,来决定开哪一个继电器 int main() { TRISB = 0x0000; TRISC = 0X0000; TRISD = 0x0000; UART_Init(); while(1) { switch(RxData) { case 值1 : 语句1 break; case 值2 : 语句2 break; ... case 值8 : 语句2 break; default : 语句n break; } } 操作每个IO口即可 比如 RB0控制一个继电器 RB0 = 1;RB0 = 0;这样不会影响其他IO功能 再说一遍,一定要初始化好IO端口和寄存器 要不不会有正确结果的!你可以一步一步DEBUG去调试,一个一个继电器去调! |
|
|
|
“每日一问”的栏目已在电子发烧友官方微信公众号上线,或许有很多热心的工程师已经在公众号的每日一问中帮你做答,请关注公众号:电子发烧友网 长按识别二维码,关注电子发烧友网 |
|
|
|
|
|
|
|
MICROCHIP 代理来
|
|
|
|
挖个坟……最近也要搞这个,不知道哪里有MCC下载^
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2084 浏览 1 评论
3629 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2336 浏览 2 评论
2763 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4027 浏览 5 评论
973浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6360浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 07:44 , Processed in 0.796593 second(s), Total 109, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号