c语言_源代码-波形发生器_程序清单

c语言_源代码-波形发生器_程序清单

ID:14478534

大小:159.50 KB

页数:13页

时间:2018-07-28

c语言_源代码-波形发生器_程序清单_第1页
c语言_源代码-波形发生器_程序清单_第2页
c语言_源代码-波形发生器_程序清单_第3页
c语言_源代码-波形发生器_程序清单_第4页
c语言_源代码-波形发生器_程序清单_第5页
资源描述:

《c语言_源代码-波形发生器_程序清单》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、波形发生器程序清单:ORG0000HAJMPMAINORG0000BHLJMPTOINTORG0030HMAIN:MOVA,#30HMOVSP,AMOV40H,#00H;波形显初值MOV41H,#00H;频率显示初值MOV42H,#00HMOV43H,#00HMOV44H,#00HMOV45H,#00H;参考电压显示初值MOV46H,#00H;设置标志初值MOVDPTR,#7FFCH;初始化8255MOVA,#90HMOVX@DPTR,A;…………………LED显示子程序……………………………………………………;DISPLAY:MOVR2,H06H;显示

2、子程序MOVR1,#80HMOVR0,#40HDIS1:MOVDPTR,#7FFEH;指向B口MOVA,R1MOVX@DPTR,ARRA;形成下一次位选信号MOVR1AMOVA,@R0;取显示数字MOVDPTR,#DISPLAYTABMOVCA,@A+DPTR;由数字转换成显示段码MOVDPTR,#7EFFH;指向A口MOV@DPTR,A;送段码到A口LCALLDELAY;显示延时INCR0DJNZR2,DIS1;判断是否显示6次MOVA,#00HMOVP1,A;熄灭波形指示灯AJMPKEYSPAN;转到键盘管理子程序DELAY:MOVR3,#80H;

3、延时LOOP1:MOVR4,#0A0HDJNZR4,$DJNZR3,LOOP1RETDISPLAYTAB:DB3FH,06H,5BH,4FH,66H;01234DB6DH,7DH,07H,7FH,6FH;56789DB40H;—;…………………键盘管理子程序……………………………………………………;KEYSPAN:MOVA,#F0HCLRP2.7MOVR0,#FDH;指向C口MOVX@R0,A;输出列扫描查询码MOVA,@R0;读入行状态CJNEA,F0H,KEY1;有键闭合、转KEY1LJMPKEYSPANEND;无键闭合、退出KEY1:LCALLD

4、ELAY10ms;延时、去抖动CLRIE;关闭定时中断MOVR1,#FEHKEY2:MOVA,R1CLRP2.7MOVX@R0,A;输出列扫描码MOVXA,@R0;读入行状态和列状态ANLA,#F0H;保留行状态CJNEA,#F0H,KEY3;有键闭合、转KEY3,无键闭合形成下一次列扫描码,并判断是否扫描四次MOVA,R1RLAMOVR1,AJBACC.3,KEY2LJMPKEYSPANEND;四次列扫描完毕,退出KEY3:MOVR2,A;行码送R2中保存MOVA,R1;扫描码送A中ANLA,#0FH;保留列码(低4位)ORLA,R2;列码在低4位,

5、行码在高4位MOVR2,A;列行码值保存在R2MOVDPTR,#KEYTAB;指向键特征值表MOVR1,#00H;从键值0开始比对KEY4:CLRAMOVCA,@A+DPTR;取特征值XRLA,R2;列行码值与特征值比对JZKEY5;A=0找到键特征值,转KEY5INCR1;形成下一个键值INCDPTR;形成下一个特征值地址CJNER1,#10H,KEY4;判断是否比对了16次,R1≠10H,转KEY4,否则,顺序执行LJMPKEYSPANEND;退出KEY5:MOVA,#F0HCLRP2.7MOVC@R0,A;输出查询码MOVCA,@R0;读入状态S

6、ETBP2.7CJNEA,#F0H,KEY5;等待键释放LCALLKEYPROCESS;调用键功能子程序KEYSPANEND:LJMPDISPLAY;返回到LED显示子程序开始处DELAY10ms:MOVR3,#0C8HLOOP2:MOVR4,#0A0HDJNZR4,$DJNZR3,LOOP2RET;…………………………键特征值表…………………………………………………………;KEYTAB:DBEEH,EDH,EBH,E7H;0123DBDEH,DDH,DBH,D7H;4567DBCEH,CDH,CBH,C7H;89ENCLDB7EH,7DH,7BH,7

7、7H;WFV.;………………………键功能散转………………………………………………………;KWYREOCESS:MOVA,R1RLAMOVDPTR,#KEYPROTABJMP@A+DPTRKEYPROTAB:AJMPKEY_0_PROAJMPKEY_1_PROAJMPKEY_2_PROAJMPKEY_3_PROAJMPKEY_4_PROAJMPKEY_5_PROAJMPKEY_6_PROAJMPKEY_7_PROAJMPKEY_8_PROAJMPKEY_9_PROAJMPKEY_EN_PROAJMPKEY_CL_PROAJMPKEY_W_PROAJMPK

8、EY_F_PROAJMPKEY_V_PROAJMPKEY_·_PRO;………………………………

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。