共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
我要赚赏金
