找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5893|回复: 0
打印 上一主题 下一主题
收起左侧

单片机键盘与数码管显示电路-微机原理学训报告书下载

[复制链接]
跳转到指定楼层
楼主
ID:362943 发表于 2018-7-2 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
微机原理学训报告书
    学训

班    级:电气15-1
姓    名:
学    号:
指导老师:
浙江水利水电学院
电气工程学院
学训结合项目四:键盘与数码管显示电路
1、学习目标
通过本项目教、学、作一体的学习,熟悉单片机键盘接口电路与数码管显示电路的工作原理、电路的设计和编程。
2、所需器材
PC机一台,仿真开发软件,编程器,万用表一块,单片机最小系统PCB板,电烙铁,LED数码管,按键,排插,连接线等。
3、学习参考资料
  • 单片机教材;
  • 其他相关资料及附录。
4、学训内容
(1)在单片机的最小系统PCB板上焊制四个按键,用排插和排线和单片机I/O接口相连,键盘采用独立式键盘,一个按键占用一根I/O线,如下图:
(2)在单片机的最小系统PCB板上焊制四位一体共阳极的LED数码管,用排插和排线和单片机I/O接口相连,显示方式为动态扫描显示,如下图:
(3)编写键盘四按键识别的子程序。
(4)编写数码管动态扫描显示的子程序。
(5)编写键盘显示测试程序:(键盘程序用程序扫描方式)
实现功能要求:开机时数码管显示‘0000’,按S0显示‘1111’,按S1显示‘2222’,按S2显示‘3333’,按S3显示‘4444’。

5、单元学习思考题
1、简述51单片机的键盘和数码管显示电路的工作原理?

          键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型,IBM系列个人微型计算机的键盘属于非编码类型。微机键盘主要由单片 机、译码器和键开关矩阵三大部分组成。其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位 CPU、1024×8位的ROM、64×8位的RAM、8位的定时器/计数器等器件。由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由 键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。当有键按 下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进 行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。

        静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

       动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

单元学习体会

1、通过本单元学习,你有哪些收获?
通过这章的学习本人对键盘的工作原理,按键的结构和特点还有编码有了初步的了解。键盘的四按键识别,数码管显示程序的一系列编程让我学到了好多

2、对本单元的学习内容有哪些建议?
这些都学不好,没有建议,不敢有建议。

单元学习自我评价

你认为自己在本单元学习阶段中成绩为(优、良、中、及格、不及格)理由如下:中
   在课上对一些内容的理解不够,课后未有很好的思考与理解导致
后来的编程有了很多问题,在学习上不够自觉有待改进。

本单元学习教师评分
该同学本单元学习成绩为:( 优、良、中、及格、不及格)

  1. ORG 0000H
  2. AJMP MAIN;
  3. ORG 0030H   
  4. MAIN:MOV SP,#30H;设置堆栈
  5.      MOV P1,#0FFH;;设p1口为输入方式
  6.      MOV  60H,#0
  7.      MOV 61H,#0
  8.      MOV  62H,#0
  9.      MOV 63H,#0
  10. MAIN0:CALL DIS
  11.      CALL  KEYMON
  12.               AJMP MAIN0
  13. ************************数码管显示程序******************************
  14. DIS:MOV R1,#60H;指向显缓区首址
  15.      MOV R2,#11111011B;;从右面第一位开始显示
  16. LD0:MOV P0,#0FFH;送字形前先关显示,P0作普通i/O
  17.     MOV A,@R1;;取显示字符
  18. MOV DPTR,#TABLE;;指向字符代码表首址
  19.     MOVC A,@A+DPTR;;取字符相应编码
  20.     MOV P0,A;;字符编码送p0口
  21.     MOV P2,R2;位控码送p2口
  22.     LCALL DELAY;延迟
  23.     INC R1;指向下一显缓单元
  24.     MOV A,R2;取当前位控码
  25.     JNB ACC.3,LD1;是否扫描到最左边,是返回
  26.      RL A;否,左移以一位
  27.      MOV R2,A;保存内容到B
  28.     AJMP LD0;继续扫描显示
  29. LD1:
  30.      RET;返回
  31. ***********************键盘扫描*********************************
  32. LOOP:LCALL KEYMON;在主程序中循环调用键盘扫描子程序
  33. KEYMON:MOV A,P1;取p1口当前状态
  34.        ANL A,#3FH; 屏蔽高两位  
  35.   CJNE A,#3FH,KEY; 有键按下,转键处理key   
  36. RET
  37. KEY:MOV B,A;   保存键闭合信息到B
  38. LCALL DELAY
  39. LP:MOV A,P1;   取p1口
  40. ANL A,#3FH;   屏蔽高四位
  41. CJNE A,#3FH,LP;等待键释放
  42.    LCALL DELAY;
  43.    MOV A,B;取键闭合信息
  44.    JNB ACC.0,KEY0;若K0按下,转键处理程序KEY0
  45.    JNB ACC.1,KEY1;若K1按下,转键处理程序KEY1
  46.   JNB ACC.2,KEY2;若K2按下,转键处理程序KEY2
  47. AJMP KEY3;转键处理程序KEY3
  48. KEY0:MOV 60H,#1
  49.      MOV 61H,#1
  50.     MOV 62H,#1
  51.               MOV 63H,#1
  52.               MOV 64H,#1
  53.               MOV 65H,#1
  54.     RET
  55. KEY1:MOV 60H,#2
  56.     MOV 61H,#2
  57.     MOV 62H,#2
  58.               MOV 63H,#2
  59.               MOV 64H,#2
  60.               MOV 65H,#2
  61.     RET
  62. KEY2:  MOV 60H,#3
  63.        MOV 61H,#3
  64.        MOV 62H,#3
  65.                  MOV 63H,#3
  66.                  MOV 64H,#3
  67.                  MOV 65H,#3
  68.        RET
  69. KEY3:MOV 60H,#4
  70.      MOV 61H,#4
  71.      MOV 62H,#4
  72.               MOV 63H,#4
  73.               MOV 64H,#4
  74.               MOV 65H,#4
  75. RET
  76. AJMP $
  77. ;**********************延迟程序
  78. D1:  NOP
  79.      NOP
  80.               DJNZ R7,D1
  81.               RET
  82. TABLE:DB 0C0H,0F9H,0A4H,0B0H,099H
  83. END     
复制代码

完整的Word格式文档51黑下载地址:
学训项目四:显示与键盘电路.doc (720.21 KB, 下载次数: 8)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表