非编码键盘的扫描程序设计课程设计


    摘 1
    1设计方案 2
    11 设计务 2
    12 设计方案 2
    2系统硬件设计 3
    21应系统 3
    22 8155扩展电路 4
    23 矩阵键盘接口电路 6
    24 LCD1602接口电路 6
    25 电路设计 8
    3系统软件设计 8
    31程序设计 9
    32 延时程序设计 9
    33 键盘扫描子程序设计 10
    34 显示子程序设计 11
    4 系统调试结果 13
    41 调试容问题解决 13
    42 运行结果分析 13
    结 15
    参考文献 16
    附录 17














    计算机控制技术门电子技术动控制原理计算机应技术基础计算机控制技术核心综合编程控制技术单片机技术计算机网络技术实现生产技术精密化生产设备信息化生产程动化机电控制系统佳化专门学科企业具备较强计算机控制技术应力专门需求
    文proteus75软件利8155芯片扩展8031单片机IO接口keil软件采C语言编程生成hex文件仿真实现6*6矩阵键盘键识消键抖动识键更性化lcd1602液晶显示方案设计硬件电路设计系统软件设计系统调试四部分组成
    关键词:8031单片机 8155芯片 矩阵键盘 IO口扩展 1602液晶




























    非编码键盘扫描程序设计
    1设计方案
    11 设计务
    通8155扩展8031微控制器IO口组成6×6行列式键盘行列式键盘设计非编码键盘扫描硬件系统画出电路图键盘键够正确识抖动键盘扫描撰写设计说明书
    12 设计方案
    首先8155芯片扩展8031单片机IO口然需检测6*6矩阵键盘12根导线分接8155PB0PB6PC口LCD16028根数线接8155PA0口控制线接单片机P20P238155编程芯片PAPBPC口次设输出输出输入通编写键盘扫描程序识键返回键值判断识键值形象显示LCD1602液晶电路结构框图图11示








    8031
    单片机


    6*6矩阵键盘

    8155芯片

    复位电路












    LCD1602



    晶振









    图11 系统结构图
    2系统硬件设计
    21应系统
    80C31单片机8位高性单片机属标准MCS51HCMOS产品结合HMOS高速高密度技术CHMOS低功耗特征标准MCS51单片机体系结构指令系统 80C31置中央处理单元128字节部数存储器RAM32双输入输出(IO)口216位定时计数器5两级中断结构全双工串行通信口片时钟振荡电路80C31片程序存储器需外接ROM 外80C31工作低功耗模式通两种软件选择空闲掉电模式空闲模式冻结CPURAM定时器串行口中断系统维持功掉电模式保存RAM数时钟振荡停止时停止芯片功次设计采80C31PDIP(40pin)封装形式脚图图21示









    图21 8031脚图
    80c31单片机40根脚单片机正常工作必须满足:
      1 电源线2根
      Vcc:编程正常操作时电源电压接+5V
      Vss:电
      2 晶振:2根
      XTAL1:振荡器反相放器输入外部震荡器必须接
    XTAL2:振荡器反相放器输出部时钟发生器输入外部振荡器时输入外部振荡信号
    单片机应系统图22示



    图22 8031应系统
    22 8155扩展电路
    8155芯片介绍关Intel81558156:功编程外围接口芯片 40脚双列直插封装A口B口C口定时器计数器低8位定时器计数器高8位五端口外8155部命令状态寄存器8155部6端口需  实现编址表11示
    表11   8155端口址编码
    AD7
    AD6
    AD5
    AD4
    AD3
    AD2
    AD1
    AD0
    应端口
    ×
    ×
    ×
    ×
    ×
    0
    0
    0
    命令状态寄存器
    ×
    ×
    ×
    ×
    ×
    0
    0
    1
    A口
    ×
    ×
    ×
    ×
    ×
    0
    1
    0
    B口
    ×
    ×
    ×
    ×
    ×
    0
    1
    1
    C口
    ×
    ×
    ×
    ×
    ×
    1
    0
    0
    定时器计数器低8位
    ×
    ×
    ×
    ×
    ×
    1
    0
    1
    定时器计数器高8位

    8155A口输入输出两种工作方式B口输入输出两种工作方式C口输入方式(ALT1)输出方式(ALT2)A口控制端口方式(ALT3)A口 B口控制端口方式(ALT4)四种工作方式端口工作方式8155部命令寄存器(命令字)控制命令字规定端口工作方式规定定时器计数器工作方式命令字进行写操作格式图23示


    图23 8155命令字
    结合80318155芯片结构特点设计出图24示扩展电路

    图24 8155扩展电路
    23 矩阵键盘接口电路
    编码键盘单片机接口单片机系统键盘编码键盘非编码键盘两种
    非编码键盘键排列成行列矩阵键作简单实现接点接通断开必须套相应程序配合产生出相应键码非编码键盘需附加什硬件电路目前微型计算机控制系统中较普遍次设计6行×6列非编码键盘行次136键盘行线接8155C口六条线PB5~PB0键盘列线接8155C口6条线C口接拉电阻图25示

    图25 矩阵键盘接口电路
    24 LCD1602接口电路
    LCD1602字符型液晶显示模块种专门显示16列*2行显示字母数字符号等点阵式LCD 16*2等模块脚介绍:
    第1脚:VSS电源
    第2脚:VDD接5V正电源
    第3脚:VL液晶显示器度调整端接正电源时度弱接时度高度高时会产生鬼影时通10K电位器调整度
    第4脚:RS寄存器选择高电时选择数寄存器低电时选择指令寄存器
    第5脚:RW读写信号线高电时进行读操作低电时进行写操作RSRW低电时写入指令者显示址RS低电RW高电时读忙信号RS高电RW低电时写入数
    第6脚:E端端E端高电跳变成低电时液晶模块执行命令
    第7~14脚:D0~D78位双数线

    图26 LCD1602接口电路
    第15脚:背光源正极
    第16脚:背光源负极
    综合设计液晶8031单片机8155芯片接口电路图26示
    25 电路设计
    综子模块电路设计设计出电路图图27示

    图27 电路图
    3系统软件设计

    31程序设计

    程序包括三部分:初始化程序调判断子程序调检测子程序中显示子程序调检测子程序中流程图图31示
    开始




    初始化





    调判断子程序





    键闭合?


    Y N




    Y
    调检测子程序



    结束




    图31 程序流程图

    32 延时程序设计
    延时程序采双重for语句循环减方法i赋值tj赋值110运循环重复t遍110减0延时时间计算方法
    振荡器频率12MHz振荡器周期112微秒机器周期12121微秒 计算机执行步需1微秒延时时间执行步数*1微秒子程序流程图图32示

    开 始
    i赋初值t
    j赋初值110
    j减否零
    i 减否零










    N
    N



    Y

    结 束



    图32 延时子程序流程图
    33 键盘扫描子程序设计
    设置8155PAPBPC口次设输出输出输入样没键时键盘行线成高电列线信号低电键识种方法系统 行扫描法:
    (1)确定否键PB口输出111111键盘行线然检测键盘列线信号没键00000键某条列线0PB5~PB0000000时表示键
    (2)通行扫描确定已键行列位置谓行扫描次条行线输入1信号余行输入0检测次扫描时应列信号检测次应C口输入某行键时行输入1列输出检测1信号输入1行没键收列信号然全0记列信号全0时B口输出C口输入确定键位置样通行扫描确定键行列坐标
    (3)消键抖动般键时候抖动问题键簧片时会轻微弹跳需短暂时间会接触簧片抖动时进行扫描出正确结果程序中考虑防抖动问题简单办法检测键时等(延迟)段时间进行行扫描延迟时间10~20ms通调子程序消抖动扫描子程序流程图图33示
    开 始



    扫描键盘


    否键?




    消抖动


    否键?



    读键


    结 束


    图33 扫描子程序流程图
    34 显示子程序设计
    1602液晶模块读写操作屏幕光标操作通指令编程实现
    指令1:清显示指令码01H光标复位址00H位置
    指令2:光标复位光标返回址00H
    指令3:光标显示位置设置ID光标移动方高电右移低电左移S:屏幕文字否左移右移高电表示效低电表示效
    指令4:显示开关控制D:控制整体显示开关高电表示开显示低电表示关显示C控制光标开关高电表示光标低电表示光标 B:控制光标否闪烁高电闪烁低电闪烁
    指令5:光标显示移位 SC :高电时显示移动文字低电时移动光标
    指令6:功设置命令 DL:高电时4位总线低电时8位总线 N:低电时单行显示高电时双行显示F:低电时显示5X7点阵字符高电时显示5X10显示字符
    指令7:字符发生器RAM址设置
    指令8:DDRAM址设置
    指令9:读忙信号光标址 BF:忙标志位高电表示忙时模块接收命令数果低电表示忙
    读写操作时序图3435示

                  图34 读时序图

    图35 读时序图
    4 系统调试结果
    41 调试容问题解决
    软件硬件连接仿真运行时发现液晶光标移动显示初始化字符检查发现液晶控制线单片机接线出现错误改正显示初始化字符键时发现液晶显示键应正确显示键甚键没反应检查扫描子程序逻辑发生错误出现死循环修改正确运行
    42 运行结果分析
    仿真运行开始初始化液晶显示器出现预设字符串PLEASE ENTER图41示

    图41 初始化界面
    第行第二列键时液晶出现行列标号计算出2图42示

    图42 键2显示
    第4行第3列时液晶正确显示键位置计算出21图43示

    图43 键21显示
    次键检查液晶显示发现36键正确识显示设计合理正确



    现代科学技术众领域中计算机控制技术起着越越重作做微型计算机控制技术门课程课程设计非常必中讲课中知识运实际运中深刻体会实践艰巨性挑战性周课程设计中断改进方法通查阅参书网资料知识足进行非常补充完善短短两星期门业课更切实理解更深掌握学会通努力挑战未知领域
    通次课设知道潜远远超想象刚开始课设题目听说设计成百行程序点恐惧前写汇编程序十行C语言写单片机程序写百行通查阅资料步步发现程序越写越长写完发现编程水想象高离社会需求远
    次课设程序差错调试新想法然编译器单步运行程序中添加延时程序输出*语句样知道程序运行致步骤否运行需语句事实调试查错时确起作
    排版美观方面较强意识撰写实验报告时候格式求非常严格字体求段距行距统求开始时候没注意点发现需全部更改工作量改正着美观排版心中非常欣慰









    参考文献
    1李清单片机原理接口技术北京航天航空学出版社1994年
    2立民单片机高级教程北京航天航空学出版社2000年
    3杨光友朱宏辉等单片机微型计算机原理接口技术中国水利水电出版社2002年
    4 海生 计算机控制技术 机械工业出版社2010
    5 郑学坚周斌 微型计算机原理应 清华学出版社
    6 立民 单片机应系统设计 北京航空航天学出版社
    7 姚燕南薛钧义 微型计算机原理 西安电子科技学出版社
    8 沙占友等 新编实数字化测量技术 国防工业出版社
    9 宋春荣等 通集成电路手册 山东科技出版社





































    附录
    #include 头文件
    #include XBYTE 宏定义
    #include
    #include
    #define uchar unsigned char
    #define uint unsigned int
    #define ulong unsigned long
    #define com XBYTE[0x7FF0] 8155命令状态寄存器址
    #define pa XBYTE[0x7FF1] 8155A口址
    #define pb XBYTE[0x7FF2] 8155B口址
    #define pc XBYTE[0x7FF3] 8155C口址
    sbit lcdrsP3^0
    sbit lcdenP3^2
    sbit lcdrwP3^1
    uchar table1[]HANG
    uchar table2[] LIE
    uchar table3[]WE GET
    uchar table4[]PLEASE ENTER
    int xyzhanglie
    void delay(uchar t)
    void wcom(uint co)
    void wdate(uchar date)
    void wdate1(ulong date)
    void panduan()
    void jiance()
    void xianshi()
    void wcom(uint co){ 液晶写控制字子程序
    lcdrs0
    paco
    delay(2)
    lcden1
    delay(2)
    lcden0
    }
    void wdate(uchar date){ 液晶显示单字符子程序
    lcdrs1
    padate
    delay(2)
    lcden1
    delay(2)
    lcden0
    }
    void wdate1(ulong date){ 液晶显示字符子程序
    uchar m
    wcom(0x80+0x40+9)
    wcom(0x04)
    wcom(0x0C)
    if(date){
    while(date){
    mdate10
    wdate(0x30+m)
    date10
    }
    }
    }
    void xianshi(){ 显示键子程序
    uchar m
    wcom(0x01)
    wcom(0x80)
    wcom(0x0c)
    for(m0m<5m++){
    wdate(table1[m])
    delay(2)
    }
    wdate(0x30+x+1)
    for(m0m<5m++){
    wdate(table2[m])
    delay(2)
    }
    wdate(0x30+y)
    wcom(0x80+0X40)
    for(m0m<8m++){
    wdate(table3[m])
    delay(2)
    }
    wdate1(z)
    }
    void panduan(){ 判断否键子程序
    int flag1
    hang0xff
    pbhang
    lie0
    while(lie&&flag){
    delay(10)
    liepc
    if(lie)flag0
    }
    }
    void jiance(){ 检测键子程序
    int aa
    x1
    y1
    hang0x01
    do{
    x++
    pbhang
    liepc
    hang*2
    }while(lie)
    aa0x01
    hang0xff
    pbhang
    liepc
    while((lie&aa)){
    aa*2
    y++
    liepc
    }
    zx*6+y
    xianshi()
    while(pc)
    delay(5)
    while(pc)
    }
    void init(){ 初始化子程序
    int m
    pa0
    pb0
    pc0
    lcdrslcdrw lcden0
    com0x03
    wcom(0x38)
    wcom(0x0f)
    wcom(0x06)
    wcom(0x01)
    wcom(0x80)
    for(m0m<12m++){
    wdate(table4[m])
    delay(2)
    }
    }
    void delay(uchar t){ 延时tms子程序
    uint ij
    for(jtj>0j)
    for(i110i>0i)
    }
    void main(){ 程序
    init()
    while(1){
    panduan()
    jiance()
    }
    }
    武 han 理 工学
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于FPGA的键盘扫描程序的设计毕业设计

    X X 学 院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 基于FPGA的键盘扫描程序的设计 ...

    4年前   
    872    0

    基于arm键盘课程设计

    基ARM课程设计 专 业:自动化学 号:姓 名: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块...

    2年前   
    475    0

    实验7:44 键盘扫描控制器(数电实验报告)

    实验 7 4*4 键盘扫描控制器1. 实验任务说明:设计并实现 4*4 键盘扫描控制电路,判断哪个按键被按下,在数码管上显示键值,并通过蜂鸣器发出按键音。要求:l 键值采用 16 进制编码,...

    2年前   
    413    0

    图书馆程序设计程序设计综合课程设计报告

    XX学院计算机科学与技术系信息管理与信息系统专业《程序设计综合课程设计》报告 (2010/2011学年 第一学期)学生姓名: 学生班级: 信息管理与信...

    2年前   
    561    0

    BCH编码器的BER测试仿真课程设计报告

    《通信原理》课程设计报告题 目:BCH 编码器的BER测试仿真专 业: 电子信息工程 班 级: 姓 名...

    2年前   
    592    0

    基于MATLAB的CRC编码与译码的设计与仿真课程设计

    *******************实践教学*******************XX大学计算机与通信学院2012年春季学期 《计算机通信与网络》 课程设计 题 目: 差错控...

    3年前   
    787    0

    编码

    编码教学目标:(1)学生通过生活中的事例,初步体会数字编码思想在解决实际问题中的应用。(2)学生通过观察、比较、猜测来探索数字编码的简单方法,学会用数进行编码,初步培养抽象能力和概括能力。(3...

    4年前   
    818    0

    来自ISL的编码规则

    来自ISL(Integrate Service)网站的一份编码规则说明:以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库...

    11年前   
    622    0

    编码规范

    DELPHI编码规范 版本:1.0.0.0 编写:邱建伟 文件历史表 版本 作者 说明 完成日期 草稿 Jianweiqiu DELPHI编码规范 2004/7...

    7年前   
    19435    0

    员工编码标准

     员工编码标准 第一条 本标准按公司机构图和岗位图自上而下,自左向右顺序来编排,员工编码共7位。 第二条 首位码为级别码:高管级为1,部门级为2,主管级为3,员工级为4。 第三...

    11年前   
    16606    0

    键盘使用教学课件

    第11课  轻松“驾驭”键盘 一、教材分析:                                                            2010年   月  日 ...

    11年前   
    10256    0

    《认识键盘》教学教案

    培养学生养成良好的计算机使用习惯、正确的键盘操作姿势、正确的输入指法,以保证学生的眼睛健康和提高输入的速度。

    5年前   
    2276    0

    聊天程序设计嵌入式linux课程设计报告

    课程设计成果 院(系):_电气与信息工程学院_ 班 级: 计科普 学生姓名: 学 号: 设计地点(单位)_...

    1年前   
    230    0

    电脑键盘快捷键大全

    CTRL组合键 Ctrl + A 全选 Ctrl + B 整理 收藏夹 Ctrl + C 复制 Ctrl + D 删除/添加收藏 (在Word中是修改选定字符格式,在IE及傲游中是保存...

    11年前   
    630    0

    LTE预编码设计开题报告

    1. 选题的目的及意义: 90年代初第三代移动通信技术(3G)的横空出世使得让多媒体服务的质量与应用得到广泛人的认可,随处可见的宽带覆盖网络给人们物质文化的提高带来了深远的意义,并且摒弃了环...

    5年前   
    1304    0

    农产品追溯编码设计

    农产品追溯编码设计研究背景    建立农产品追溯系统,促进中国农产品平安体系搭建是保障消费者食用农产品平安和提升农产品竞争力的重要手段。而统一编码是实现农产品追溯系统的根底。关于追溯码编码的研...

    2年前   
    411    0

    编码体系的设计原则

    编码体系的设计原则赛迪网-中国计算机报编码体系的建立应遵循以下设计原则:  1)信息分类编码体现科学化、标准化、规范化、合理化。  2)参照国家标准中有关分类标准体系。  3)参照企业原有的编...

    11年前   
    566    0

    74汉明码编码原理

     74汉明码编码 1. 线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若 冗余位是按线性...

    7个月前   
    237    0

    2023年数字与编码专题

    2023年数字与编码专题 第一篇:数字与编码专题 浙江省农村中小学现代远程教化工程资源建设多媒体教学课件 人教版版五上《数字与编码》教学设计 运用范围:小学数学〔人教版〕...

    1年前   
    333    0

    香农编码实验报告

     中南大学 《信息论与编码》实验报告 题 目 信源编码实验 指导教师 学 院专业班级 姓名 学号 日期 ...

    1年前   
    427    0

    文档贡献者

    文***享

    贡献于2022-08-07

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档