[已解决]IC10LF322如何控制IO电平?

2020-02-06 09:56发布

本帖最后由 LayLai 于 2017-7-27 21:27 编辑

第一次用这款单片机,想控制IO电平变化,但无反应,请问哪里配置不对?
#include <pic10LF322.h>
#include <htc.h>


main()
{
        OSCCON = 0x79;
        OPTION_REG= 0x80;
        ADCON=0XFF;
        CLKRCON=0X00;
        PORTA=0x00;
        TRISA=0X00;
        LATA=0x00;
        ANSELA=0x00;
        WPUA=0x00;

        while(1)
        {
                PORTA = 0xff;
        }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
wangrwnyan123
1楼-- · 2020-02-06 15:28
PORTA是输入端口,输出应该用LATA
su33691
2楼-- · 2020-02-06 15:33
我用CCS C 来开发PIC单片机。
LayLai
3楼-- · 2020-02-06 18:22
 精彩回答 2  元偷偷看……
wangrwnyan123
4楼-- · 2020-02-06 22:24
LayLai 发表于 2017-7-27 08:50
你的意思是LATA=0xff;表示RA3,RA2,RA1,RA0输入高电平?

LATA=0xff;表示RA3,RA2,RA1,RA0输高电平
LayLai
5楼-- · 2020-02-07 01:51
wangrwnyan123 发表于 2017-7-27 09:31
LATA=0xff;表示RA3,RA2,RA1,RA0输出高电平

我测试了
LATA=0xff;
LATA=0x00;

电平没有变化哦。是不是时钟之类的寄存器没有配置正确?大神手上有这款单片机的测试程序吗?
wangrwnyan123
6楼-- · 2020-02-07 07:05
LayLai 发表于 2017-7-27 18:34
我测试了
LATA=0xff;
LATA=0x00;

#include<pic.h>;
__CONFIG(PWRTE_OFF&WDTE_ON&FOSC_INTOSC&MCLRE_ON&CP_OFF&CPD_OFF&BOREN_OFF&CLKOUTEN_OFF&IESO_OFF&FCMEN_OFF);
__CONFIG(WRT_OFF&PLLEN_OFF&STVREN_OFF&LVP_OFF);//配置字2

/***********************************
** 函数名称: void Initialization(void)
** 功能描述:  芯片配置
** 输 入  :  无
** 输 出  :  无
** 全局变量:  无
** 调用模块:  无

** 作 者:
** 开始日期:
** 完成日期:

** 原作者:              修改者:
** 开始日期:
** 完成日期:
************************************/
void Initialization(void)
{
   OPTION_REG = 0X85; //64分频
   OSCCON    = 0X50;     // 系统时钟频率,4MH
   TRISA     = 0X02;   //
   ANSA0     =  0;
   ANSA1     =  1;
   ANSA2     =  0;
   ADCS0      = 0;
   ADCS1      = 0;
   ADCS2      = 0;
   CHS0       = 1;
   CHS1       = 0;
   CHS2       = 0;
   FVRCON    = 0X83;
   T2CON      =0X04;
   PR2        = 249;
   PWM1CON    = 0XE0;
    PWM1EN    = 1;
   G1EN      = 0;
   GIE    = 1;        //全局中断开启
   PEIE   = 1;
   TMR0   = 0XF0;//0xF0,960US中断一次
   TMR0IE = 1;        //开启TMRO中断
   TMR0IF = 0;        //清除TMRO中断标志位
   LATA2 = 0;
   MOTO_CLOSE_FLAG = 1;
   ADCON    = 0X04;//AN1为AD通道,开始AD转换。
   ADL_18S_FLAG = 1;
}

一周热门 更多>