| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

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

文***享

贡献于2022-08-07

字数:7109

摘 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年前 上传862   0

基于arm键盘课程设计

基ARM课程设计 专 业:自动化学 号:姓 名: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1 实例说明在ARM应用系统中,键盘扫描只是ARM的工作之一,ARM在忙于各项工作任务时,如何兼顾键盘的输入,则取决

文***品 2年前 上传469   0

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

实验 7 4*4 键盘扫描控制器1. 实验任务说明:设计并实现 4*4 键盘扫描控制电路,判断哪个按键被按下,在数码管上显示键值,并通过蜂鸣器发出按键音。要求:l 键值采用 16 进制编码,即 16 个按键分别对应显示 16 进制数 0~F,按键对应关系如下:最上面一行从左至右依次为 0~3,第二行从左至右依次为 4~7,第三行从左至右依次为 8~B,最下面一行从左至右依次为 C~

花***0 2年前 上传408   0

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

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

文***品 2年前 上传555   0

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

《通信原理》课程设计报告题 目:BCH 编码器的BER测试仿真专 业: 电子信息工程 班 级: 姓 名: 学 号: XX大学信息与电气工程学院二○一一年X月一、课程设计教学目

文***品 2年前 上传584   0

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

*******************实践教学*******************XX大学计算机与通信学院2012年春季学期 《计算机通信与网络》 课程设计 题 目: 差错控制编码的编译码设计与仿真 专业班级: 通信工程班 姓 名: 学 号: 指导

文***品 3年前 上传785   0

编码

编码教学目标:(1)学生通过生活中的事例,初步体会数字编码思想在解决实际问题中的应用。(2)学生通过观察、比较、猜测来探索数字编码的简单方法,学会用数进行编码,初步培养抽象能力和概括能力。(3)学生进一步体会数在日常生活中的广泛应用,尝试用数学的方法来解决实际生活中的简单问题,初步培养应用意识和实践能力。(4)学生在数学活动中逐步养成与人合作的良好习惯,初步学会表达和交流解决

x***q 4年前 上传811   0

来自ISL的编码规则

来自ISL(Integrate Service)网站的一份编码规则说明:以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。 第一节 物料编码的意义    物料编码是以简短的文字、符号或数字、号码来代表物料、品名、规格或类别及其它有关事项的一种管理工具。在物料极为单纯、物

阅***读 11年前 上传621   0

员工编码标准

 员工编码标准 第一条 本标准按公司机构图和岗位图自上而下,自左向右顺序来编排,员工编码共7位。 第二条 首位码为级别码:高管级为1,部门级为2,主管级为3,员工级为4。 第三条 二、三、四码为部门码:第二码表示系统,财务系统为1,行政系统为2,人力资源系统为3,摩托车销售公司为4,售后服务系统为5,汽车贸易公司为6;第三码表示各系统内各部门;第四码表示各部门内各分部、班组。

Q***O 11年前 上传16599   0

编码规范

DELPHI编码规范 版本:1.0.0.0 编写:邱建伟 文件历史表 版本 作者 说明 完成日期 草稿 Jianweiqiu DELPHI编码规范 2004/7/9 前言 该规范是我参考网上资料并结合自己经验而起草的程序设计之编码规范的草稿。因为经验有限难免有许多不足的地方,请指正。 目录 1. 概述

起***字 7年前 上传19416   0

键盘使用教学课件

第11课  轻松“驾驭”键盘 一、教材分析:                                                            2010年   月  日     本课在前四课的基础上,进行字母键汇总操作。首先要求学生必须掌握字母键(26个字母与分号、逗号、句号)的指法操作;再次要求学会字母键的盲打技术;最后利用“快打一族”软件进行操练,使打字既准确又快速。

x***1 11年前 上传10242   0

《认识键盘》教学教案

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

果***4 5年前 上传2267   0

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

课程设计成果 院(系):_电气与信息工程学院_ 班 级: 计科普 学生姓名: 学 号: 设计地点(单位)___ _________ _______设计题目:_____ 聊天程序设计_________________________ _ 完成日期: 2

文***品 1年前 上传227   0

电脑键盘快捷键大全

CTRL组合键 Ctrl + A 全选 Ctrl + B 整理 收藏夹 Ctrl + C 复制 Ctrl + D 删除/添加收藏 (在Word中是修改选定字符格式,在IE及傲游中是保存为收藏) Ctrl + E 搜索助理 在Word中是段落居中 Ctrl + F 查找 Ctrl+ G 在Word中是定位 Ctrl + H 历史记录 在Word中是替

m***l 11年前 上传627   0

红军长征历史扫描

