• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts




Re: 請問如何在PIC16F877上面讀取出晶片裡面的程式?
初級會員
初級會員


MICROCHIP
MPLAB
你指燒錄器的是這個嗎?

發表於: 2005/8/24 14:10
頂部


关于变频器如何实现电机正反转?
新會員
新會員


请教大家:在变频器矢量控制中,电机的转速是不通过调整转矩电流间接调整的?如果是那样的话该如何实现电机的正反转呀?
谢谢大家了!

發表於: 2005/8/24 11:23
頂部


Re: 請問省電模式要如何設定與控制??
高級會員
高級會員


我喜歡做好人所以住你一把
我是用CCS 寫的
耗電大概是32UA
//#include <12C508A.h>
#include <12f675.h>

#fuses LP,WDT,NOPROTECT, NOMCLR,NOBROWNOUT
//#byte gpio = 06
//#bit P_SYNC = gpio.0
//#bit P_OUT = gpio.1
//#BIT P_DEBUG = gpio.2
//#BIT P_HZ = gpio.4
#byte gpio = 05
#bit P_OUT = gpio.0
struct {
short bit0;
short bit1;
short bit2;
short bit3;
short bit4;
short bit5;
short bit6;
}flg0;
//#define GP0 PIN_A0
//#define GP1 PIN_A1
//#define GP2 PIN_A2
//#define GP3 PIN_A3
//#define GP4 PIN_A4
//#define GP5 PIN_A5
//#define P_OUT GP0

#define f_tmain flg0.bit0
#define F_HZ flg0.bit1
#DEFINE F_TIMEOUT flg0.bit2

INT8 TB_1SEC,TB_SEC,TB_MIN,TB_HOUR,T_OUT;
//int16 COUNTER;

#use delay(clock=32768) // 4000000) // SET DELAY CLOCK 4MHZ

void POWERON_INIT()
{
set_tris_a(0x00);
output_a(0x01);
setup_counters (RTCC_INTERNAL,WDT_2304MS);
// set_tris_b(0xfe);
setup_wdt(WDT_2304MS);

}
void main()
{
POWERON_INIT();
// SLEEP();
while(1)
{
int8 i;
for (i=0;i<250;i++)
{
// output_low(P_OUT); // OUTPUT PWM
P_OUT = 0;
delay_us(500);
P_OUT=1;
// output_high(P_OUT);
delay_us(500);
}
// output_high(P_OUT);
P_OUT = 1;
restart_wdt();
sleep();
}
}
當LED ON時我是用掃瞄方式還可以省很多電流消耗量
我裝一顆鈕釦電池放在我的愛車面版上假裝防盜系統至今已經過了好久還在WORK
算是蠻省電了
希望你會喜歡



發表於: 2005/8/24 10:47
頂部


Re: pic16f877問題請教~棘手~
高級會員
高級會員


你應該規劃出硬體電路
假設你的系統電壓是5V
你可以在ADC 輸入端設計一個分壓電路把5V分壓成2.5V
這軟體簡單但是你沒有說明硬體如何設計這。。。。。叫人很難幫你
請在明述你的需求或者你的狀況例如code 貼上來或許可以比較快可以幫你
例如:你是用組合語言或者C
如果是C是哪一家compiler 是hitech CCS或IAR或。。。。。。


發表於: 2005/8/24 10:39
頂部


Re: 請問力蒲48燒錄問題
資深會員
資深會員


我公司也是Leap-48USB型
當初在用也是問題很多因為說明書太簡單
Reverse=Enable or Disable==>我都是Enable因為此項好像用不到


ID0..ID1..ID2..ID3===>這是有燒EEPROM時才用的到

震盪選擇 LVP...等===>LVP?

Oscillator : 振盪器工作模式選擇
􀂄 RC-OSC as RA6:以外接RC 為振盪
器元件,RA6 為一標準的I/O 腳功能
􀂄 HS-PLL Enable:外接振盪器或石英晶
體為振盪元件,並啟動內部4 倍頻電
路為振盪來源,4 倍頻 PLL 電路只有
在此模式下才會動作
􀂄 EC-OSC2 as RA6:採用外部振盪器從
OCS1 腳輸入振盪源,RA6 為一標準
的I/O 腳功能
EC-OSC2 as Clock Out:採用外部振盪從OCS1 腳輸入振盪源,RA6 變
為OCS2 的振盪頻率除4 後的輸出腳(Fosc/4)
􀂄 RC:RC 振盪模式(OSC2 輸出為 Fosc/4)
􀂄 HS:外接較高頻率石英振盪器(>4MHz~20MHz)或一般的陶瓷振盪器
􀂄 XT:外接石英振盪器(>200KHz~4MHz)
􀂄 LP:外接低頻率石英振盪器(32KHz~200KHz)
如果要讓18F452 工作在40MHz 的速度只有用10MHz 的石英晶體及選用
HS–PLL Enable 模式方可達到,18F452 是無法直接振在40MHz 的。


