键盘显示设计实验.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验报告(一)

题目:键盘/显示实验姓名:赵帅

专业:控制09级

学号:2009430111009

实验一 键盘/显示实验

一、实验目的

掌握键盘显示专用芯片CH451的编程;

掌握单片机与CH451接口电路的连接方法。

二、实验设备

LJD-SY-5100实验板、计算机、Keil软件。

三、实验内容与要求

LJD-SY-5100实验板上的CH451与键盘/显示器接口电路和键盘编码表如下列所示,编写程序实现:上电后数码管从左向右轮显0—F;当按键时,在最左边一位显示键符。

图1.1 CH451与键盘、数码管的接口电路

键盘编码表

键符

键码

键符

键码

0

40H

8

50H

1

41H

9

51H

2

42H

A

52H

3

43H

B

53H

4

48H

C

58H

5

49H

D

59H

6

4AH

E

5AH

7

4BH

F

5BH

四、实验原理

实验板上的CH451与单片机的接口电路如图1.2所示。

图1.2 CH451与单片机接口电路图

电路图中单片机P1.0接CH451的DIN端口,为CH451提供串行数据;P1.1接DCLK端口,为其提供串行时钟;P1.2接LOAD端口,为其提供加载串行数据的脉冲;INT0接DOUT端口,用于响应按键中断和读出键码。

程序设计首先要对单片机和CH451芯片初始化,然后对CH451写入数据0—F显示。当有按键时,由中断子程序读出键码,再写入CH451显示键符。程序流程图见图1.3和1.4.

五、程序设计

INT1中断入口保护现场,关中断

INT1中断入口

保护现场,关中断

读出键码

置有键标志

恢复现场,开中断

中断返回

单片机初始化

CH451初始化

轮显0—F

N

有按键?

Y

显示键符

图1.3 按键显示主程序流程图图

图1.3 按键显示主程序流程图

2、源程序LOADBITP1.2DINBITP1.0DCLKBITP1.1DOUTBITP3.3

TIMERDATA030HTIMER1DATA031HTIMER2DATA032HTIMER3DATA033HKEY_FDATA034HKEYDATA035HORG0000H

JMPSTARTORG0013H

LJMPCH451_INTORG080HSTART:MOVSP,#60H

MOVP1,#60HCLRDINSETBDCLKSETBDINSETBLOADSETBDOUTMOVB,#04HMOVA,#03H

LCALLWRITE_CH451MOVB,#05H

MOVA,#80H

LCALLWRITE_CH451NOP

CLRIT1CLRIE1SETBPX1SETBEX1SETBEA

LX0:MOVR5,#00HLX:MOVA,R5

MOVB,#08H

LCALLWRITE_CH451NOP

LCALLDELAY_1S

MOVB,#03HMOVA,#00H

LCALLWRITE_CH451INCR5

CJNER5,#10H,LXJMPLX0

DELAY_1S:

MOVTIMER1,#1DLY:MOVTIMER2,#255DLY1:MOVTIMER3,#255DLY2:NOP

NOP

DJNZTIMER3,DLY2DJNZTIMER2,DLY1DJNZTIMER1,DLYRET

WRITE_CH451:PUSHPSW

PUSHACCCLREX1CLRLOADMOVR7,#08H

WRITE_8:RRCA

CLRDCLKMOVDIN,CSETBDCLK

DJNZR7,WRITE_8MOVA,B

MOVR7,#04HWRITE_4:RRCA

CLRDCLKMOVDIN,CSETBDCLK

DJNZR7,WRITE_4SETBLOAD

SETBEX1POPACCPOPPSWRET

CH451_INT:CLREX1

PUSHPSWPUSHACCPUSHB

PUSHTIMER1PUSHTIMER2PUSHTIMER3MOVB,#03HMOVA,#00H

LCALLWRITE_CH451NOP

LCALLREAD_CH451DISPKEY:MOVR7,#00H

LOOP:MOVA,R7

MOVDPTR,#TAB1MOVCA,@A+DPTRCJNEA,KEY,RLOOPMOVA,R7

MOVB,#08H

LCALLWRI

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档