红军长征历史扫描  1933年9月至1934年夏,中央革命根据地(亦称中央苏区)红军的第五次反“围剿”作战,在中共中央、中华苏维埃共和国中央革命军事委员会(简称中革军委)博古等领导人实行军事冒险主义、军事保守主义的战略指导下,屡战失利,苏区日益缩小,形势日趋严重。湘赣革命根据地(亦称湘赣苏区)红军反“围剿”作战的处境,也十分困难。在这种情况下,中国共产党中央委员会和中华苏维埃共和国中央革命军

医***河 9年前 上传439   0

LTE预编码设计开题报告

1. 选题的目的及意义: 90年代初第三代移动通信技术(3G)的横空出世使得让多媒体服务的质量与应用得到广泛人的认可,随处可见的宽带覆盖网络给人们物质文化的提高带来了深远的意义,并且摒弃了环境条件的限制。随着21世纪通信技术高速而迅猛发展,人们对于移动通信的要求也随之加高,而3G网络在速度、服务及传输等方面的局限性也将逐渐表现出来。在这种需求的推动下,国际标准化组织第三代合作伙伴计划(3GPP

k***9 5年前 上传1298   0

农产品追溯编码设计

农产品追溯编码设计研究背景    建立农产品追溯系统,促进中国农产品平安体系搭建是保障消费者食用农产品平安和提升农产品竞争力的重要手段。而统一编码是实现农产品追溯系统的根底。关于追溯码编码的研究,国外多采用EAN.UCC系统对农产品的生产过程进行跟踪和溯源,EAN.UCC系统〔全球统一标识系统〕是由国际物品编码协会和美国统一代码委员会共同开发、管理和维护的全球统一标志系统和通用商业

静***雅 2年前 上传402   0

编码体系的设计原则

编码体系的设计原则赛迪网-中国计算机报编码体系的建立应遵循以下设计原则:  1)信息分类编码体现科学化、标准化、规范化、合理化。  2)参照国家标准中有关分类标准体系。  3)参照企业原有的编码体系,尽量考虑企业的习惯。这样便于企业生产活动的延续性,也有利于数据的整理工作。  4)保证编码的唯一性、可扩展性和方便性。  物料的编码是编码体系中最为重要也最为复杂的,它是

m***a 11年前 上传559   0

74汉明码编码原理

 74汉明码编码 1. 线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若 冗余位是按线性关系模2相加而得到的,则称其为线性分组码。现在以(7,4)分组码为例来说明线性分组码的特点。其主要参数如下:码长:信息位:校验位:,且最小距离:其生成矩阵G(前四位为信息位,后三位为冗余位)

文***享 7个月前 上传225   0

2023年数字与编码专题

2023年数字与编码专题 第一篇:数字与编码专题 浙江省农村中小学现代远程教化工程资源建设多媒体教学课件 人教版版五上《数字与编码》教学设计 运用范围:小学数学〔人教版〕五年级上册第1课 作 者:王丽兵 单 位:杭州市学军小学 撰稿时间:2023年08月 l 教学目标: 学问目标:通过视察、制作、沟通、评价等活动,探究数字编码的结构与含义,探究

h***5 1年前 上传327   0

香农编码实验报告

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

文***品 1年前 上传411   0

物业供水系统水泵梯形图控制程序设计与调试课程设计

XX学院机械与汽车工程学院课程设计成绩评定表课程名称机电传动控制课程设计课 程 编 号专业机械设计制造及其自动化班 级 机制姓 名项目评 分 标 准评分等级得分折合分平时成绩(占20%)1、态度端正,设计认真,能积极动脑思考,学习纪律好。优秀2、态度较好,较认真,能积极动脑思考,学习纪律较好。良好3、态度一般,较认真,能动

文***品 2年前 上传376   0

《Python程序设计》题库

第一章 基础知识1、Python安装扩展库常用的是_______工具。(pip)2、Python标准库math中用来计算平方根的函数是__________。(sqrt)3、Python程序文件扩展名主要有__________和________两种,其中

王***朝 2年前 上传517   0

程序设计基础

程序设计基础 下面我们这一节我们概要向用户管理人员介绍面问过程的程序设计语言的原理。绝大多数生产程序是用诸如COBOL、BASIC这样的POL编制的。虽然用户管理人员通常没有机会去实际地从事这类编程序的工作,但是他(或者她)将经常与从事这些工作的人们相互联系。掌握程序设计的基础知识将使得这种相互联系更加有效,同时也使得管理人员能够理解查询语言的概念。 在POL中,一个指令

r***子 14年前 上传13410   0

物料及客户、供应商编码实例

物料及客户、供应商编码实例 某工业企业编码方案 《JYS—MACS 企业经营管理与控制系统》 物 品 统 一 编 码 标 准 标准号:信息2001(001) 颁 布:2001.02.16 实 施:2001.03.01   为规范化本所信息管理、实现科思ERP企业经营管理与控制系统、统一本所的物料信息编码,指定本标准。   本标准是本所所有物料编码的

l***a 9年前 上传24834   0