共2条
1/1 1 跳转至页
问
我们老师要求我们为一个单片机作内存分配表,请教各位???谢谢
答 1:
这好办,你老爸每月给你200元零用钱,你怎么用的拉R00~R07 机动 通用寄存器
R08~R38 买饭票 显示缓存区
R39~R50 零食 中间变量
R51~R70 买参考资料 各类定时计数器
R71~R90 买充值卡 各种专用数据区
R91~R110 请女朋友吃咖啡 专用运算器
R120~R150 泡巴费 各类标志
R151~ 备用
下面是本人一段程序中的分配表,供参考(HT49R30芯片)
;-------------------------------------------------------------------------
FUNC .SECTION 'DATA' ;== 功能寄存器RAM节区 ==
;-------------------------------------------------------------------------
;********************
;* 数据表及参数定义 *
;********************
COMD_TAB EQU 0FE2H ;HT1621命令数据表偏址
YM_TAB EQU 0FF0H ;七段译码数据表偏址
DH_TAB EQU 0FB0H ;火焰动画数据表偏址
DH_LEN EQU 50 ;动画数据表长度
;
DH_SPEED EQU 10 ;动画速度(x10ms)
J_TIM_SET EQU 20 ;继电器吸合时间(x1秒)
ALM_SET1 EQU 03 ;报警蜂鸣每遍次数
ALM_SET2 EQU 05 ;报警蜂鸣遍数
;
C_TIM EQU 15H ;充电倒计时预置时间(x1分)[压缩BCD码]
FAN_ES EQU 60 ;风扇延时关预置时间(x1秒)
;
OVER1_ES EQU 10 ;超载1延时预置时间(x1秒)
OVER2_ES EQU 5 ;超载2延时预置时间(x1秒)
OVER3_ES EQU 1 ;超载3延时预置时间(x1秒)
OVER1_DAT EQU 3 ;超载1允许次数预置数(35A)
OVER2_DAT EQU 3 ;超载2允许次数预置数(40A)
OVER3_DAT EQU 2 ;超载3允许次数预置数(45A)
;
;**************
;* 输出口定义 *
;**************
DAT_LINE EQU PA.0 ;HT1621数据线
WR_LINE EQU PA.1 ;HT1621写入线
CS_LINE EQU PA.2 ;HT1621选通线
;
C_PUL_H EQU PA.3 ;高压充电脉冲控制线
C_PUL_M EQU PB.6 ;中压充电脉冲控制线
C_PUL_L EQU PB.7 ;低压充电脉冲控制线
F_PUL EQU PA.4 ;放电脉冲控制线
;
FM EQU PA.5 ;蜂鸣器控制线
ALM EQU PA.6 ;报警灯控制线
FAN EQU PA.7 ;散热风扇控制线
;
ADJ EQU PB.3 ;自校切换控制线
RUN1 EQU PD.0 ;运行状态灯1(PWM)
RUN2 EQU PD.1 ;运行状态灯2(PWM)
;**************
;* 输入口定义 *
;**************
STA_KEY EQU PC.0 ;启动键输入线
SEL_KEY EQU PC.1 ;选择键输入线
SET_KEY EQU PC.2 ;设置键输入线
CHK_KEY EQU PC.3 ;自校键输入线
COIN EQU PC.4 ;投币器输入线
;
CURRENT EQU PB.0 ;充放电流采样输入线(A/D)
TEMP EQU PB.1 ;温度测试输入线(A/D)
;****************
;* 内存单元定义 *
;****************
S17_18 DB ? ;LY-1,2,3,4, LY-5,6,7,8
S19_20 DB ? ;LS-A,B,C,D, LS-F,G,E
S21_22 DB ? ;LM-A,B,C,D, LM-F,G,E
S23_24 DB ? ;LH-A,B,C,D, LH-F,G,E,P
S25_26 DB ? ;RS-A,B,C,D, RS-F,G,E
S27_28 DB ? ;RM-A,B,C,D, RM-F,G,E
S29_30 DB ? ;RH-A,B,C,D, RH-F,G,E,P
S31_32 DB ? ;RY-1,2,3,4 RY-5,6,7,8
;
COUNT DB ? ;用作记录循环次数
COUNT1 DB ?
ES_CNT DB ? ;延时10us计数器
ID DB ? ;标识符寄存器
ADDR DB ? ;地址寄存器
DAT DB ? ;数据寄存器
RLC_CNT DB ? ;左环移计数器
;
STA_CNT DB ? ;启动键计数器
SEL_CNT DB ? ;选择键计数器
SET_CNT DB ? ;设置键计数器
CHK_CNT DB ? ;自校键计数器
;
KEY_ES DB ? ;键消抖延时30ms定时计数器
;
R2 DB ? ;显示缓存
R3 DB ? ;显示缓存
R4 DB ?
R5 DB ? ;运算寄存器
TMPE1 DB ? ;中断时累加器A暂存单元
TMPE2 DB ? ;中断时状态寄存器暂存单元
;
US_CNT DB ? ;100us计数器
US10_CNT DB ? ;1ms计数器
MST_CNT DB ? ;10ms计数器
HY_CNT DB ? ;火焰动作定时计数器
AD_CNT DB ? ;A/D转换显示刷新定时计数器
;
S_CNT DB ? ;秒计数器
M_CNT DB ? ;分计数器
;
FM_TIM DB ? ;蜂鸣定时计数器
FM_CNT DB ? ;蜂鸣次数计数器
FM_OSC DB ? ;蜂鸣振荡计数器
ALM_TIM DB ? ;报警蜂鸣间隔定时
ALM_CNT DB ? ;报警蜂鸣次数计数器
;
LCD_COMD DB ? ;HT1621命令代码暂存器
BAT_ALM DB ? ;低电压报警标志
;
DATA0 DB ? ;BTOD_16 二进制高8位
DATA1 DB ? ;BTOD_16 二进制高8位
DATA2 DB ? ;BTOD_16 二进制高8位
DATA3 DB ? ;BTOD_16 二进制高8位
DATA4 DB ? ;BTOD_16 二进制高8位
DATA5 DB ? ;BTOD_16 二进制低8位
DATA6 DB ? ;BTOD_16 二进制高8位
DATA7 DB ? ;BTOD_16 二进制高8位
TD6 DB ?
TD5 DB ? ;BTOD_16 十进制百位
TD4 DB ? ;BTOD_16 十进制十位
TD3 DB ? ;BTOD_16 十进制个位
TD2 DB ? ;BTOD_16 十进制百位
TD1 DB ? ;BTOD_16 十进制十位
TD0 DB ? ;BTOD_16 十进制个位
TDD2 DB ? ;BTOD_16 十进制百位
TDD1 DB ? ;BTOD_16 十进制十位
TDD0 DB ? ;BTOD_16 十进制个位
;
DAT0 DB ? ;BTOD_16 二进制高8位
DAT1 DB ? ;BTOD_16 二进制高8位
DAT4 DB ? ;BTOD_16 二进制高8位
DAT5 DB ? ;BTOD_16 二进制高8位
TDB2 DB ? ;BTOD_16 十进制百位
TDB1 DB ? ;BTOD_16 十进制十位
TDB0 DB ? ;BTOD_16 十进制个位
AH4 DB ? ;AH累加最高位
AH3 DB ? ;AH累加最高位
AH2 DB ? ;AH累加次高位
AH1 DB ? ;AH累加高位
AH0 DB ? ;AH累加最低位
;
AH4_DISP DB ? ;AH累加显示缓存区
AH3_DISP DB ? ;AH累加显示缓存区
;
AMP2_DISP DB ? ;安倍显示缓存区
AMP1_DISP DB ? ;安倍显示缓存区
AMP0_DISP DB ? ;安倍显示缓存区
;
C_CNT DB ? ;充电脉冲定时计数器
F_CNT DB ? ;放电脉冲定时计数器
C_ES DB ? ;充电间隙定时计数器
F_ES DB ? ;放电间隙定时计数器
;
LED_F DB ? ;红黄绿LED灯状态寄存器
;
R_HY_CNT DB ? ;右火动画计数器
L_HY_CNT DB ? ;左火动画计数器
;
AMP_DISP_CNT DB ? ;安倍显示刷新定时计数器
OVER1_ES_CNT DB ? ;超载1延时计数器
OVER2_ES_CNT DB ? ;超载2延时计数器
OVER3_ES_CNT DB ? ;超载3延时计数器
OVER1_CNT DB ? ;超载1允许次数计数器
OVER2_CNT DB ? ;超载2允许次数计数器
OVER3_CNT DB ? ;超载3允许次数计数器
;
;**************
;* 标志位定义 *
;**************
FM_ON DBIT ;开蜂鸣延时标志
FM_OFF DBIT ;关蜂鸣延时标志
BEE DBIT ;蜂鸣允许标志
;
AH_6_DISP DBIT ;安时六位显示标志
TIM_6_DISP DBIT ;定时六位显示标志
AH_TIM_DISP DBIT ;安时定时显示标志
AMP_DISP DBIT ;安培显示标志
;
STA_UP DBIT ;启动键抬起标志
CHK_UP DBIT ;自校键抬起标志
SEL_UP DBIT ;选择少键抬起标志
SET_UP DBIT ;设置键抬起标志
;
STA_ES DBIT ;启动键消抖延时标志
CHK_ES DBIT ;自校键消抖延时标志
SEL_ES DBIT ;选择键消抖延时标志
SET_ES DBIT ;设置选择键消抖延时标志
;
TIM_EN DBIT ;定时允许标志
;
ALM_EN DBIT ;报警允许标志
ALM_LOP DBIT ;报警循环标志
ALM_TIM_EN DBIT ;报警间隔定时允许标志
;
AH_CAL_EN DBIT ;安时累加允许标志
AH_DISP_EN DBIT ;安时累计显示允许标志
;
RUN_CHAR_EN DBIT ;充电运行允许标志
C_CNT_EN DBIT ;充电脉冲定时允许标志
F_CNT_EN DBIT ;放电脉冲定时允许标志
C_ES_EN DBIT ;充电间隙定时允许标志
F_ES_EN DBIT ;放电间隙定时允许标志
FAN_CNT_EN DBIT ;风扇延时允许标志
AMP_DISP_EN DBIT ;安培显示允许标志
;
LOWER DBIT ;低输出(串大限流电阻)
MIDD DBIT ;中输出(串中限流电阻)
HI DBIT ;高输出(串低限流电阻)
;
CH_AMP_EN1 DBIT ;充电处理允许标志
CH_AMP_EN2 DBIT ;等待充电显示缓己加载标志
DISP_EN DBIT
;
AD_ZH_END DBIT ;A/D转换结束标志
OVER1_ES_EN DBIT ;超载1延时允许标志
OVER2_ES_EN DBIT ;超载2延时允许标志
OVER3_ES_EN DBIT ;超载3延时允许标志
OVER_OFF DBIT ;超载关机允许标志(允许自动恢复)
OVER_OFF2 DBIT ;超载关机2允许标志(禁止自动恢复)
R08~R38 买饭票 显示缓存区
R39~R50 零食 中间变量
R51~R70 买参考资料 各类定时计数器
R71~R90 买充值卡 各种专用数据区
R91~R110 请女朋友吃咖啡 专用运算器
R120~R150 泡巴费 各类标志
R151~ 备用
下面是本人一段程序中的分配表,供参考(HT49R30芯片)
;-------------------------------------------------------------------------
FUNC .SECTION 'DATA' ;== 功能寄存器RAM节区 ==
;-------------------------------------------------------------------------
;********************
;* 数据表及参数定义 *
;********************
COMD_TAB EQU 0FE2H ;HT1621命令数据表偏址
YM_TAB EQU 0FF0H ;七段译码数据表偏址
DH_TAB EQU 0FB0H ;火焰动画数据表偏址
DH_LEN EQU 50 ;动画数据表长度
;
DH_SPEED EQU 10 ;动画速度(x10ms)
J_TIM_SET EQU 20 ;继电器吸合时间(x1秒)
ALM_SET1 EQU 03 ;报警蜂鸣每遍次数
ALM_SET2 EQU 05 ;报警蜂鸣遍数
;
C_TIM EQU 15H ;充电倒计时预置时间(x1分)[压缩BCD码]
FAN_ES EQU 60 ;风扇延时关预置时间(x1秒)
;
OVER1_ES EQU 10 ;超载1延时预置时间(x1秒)
OVER2_ES EQU 5 ;超载2延时预置时间(x1秒)
OVER3_ES EQU 1 ;超载3延时预置时间(x1秒)
OVER1_DAT EQU 3 ;超载1允许次数预置数(35A)
OVER2_DAT EQU 3 ;超载2允许次数预置数(40A)
OVER3_DAT EQU 2 ;超载3允许次数预置数(45A)
;
;**************
;* 输出口定义 *
;**************
DAT_LINE EQU PA.0 ;HT1621数据线
WR_LINE EQU PA.1 ;HT1621写入线
CS_LINE EQU PA.2 ;HT1621选通线
;
C_PUL_H EQU PA.3 ;高压充电脉冲控制线
C_PUL_M EQU PB.6 ;中压充电脉冲控制线
C_PUL_L EQU PB.7 ;低压充电脉冲控制线
F_PUL EQU PA.4 ;放电脉冲控制线
;
FM EQU PA.5 ;蜂鸣器控制线
ALM EQU PA.6 ;报警灯控制线
FAN EQU PA.7 ;散热风扇控制线
;
ADJ EQU PB.3 ;自校切换控制线
RUN1 EQU PD.0 ;运行状态灯1(PWM)
RUN2 EQU PD.1 ;运行状态灯2(PWM)
;**************
;* 输入口定义 *
;**************
STA_KEY EQU PC.0 ;启动键输入线
SEL_KEY EQU PC.1 ;选择键输入线
SET_KEY EQU PC.2 ;设置键输入线
CHK_KEY EQU PC.3 ;自校键输入线
COIN EQU PC.4 ;投币器输入线
;
CURRENT EQU PB.0 ;充放电流采样输入线(A/D)
TEMP EQU PB.1 ;温度测试输入线(A/D)
;****************
;* 内存单元定义 *
;****************
S17_18 DB ? ;LY-1,2,3,4, LY-5,6,7,8
S19_20 DB ? ;LS-A,B,C,D, LS-F,G,E
S21_22 DB ? ;LM-A,B,C,D, LM-F,G,E
S23_24 DB ? ;LH-A,B,C,D, LH-F,G,E,P
S25_26 DB ? ;RS-A,B,C,D, RS-F,G,E
S27_28 DB ? ;RM-A,B,C,D, RM-F,G,E
S29_30 DB ? ;RH-A,B,C,D, RH-F,G,E,P
S31_32 DB ? ;RY-1,2,3,4 RY-5,6,7,8
;
COUNT DB ? ;用作记录循环次数
COUNT1 DB ?
ES_CNT DB ? ;延时10us计数器
ID DB ? ;标识符寄存器
ADDR DB ? ;地址寄存器
DAT DB ? ;数据寄存器
RLC_CNT DB ? ;左环移计数器
;
STA_CNT DB ? ;启动键计数器
SEL_CNT DB ? ;选择键计数器
SET_CNT DB ? ;设置键计数器
CHK_CNT DB ? ;自校键计数器
;
KEY_ES DB ? ;键消抖延时30ms定时计数器
;
R2 DB ? ;显示缓存
R3 DB ? ;显示缓存
R4 DB ?
R5 DB ? ;运算寄存器
TMPE1 DB ? ;中断时累加器A暂存单元
TMPE2 DB ? ;中断时状态寄存器暂存单元
;
US_CNT DB ? ;100us计数器
US10_CNT DB ? ;1ms计数器
MST_CNT DB ? ;10ms计数器
HY_CNT DB ? ;火焰动作定时计数器
AD_CNT DB ? ;A/D转换显示刷新定时计数器
;
S_CNT DB ? ;秒计数器
M_CNT DB ? ;分计数器
;
FM_TIM DB ? ;蜂鸣定时计数器
FM_CNT DB ? ;蜂鸣次数计数器
FM_OSC DB ? ;蜂鸣振荡计数器
ALM_TIM DB ? ;报警蜂鸣间隔定时
ALM_CNT DB ? ;报警蜂鸣次数计数器
;
LCD_COMD DB ? ;HT1621命令代码暂存器
BAT_ALM DB ? ;低电压报警标志
;
DATA0 DB ? ;BTOD_16 二进制高8位
DATA1 DB ? ;BTOD_16 二进制高8位
DATA2 DB ? ;BTOD_16 二进制高8位
DATA3 DB ? ;BTOD_16 二进制高8位
DATA4 DB ? ;BTOD_16 二进制高8位
DATA5 DB ? ;BTOD_16 二进制低8位
DATA6 DB ? ;BTOD_16 二进制高8位
DATA7 DB ? ;BTOD_16 二进制高8位
TD6 DB ?
TD5 DB ? ;BTOD_16 十进制百位
TD4 DB ? ;BTOD_16 十进制十位
TD3 DB ? ;BTOD_16 十进制个位
TD2 DB ? ;BTOD_16 十进制百位
TD1 DB ? ;BTOD_16 十进制十位
TD0 DB ? ;BTOD_16 十进制个位
TDD2 DB ? ;BTOD_16 十进制百位
TDD1 DB ? ;BTOD_16 十进制十位
TDD0 DB ? ;BTOD_16 十进制个位
;
DAT0 DB ? ;BTOD_16 二进制高8位
DAT1 DB ? ;BTOD_16 二进制高8位
DAT4 DB ? ;BTOD_16 二进制高8位
DAT5 DB ? ;BTOD_16 二进制高8位
TDB2 DB ? ;BTOD_16 十进制百位
TDB1 DB ? ;BTOD_16 十进制十位
TDB0 DB ? ;BTOD_16 十进制个位
AH4 DB ? ;AH累加最高位
AH3 DB ? ;AH累加最高位
AH2 DB ? ;AH累加次高位
AH1 DB ? ;AH累加高位
AH0 DB ? ;AH累加最低位
;
AH4_DISP DB ? ;AH累加显示缓存区
AH3_DISP DB ? ;AH累加显示缓存区
;
AMP2_DISP DB ? ;安倍显示缓存区
AMP1_DISP DB ? ;安倍显示缓存区
AMP0_DISP DB ? ;安倍显示缓存区
;
C_CNT DB ? ;充电脉冲定时计数器
F_CNT DB ? ;放电脉冲定时计数器
C_ES DB ? ;充电间隙定时计数器
F_ES DB ? ;放电间隙定时计数器
;
LED_F DB ? ;红黄绿LED灯状态寄存器
;
R_HY_CNT DB ? ;右火动画计数器
L_HY_CNT DB ? ;左火动画计数器
;
AMP_DISP_CNT DB ? ;安倍显示刷新定时计数器
OVER1_ES_CNT DB ? ;超载1延时计数器
OVER2_ES_CNT DB ? ;超载2延时计数器
OVER3_ES_CNT DB ? ;超载3延时计数器
OVER1_CNT DB ? ;超载1允许次数计数器
OVER2_CNT DB ? ;超载2允许次数计数器
OVER3_CNT DB ? ;超载3允许次数计数器
;
;**************
;* 标志位定义 *
;**************
FM_ON DBIT ;开蜂鸣延时标志
FM_OFF DBIT ;关蜂鸣延时标志
BEE DBIT ;蜂鸣允许标志
;
AH_6_DISP DBIT ;安时六位显示标志
TIM_6_DISP DBIT ;定时六位显示标志
AH_TIM_DISP DBIT ;安时定时显示标志
AMP_DISP DBIT ;安培显示标志
;
STA_UP DBIT ;启动键抬起标志
CHK_UP DBIT ;自校键抬起标志
SEL_UP DBIT ;选择少键抬起标志
SET_UP DBIT ;设置键抬起标志
;
STA_ES DBIT ;启动键消抖延时标志
CHK_ES DBIT ;自校键消抖延时标志
SEL_ES DBIT ;选择键消抖延时标志
SET_ES DBIT ;设置选择键消抖延时标志
;
TIM_EN DBIT ;定时允许标志
;
ALM_EN DBIT ;报警允许标志
ALM_LOP DBIT ;报警循环标志
ALM_TIM_EN DBIT ;报警间隔定时允许标志
;
AH_CAL_EN DBIT ;安时累加允许标志
AH_DISP_EN DBIT ;安时累计显示允许标志
;
RUN_CHAR_EN DBIT ;充电运行允许标志
C_CNT_EN DBIT ;充电脉冲定时允许标志
F_CNT_EN DBIT ;放电脉冲定时允许标志
C_ES_EN DBIT ;充电间隙定时允许标志
F_ES_EN DBIT ;放电间隙定时允许标志
FAN_CNT_EN DBIT ;风扇延时允许标志
AMP_DISP_EN DBIT ;安培显示允许标志
;
LOWER DBIT ;低输出(串大限流电阻)
MIDD DBIT ;中输出(串中限流电阻)
HI DBIT ;高输出(串低限流电阻)
;
CH_AMP_EN1 DBIT ;充电处理允许标志
CH_AMP_EN2 DBIT ;等待充电显示缓己加载标志
DISP_EN DBIT
;
AD_ZH_END DBIT ;A/D转换结束标志
OVER1_ES_EN DBIT ;超载1延时允许标志
OVER2_ES_EN DBIT ;超载2延时允许标志
OVER3_ES_EN DBIT ;超载3延时允许标志
OVER_OFF DBIT ;超载关机允许标志(允许自动恢复)
OVER_OFF2 DBIT ;超载关机2允许标志(禁止自动恢复)
共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分 |