這是要配合MPLAB IDE裡面選項 兩個都要選擇一樣嗎===>YES


發表於: 2005/8/24 9:13
==== ^^ ^^ ====
頂部


c18 字串函數的 :Warning [2054]
資深會員
資深會員


#include <p18f252.h>
#include <string.h>

const rom far char RomMsg1[]="PIC18F252";

void main(void)
{
unsigned char len;

len=strlenpgm(&RomMsg1);
}

如上面程式, 編譯時都會顯示
Warning [2054] suspicious pointer conversion
但是執行結果是正榷的

請問出現那個警告正常現象嗎?
有無方法消除(看起來很礙眼) ??


發表於: 2005/8/24 8:44
頂部


是不是程式記憶體換頁的問題
新會員
新會員


各位先進們討教了...

我寫了一個密碼的程式,因為使用OTP IC,為了結省IC能重複使用, 將原本燒過的程式部分用NOP 蓋掉 來燒錄新的程式,程式短一點狀況下重複使用都正常,但是當程式覆蓋到260行時燒出來的動作就出現問題,檢查發現當我執行到327行時有一個查表的動作,如果當工作站存器內容是"1"加上程式計數器當時的位置應該是跳到329行,但是他卻跳到了48行,我看了PLC的位置是他跳的位置沒錯...可使卻不是我想要他跳的位置...是不是程式記憶體換頁的問題,我該怎麼做能??

再請教一個問題,16C622有2K的程式記憶體位置,但他卻只有兩個BANK可以切換,這樣怎麼夠2K切換呢?

不好意思...初學 一堆狀況...麻煩各位了!!



; 2005 08/14 密碼比較

LIST P=16C622
include "P16C622.inc"

KEY1 EQU 20H
KEY2 EQU 21H
KEY3 EQU 22H
KEY4 EQU 23H
password EQU 30H
password2 EQU 31H
COUN1 EQU 25H ;密碼順位
COUN2 EQU 26H ;比對密碼順位
BTU_DELY EQU 2DH ;調整等待按鍵多久沒按後清除參數
READ1 EQU 27H

ORG 0X00
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
;====================================
;初值設定
;====================================
CLRF PORTA
CLRF PORTB
BSF STATUS,RP0 ;置第1檔頁
MOVLW 0x00 ; RA4-RA0 暫為輸出,可以改變
MOVWF TRISA ;暫存器內容模擬輸入狀態
CLRF TRISB ;設PORTB 為輸出
BCF STATUS,RP0 ;置第0檔頁
MOVLW B'00000111' ; 設為數位輸入
MOVWF CMCON
GOTO MAIN
;================================
; 6秒延遲
;================================
DELAY
CLRF 2BH
CLRF 2CH
MOVLW 0FH
MOVWF BTU_DELY
DEL2
GOTO READ ;檢查輸入
DEL2_2_1
DECFSZ 2BH,F
GOTO DEL2

DECFSZ 2CH,F
GOTO DEL2_2_1

DECFSZ BTU_DELY,F
GOTO DEL2_2_1
RETURN

;=======================================
;
;===============================================

MAIN
CLRF COUN1
CLRF KEY1 ;清除輸入密碼=
CLRF KEY2 ; =
CLRF KEY3 ; =
CLRF KEY4 ; <====
CLRF COUN2 ; 密碼比對次數計數
CALL DELAY ;呼叫六秒延遲
GOTO MAIN ;六秒到,沒有按鍵,重置狀態等待輸入按鍵

;========================================
; 密碼讀入
;========================================
READ
BTFSS PORTA,4
GOTO DEL2_2_1 ;沒有按鍵回到BTU_DELAY 6秒延遲
MOVF PORTA,W ; 先存入READ1暫存器=
MOVWF READ1 ; <=======
BCF READ1,4 ;清除按鍵檢測位元 VT
;============
keyEnter ;比對密碼是否為"井"鍵
MOVF READ1,W
XORLW 0x0C ;比對是否為"井"鍵
BTFSC STATUS,Z ;輸入不是"井" 跳去存輸入密碼
GOTO EnterOk ;比對密碼
BTFSC COUN1,2 ;檢查四個密碼是否已經輸入,
GOTO READ ;以輸入四個密碼,等待"井"號
;==================================
MOVF COUN1,W
INCF COUN1,F ; 輸入次數加一
ADDWF PCL,F ;程式累加器 + WF
GOTO KEYIN1 ;跳到對應的位置存入
GOTO KEYIN2 ;
GOTO KEYIN3 ;
GOTO KEYIN4 ;
;GOTO keyEnter ; 跳到比對密碼

KEYIN1
MOVF READ1,W
MOVWF KEY1
CALL DELAY_2
GOTO READ
KEYIN2
MOVF READ1,W
MOVWF KEY2
CALL DELAY_2
GOTO READ
KEYIN3
MOVF READ1,W
MOVWF KEY3
CALL DELAY_2
GOTO READ
KEYIN4
MOVF READ1,W
MOVWF KEY4
CALL DELAY_2
GOTO READ

