当前位置:首页 > 单片机 > 单片机
[导读]目录:Mplab IDE的使用一、接入PICkit3出现Target Device ID (00000000) does not match expected Device ID (00002460)二、首次使用pickit3出现PK3Err0040三、接入PICkit3烧录时要设置电源四、maplab的输出窗口看不

目录:

Mplab IDE的使用

一、接入PICkit3出现Target Device ID (00000000) does not match expected Device ID (00002460)

二、首次使用pickit3出现PK3Err0040

三、接入PICkit3烧录时要设置电源

四、maplab的输出窗口看不见

Mplab X IDE的使用

一、接入PICkit3提示找不到工具,为驱动没有安装

二、microchip官网下载XC8编译器

实践

一、端口控制

二、实现触摸功能

三、使用PIC公司的触摸库做触摸处理

C与汇编混合编程

--------------------------------------------------------------------------------------------------------------

看到PIC单片机就感到亲切,今天开始对PIC16lf1936编程仿真,仿真器PICKIT3。



--------------------------------------------------------------------------------------------------------------

Mplab IDE的使用

一、接入PICkit3出现Target Device ID (00000000) does not match expected Device ID (00002460)

这是仿真头与线路板连接不正确。

二、首次使用pickit3出现PK3Err0040

PK3Err0040: The target device is not ready for debugging.Please check your configuration bit settings and program the device before proceeding.
解决办法:在这里勾 选:Debugger>Settings>Program Memory>Automatically 的 “Program after successful build”项即可在每次成功后自动下载代码到Flash并进入调试就绪模式。


三、接入PICkit3烧录时要设置电源

PK3Err0045: You must connect to a target device to use PICkit3.

Programmer>Settings>Power中设置

四、maplab的输出窗口看不见

1、在设置这个功能的时候,准备把output窗口移到下边缘,没想到移动过头,移动到电脑桌面的最下方(移到下发看不到的位置去了),然后output窗口就不见了,调不出来,在view里面勾选了output或者取消,编译文件,甚至重新启动电脑,output窗口都不出现了!
右击任务栏->解除锁定任务栏->拖动任务栏到右边就可以看到被隐藏的窗口了

2、隐藏在整个窗口的下方


右侧是有进度条的。


将output移上去,右侧就没有进度条了。

--------------------------------------------------------------------------------------------------------------

Mplab X IDE的使用

图1 驱动切换与安装

图2 批量烧录

一、接入PICkit3提示找不到工具,为驱动没有安装

打开如图1 MPLAB drive,如下图设置,点"Apply Changes"即可。

二、microchip官网下载XC8编译器


--------------------------------------------------------------------------------------------------------------

实践

一、端口控制

完成三件事:1、仿真部分全部正常;2、配置字设置无误;3、内部晶振正常,端口操作正常

#include "pic.h"

void delay_long(unsigned int uiDelayLong);

void main()
{
OSCCON = 0xeb;//禁止4X PLL,内部4MHz时钟源
TRISBbits.TRISB3 = 0;//设置RB5端口为输出
TRISCbits.TRISC4 = 0;
ANSELBbits.ANSB3 = 0;//RB5设置为数字端口
LATBbits.LATB3 = 0;//RB3输出低电平
LATCbits.LATC4 = 0;

WPUBbits.WPUB5 = 1;

while (1)
{
LATBbits.LATB3 = 1;
LATCbits.LATC4 = 0;
delay_long(100);
LATBbits.LATB3 = 0;
LATCbits.LATC4 = 1;
delay_long(100);
}
}


