共2条
1/1 1 跳转至页
P87LPC76x 关于P87LPC76x的问题
问
P87LPC76x的IC在C语言编程中,如何初始化UCFG1(系统程序配置字)?
另外一个问题是,这一系列的单片机P1.5口用作普通IO口时,只能作施密特输入吗?不能作输出吗?我在实际使用中用P1口作显示时,P1.5就是不输出!!!!! 答 1: 请教周立功的专家了,这个片子老早以前用了 答 2: 先增加一个A51文件,写上以下编码;ucfg_seg_name SEGMENT CODE
;RSEG ucfg_seg_name ; switch to this code segment
CSEG AT 0FD00H ; absolute Segment at Address 0xFD00 :UCFG1
UCFG1: DB 0F1H ;
; 看门狗定时器使
; 复位引脚禁能位
; 口复位高
; CPU 时钟被2 分频完全和标准80C51 一样
; FOSC2-FOSC0=0 0 1:中频晶振或共振器100KHz 至4MHz
CSEG AT 0FD01H ; absolute Segment at Address 0xFD00 :UCFG1
UCFG2: DB 03FH ;
; SB2,SB1 = 0 0:两位保密位都被编程EPROM 不能被编程和
;------------------------------------------------------------------------------
; The END directive is ALWAYS required.
;------------------------------------------------------------------------------
END ; End Of File
答 3: 先谢谢 ajb110 !我试过了,在keil 51中加入STARTLPC.A51并更改DB指令后面的—ucfg1/_ucfg2就可以了!!! 答 4: 我还试过另外一种方法,但得到的结果时这样的.......我在程序中插入汇编:
#include<reg764.h>
#pragma asm
CSEG AT 0FD00H
DB 73H
#pragma endasm
#define uchar unsigned char
.
.
.
但得到的结果是:
C:0x0000 0109 AJMP C:0009
C:0x0002 00 NOP
C:0x0003 0108 AJMP C:0008
C:0x0005 00 NOP
C:0x0006 00 NOP
C:0x0007 00 NOP
C:0x0008 00 NOP
C:0x0009 00 NOP
C:0x000A 00 NOP
227: LJMP timer0
228:
229: ; }
230: ;
231: ;
232: ; void timer0()interrupt 1 using 0
233:
234: RSEG ?PR?timer0?STD65C
235: USING 0
236: timer0:
C:0x000B 02000E LJMP TIMER0(C:000E)
237: PUSH ACC
C:0x000E C0E0 PUSH ACC(0xE0)
238: PUSH PSW
在0xfd00 内是放入了73 ,但是程序开始指向位置偏了????!!!为什么??
另外一个问题是,这一系列的单片机P1.5口用作普通IO口时,只能作施密特输入吗?不能作输出吗?我在实际使用中用P1口作显示时,P1.5就是不输出!!!!! 答 1: 请教周立功的专家了,这个片子老早以前用了 答 2: 先增加一个A51文件,写上以下编码;ucfg_seg_name SEGMENT CODE
;RSEG ucfg_seg_name ; switch to this code segment
CSEG AT 0FD00H ; absolute Segment at Address 0xFD00 :UCFG1
UCFG1: DB 0F1H ;
; 看门狗定时器使
; 复位引脚禁能位
; 口复位高
; CPU 时钟被2 分频完全和标准80C51 一样
; FOSC2-FOSC0=0 0 1:中频晶振或共振器100KHz 至4MHz
CSEG AT 0FD01H ; absolute Segment at Address 0xFD00 :UCFG1
UCFG2: DB 03FH ;
; SB2,SB1 = 0 0:两位保密位都被编程EPROM 不能被编程和
;------------------------------------------------------------------------------
; The END directive is ALWAYS required.
;------------------------------------------------------------------------------
END ; End Of File
答 3: 先谢谢 ajb110 !我试过了,在keil 51中加入STARTLPC.A51并更改DB指令后面的—ucfg1/_ucfg2就可以了!!! 答 4: 我还试过另外一种方法,但得到的结果时这样的.......我在程序中插入汇编:
#include<reg764.h>
#pragma asm
CSEG AT 0FD00H
DB 73H
#pragma endasm
#define uchar unsigned char
.
.
.
但得到的结果是:
C:0x0000 0109 AJMP C:0009
C:0x0002 00 NOP
C:0x0003 0108 AJMP C:0008
C:0x0005 00 NOP
C:0x0006 00 NOP
C:0x0007 00 NOP
C:0x0008 00 NOP
C:0x0009 00 NOP
C:0x000A 00 NOP
227: LJMP timer0
228:
229: ; }
230: ;
231: ;
232: ; void timer0()interrupt 1 using 0
233:
234: RSEG ?PR?timer0?STD65C
235: USING 0
236: timer0:
C:0x000B 02000E LJMP TIMER0(C:000E)
237: PUSH ACC
C:0x000E C0E0 PUSH ACC(0xE0)
238: PUSH PSW
在0xfd00 内是放入了73 ,但是程序开始指向位置偏了????!!!为什么??
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |