单片机原理及应用A实验报告-数码管、键盘动态扫描.docxVIP

单片机原理及应用A实验报告-数码管、键盘动态扫描.docx

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

PAGE

PAGE3

数码管、键盘动态扫描

实验目的

1、学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方法和步骤;

2、熟悉Proteus的基本仿真功能;

3、熟悉动态扫描的思想以及矩阵键盘的扫描方法。

二、实验原理

1、数码管的动态扫描利用的是人的视觉暂留效应也称“余辉效应”(人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”)。本来在同一时间里只能控制一个数码管显示,却让人产生几个数码管是同时显示的错觉。实现方法为在很短的时间内切换不同的数码管显示对应的数字。

2、矩阵键盘的动态扫描则是通过单片机I/O的电平状态来实现判断的。

三、实验步骤

1、硬件仿真。先分析实验所需的硬件条件,然后在Proteus上连接好硬件电路,注意连接好必要的电阻等。如图(1)、图(2)所示:

图(1)数码管动态扫描的硬件仿真电路图

图(2)键盘动态扫描的硬件仿真电路图

2、软件编写。在Keil或其它的单片机编程软件上用C语言编写出构思好的软件。

(1)数码管的动态扫描设计得很简单,就是让它显示一串不变的数字。

(2)矩阵键盘的扫描则是让按不同的按键,一数码管就显示不同的字符。

3、将程序编译为HEX文件,然后烧录到仿真单片机中,进行仿真。

4、分析实验结果,找出问题并解决。

四、实验结果及分析

1、数码管动态扫描

实验开始时发现仿真一直存在错误,开始一直认为是电阻太大导致数码管不能够正常的显示。再改变电阻值后,情况的确得到了改善,不过数码管显示还是错误的并出现乱码的情况。后怀疑是程序编写有误,于是为了检验就用实物进行了检查。果然发现是程序的错误,在进行了多次的改正后最终实现了预想的实验结果。而程序最主要的问题是Px^y的使用,这让我有很大的疑惑。

2、矩阵键盘扫描

做键盘扫描的时候出现了同样的问题,Px^y的使用是错误的。

3、在仿真一直出现错误的情况下,转而用实物进行试验。如图(3)、图(4)所示。考虑到本次实验的目的,我设计了一个简易的计算器,它可以实现加、减、乘、除四种功能。这样既实现了数码管的动态扫描功能又实现了矩阵键盘的动态扫描,可谓是一举两得。而实验结果也令人满意,不过该计算器受数码管数目的限制只能实现9999以内的运算,并且输入也不能超过四位数。

图(3)实物连接图

图(4)实物工作图

体会

这一次实验让我感受很深,有的问题在理论中是发现不了的,更别说是去解决了。所以实际操作是我们在学习过程中必不可少的一大环节,只有这样,你才能发现自己在学习过程中的一些不足之处,也只有这样,你才能调试并解决一些莫须有的问题,而那些问题也许你从来都不会想到过。并且,做实验仿真也有很大的不足之处。实验仿真毕竟只是在电脑进行一些模拟,受限于现如今的科技问题,并不能达到百分百的模拟,总会有一些不足。所以如果有条件的话,最好还是在实际电路上做一些操作是更好的。

附件

计算器程序:

/******************************************************************************

*实验名 :简易计算器

* 功能 :借助矩阵键盘和数码管可以实现加、减、乘、除的计算

******************************************************************************/

#includestc12c5a60s2.h

unsignedcharnum[10]={0xc0,0xf9,0xa4,0xb0,//数码管段选数组

0x99,0x92,0x82,0xf8,0x80,0x90};

unsignedcharwei[4]={0xEF,0xDF,0xBF,0x7F};//数码管位选数组

unsignedlongintcnt; //数码管显示的数值

/******************************************************************************

*函数名:delay

*函数功能 :延时函数,延迟一段时间

*输入:inttim

*输出:无

******************************************************************************/

voiddelay(inttim)

{

inta,b;

for(a

文档评论(0)

金华 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档