void delay_long(unsigned int uiDelayLong)
{
unsigned int i;
unsigned int j;


for(i=0;i{
for(j=0;j<500;j++)//内嵌循环的空指令数量
{
;
}
}
}

/////////////////////////////////////////////////////////////////////////////

二、实现触摸功能

#include "pic.h"

__CONFIG(0x09E4);
__CONFIG(0x0033);

#define BackLight LATCbits.LATC4
#define Light1 LATAbits.LATA7
#define Light2 LATBbits.LATB3
#define Light3 LATAbits.LATA4
#define Light4 LATBbits.LATB4
#define L2_CLATCbits.LATC0
#define L1_CLATCbits.LATC1
#define C_RLATCbits.LATC2
#define C_LLATCbits.LATC3
#define Cap_H_L LATAbits.LATA6
#define const_key_time2 8

#define const_timr0_value 100
#define trip_value 150//(未触摸值-触摸值)*80%
#define Cap_Avg_value 1500

void key_service(void);
void delay_long(unsigned int uiDelayLong);
static void interrupt SystemISR(void);
void System_Init(void);
void Cap_Init(void);
void SetNextSensor(void);
void RestartTimers(void);
void Cap_ISR(void);

unsigned char Index = 1;// 触摸键通道计数
unsigned char AvgIndex = 0;//更新频率计数
unsigned int Cap_Value = 0;//当前按键频率值
const unsigned int trip[4]={trip_value,trip_value,trip_value,trip_value}; //频率差值
unsigned int Cap_Avg[4]={Cap_Avg_value,Cap_Avg_value,Cap_Avg_value,Cap_Avg_value}; //频率平均值

unsigned int uiKeyTimeCnt1=0;
unsigned int uiKeyTimeCnt2=0;
unsigned int uiKeyTimeCnt3=0;
unsigned int uiKeyTimeCnt4=0;

unsigned char ucKeyLock1=0;
unsigned char ucKeyLock2=0;
unsigned char ucKeyLock3=0;
unsigned char ucKeyLock4=0;

unsigned char ucKey1TouchCnt=0;
unsigned char ucKey2TouchCnt=0;
unsigned char ucKey3TouchCnt=0;
unsigned char ucKey4TouchCnt=0;

unsigned char ucKeySec=0;


void main()
{
System_Init();
delay_long(10);
Cap_Init();
GIE = 1;
while (1)
{
key_service();
}
}


void key_service(void)
{
switch(ucKeySec)
{
case 1:
{

}
break;
case 2:
{
if(ucKey2TouchCnt == 1)
{
Light2 = 0;
C_L = 1;
}else
{
Light2 = 1;
C_L = 0;
ucKey2TouchCnt = 0;
}
}
break;
case 3:
{

}
break;
case 4:
{

}
break;
default:
break;
}
}

void delay_long(unsigned int uiDelayLong)
{
unsigned int i,j;
for(i=0;i{
for(j=0;j<500;j++)
{
asm("nop");
}
}
}


void System_Init(void)
{
OSCCON = 0b01101000;//内部4M晶振
OSCTUNE= 0b00000000;//晶振校准

TRISCbits.TRISC0 = 0;
TRISCbits.TRISC1 = 0;
TRISCbits.TRISC2 = 0;
TRISCbits.TRISC3 = 0;
L2_C = 0;
L1_C = 0;
C_R = 0;
C_L = 0;

TRISAbits.TRISA6 = 0;
LATAbits.LATA6 = 0;

TRISCbits.TRISC4 = 0;//BackLight输出
TRISAbits.TRISA7 = 0;//Light1输出
TRISBbits.TRISB3 = 0;//Light2输出
TRISAbits.TRISA4 = 0;//Light3输出
TRISBbits.TRISB4 = 0;//Light4输出

TRISBbits.TRISB1 = 1;//RB1触摸按键输入
ANSELBbits.ANSB1 = 1;//RB1设置为模拟端口

WPUB = 0x00; //PORTB口无上拉
IOCBP = 0x00; //关PORTB口电平变化中断
IOCBN = 0x00;

BackLight = 0; //背景灯打开
Light1 = 1;//其它灯关闭
Light2 = 1;
Light3 = 1;
Light4 = 1;
}


void Cap_Init(void)
{
CPSCON0 = 0b10001100; //打开电容模块,高频率振荡
CPSCON1 = 0b00000001; //设置扫描通道0-3

OPTION_REG = 0b11010011; //TMR0 分频器1:16
TMR0IF = 0;
TMR0IE = 1;

T1CON = 0b11000101; //计数,时钟来源电容模块1:1分频
T1GCON = 0b00000000; //与门控位无关
TMR1GIF = 0;
TMR1GIE = 0;
TMR1H = 0;
TMR1L = 0;
TMR0 = const_timr0_value;
}


void SetNextSensor(void)
{
if(Index == 3)
{
Index = 0; //Key1-Key4
}
else
{
Index++;
}
CPSCON1 = Index;
}


void RestartTimers(void)
{
TMR1ON = 0;
TMR1H = 0;
TMR1L = 0;
TMR1ON = 1;
}


void Cap_ISR(void)//触摸按键扫描
{
if (Cap_Value < (Cap_Avg[Index] - trip[Index])) //有键按下,不更新频率平均值
{

switch(Index)
{
case 0: //KEY1 ON
{

}
break;

case 1: //KEY2 ON
{
if(ucKeyLock2==0)
{
uiKeyTimeCnt2++; //累加定时中断次数
if(uiKeyTimeCnt2>const_key_time2)
{
uiKeyTimeCnt2 = 0;
ucKeyLock2 = 1;//自锁按键置位,避免一直触发
ucKeySec = 2;//触发2号键
ucKey2TouchCnt++;
}
}
}
break;

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