|
|||||||||||
| 技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
Keil怎么会对XBYTE宏编译出这样的指令啊?郁闷! |
| 作者:andrewpei 栏目:单片机 |
/* **************************************************************************************************** * Filename : MAIN.c * * DESCRIPTION : * * HARDWARE : PHILIPS p89c51ra2BN.html">p89c51ra2BN + M5M81C55P-2.html">M5M81C55P-2 + SN74HC138 * * SOFTWARE : Keil uVision3 (C51 Compiler V7.50) *--------------------------------------------------------------------------------------------------- * History : ??/??/???? ----- Original **************************************************************************************************** */ /* ******************************************************************************** * HARDWARE Schematic Illustration * * ----------- ----------- * | | | | * | |/-------------------------------------\| | * | P0|\-------------------------------------/|AD0..AD7 | * | ALE|-------------------------------------->|ALE | * | \RD|-------------------------------------->|\RD | * | \WR|-------------------------------------->|\WR | * | P1.0|-------------------------------------->|RESET | * | | | | * | p89c51ra2 | | M5M81C55 | * | | | | * | P2.0|-------------------------------------->|IO/M | * | | _______ | | * | P2.1|---------->|A Y0|------------------>|\CE | * | P2.2|---------->|B | | | * | | ------|C | | | * | | | | HC138 | | | * | | | 5V|--|G1 | | | * | | | | | | | * | | |------|G2B | | | * | | |------|G2A | | | * |___________| ----- |_______| |___________| * --- * - *------------------------------------------------------------------------------- * External data space design: * I/O space ----- 0x0100 - 0x0105 * MEMORY space ----- 0x0000 - 0x00ff ****** |
| 2楼: | >>参与讨论 |
| 作者: andrewpei 于 2005/9/16 8:15:00 发布:
自己顶一下! |
|
| 3楼: | >>参与讨论 |
| 作者: seanner 于 2005/9/16 9:13:00 发布:
xbyte 不是kiel C的保留字 #define INTERNAL_CMD_STAT_81C55 (XBYTE[0x0100]) #define PA_81C55 (XBYTE[0x0101]) #define PB_81C55 (XBYTE[0x0102]) #define PC_81C55 (XBYTE[0x0103]) #define TIMER_LSB_81C55 (XBYTE[0x0104]) #define TIMER_MSB_81C55 (XBYTE[0x0105]) 将上面绝对地址定义改为下面的定义方式试试看。 #define INTERNAL_CMD_STAT_81C55 (*(unsigned CHAR xdata *)0x100) #define PA_81C55 (*(unsigned CHAR xdata *)0x101) #define PB_81C55 (*(unsigned CHAR xdata *)0x102) #define PC_81C55 (*(unsigned CHAR xdata *)0x103) #define TIMER_LSB_81C55 (*(unsigned CHAR xdata *)0x104) #define TIMER_MSB_81C55 (*(unsigned CHAR xdata *)0x105) |
|
| 4楼: | >>参与讨论 |
| 作者: andrewpei 于 2005/9/16 12:01:00 发布:
已经找到问题所在了! 有些汇编代码被安排在了TimeDly函数调用前的片断中。还是有Keil的论坛上解决了这个问题! 谢谢seanner |
|
| 5楼: | >>参与讨论 |
| 作者: 谦杰 于 2009/5/14 9:23:19 发布:
#define DA ((unsigned char volatile xdata *)0x7ff9) DA=AD_data; 当我将AD_data的送到DA中怎么在KEIL环境中编译出错了了呢? 望高手指教 |
|
|
|
Copyright © 1998-2006 fzqkw.cn 浙ICP证030469号 |