钻石会员
主题
帖子
积分11931
阅读权限50
注册时间2009-7-18
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2010-11-25 12:27
|
显示全部楼层
本帖最后由 LBQ691477940 于 2010-11-25 13:01 编辑
以下是定时器部分中断函数
void t0(void) interrupt 1 using 0 //原C语句
{
PUSH ACC(0xE0) //KEIL的隐藏反汇编
PUSH PSW(0xD0) //KEIL的隐藏反汇编
TL0=(65536-50000)%256+TL0; //原C语句
MOV A,TL0(0x8A) //KEIL的隐藏反汇编
ADD A,#P3(0xB0) //KEIL的隐藏反汇编??认成P3了哈哈
MOV TL0(0x8A),A //KEIL的隐藏反汇编
TH0=(65536-50000)/256; //原C语句
MOV TH0(0x8C),#0x3C //KEIL的隐藏反汇编
从上面的隐性的类型转换看来
MOV A,#0B7H ;中断响应时间同步修正
ADD A,TL0 ;低8位初值修正
MOV TL0,A ;重装初值(低8位修正值)
是可以用:TL0 +=0XB7;代替
问题就是如果进行TL0 +=0XB7;运算后CY位怎样加到TH0中
TH0 += 0x3C+CY;但KEIL是不认这语法的。
麻烦大侠赐教谢谢! |
|