本帖最后由 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;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
LATA=0xff;表示RA3,RA2,RA1,RA0输出高电平
我测试了
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;
}
一周热门 更多>