www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]目錄:Mplab IDE的使用一、接入PICkit3出現(xiàn)Target Device ID (00000000) does not match expected Device ID (00002460)二、首次使用pickit3出現(xiàn)PK3Err0040三、接入PICkit3燒錄時要設置電源四、maplab的輸出窗口看不

目錄:

Mplab IDE的使用

一、接入PICkit3出現(xiàn)Target Device ID (00000000) does not match expected Device ID (00002460)

二、首次使用pickit3出現(xiàn)PK3Err0040

三、接入PICkit3燒錄時要設置電源

四、maplab的輸出窗口看不見

Mplab X IDE的使用

一、接入PICkit3提示找不到工具,為驅(qū)動沒有安裝

二、microchip官網(wǎng)下載XC8編譯器

實踐

一、端口控制

二、實現(xiàn)觸摸功能

三、使用PIC公司的觸摸庫做觸摸處理

C與匯編混合編程

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

看到PIC單片機就感到親切,今天開始對PIC16lf1936編程仿真,仿真器PICKIT3。



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

Mplab IDE的使用

一、接入PICkit3出現(xiàn)Target Device ID (00000000) does not match expected Device ID (00002460)

這是仿真頭與線路板連接不正確。

二、首次使用pickit3出現(xiàn)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并進入調(diào)試就緒模式。


三、接入PICkit3燒錄時要設置電源

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

Programmer>Settings>Power中設置

四、maplab的輸出窗口看不見

1、在設置這個功能的時候,準備把output窗口移到下邊緣,沒想到移動過頭,移動到電腦桌面的最下方(移到下發(fā)看不到的位置去了),然后output窗口就不見了,調(diào)不出來,在view里面勾選了output或者取消,編譯文件,甚至重新啟動電腦,output窗口都不出現(xiàn)了!
右擊任務欄->解除鎖定任務欄->拖動任務欄到右邊就可以看到被隱藏的窗口了

2、隱藏在整個窗口的下方


右側(cè)是有進度條的。


將output移上去,右側(cè)就沒有進度條了。

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

Mplab X IDE的使用

圖1 驅(qū)動切換與安裝

圖2 批量燒錄

一、接入PICkit3提示找不到工具,為驅(qū)動沒有安裝

打開如圖1 MPLAB drive,如下圖設置,點"Apply Changes"即可。

二、microchip官網(wǎng)下載XC8編譯器


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

實踐

一、端口控制

完成三件事:1、仿真部分全部正常;2、配置字設置無誤;3、內(nèi)部晶振正常,端口操作正常

#include "pic.h"

void delay_long(unsigned int uiDelayLong);

void main()
{
OSCCON = 0xeb;//禁止4X PLL,內(nèi)部4MHz時鐘源
TRISBbits.TRISB3 = 0;//設置RB5端口為輸出
TRISCbits.TRISC4 = 0;
ANSELBbits.ANSB3 = 0;//RB5設置為數(shù)字端口
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++)//內(nèi)嵌循環(huán)的空指令數(shù)量
{
;
}
}
}

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

二、實現(xiàn)觸摸功能

#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;// 觸摸鍵通道計數(shù)
unsigned char AvgIndex = 0;//更新頻率計數(shù)
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;//內(nèi)部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; //計數(shù),時鐘來源電容模塊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++; //累加定時中斷次數(shù)
if(uiKeyTimeCnt2>const_key_time2)
{
uiKeyTimeCnt2 = 0;
ucKeyLock2 = 1;//自鎖按鍵置位,避免一直觸發(fā)
ucKeySec = 2;//觸發(fā)2號鍵
ucKey2TouchCnt++;
}
}
}
break;

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Sept. 8, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NVIDIA(英偉達) Blackwell平臺規(guī)模化出貨,以及北美CSP業(yè)者持續(xù)擴大布局General Server(通用型...

關鍵字: SSD DDR4 服務器

Sept. 4, 2025 ---- Apple(蘋果)即將發(fā)布iPhone 17、iPhone 17 Air(暫名)、iPhone 17 Pro及Pro Max四款旗艦新機,除了外觀辨識度升級,處理器性能、散熱和拍攝功...

關鍵字: iPhone 16 A19處理器 折疊機

Sept. 3, 2025 ---- 根據(jù)TrendForce集邦咨詢最新發(fā)布的《2025近眼顯示市場趨勢與技術分析》報告,2025年隨著國際品牌陸續(xù)推出AR眼鏡原型,以及Meta預計在近期發(fā)布AR眼鏡Celeste,市...

關鍵字: AR眼鏡 OLED

Sept. 2, 2025 ---- TrendForce集邦咨詢表示,2025年第二季DRAM產(chǎn)業(yè)因一般型DRAM (Conventional DRAM)合約價上漲、出貨量顯著增長,加上HBM出貨規(guī)模擴張,整體營收為3...

關鍵字: DRAM 智能手機 ASP

Sept. 1, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季因中國市場消費補貼引發(fā)的提前備貨效應,以及下半年智能手機、筆電/PC、Server新品所需帶動,整體晶圓代工產(chǎn)能利用率與出貨...

關鍵字: 晶圓代工 智能手機 筆電

Aug. 28, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,2025年第二季NAND Flash產(chǎn)業(yè)雖面臨平均銷售價格(ASP)小幅下滑,所幸原廠減產(chǎn)策略緩解供需失衡,疊加中、美兩大市場政策推動,整體...

關鍵字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英偉達)近日推出的Jetson Thor被視為機器人的物理智慧核心,以Blackwell GPU、128 GB記憶體堆疊出2070 FP4 TFLOPS AI算力,是前...

關鍵字: 機器人 大型語言模型 AI算力

Aug. 21, 2025 ---- 根據(jù)TrendForce集邦咨詢最新液冷產(chǎn)業(yè)研究,隨著NVIDIA GB200 NVL72機柜式服務器于2025年放量出貨,云端業(yè)者加速升級AI數(shù)據(jù)中心架構,促使液冷技術從早期試點邁...

關鍵字: AI 數(shù)據(jù)中心 服務器

除了充電電路外,鋰電池的放電過程也需要保護。鋰電池的放電電壓不能低于3.0V,否則電池壽命會大幅縮短。為了實現(xiàn)這一保護,工程師們設計了DW01芯片與8205 MOS管的電路組合。DW01芯片能夠監(jiān)控鋰電池的放電電壓和電流...

關鍵字: 鋰電池 電池

在PCB設計的宏偉藍圖中,布局與布線規(guī)則猶如精密樂章中的指揮棒,是鑄就電路板卓越性能、堅不可摧的可靠性及經(jīng)濟高效的制造成本的靈魂所在。恰如一位巧手的園藝師,合理的布局藝術性地編排著每一寸空間,既削減了布線交織的繁復迷宮,...

關鍵字: PCB 電路板
關閉