;=========================================
; 組合輸入的密碼為兩個byte
;=======================================
EnterOk ;是"井"跳去組合密碼
SWAPF KEY1,W
ADDWF KEY2,W
MOVWF password
SWAPF KEY3,W
ADDWF KEY4,W
MOVWF password2
;============================
; codecompare
;============================
codecompare
MOVF COUN2,W ;比對產品組計數
CALL CodCoun1 ;跳到對應的產品密碼組別
XORWF password,W
BTFSC STATUS,Z
GOTO NEXTCODE ;RETURN 第一組密碼比對正確則跳去比對第二組
ERRORCODE
INCF COUN2,F ;不是第一產品密碼,加一,比對下一個
GOTO codecompare
NEXTCODE
MOVF KEY2,W ;將第二組密碼與輸入的第二組密碼比對
XORWF password2,W
BTFSS STATUS,Z
GOTO ERRORCODE ;第二組密碼與輸入錯誤,比對下一個產品密碼
CLRF PORTB
INCF COUN2,W
MOVWF PORTB
GOTO MAIN

CodCoun1 ;跳到對應的產品密碼
ADDWF PCL,F ;程式累加器 + WF
GOTO codes1
GOTO codes2
GOTO codes3
GOTO MAIN ;三組內建密碼比對都錯誤表示輸入碼錯誤,跳回重新數入


;========================================
; 密碼
;========================================
codes1
MOVLW 094H ;鐵捲門2
MOVWF KEY2 ;將密碼先移到KEY2,等待做比對
RETLW 066H ;鐵捲門1
codes2
MOVLW 092H ;汽車2
MOVWF KEY2
RETLW 063H ;汽車1
codes3
MOVLW 055H ;冷氣2
MOVWF KEY2
RETLW 060H ;冷氣1

;=================================
; 200mS 延遲
;=================================
DELAY_2
BTFSC PORTA,4 ;等待按鍵放掉
GOTO $-1

RETURN

END

發表於: 2005/8/24 8:06
頂部


Re: 我的BANK怎麼了?
新會員
新會員


不好意思!!
我已經在之前的討論內容早找到解答....如下


Re: 16F628 與 16F628A
MPASM 的提示有三種 :

1. Error : 程式有嚴重的錯誤導致 MPASM 無法翻譯,這時一定要找出錯誤出來

2. Warning : 程式被檢測出重要的錯誤,可能導致程式執行上的錯誤,最好將錯誤找出來修正

3. Message : 只是訊息的通知,確定你已經按規定設定了即可。

發表於: 2005/8/24 0:16
頂部


我的BANK怎麼了?
新會員
新會員



各位先進們討教了:

以下是我程式我再編譯後出現這樣的一段訊息:
"Message[302] D:\PIC PROGRAM\L-RMOVE.ASM 11 : Register in operand not in bank 0. Ensure that bank bits are correct. "

但是我的BANK並沒有切錯啊 !!傷腦筋!!



; 2005 08/05 LED 左右移 測試ok

LIST P=16C622
include "P16C622.inc"

COUNTER EQU 20H
ORG 0X00
MAIN
CLRF PORTB
BSF STATUS,RP0 ;置第1檔頁
CLRF TRISB ;設PORTB 為輸出
BCF STATUS,RP0 ;置第0檔頁
MOVLW b'00000111'
MOVWF CMCON ; 設porta為數位輸入
BSF PORTB,0 ;輸出第0位元"1"
BCF STATUS,C ;設定轉入為"0"
;=========================================

initial
CALL scan
LL2
CALL DELAY
RLF PORTB,F
DECFSZ COUNTER ,F
GOTO LL2
CALL scan
RRR
CALL DELAY
RRF PORTB,F
DECFSZ COUNTER,F
GOTO RRR
GOTO initial
;===============================
scan
MOVLW 03H
MOVWF COUNTER
RETURN
;===============================
DELAY
MOVLW 0xFF
MOVWF 22H
CLRF 23H
DEL2
DECFSZ 23H,F
GOTO DEL2
DECFSZ 22H,F
GOTO DEL2
RETURN

END

發表於: 2005/8/23 23:57
頂部


Re: 關於USB001的課程_USB Driver的問題
管理員
管理員


不知道 LAB TOOL 48XP 對 Configuration bits 的設定是否能由 .hex 檔中的資訊直接匯入 ?
另外須注意的是在 Configuration bits 的設定中要做一些小修改.

>> 96 MHZ PLL Prescaler 需要設為 Divide by 6 (24 Mhz) 以符合 PPP013 的 Oscillator 設定.

如果還有問題 , 打 0800717718 一起討論一下吧 :)

Best Regards,

發表於: 2005/8/23 23:44
頂部



« 1 ... 6960 6961 6962 (6963) 6964 6965 6966 ... 7523 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------