⑴ 如何PIC16C54單片機程序燒錄到新一代的PIC16F54單片里,並且功能能正常
有些MCU的ROM 只能編程一次,後面的編程都無效
如果想繼續編程新的程序就要換晶元
⑵ 如何檢測pic16c57c好壞
用什麼單片機做流水燈,原理都是一樣的。首先你先熟悉下 這個PIC16C57C的資源、和語言吧。熟悉了,你就會了。
⑶ C51語言中PIC16C62單片機編程與ATMC51單片機編程語言的區別
主體語言沒有變.變了的只有指令等跟單片機硬體有關的部分,你了解了兩種的結構之後自己就能得出結論了
⑷ PIC16C711單片機的程序存儲器為什麼是14位的
二、工作原理
實現11位A/D轉換由PIC16C711做2次8位A/D轉換完成。PIC16C711有4個模擬量輸入通道RA0~RA3,這些模擬量輸入通道復用1個采樣保持器進入到A/D轉換器。參考電壓Vref可以來自外部也可以來自內部VDD,A/D轉換器屬於逐次逼近式,轉換結果(8位)存入ADRES寄存器。在A/D轉換前必然選擇適當的通道,設置足夠的采樣時間。用戶可以通過設置A/D控制寄存器ADCON0和ADCON1來控制其轉換過程,同時A/D轉換的狀態也會在ADCON0中體現出來。
先將待轉換的電壓Vi送到PIC16C711的RA0通道做一次A/D轉換。根據轉換所得的數字量由軟體算出Vi在8檔中位置,用Vi減去Vi所在檔的起始電壓。將所得差值放大8位,使之變為0~5V電壓信號,再送給PIC16C711的RA1通道做1次A/D轉換,所得數字量是11位AD轉換的低8位,而檔位CBA就是高3位,從而實現11位A/D轉換。
舉例說明如下:假設輸入電壓Vi為3V,程序控制PIC16C711的RA0通道先進行第1次A/D轉換,所得結果是153,即3/5×255=153,對應8位數字量為10011001。將低5位屏蔽,得10000000,循環右移5次,得00000100,此時低3位對應的就是Vi=3V電壓時的檔位,即第4檔,CBA=100,程序將該檔位由RB2,RB1,RB0輸出,作為8選一模擬開關的通道選擇,使CD4051輸出2.5V,即5/8×4=2.5V。該電壓經IC2運放跟隨,再經IC3進行差分放大。設計時調整R11,R12,R13和R14的阻值,使放大倍數為8位,則得放大器IC3輸出Vo=8(Vi-2.5)=8(3-2.5)=4.0V。選擇RA1通道進行第2次A/D轉換,結果為11001100,這就是11位A/D轉換結果的低8位。檔位100為11位A/D轉換的高3位,合起來就是11位A/D轉換的結果10011001100。
三、程序
以下是使用PIC16C711指令系統完成11位A/D轉換的程序段。
BSF
STATUS,RP0;選頁面1
MOVLW
00000010B
;RA0、RA1為模擬通道
MOVWF
ADCON1
;內部參考電壓
BCF
STATUS,RP0
;選頁面0
MOVLW
11000001B
;選RA0通道和內部時鍾
MOVWF
ADCON0
MOVLW
.125
;延時125μs,等待輸入
CALL
WAIT
;穩定
BSF
ADCON0,GO
;啟動A/D
LOOP
BTFSC
ADCON0,GO
;判斷A/D完成否
GOTO
LOOP
MOVF
ADRES,W
;取轉換結果
ANDLW
0E0
;屏蔽低5位
MOVWF
D1
;存入D1
BCF
STATUS,C
RRF
D1,1
;右移5次
RRF
D1,1
RRF
D1,1
RRF
D1,1
RRF
D1,1
MOVF
D1,W
MOVWF
PORTB
;檔位輸出
MOVLW
11001001B
;選RA1通道
MOVWF
ADCON0
MOVLW
.60
;延時60μs
CALL
WAIT
BSF
ADCON0,GO
;啟動A/D
LOOP1
BTFSC
ADCON0,GO
;判斷A/D完成否
GOTO
LOOP1
MOVF
ADRES,W
;A/D轉換結果存D0
MOVWF
D0
WAIT
MOVWF
TEMP
;延時子程序
NEXT
DECFSZ
TEMP,1
GOTO
NEXT
RETURN
用這種方法實現的11位A/D轉換速度快PIC16C711基本上都是單周期指令,在4MHz振盪頻率下指令周期1μs,進行1次A/D轉換最短時間20μs;2次A/D轉換40μs;2個運放變換時間20μs×2=40μs。總的轉換時間為百μs級。
⑸ 求助,pic16c54單片機C語言用什麼編譯器
C語言是用PICC 匯編直接用mplab裡面就自已帶有啦 在微芯網站上都有8.05版的吧,,我前不久剛下了一個
⑹ 我初學PIC單片機C語言編程,請問C語言中如何定義PIC16C管腳。我用的是MPLAB中的PICC編程工具。
TRISA=0FFH,定義為輸入
TRISA=00H,定義為輸出,其他類似
⑺ PIC16C711單片機的程序存儲器為什麼是14位的
「而且我們認為計算機是2進制的機器,就算增加也應該是16位而不是14位的啊」
症結就在這里。的確計算機是以二進制為基礎,但實施時採用幾位二進制是由內核硬體設計所決定的。9根內部匯流排就是9位二進制。
通用微控制器/微處理器多採用8/16/32位設計是為了方便數據處理以及代碼的通用性。
⑻ PIC16C54C單片機能把裡面的程序讀出來嗎怎麼解密,用什麼編程器
你好,我來為你解答:
如果沒有加密,可以用MPLAB用ICD2或者其他編程器讀到匯編指令。但所有偽指令和宏指令都沒有了,這個看起來很難懂得。
如果已經加密了,拷出來也看不了,黑客一不行,因為加密演算法是不可逆的。
如果程序原本是 C語言寫的,但C語言程序會被MPLAB先編譯成匯編後才能燒寫進單片機,所以讀出的依然是匯編,無法轉換成C。
⑼ pic16f716程序可以燒寫到pic16c711嗎
pic16f716可以反復燒寫pic16c711隻能燒寫,其他兩個完全一樣
⑽ 這是從PIC16C57C 的單片機中讀取的程序,不知道這個單片機是否加密了
pic16c57有2048的地址空間。看到你前面的數據,能讀出來,應該沒加密。加密後,用編程器讀出的數據都是0000,你贏該用編程器讀,選好型號,讀出後,買一片pic16f57往裡邊寫,寫完後去試一下。電子市場賣晶元的地方,有編程器,你讓他們讀寫。