[8/16位单片机] PIC10F202 配置问题

[复制链接]
435|25
 楼主 | 2019-1-10 17:25 | 显示全部楼层 |阅读模式
我只控制IO口输出高低电平,我的OPTION寄存器应该怎么配置,还有__CONFIG()里面该配置成什么?我在网上找了一个同样的芯片制作流水灯的程序,他的程序里这两个是OPTION=0x00;和__CONFIG(0x0ffb);  我的配置按这样写可以吗?
| 2019-1-10 17:32 | 显示全部楼层
新的xc已经不推荐这种看不出意思的写法了。
| 2019-1-10 17:33 | 显示全部楼层
跟上脚步啊,用#pragma FOSC = FRC  这种类似的写法。IDE或者mcc都能帮你生成这种代码

评论

niukai19950129 2019-1-17 10:31 回复TA
我用的MALAB X,第一次弄这个,不太了解 
| 2019-1-10 22:10 | 显示全部楼层
我汇编里熔丝位,都这么写, __CONFIG  _IntRC_OSC & _WDTE_OFF & _CP_OFF & _MCLRE_OFF
弄过3LED流水灯
| 2019-1-10 23:34 | 显示全部楼层
对,看新版的说明。
| 2019-1-11 10:28 | 显示全部楼层
我都是直接对相应的寄存器操作。
 楼主 | 2019-1-22 18:25 | 显示全部楼层
淘猫汤姆 发表于 2019-1-10 17:33
跟上脚步啊,用#pragma FOSC = FRC  这种类似的写法。IDE或者mcc都能帮你生成这种代码 ...

能帮我看看我写的程序吗?哪里有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2019-1-22 18:36 | 显示全部楼层
想让别人帮你验证一下好歹贴个文本的代码,难道大家自己敲一遍?

评论

niukai19950129 2019-1-23 08:57 回复TA
好的,不好意思哈 #include <stdio.h> #include <stdlib.h> #include <pic.h> #include <pic10f202.h> #define spimosi GP2 //master out slave in #define spimiso GP3 //master in slave out #define spiclk GP1 #define spics GP0 int main(int argc, char** argv) { int i; unsigned int Dt_A6_Data=0; Port_Init(); Dt_A6_Data=0x3129; spics =0; SendByte(Dt_A6_Data); delay(10); spics =1; return (EXIT_SUCCESS); } void SendByte(unsigned ...  
| 2019-1-22 19:18 | 显示全部楼层
没这么用过,不清楚,帮顶下。
 楼主 | 2019-1-23 08:58 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <pic.h>
  4. #include <pic10f202.h>
  5. #define   spimosi  GP2  //master out slave in
  6. #define   spimiso  GP3  //master in slave out
  7. #define   spiclk   GP1
  8. #define   spics    GP0
  9. int main(int argc, char** argv) {
  10.     int i;
  11.     unsigned int Dt_A6_Data=0;
  12.     Port_Init();
  13.         Dt_A6_Data=0x3129;
  14.         spics =0;
  15.         SendByte(Dt_A6_Data);
  16.         delay(10);
  17.         spics =1;
  18.     return (0);
  19. }

  20. void SendByte(unsigned int Dbyte)
  21. {
  22.     unsigned char i;
  23.     for(i=0;i<16;i++)
  24.     {
  25.         spiclk =0;
  26.         if((Dbyte&0x8000)==0x0000)
  27.         {
  28.             spimosi =0; delay(2);
  29.         }else
  30.         {
  31.             spimosi =1; delay(2);
  32.         }
  33.         spiclk =1; delay(2);
  34.         Dbyte<<=1;
  35.        
  36.     }
  37.     delay(2); spiclk =0; spimosi =0; delay(3);
  38. }
  39. void Port_Init()
  40. {
  41.     TRIS=0x00;
  42.     FOSC4=0;
  43.     OPTION=0x00;
  44. }
复制代码

评论

niukai19950129 2019-1-23 08:59 回复TA
@淘猫汤姆 麻烦您给看下 
| 2019-1-23 10:19 | 显示全部楼层
main loop里面没有主循环的???
| 2019-1-23 12:09 | 显示全部楼层

嵌入式的main函数也是不需要参数滴
 楼主 | 2019-1-23 14:25 | 显示全部楼层
systemchip 发表于 2019-1-23 10:19
main loop里面没有主循环的???

是在最后加上while(1)吗
 楼主 | 2019-1-23 14:26 | 显示全部楼层
Superflash213 发表于 2019-1-23 12:09
嵌入式的main函数也是不需要参数滴

哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动
| 2019-1-23 14:36 | 显示全部楼层
niukai19950129 发表于 2019-1-23 14:26
哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动

建议尝试X IDE+MCC自动生成项目的看看.
也只是需要点一点鼠标, 配置字, IO口方向, 主函数等等都自动帮你做好了..
摸索摸索, 非常容易上手的.
 楼主 | 2019-1-23 14:41 | 显示全部楼层
大卫颂 发表于 2019-1-23 14:36
建议尝试X IDE+MCC自动生成项目的看看.
也只是需要点一点鼠标, 配置字, IO口方向, 主函数等等都自动帮你 ...

好的,我去了解下
| 2019-1-23 14:49 | 显示全部楼层
niukai19950129 发表于 2019-1-23 14:26
哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动

工程建好后,在项目树的Source Files上点鼠标右键选New->main.c..生成的main函数是不带参数的,如果选C Main File...那么生成的main函数是带参数的
 楼主 | 2019-1-23 14:52 | 显示全部楼层
Superflash213 发表于 2019-1-23 14:49
工程建好后,在项目树的Source Files上点鼠标右键选New->main.c..生成的main函数是不带参数的,如果选C M ...

原来是这样,学到了
 楼主 | 2019-1-23 14:55 | 显示全部楼层
niukai19950129 发表于 2019-1-23 14:52
原来是这样,学到了

那按我贴的代码那么写,会产生问题吗?

| 2019-1-23 15:16 | 显示全部楼层
niukai19950129 发表于 2019-1-23 14:55
那按我贴的代码那么写,会产生问题吗?

主函数不能return的,就是死也要死在函数里面,程序最后加个while(1)吧。另外你用的什么C编译器?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

快速回复 返回顶部 返回列表