共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电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |