⑴ 如何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往里边写,写完后去试一下。电子市场卖芯片的地方,有编程器,你让他们读写。