2022年2022年键盘、数码管显示综合实验 .pdf

上传人:Che****ry 文档编号:34876565 上传时间:2022-08-19 格式:PDF 页数:5 大小:361.82KB
返回 下载 相关 举报
2022年2022年键盘、数码管显示综合实验 .pdf_第1页
第1页 / 共5页
2022年2022年键盘、数码管显示综合实验 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年2022年键盘、数码管显示综合实验 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年键盘、数码管显示综合实验 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、重 庆 交 通 大 学学 生 实 验 报 告实验课程名称单片机原理与应用实 验 名 称键盘、数码管显示综合实验实 验 类 型综合性开课实验室软件与通信实验室学院信息科学与工程学院学 生 姓 名学号开 课 时 间 2012 至 2013 学年第 2 学期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 实验评佑等级很好好一般差实验操作能力实验结果实验分析实验思考总结实验成绩教师签名一、实验目的1.通过实验掌握单片机输入输口线不够用时

2、,怎样扩展接口的方法来支持8 位 LED 显示和 16 键盘集成实现2.熟悉 8155、8279 等芯片性能,掌握编程方法3.掌握键盘子程序调试方法4.掌握按一个键并将键值显示出来的编程方法二、实验内容1.编写并调试出一个键盘实验子程序2.用子程序调试方法,分别调用键盘子程序和显示子程序,并按一个键的键值(0-F) ,在数码管上显示出来3.用 C51 必须重新编写上述内容的程序系统三、实验步骤打开 Keil 程序,执行菜单命令“Project”“New Project”创建“键盘数码管显示综合实验”项目,并选择单片机型号为AT89C51 。执行菜单命令 “File” “New”创建文件, 输入

3、源程序, 保存为: “键盘数码管显示综合实验.c” 。在“ Project”栏的 File 项目管理窗口中右击文件组,选择“Add Files to Group Source Group1 ”将源程序“键盘数码管显示综合实验.c”添加到项目中。执行菜单命令“Project” “Options for Target 1 ” ,在弹出来的对话框中选择“Output”选项卡,选中“Greater HEX File ” 。执行菜单命令 “ Project” “Build Target ” ,编译源程序。 如果编译成功, 则在“ Output Window ”窗口中显示没有错误,并创建了“键盘数码管显示

4、综合实验HEX ”文件。在 proteus 仿真平台上建立参考图系统,并将程序上载到虚拟芯片上运行。四、实验调试及结果程序: #include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - #include #define COMA XBYTE0 x7CFF #define COMB XBYTE0 x7DFF #define COMC XBYTE0 x7EFF #define COMCR XBYTE0 x7FFF tab=0

5、x01,0 x02,0 x04,0 x08,0 x10,0 x20; tab1=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71; void init8255a(void) COMCR=0 x89; /8255 初始化,选择方式0,A、B 作输出口, C 作输入口 void delay(unsigned int m) unsigned int j=0,i; for (i=m;i0;i-) for(j=0;j10;j+); void main() unsi

6、gned char i,codeC,k,j; /i 表示行数 ;codeC表示 COMC 读取值 ;k 表示选数码管 ; unsigned char key; /key 用来选择 tab1 中的元素 ; unsigned char tabk6=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00; init8255a(); while(1) for(i=0;i6;i+) COMB = tabi; codeC =COMC; if (codeC!=0 xff) switch(codeC) case 0 xfe:key=i*4+0; break; case 0 xfd:key=i*

7、4+1; break; case 0 xfb:key=i*4+2; break; case 0 xf7:key=i*4+3; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - k=key%6; for (j=0;j6;j+) if(k=i) tabkk = tab1key; COMA=tabkk; delay(10); /COMA=0 x00; else COMB = tabj; COMA=tabkj; delay(

8、10); /COMA=0 x00; 自由状态:按下键时:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 五、实验分析本实验通过 8155 芯片的扩展功能,建立描述线与数据线同步功能, 加上 16 个按键,而且按键和位选口选用PB 口,同时此处为了节省接口线,直接将显示输出和扫描输出何用 PA 口。按键显示时,分别对应显示0-F 六、实验思考与总结通过这次实验,学到了不少,因为这次是综合性的大实验,虽然前面已经做了很多相关的实验,

9、但是这次还是经过很长时间来完成。总结几点我遇到的经验:首先掌握仿真软件的使用方式是必须的,就算是没有一开始就了解全部,在使用时遇到问题要想办法解决,或者是问老师,或者查资料;其次,要懂得芯片的工作原理;还有就是在了解硬件的时候要注意不要把网络的标号弄错了, 否则也不是很容易检查错误;软件设计的时候也要有一个总体的思路,在设计软件以前,就应该想好自己想用什么样的算法来实现目的。实验过程中的语法和逻辑问题也可以一一修改,一步一步来,肯定没有问题。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