- 1、本文档共230页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章AT89系列单片机系统的扩展
* 64 只按键中,左下角是K0,右上角是K63。为了使键盘 扫描得以正常进行,下拉电阻R1~R8 和位选电阻R17~ R24 是必须的。它们之间还要遵从一定的比例关系,比 值在5:1到50:1 之间,典型值是10:1。下拉电阻取值范围 在10~100KΩ,位选电阻取值范围在1~10KΩ。在多数 应用当中可能用不到太多的按键,建议按列裁减键盘, 则相应列的位选电阻可以省略。但是下拉电阻一个都不 能省去,除非完全不使用键盘。 完全不使用键盘的具体电路图请参见图8-94。 * * (5)AT89S51 接口程序 硬件连接如图8-94,AT89S51 所用时钟频率为6MHz 程序编译通过并经过验证,程序 中延时时间以zlg7289A 外接12MHz 晶体振荡器为准。 BIT_CNT DATA 30H DELAY1 DATA 31H DECIMAL DATA 32H REC_BUF DATA 20H SEND_BUF DATA 21H CS BIT P1.1 CLK BIT P1.2 DIO BIT P1.3 KEY BIT P1.4 * MAIN_LP: JB KEY,MAIN_LP MOV SEND_BUF, ;有键按下,发送读键盘命令 ACALL SEND ACALL RECEIVE ;读键盘 SETB CS MOV SEND_BUF, ;下载数据且译码. ACALL SEND MOV SEND_BUF,DECIMAL ;发送键值数到zlg7289A 显示 ACALL SEND SETB CS MOV SEND_BUF, ;设定刚发送数据显示为闪烁 ACALL SEND MOV SEND_BUF, ACALL SEND * SETB CS MAIN_LP2: JNB KEY,MAIN_LP2 ;等待键松开. AJMP MAIN_LP;发送一字节到zlg7289A,高位在前. SEND: MOV BIT_CNT,#8 ;设发送位数为8 位. CLR CS ACALL LONG_DELAY ;延时50 微秒. SEND_LP: MOV A,SEND_BUF RLC A MOV SEND_BUF,A MOV DIO,C * NOP NOP SETB CLK ACALL SHORT_DELAY ;延时10 微秒. CLK CLK ACALL SHORT_DELAY ;延时10 微秒. DJNZ BIT_CNT,SEND_LP CLR DIO RET ;由zlg7289A 接收一字节数据,高位在前. RECEIVE: MOV BIT_CNT,#8 ;定义接收8 位. SETB DAT ACALL LONG_DELAY ;延时50 微秒. * RECEIVE_LP: SETB CLK ACALL SHORT_DELAY ;延时10 微秒. MOV C,DIO ;接收数据送REC_BUF 低位. MOV A,REC_BUF RLC A
文档评论(0)