51单片机定时汇编程序word资料14页.docx
- 文档编号:7795963
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:21
- 大小:22.72KB
51单片机定时汇编程序word资料14页.docx
《51单片机定时汇编程序word资料14页.docx》由会员分享,可在线阅读,更多相关《51单片机定时汇编程序word资料14页.docx(21页珍藏版)》请在冰豆网上搜索。
51单片机定时汇编程序word资料14页
;定时器程序;
观察内容的选择,我本着先静后动,由近及远的原则,有目的、有计划的先安排与幼儿生活接近的,能理解的观察内容。
随机观察也是不可少的,是相当有趣的,如蜻蜓、蚯蚓、毛毛虫等,孩子一边观察,一边提问,兴趣很浓。
我提供的观察对象,注意形象逼真,色彩鲜明,大小适中,引导幼儿多角度多层面地进行观察,保证每个幼儿看得到,看得清。
看得清才能说得正确。
在观察过程中指导。
我注意帮助幼儿学习正确的观察方法,即按顺序观察和抓住事物的不同特征重点观察,观察与说话相结合,在观察中积累词汇,理解词汇,如一次我抓住时机,引导幼儿观察雷雨,雷雨前天空急剧变化,乌云密布,我问幼儿乌云是什么样子的,有的孩子说:
乌云像大海的波浪。
有的孩子说“乌云跑得飞快。
”我加以肯定说“这是乌云滚滚。
”当幼儿看到闪电时,我告诉他“这叫电光闪闪。
”接着幼儿听到雷声惊叫起来,我抓住时机说:
“这就是雷声隆隆。
”一会儿下起了大雨,我问:
“雨下得怎样?
”幼儿说大极了,我就舀一盆水往下一倒,作比较观察,让幼儿掌握“倾盆大雨”这个词。
雨后,我又带幼儿观察晴朗的天空,朗诵自编的一首儿歌:
“蓝天高,白云飘,鸟儿飞,树儿摇,太阳公公咪咪笑。
”这样抓住特征见景生情,幼儿不仅印象深刻,对雷雨前后气象变化的词语学得快,记得牢,而且会应用。
我还在观察的基础上,引导幼儿联想,让他们与以往学的词语、生活经验联系起来,在发展想象力中发展语言。
如啄木鸟的嘴是长长的,尖尖的,硬硬的,像医生用的手术刀―样,给大树开刀治病。
通过联想,幼儿能够生动形象地描述观察对象。
;采用89c51;
与当今“教师”一称最接近的“老师”概念,最早也要追溯至宋元时期。
金代元好问《示侄孙伯安》诗云:
“伯安入小学,颖悟非凡貌,属句有夙性,说字惊老师。
”于是看,宋元时期小学教师被称为“老师”有案可稽。
清代称主考官也为“老师”,而一般学堂里的先生则称为“教师”或“教习”。
可见,“教师”一说是比较晚的事了。
如今体会,“教师”的含义比之“老师”一说,具有资历和学识程度上较低一些的差别。
辛亥革命后,教师与其他官员一样依法令任命,故又称“教师”为“教员”。
;2019.10;
与当今“教师”一称最接近的“老师”概念,最早也要追溯至宋元时期。
金代元好问《示侄孙伯安》诗云:
“伯安入小学,颖悟非凡貌,属句有夙性,说字惊老师。
”于是看,宋元时期小学教师被称为“老师”有案可稽。
清代称主考官也为“老师”,而一般学堂里的先生则称为“教师”或“教习”。
可见,“教师”一说是比较晚的事了。
如今体会,“教师”的含义比之“老师”一说,具有资历和学识程度上较低一些的差别。
辛亥革命后,教师与其他官员一样依法令任命,故又称“教师”为“教员”。
;伪定义;
SLEQU30H;SL存放秒的个位数
SHEQU31H;SH存放秒的十位数
MLEQU32H;ML存放分的个位数
MHEQU33H;MH存放分的十位数
HLEQU34H;HL存放时的个位数
HHEQU35H;HH存放时的十位数
L0EQU36H;L0~L3:
显示数据存储器
L1EQU37H
L2EQU38H
L3EQU39H
DSPLYPEQU3AH;显示数据指针(DISPLAY-POINT)
PLYTSEQU3BH;显示次数计数器(DISPLAY-TIMES)
LPLMODBIT39H;低两位显示方式(LOW-PLAY-MOD)
HPLMODBIT3AH;高两位显示方式(HIGH-PLAY-MOD)
BRIGHTBIT3BH;DISPLAY子程序参数:
亮灭指示位
TCOUNTEQU3CH;时间计数器(TIME-COUNT)
ADDRESEQU3DH;加1子程序参数
MAXEQU3EH;加1子程序参数
IFDECBIT20H;BCD加法子程序参数
R_MODEQU3FH;响铃方式参数
LED4BIT30H;发光管状态位
BELLBITP1.7;蜂鸣器
SWITCHBITP3.7;继电器
FKEYBITP3.0;功能键(S1)
MKEYBITP3.1;修改键(S2)
WORKINBIT38H;工作状态指示位
;中断入口;
ORG0000H
START:
LJMPMAIN;0000H引向主程序
LJMPERR;0003H
NOP
NOP
LJMPERR;引向出错处理程序
LJMPPGT0;000BH引向中断处理程序PGT0
NOP
NOP
LJMPERR;引向出错处理程序
LJMPERR;0013HINT1
NOP
NOP
LJMPERR
LJMPERR;001BHT1
NOP
NOP
LJMPERR
LJMPERR;0023H
NOP
NOP
LJMPERR
LJMPERR;002BH
NOP
NOP
;主程序;
MAIN:
MOVIE,#00H;关中断
MOVSP,#57H;设置堆栈指针
MOVPSW,#00H;选用寄存器组0
MOVTMOD,#11H;设定中断工作方式为T0和T1
MOVA,56H
CJNEA,#0AAH,CSTART;判上电复位标志,无标志转冷启动
MOVA,57H
CJNEA,#55H,CSTART;无标志转冷启动
AJMPHSTART;有上电复位标志转热启动
NOP
NOP
LJMPERR;软件陷阱,引向出错处理程序
CSTART:
MOVP1,#0FFH;冷启动,全面初始化
MOVP3,#0FFH
MOVTCON,#00H;计时停止
MOVTL0,#0B0H;赋中断T0初值
MOVTH0,#3CH
MOVTCOUNT,#0AH;赋定时器初值
MOVR5,#00H;R5为一空单元(备用)
MOVR4,#00H;R4为工作模式选择寄存器
MOVSL,#00H;定时单元清零
MOVSH,#00H;秒
MOVML,#00H;
MOVMH,#00H;分
MOVHL,#00H;
MOVHH,#00H;时
MOVPLYTS,#64H;赋显示次数初值为100次
MOVDSPLYP,#L0;显示指针指向显存单元
MOVL0,#0AH;送显示数据"-----"
MOVL1,#0AH
MOVL2,#0AH
MOVL3,#04H
SETBLED4;LED4为数码管之间的发光二极管
SETBLPLMOD;设定显示方式为闪烁
SETBHPLMOD;
SETBBRIGHT;允许显示
CLRWORKIN;清工作标志,待命
AJMPSETUP;转开始工作
NOP
NOP
LJMPERR;软件陷阱
HSTART:
MOVSCON,#00H;有上电标志,热启动,清串行口控制寄存器
MOVIP,#00H;清中断优先控制寄存器
SETBFKEY;重设按键
SETBMKEY
SETBEA;开中断
AJMPBEGIN;转向继续工作
NOP
NOP
LJMPERR;软件陷阱
SETUP:
SETBEA;开中断
MAIN1:
ACALLDISPLY;调用显示
JBFKEY,JUDGE;按键扫描
ACALLKEYDLY;延时消抖动
JBFKEY,JUDGE;无键按下转向判断是否到点
CLRET0;功能键被按下,则
CLRTR0;暂停计时
ACALLMENU;调用菜单设置程序
BEGIN:
SETBWORKIN;置工作标志位,开始工作
SETBET0;开中断
SETBTR0;开始计时
MOVA,R4;移入工作模式选择
RLA;指针放大
MOVDPTR,#M_TAB
JMP@A+DPTR;根据工作模式跳转到相应程序段
M_TAB:
AJMPWORK1
AJMPWORK2
AJMPWORK3
AJMPWORK4
NOP
NOP
LJMPERR;软件陷阱
WORK1:
;
WORK2:
CLRSWITCH;工作方式1和2:
开继电器
AJMPMAIN2
NOP
NOP
LJMPERR;软件陷阱
WORK3:
;
WORK4:
SETBSWITCH;工作方式3和4:
不开继电器
MAIN2:
CLRBELL;蜂鸣器短鸣一声,以示开始工作
ACALLDL05S
SETBBELL
JUDGE:
JNBWORKIN,MAIN1;判断是否在定时之中
MOVA,SL;判断秒是否为零
JNZMAIN1
MOVA,SH;判断秒是否为零
JNZMAIN1
MOVA,ML;判断分是否为零
JNZMAIN1
MOVA,MH;判断分是否为零
JNZMAIN1
MOVA,HL;判断时是否为零
JNZMAIN1
MOVA,HH;判断时是否为零
JNZMAIN1;若时分秒全为零则
CLRET0;停止计时
CLRTR0;
ACALLACTION;调用到点工作子程序
AJMPMAIN;返回
NOP
NOP
LJMPERR;软件陷阱
;倒计时程序;
PGT0:
CLREA;关中断
PUSHACC;保护现场
PUSHPSW
PUSHDPL
PUSHDPH
MOVPSW,#08H;选用寄存器组1
CLRTR0;暂停计时
MOVA,#0B7H;中断同步修正
ADDA,TL0
MOVTL0,A
MOVA,#3CH
ADDA,TH0
MOVTH0,A
SETBTR0;恢复计时
DECTCOUNT;定时器T0每50000毫秒溢出一次,则
MOVA,TCOUNT;溢出10次为0.5秒
JNZOUTT0;判断是否到半秒
MOVTCOUNT,#0AH;
CPLLED4;若到半秒LED取反
JNBLED4,OUTT0;LED每闪烁一次是一秒
MOVR0,#SH;移入秒位的地址
SETBIFDEC;BCD子程序参数,使其做减法
ACALLADDBCD;调用BCD子程序,秒减1
CJNER3,#99H,OUTT0;判断秒要否借位
MOVSH,#05H;要借位则
MOVSL,#09H;送数据59(否则显示99)
MOVR0,#MH;移入分位的地址
ACALLADDBCD;分减1
CJNER3,#99H,OUTT0;判断分要否借位
MOVMH,#05H
MOVML,#09H
MOVR0,#HH
ACALLADDBCD
OUTT0:
POPDPH;恢复现场
POPDPL
POPPSW
POPACC
SETBEA
RETI;中断返回
NOP
NOP
LJMPERR;软件陷阱
;BCD子程序(加1或减1);
ADDBCD:
MOVA,@R0;移入被操作数的高位
DECR0;指针减一
SWAPA
ORLA,@R0;移入被操作数的低位
MOVB,#01H;B寄存器送立即数#01H
MOVC,IFDEC;若减法标志位为1,则
MOVB.3,C;
MOVB.4,C;B寄存器的值被改为#99H
MOVB.7,C;
ADDA,B;对一个压缩的BCD码加#99H等于对其减一
DAA;BCD码调整
MOVR3,A;暂存结果
ANLA,#0FH;取低位码
MOV@R0,A;存数
MOVA,R3;取回结果
INCR0;指针加一
SWAPA;交换
ANLA,#0FH;取结果数的高位
MOV@R0,A;存数
RET
NOP
NOP
LJMPERR;软件陷阱
;加1程序;
ADDONE:
MOVR0,ADDRES;移入被加数单元的地址
CLRIFDEC;设定BCD子程序做加法
ACALLADDBCD;调用BCD子程序
CLRC;判断被加数是否大于
MOVA,R3;最大值"MAX"
CJNEA,MAX,JGOVER
JGOVER:
JCENDADO
CLRA;若大于"MAX",则清零
MOV@R0,A
DECR0
MOV@R0,A
ENDADO:
RET
NOP
NOP
LJMPERR;软件陷阱
;调时快进程序;
QUICK:
CLRLPLMOD;设定显示方式不闪烁
CLRHPLMOD
ACALLADDONE;调用加1子程序
MOVL0,R4;将工作模式选择数移入显存
INCL0;加1转化成显示值
ACALLKEYDLY;延时
ACALLDL100
JNBMKEY,QUICK;判断键是否松开
SETBLPLMOD;若松开则恢复闪烁显示方式
CJNER6,#02H,ENDQUK
SETBHPLMOD
CLRLPLMOD
ENDQUK:
RET
NOP
NOP
LJMPERR;软件陷阱
;功能菜单程序;
MENU:
MOVR6,#00H;初始化;R6计功能键按键次数
MOVADDRES,#05H;将R5的地址送入,以便于改变R4的值
MOVMAX,#04H;定义工作模式选择寄存器R4的最大值
MOVDSPLYP,#L0;定义显示指针指向显存
SETBLPLMOD;设定低两位数闪烁
CLRHPLMOD
MOVL0,R4;送显示数据"F-0X"
INCL0
MOVL1,#00H
MOVL2,#0BH
MOVL3,#00H
SETBLED4
WAITFK:
ACALLDISPLY;等待F键释放
JNBFKEY,WAITFK
MENU1:
ACALLDISPLY
JBMKEY,JGFKEY;M键扫描
ACALLKEYDLY;延时消抖动
JBMKEY,JGFKEY;未按下则转F键扫描
CJNER6,#00H,NEXT1;
MOVSL,#00H;若中途改变定时方式,则清除原计时数据
MOVSH,#00H
MOVML,#00H
MOVMH,#00H
MOVHL,#00H
MOVHH,#00H
NEXT1:
MOVR2,#00H;R2用于判断按键时间是否超过0.5秒
NEXT2:
ACALLADDONE;调用加1程序
MOVL0,R4;移入工作方式选择数
INCL0
WAITMK:
ACALLDISPLY;等待M键释放
INCR2;R2自增一
CLRC
CJNER2,#0C8H,JGQUIC;若R2大于等于200则调用快进子程序
JGQUIC:
JCWATMK1
ACALLQUICK
WATMK1:
JNBMKEY,WAITMK;R2小于200则等待M键释放
JGFKEY:
JBFKEY,MENU1;功能(F)键扫描
ACALLKEYDLY;延时消抖动
JBFKEY,MENU1;键未按下则转修改(M)键扫描
INCR6;F键按键次数加1
MOVA,R6;移入按键次数
RLA;指针放大
MOVDPTR,#FUNTAB
JMP@A+DPTR;根据按键次数跳转到相应的程序段
FUNTAB:
AJMPWAITFK
AJMPSETLOW
AJMPSETHI
AJMPENDMEN
NOP
NOP
AJMPENDMEN
;STWKMD:
;工作模式设定,不需另外改变菜单
SETLOW:
MOVMAX,#60H;设置低位(秒位或分位)
MOVA,R4;移入工作模式选择数
RLA;指针放大
MOVDPTR,#FTAB1
JMP@A+DPTR;根据工作模式选择数跳转到相应的程序段
FTAB1:
AJMPSETSS
AJMPSETM60
AJMPSETSS
AJMPSETM60
NOP
NOP
AJMPWAITFK
SETSS:
MOVDSPLYP,#SL;设定显示区域为MM:
SS
MOVADDRES,#SH
AJMPWAITFK
SETM60:
MOVDSPLYP,#ML;设定显示区域为HH:
MM
MOVADDRES,#MH
AJMPWAITFK
SETHI:
CLRLPLMOD;设置高位(分位或时位)
SETBHPLMOD;高两位数码管闪烁
MOVMAX,#31H;最大数为30
MOVA,R4;移入工作模式选择数
RLA;指针放大
MOVDPTR,#FTAB2;移入表首地址
JMP@A+DPTR;根据工作模式选择数跳转到相应的程序段
FTAB2:
AJMPSETM30
AJMPSETHH
AJMPSETM30
AJMPSETHH
NOP
NOP
AJMPWAITFK;返回等待键释放
SETM30:
MOVADDRES,#MH;移入分位的地址
AJMPWAITFK;转向等待键释放
SETHH:
MOVADDRES,#HH;移入时位的地址
AJMPWAITFK;转向等待键释放
ENDMEN:
CLRHPLMOD;恢复不闪烁显示方式
RET
NOP
NOP
LJMPERR;软件陷阱
;到点工作程序;
ACTION:
MOVL0,R4;移入工作模式选择数
INCL0;送显示数"F-0X"
MOVL1,#00H
MOVL2,#0BH
MOVL3,#00H
SETBLED4
MOVDSPLYP,#L0;指针指向显存
SETBLPLMOD;设定显示方式不闪烁
SETBHPLMOD
MOVA,R4;移入工作模式选择数
RLA;
MOVDPTR,#A_TAB
JMP@A+DPTR;根据工作模式选择数跳转
A_TAB:
AJMPACTF1;工作模式一
AJMPACTF1;工作模式二
AJMPACTF3;工作模式三
AJMPACTF3;工作模式四
NOP
NOP
LJMPERR;软件陷阱
ACTF1:
SETBSWITCH;工作模式一(或二):
关继电器
MOVR_MOD,#82H;响铃模式参数#82H
MOVR2,#96H;响铃次数参数#96H
ACTF11:
ACALLRING;调用响铃子程序
JNBMKEY,ENDACT;等待键按下
JNBFKEY,ENDACT;有键按下则结束响铃
DJNZR2,ACTF11;次数未满继续响铃
MOVR_MOD,#0FFH;参数#0FF使响铃无效
AJMPACTF11;无键按下返回
NOP
NOP
LJMPERR;软件陷阱
ACTF3:
CLRSWITCH;工作模式三(或四):
开继电器
CLRBELL;蜂鸣器短鸣一声
ACALLDL1S
SETBBELL
MOVR_MOD,#0FFH;响铃模式参数#0FFH
MOVR2,#96H;响铃时间参数#96H
ACTF31:
ACALLRING;调用响铃子程序
JNBMKEY,ENDACT;等待键按下
JNBFKEY,ENDACT;有键按下则结束
DJNZR2,ACTF31;次数未满继续
MOVR2,#96H;重新赋值
CLRBELL;短鸣一声(说明:
响铃模式参数#0FFH使
ACALLDL100;响铃程序无效,仅起延时作用,
SETBBELL;每延时一段时间短鸣一声,以
AJMPACTF31;提醒使用者继电器仍在工作)
NOP
NOP
LJMPERR;软件陷阱
ENDACT:
SETBSWITCH;关继电器
AWAITF:
ACALLDISPLY;调用显示
JNBFKEY,AWAITF;等待键释放
AWAITM:
ACALLDISPLY;调用显示
JNBMKEY,AWAITM;等待键释放
RET
NOP
NOP
LJMPERR;软件陷阱
;响铃程序;
RING:
MOVR5,#18H;R5为循环控制变量
RING1:
JNBMKEY,R_EXIT;键扫描
JNBFKEY,R_EXIT;有键按下则退出
MOVA,R_MOD;移入响铃模式参数
MOVC,ACC.7;根据响铃模式参数改变响铃
MOVBELL,C
RLA
MOVR_MOD,A
ACALLDL100;延时
DJNZR5,RING1;循环次数控制
R_EXIT:
SETBBELL;关闭响铃
RET
NOP
NOP
LJMPERR;软件陷阱
;显示程序;
DISPLY:
PUSHACC;数据压栈保护
PUSHPSW
MOVPSW,#10H;选用寄存器组2
MOVR0,DSPLYP;移入显示指针
MOVR2,#0FDH;R2寄存的是数码管选通数
MOVA,PLYTS;移入显示循环控制量
JNZPLAY;不为0则转PLAY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 定时 汇编程序 word 资料 14
![提示](https://static.bdocx.com/images/bang_tan.gif)