资源描述:
《实验十二 8279键盘显示实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十二8279键盘显示实验(电子秒表)一.实验要求利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟,用小键盘控制电子钟的启停及初始值的预值。电子钟做成如下格式:XXXXXXXX由左向右分别为:时、分、秒、百分之一秒1.C键:清除,显示00.00.00.002.A键:启动,电子钟计时3.D键:停止,电子钟停止计时4.B键:设置初值:由左向右依次输入预置的时、分、秒、百分之一秒值,同时应具有判断输入错误的能力,若 输入有错,则显示:00.00.00.00按B键即可重新输入预置值:5.E键:程序退出。二.实验目的1.进一步掌握8279键盘显示电路的编程方法。2.进一步掌握定时器的使
2、用和编程方法。3.进一步掌握中断处理程序的编程方法。三.实验电路及连线CS8279接8700H。模块中的十个短路套都套在8279侧。四.实验说明8279通用接口芯片,根据应用需要可以在多种模式下工作,详见有关手册。五.实验程序框图 主程序框图 SET_T子程序框图 GETWORD子程序框图六.实验程序见: Z8279EQU08701H;8279状态/命令口地址D8279EQU08700H;8279数据口地址LEDMODEQU00H;左边输入八位字符显示;外部译码键扫描方式,双键互锁LEDFEQEQU2FH
3、;扫描速率LEDCLSEQU0C1H;清除显示RAMLEDWR0EQU80H;设定的将要写入的显示RAM地址READKBEQU40H;读FIFORAM地址0的命令字ORG0000HAJMPSTARTORG001BH;INTT1入口地址AJMPINT_T1ORG0040HSTART:MOVSP,#60HLCALLINIT8279;初始化8279MOVR3,#0H;时MOVR2,#0H;分MOVR1,#0H;秒MOVR0,#0H;10毫秒MOVR6,#0FFH;标志MOVTMOD,#10HMOVTL1,#00H;10毫秒的时间常数MOVTH1,#0DCHLCALLDIS_mSSETBET1SETB
4、EA;允许中断WAIT:LCALLGETKEY;读键盘CJNEA,#0FFH,CONT;判断是否有键输入MOVA,BCJNEA,#3CH,KEY_G;输入键是'C',转CLEAR_TLCALLCLEAR_TKEY_G:CJNEA,#3AH,KEY_D;输入键是'G',转START_TLCALLSTART_TKEY_D:CJNEA,#3DH,KEY_P;输入键是'D',转STOP_TLCALLSTOP_TKEY_P:CJNEA,#3BH,KEY_E;输入键是'P',转SET_TLCALLSET_TKEY_E:CJNEA,#3EH,CONT;输入键是'E',转MONITORAJMPMONITORC
5、ONT:CJNER6,#0FFH,WAIT;若无秒标志则循环LCALLDISPLAY;显示时间MOVR6,#0;清标志SJMPWAIT;循环MONITOR:NOPSJMP$;等待回到监控CLEAR_T:;时间清零子程序CLRTR1;关计数器MOVR3,#0H;小时清零MOVR2,#0H;分钟清零MOVR1,#0H;秒清零MOVR0,#0H;10毫秒清零MOVR6,#0FFH;置秒标志LCALLDIS_mS;显示毫秒RETSTART_T:;电子钟计时子程序SETBTR1RETSTOP_T:;电子钟停止计时子程序CLRTR1RETSET_T:;设置初值子程序CLRTR1;关计数器MOVR4,#7L
6、CALLGETWORD;读小时数CJNEA,#0FFH,INVALID;判断输入合法性MOVA,BADDA,#232JCINVALID;判断输入小时值<24MOVA,BMOVB,#10DIVABSWAPAADDA,BMOVR3,A;保存输入的值MOVR4,#5LCALLGETWORD;读分钟数CJNEA,#0FFH,INVALID;判断输入合法性MOVA,BADDA,#196JCINVALID;判断输入分钟数<60MOVA,BMOVB,#10DIVABSWAPAADDA,BMOVR2,A;保存输入的值MOVR4,#3LCALLGETWORD;读分钟数CJNEA,#0FFH,INVALID;判断
7、输入合法性MOVA,BADDA,#196JCINVALID;判断输入分钟值<60MOVA,BMOVB,#10DIVABSWAPAADDA,BMOVR1,A;保存输入的值MOVR4,#1LCALLGETWORD;读10毫秒数CJNEA,#0FFH,INVALID;判断输入合法性MOVA,BMOVB,#10DIVABSWAPAADDA,BMOVR0,A;保存输入的值AJMPSET_TOKINVALID