完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人新手,要求写个程序测试PIC18F25K80单片机,测试两个端口分别高电平和低电平输出,每10秒出现波纹!下面我写的对么?应该怎么写?
#include //包含单片机内部资源预定义 AD1PCFG = 0xFFFF; //设置所有IO口为数字IO口,而非模拟IO口。 TRISA = 0xFFFE; //bit0 置为0,其他bit置为1. LATAbits.LATA0 = 0; // A0脚输出0电平。 void init(); //I/O口初始化函数申明 void IOports(void) { AD1PCFG = 0xFFFF; TRISA = 0xFFFD; // 配置A0,A1为数字输出口 while(10) { LATAbits.LATA0 = 0; // A0脚输出低电平。 Delayms(10); // 延时10ms LATAbits.LATA1 = 1; // A1脚输出高电平。 Delayms(10); // 延时10ms } } |
|
相关推荐
14个回答
|
|
入口函数呢,延时函数在哪里声明的
|
|
|
|
|
|
|
|
要怎么写。新手不懂
|
|
|
|
#include //包含单片机内部资源预定义
AD1PCFG = 0xFFFF; TRISA = 0xFFFE; //bit0 置为0,其他bit置为1. LATAbits.LATA0 = 0; // A0脚输出0电平。 void delay(); //I/O口初始化函数申明 void main() { TRISA = 0xFFFD; // 配置A0,A1为数字输出口 while (1) { LATAbits.LATA0 = 0; // A0脚输出低电平。 delay(); LATAbits.LATA1 = 1; // A1脚输出高电平。 delay(); } } void delay() { int i; //定义整形变量 for (i = 500;i--;); //延时 } 请问这样OK么? |
|
|
|
应该还有端口重置 这样你的IO口一直重置1或者0 是这样测试吗?
|
|
|
|
#i nclude __CONFIG(0x3B32); int main(void) { unsigned char pv; //总线操作输出数据,以B口为例: TRISB=0x00;//先设置B口的方向为输出方式(相应位设0为输出,设1为输入) PORTB=0xaa;//赋值,B口输出数据0xaa //总线操作读取数据,以B口为例: TRISB=0xff;//先设置B口的方向为输入方式(相应位设0为输出,设1为输入) pv=PORTB;//读取B口的数据放到pv变量 //位操作,以B口的第0位为例: TRISB=0xfe;//先设置B口的第0位(RB0)的方向为输出方式(相应位设0为输出,设1为输入) RB0=1;//B口的第0位输出高电平 RB0=0;//B口的第0位输出低电平 return 0; } 参考一下吧 写程序 一般先初始化,设定IO口方向 输入还是输出 TRIS 设定IO口初态 高电平还是低电平 PORT 此步骤完成后 对IO口通常都不是直接操作 比如RA0=0;(可以这样写但不推荐) 通常的做法是设定中间变量 TEMP 在执行函数中对TEMP进行一系列赋值和运算 最终在主函数中把TEMP的值付给(比如)A口 PORTA=TEMP |
|
|
|
#include
//包含单片机内部资源预定义 AD1PCFG = 0xFFFF; //设置所有IO口为数字IO口,而非模拟IO口。 TRISA = 0xFFFE; //bit0 置为0,其他bit置为1. LATAbits.LATA0 = 0; // A0脚输出0电平。 void init(); //I/O口初始化函数申明 void Delayms(int ms);//延时函数声明 void main() { int a=0; int b=1; IOports();//IO初始化 while(1) { LATAbits.LATA0 = ~a; // A0脚输出高低电平。 Delayms(10); // 延时10ms LATAbits.LATA1 = ~b; // A1脚输出高低电平。 Delayms(10); // 延时10ms } void Delayms(int ms) { int i,j; for(i=0;i<20;i++) for(j=0;j } void IOports(void) { AD1PCFG = 0xFFFF; TRISA = 0xFFFC; // 配置A0,A1为数字输出口1111111111111100--->A0,A1配置为输出,不是>--0xFFFD--< } 应该是这样的,我也没学过PIC单片机。上网搜了一下,应该是这样写的 |
|
|
|
谢谢各位详细解答。可是编译不过去。报错...
---------------------------------------------------------------------- Debug build of project `E:PICDemodemo1test2.mcp' started. Preprocessor symbol `__DEBUG' is defined. Wed Nov 19 14:40:03 2014 ---------------------------------------------------------------------- Make: The target "E:PICDemodemo1pic_test2.o" is out of date. Executing: "D:MicrochipMCC18binmcc18.exe" -p=18F25K80 "E:PICPIC2 LED1-1pic_test2.c" -fo="pic_test2.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- Unknown processor '18F25K80' Halting build on first failure as requested. ---------------------------------------------------------------------- Debug build of project `E:PICDemodemo1test2.mcp' failed. Preprocessor symbol `__DEBUG' is defined. Wed Nov 19 14:40:04 2014 ---------------------------------------------------------------------- BUILD FAILED 什么意思...总是出现Preprocessor symbol `__DEBUG' is defined. |
|
|
|
Unknown processor '18F25K80,编译器没配置好芯片?
|
|
|
|
怎么配置芯片?
|
|
|
|
没用过额,你去网上搜一下,都有教程的
|
|
|
|
http://www.pic16.com/bbs/dispbbs.asp?boardID=23&ID=7641&page=1
http://pic16.com/bbs/dispbbs.asp?boardid=8&id=44078&move=next http://wenku.baidu.com/view/33ef8897dd88d0d233d46a0d.html 参考 |
|
|
|
云汉达人
当然编译过不去,你看看程序是怎样写的啊。 #include //包含单片机内部资源预定义 AD1PCFG = 0xFFFF; //设置所有IO口为数字IO口,而非模拟IO口。 TRISA = 0xFFFE; //bit0 置为0,其他bit置为1. LATAbits.LATA0 = 0; // A0脚输出0电平。 void init(); //I/O口初始化函数申明 void IOports(void) { AD1PCFG = 0xFFFF; TRISA = 0xFFFD; // 配置A0,A1为数字输出口 while(10) { LATAbits.LATA0 = 0; // A0脚输出低电平。 Delayms(10); // 延时10ms LATAbits.LATA1 = 1; // A1脚输出高电平。 Delayms(10); // 延时10ms } } 你看看高亮的那些代码,不再任何函数中,这样语法上会正确吗。 |
|
|
|
每十秒出现纹波?什么样的纹波 可以上图吗?有可能是复位电路出问题了 我反正遇到过 就是工作一下 就复位了 复位的一瞬间就是纹波
|
|
|
|
只有小组成员才能发言,加入小组>>
800 浏览 0 评论
1156 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2714 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1092浏览 3评论
197浏览 2评论
463浏览 2评论
376浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
458浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 11:51 , Processed in 1.390816 second(s), Total 106, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号