[PIC®/AVR®/dsPIC®产品] 如何不用MCC就编写一个程序

[复制链接]
479|2
 楼主| wanduzi 发表于 2023-6-27 20:27 | 显示全部楼层 |阅读模式
众所周知在MCC之前AVR和PIC都是通过寄存器操作的,其实至仍然可以的。
  1. /*
  2. * File:   main.c
  3. * Author:
  4. *
  5. * Created on 2023年6月27日, 下午8:02
  6. */

  7. #include <xc.h>


  8. /*
  9. *
  10. */
  11. void main(void)
  12. {
  13.     TRISCbits.TRISC1  = 0;
  14.     TRISCbits.TRISC0  = 1;
  15.     ANSELCbits.ANSELC0 =0;
  16.     WPUCbits.WPUC0 = 1;
  17.     while(1)
  18.     {
  19.         if(PORTCbits.RC0)
  20.         {
  21.             LATCbits.LATC1 = 1;
  22.         }
  23.         else
  24.         {
  25.             LATCbits.LATC1 = 0;
  26.         }
  27.     }   
  28. }



 楼主| wanduzi 发表于 2023-6-27 20:28 | 显示全部楼层
主要是搞清楚这些寄存器各个位的定义,因为在头文件中已经定义为联合体,结构体,可以很方便的通过成员来操作这些位,所以使用其实很方便的。
wutaosamuel 发表于 2023-6-29 14:42 | 显示全部楼层
MCC 生成的代码其实也是对寄存器的操作。只不过它有图形界面可以快速配置和生成代码。

而寄存器的定义得查看相应控制器的数据手册
而寄存器的变量名是在对应的设备型号的头文件里,以pic18f57q48这颗8位mcu为例,头文件在mplab的文件夹下 “C:\Program Files\Microchip\MPLABX\v6.10\packs\Microchip\PIC18F-Q_DFP\1.17.379\xc8\pic\include\proc\pic18f57q48.h”

您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

1882

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部