单片机应用系统.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机应用系统

⒊锯齿波产生程序 锯齿波的产生原理前面已讲过,其程序流程图见图10-7所示。 图10-7 锯齿波产生程序流程图 图10-8 方波产生程序流程图 开始 R0=00H R0加1 时间到吗? R0送D/A 开始 0FFH送D/A 00H送D/A 时间到吗? 时间到吗? Y Y Y N N 程序清单如下: SETB TR0 SOWWAV:MOV DPTR,#0FFFEH ;IC4地址送DPTR MOV R0,#00H ;波形输出初值为0 SOWLP1: MOV A,R0 MOVX @DPTR,A ;输出数据给D/A SOWLP2: JNB TF0,SOWLP2 ;由定时器控制频率 CLR TF0 INC R0 ;R0加1 SJMP SOWLP1 ?⒋方波产生程序 按照前面方法,方波产生程序流程图见图10-8所示。其程序清单如下: SETB TR0 BOXWAV:MOV DPTR,#0FFFEH; IC4地址送DPTR BOXLP1: MOV A,#0FFH ;高脉冲 MOVX @DPTR,A ;输出数据给D/A BOXLP2: JNB TF0,BOXLP2 ;由定时器控制频率 CLR TF0 MOV A,#00H ;低脉冲 MOVX @DPTR,A ;输出数据给D/A BOXLP3: JNB TF0,BOXLP3 ;由定时器控制频率 CLR TF0 SJMP BOXLP1 ㈢键盘管理模块 按前面硬件电路设计,可采用“行扫描”方法对键盘进行管理,首先对键盘进行“全盘扫描”,判断是否有键按下。若有键按下则对键盘进行“逐行扫描”,进行键译码,并将该键的键码读出来,然后按各命令键转到相应的程序进行处理。本波形发生器系统软件将键盘管理分成三部分: ⒈键盘全盘扫描部分 键盘的全盘扫描部分主要是判断是否有键按下,其工作原理参见第8章的8.1节。该子程序清单如下: SCANKEY: MOV A,#0F0H MOV P1,A ;P1口行线置为全0,列线置为全1 MOV A,P1 ;读P1口 ANL A,#0F0H ;列信号在高4位 XRL A,#0F0H ;判断有键合上否? JZ SCANKEY ;无键合上再扫描检查 LCALL DELAY ;有键合上,调延时子程序去抖动 MOV A,#0F0H MOV P1,A ;P1口行线置为全0,列线置为全1 MOV A,P1 ;读P1口 ANL A,#0F0H ;列信号在高4位 XRL A,#0F0H ;判断有键合上否? JZ SCANKEY ;无键合上再扫描检查 RET ⒉ 键盘逐行扫描部分 判断有键按下后,下一步是将判断具体是哪一个键按下,并将其键码读出。不难得到其他按键的特征码: 按照上述原理,本逐行扫描程序先逐行扫描获取合上键的行信号和列信号,并组合成特征码,然后按此特征码查表识别该合上键的含义。程序如下: 按键 0 1 2 3 4 5 6 7 特征码 81H 82H 42H 22H 84H 44H 24H 88H 按键 8 9 波形 幅值 频率 确认 清除 . 特征码 48H 28H 18H 14H 12H 11H 21H 41H RDKEY:MOV LINECOD,#0FEH ;第一行线置位为低电 平,为扫描作准备 KEYB1: MOVX A,LINCOD ;逐行扫描 MOV P1,A MOV A,P1 ;读列信号 ANL A,#0F0H ;列信号再高4位 MOV ROWCOD,A ;列信号暂存ROWCOD CJNE A,#0F0H, KEYB2 ;该行有键合上,转键译码 MOV A,LINECOD RL A ;为扫描下一行做准备

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档