|
|
| | -文章搜索 - 最新文章 - | |
第664篇:在AT90S1200 中如何实现常数表功能? |
| 发布时间:2004年12月29日 点击次数:2771 |
| 来源: 作者: |
由于AT90S1200 没有LPM 指令,比较有效的方法是将一个较小的常数表放置在EEPROM 中 你可以使用EEPROM 地址寄存器和EEPROM 数据寄存器有效地直接访问常数表 如 .ESEG 定义EEPROM 段 .db my_var00=$45 .db my_var01=$4c .db my_var02=$5f .CSEG 定义通用代码段 如果你的表不适合于放置在EEPROM 中你可以象下面这样放置在FLASH 中 .def tp =r16 表指针表索引 .def output=r17 输出表的中常数 table ldi output,$45 cpi tp,01 breq end ldi output,$4c cpi tp,02 breq end ldi output,$5f cpi tp,03 breq end end ret 为了访问表中的2 号元素可以这样做 ldi tp 2 rcall table 当从表格子程序返回时“output”将包括“$4c” |
|
|
|
|
[AVR单片机] 相关文章: 怎样处理AVR 微控制器的NC引脚?简介: 不要将任何线路连接到NC引脚,NC引脚是为将来的需用而保留的...... 怎样才能从外部将AT90S1200从掉电模式下唤醒? 怎样在CodeVision中使用结构型数组的用法实例 作者[xiaoqi]© 用mega8515 替换8515的相关问题--双龙 AVR Studio 问题!为什么我在串口中断程序中设置的断点,却不产生中断?? |
|
|
|