键盘录入数据的转换与显示程序设计说明书
键盘输入显示系统设计课程设计说明书

课程设计键盘输入显示系统设计初始条件:1.选用8086最小模式;2. 内存芯片使用2片6116(2K×8),1片2716(2K×8)EPROM;3. 8255、8259、74LS138、LCD字符型液晶显示器及其驱动器;4. 8255、8259的片选信号线分别接74LS138的Y1、Y2引脚;5. 采用4×4键盘进行菜单功能选择;6. 其他必须的配套元件。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 查阅参考资料,自学相关元件的内部结构、工作方式或初始化编程过程;2. 完成微机基本系统及其扩展接口电路设计,绘制微机系统硬件原理图;3. 绘制汇编源程序流程图,编制扩展接口电路工作的汇编源程序,包括初始化和监控工作程序;4. 通过微机或DSG-88实验装置进行汇编源程序的调试;5. 撰写设计说明书,设计说明书字数不少于5000字,具体要求见附录。
时间安排:指导教师签名:2008年11 月23日系主任(或责任教师)签名:年月日摘要键盘输入显示系统是我们日常生活中最常见的系统,我们知道,从外观上看普通的微型计算机系统是由主机箱、显示器、键盘、鼠标构成。
所以对键盘输入显示系统进行设计是非常必有和有用的。
当然本次课程设计的主要目的是达到在设计好的键盘输入显示系统中,在键盘上输入一个字符,然后在显示器上相应显示出对应的字符。
我的设计思想是:1、要实现键盘输入显示系统,首先要连接好硬件,如硬件图所示,其中各芯片接CPU,键盘的行线、列线分别接8255C口上半部、下半部,而且四根行线通过一个与非门接8259的IR0,LCD字符型液晶显示器接8255的B口,然后是编写程序。
2、编写主程序,先关中断,填写中断向量表,然后是对8259初始化,再开中断,执行其他程序。
3、编写子程序,其中有中断向量子程序、按键识别子程序、LCD显示子程序。
4、键盘输入显示:按键时,四根行线信号通过一个与非门产生一个高信号给8259IR0,8259查找中断向量表,产生中断子程序,并且在中断子程序中CALL子程按键识别序和LCD显示子程序。
键盘输入与液晶显示系统方案(最终版)

个人资料整理仅限学习使用微机原理与接口技术研究性专题设计报告课程名称:单片机原理与微机接口技术设计题目:键盘输入与液晶显示系统院系:机械与电子控制工程学院班级:机电1213班设计者:张威张古琴丁国华学号: 12223084 12223083 12223060指导教师:赵嘉蔚设计时间: 2018年6月机电学院《微机原理与接口技术》研究性专题任务书摘要键盘输入与液晶显示系统是单片机应用中最常见的一种形式,几乎涉及到人们日常生产和生活中的各个方面。
键盘是用于实现单片机应用系统中的数据和命令的输入,液晶显示器LCD能使人直观的获得需要了解的信息。
实现人机的交流互动。
因此,对液晶显示与键盘系统的研究与应用是很有必要的,对于我们今后的学习有着很强的推动作用。
目录一、设计要求7二、任务分工7三、主要元器件介绍83.1、AT89C5183.2、 1602LCD概述113.3、发光二极管143.4、蜂鸣器15四、仿真电路设计与系统仿真图164.1、 Proteus仿真软件的相关介绍164.2、复位电路仿真电路图:174.3、时钟电路仿真电路图184.4、1602LCD显示仿真电路图错误!未定义书签。
4.4、1602LCD显示仿真电路图184.5、键盘仿真电路图194.6、蜂鸣器和发光二极管电路仿真194.7、相关功能仿真显示图20五、程序流程图及相关程序175.1、程序构思:175.2、程序流程图:18六、遇到问题及解决方案196.1、软件问题19七、体会与感想20八、参考文献21九、附件22一、设计要求◆系统上电显示初始化界面,“欢迎使用本系统!” ;◆按数字键显示相应数字;◆按功能键实现相应功能;1、按功能键“A” ,发光二极管发光;2、按功能键“B” ,发光二极管不发光;3、按功能键“C” ,蜂鸣器报警;4、按功能键“D” ,蜂鸣器停止报警;5、按功能键“E”,显示组员姓名<Zhangwei zhangguqin dingguohua);6、按功能键“F”,显示“Thank you! JiDian 1213”。
课程设计键盘输入及数据显示程序设计

课程设计键盘输入及数据显示程序设
计
中北大学
汇编语言程序设计
课程设计说明书
学生姓名:学号:
学院:信息与通信工程学院
专业:自动化
题目:键盘输入及数据显示程序设计指导教师:沈小林职称:副教授
6月24日
中北大学
汇编语言程序设计实验
课程设计任务书
11/12 年第二学期
学院:信息与通信工程学院
专业:自动化
学生姓名:学号:
课程设计题目:数据显示及键盘输入程序设计
起迄日期: 6月18 日~6月24日
课程设计地点:中北大学
指导教师:沈小林
系主任:王忠庆
下达任务书日期: 06月20日
课程设计任务书
课程设计任务书
一、设计目的
1、经过程序设计和调试,加深对字符串程序设计的认识,。
键盘录入数据的转换与显示程序课程设计报告

3.要求程序运行后显示器显示:“please input the first number from -9999 to 9999!”的提示。
4.在输入数据之后,屏幕显示输入的值。
5.接着显示器显示“please input the second number from -9999 to 9999!”的提示。
MOV SI,OFFSET IN_ASC_BUF1+2;将第二个数的第一个字符放于源
数据区指针中
LP:MOV AX,[DI]地址内容送入AX
MOV [SI],AX
INC SI
INC SI
INC DI
INC DI
LOOP LP循环LP,读取出第一个数
模块二:输入第二个数
MOV B_BUF1,AX
MOV DX,OFFSET INPUT2;取第二个输入数的首地址
IN_ASC_BUFDB 6;十进制数的输入缓冲区,共可接收6个字符
DB ?;保留,用于10号调用时DOS填入实际输入字符个数
DB 6 DUP(?),'$';一个符号位,四位数字ASCII码,加上一个回车符,共计6字符
IN_ASC_BUF1DB 6
DB ?
DB 12 DUP(?),'$'
B_BUF1 DW ?;将第一个数转换为二进制后,放于此处
MOV AX,DATA
MOV DS,AX;设置DS
MOV DX,OFFSET INPUT1;取第一个输入数的首地址
MOV AH,09H
INT 21H;提示输入一个数
MOV DX,OFFSET IN_ASC_BUF
MOV AH,0AH
INT 21H;读取第一个数
数字显示与键盘输入例程设计

学号:课程设计题目数字显示与键盘输入例程设计学院计算机科学与技术专业计算机科学与技术班级计算机班姓名指导教师201 年月日目录课程设计任务书 (2)1.课程设计目的与要求 (3)1.1目的描述 (3)1.2要求描述 (3)2.设计分析 (3)2.1需求分析 (3)2.2背景知识 (4)2.2.1微控制器AT89S52 (4)2.2.2 CH451芯片 (8)3.设计原理 (15)3.1硬件平台 (15)3.2设计原理 (16)3.3硬件连接 (18)3.4软件设计 (18)4.详细设计 (19)4.1平台初始化 (19)4.1.1MCU初始化 (19)4.1.2 CH451芯片初始化 (19)4.2模块说明 (20)4.2.1主要函数模块及功能 (20)4.2.2模块框图 (21)4.2.3 程序流程图 (21)5. 开发平台及源程序 (22)5.1开发平台 (22)5.2源程序的主要部分 (23)6. 程序测试 (29)6.1测试用例 (29)6.2程运行结果及分析 (30)7. 自我评价与总结 (32)7.1自我评价 (32)7.2经验与收获 (33)本科生课程设计成绩评定表 (34)课程设计任务书学生姓名:专业班级:计算机班指导教师:工作单位:计算机科学与技术学院题目: 数字显示与键盘输入例程设计初始条件:1.课程设计使用ZG211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;2.ZG211有程序设计集成开发环境,程序设计语言为C语言;3.ZG211硬件综合实验平台使用说明书;要求完成的主要任务:(包括课程设计工作量及其技术要求,撰写说明书具体要求)1.学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2.根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。
3.查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。
课程设计——键盘输入及数据显示程序设计

示程序设计中北大学汇编语言程序设计课程设计说明书学生姓名:学号:学院:信息与通信工程学院专业:自动化题目:键盘输入及数据显示程序设计指导教师:沈小林职称:副教授2012年6月24日中北大学汇编语言程序设计实验课程设计任务书11/12 学年第二学期学院:信息与通信工程学院专业:自动化学生姓名:学号:课程设计题目:数据显示及键盘输入程序设计起迄日期:6月18 日~6月24日课程设计地点:中北大学指导教师:沈小林系主任:王忠庆下达任务书日期: 2011年06月20日课程设计任务书课程设计任务书一、设计目的1、通过程序设计和调试,加深对字符串程序设计的认识,掌握其调试方法;2、通过键盘及显示程序设计掌握汇编语言程序在键盘输入及文本显示方面的编程过程;3、学会DOS中关于显示功能调用的用法;4、领会修改显存方法显示字符。
二、程序设计要求(1)能识别数字键、字母键(能区分大小写);(2)一次最多字符(含数字)输入不超过80个;(3)依次显示键盘输入的所有可显示字符。
三、编程思路串(String)即数据串,是指存放在连续内存中的一组数据,通常表现为字节(或字)数组,串操作指令具有以下共性。
1)源串:地址由DS:SL表示。
2)目的串:地址由ES:DI表示。
3)自动修改地址:每次数据操作后,SI和DI自动递增或递减,取决于操作的数据类型(字节、字或双字)以及DF的值。
若DF=0,则SI和DI自动增加1、2或4;否则减1、2或4。
可以使用CLD或STD指令设置DF。
4)计数器:使用重复前缀时,用CX显示数据个数,每重复一次操作,CX 减1。
从键盘输入一串字符串,通过指令STRING DB 80 DUP(?)来设置一次最多字符(含数字)输入不超过80个,能识别数字键、字母键。
要使程序能够识别字母键的大小写,必须通过ASCII码来寻址识别。
依次显示键盘输入的所有可显示字符,当用户按回车键时,输入结束。
然后通过显示器显示输入的字符。
键盘录入数据的转换与显示程序设计说明书

课院专班姓学起指word完美格式南京工程学院止导课程设计报告书程名称微机原理及应用B(系、部、中心)自动化学院精心整理学习帮手-i -五•系统模块详细设计与调试:一).模块设计模块一.输入第一个数:MOV AH,09HINT 21H通过调用DOS系统的01H号功能--―键入字符并回车来实现,其出口参数为键入字符的ASCII码,存在AL中详细设计方案:DATA SEGMENTINPUT1 DB 0DH,0AH,'PLEASE IUPUT A FIRST NUMBER FROM -9999 TO9999!$' ;输入第一个数,在-9999至+9999范围内IN_ASC_BUF DB 6 ; 十进制数的输入缓冲区,共可接收6个字符DB ? ;保留,用于10号调用时DO蘋入实际输入字符个数DB6 DUP⑺,'$ ' ;一个符号位,四位数字ASCII码,加上一个回车符,共计6字符IN_ASC_BUF1 DB 6DB ?DB 12 DUP⑺,'$'B_BUF1 DW ? ; 将第一个数转换为一进制后,放于此处INPUT2 DB 0DH,0AH,'PLEASE IUPUT THE SECOND NUMBER FROM -9999TO 9999!$' ;输入第二个数,在-9999 至+9999范围OUT_ASC_SUM DB 6 DUP⑺,'$';将二个数的和转换为ASCII码后,放于此处,以供9号调用显示DATA ENDSMOV AX,DATAMOV DS,AX ;设置DS;取第一个输入数的首地址MOVDX,OFFSETNPUT1MOV AH,09HINT 21H ;提示输入一个数MOV DX,OFFSET IN_ASC_BUFMOV AH,0AHINT 21H 读取第一个数MOV CX,3 ;设置次数MOV DI,OFFSET IN_ASC BUF+2将第一个数的第一个字符LP1: MOV DX,OFFSET IN_ASC_BUFMOV AH,0AHINT 21H ;MOV CX,3MO\DI,OFFSETIN_ASC_BUF+2MO\SI,OFFSET IN_ASC_BUF1+7 MOV AX,[DI]MOV [SI],AXINC SIINC SIINC DIINC DILOOP LP1读取第二个数 ;设置次数 将第二个数的第一个 字符放于目的数 据区指针中 将第二个数的第一个 字符放于源数据 区指针中地址内容送入AX循环LP1,读取出第一个数模块二:输入第二个数针中 MOVSI,OFFSETIN_ASC_BUF1+2; 将第二个数的第一个字符 LP: MOV AX,[DI]放于源 数据区指针中 地址内容送入AX MOV [SI],AXINC SIINC SIINC DIINC DILOOP LP 循环LP,读取出第一模块二:输入第二个数个数MOV B_BUF1,AXMOV DX,OFFSETNPUT2 ; 取第二个输入数的首地MOV AH,09HINT 21H ; 址提示输入二个数模块三•两个二进制数求和并显示和:显示结果:MOV AH,09HMOV DX, OFFSET OUT_ASC_SUMINT 21HADD AX , BIN_BUF1 CALL BIN_TO_ASCII(((0*10+3)*10+5)*10+8) 要求补。
键盘显示实验报告

键盘显示实验报告键盘显示实验报告一、引言键盘是我们日常生活中常用的输入设备之一,它通过按下不同的按键来输入字符和命令。
在计算机科学领域,键盘显示是一项重要的实验,它涉及到了计算机硬件和软件的相互配合。
本文将介绍一个键盘显示实验的设计和结果分析。
二、实验设计1. 实验目的本实验的目的是通过键盘输入字符,并在计算机屏幕上进行显示。
通过这个实验,我们可以深入了解键盘的工作原理和计算机输入输出的基本知识。
2. 实验材料本实验所需的材料包括:计算机、键盘、显示器和相应的连接线。
3. 实验步骤(1) 将键盘与计算机通过连接线连接好。
(2) 打开计算机,并启动相应的键盘显示程序。
(3) 在键盘上按下不同的按键,观察计算机屏幕上的显示效果。
(4) 分析和记录实验结果。
三、实验结果在本次实验中,我们按下了键盘上的不同按键,并观察了计算机屏幕上的显示效果。
实验结果表明,键盘输入的字符能够准确地显示在屏幕上,并且显示的速度非常快。
四、结果分析1. 键盘工作原理键盘是一种输入设备,它通过按下不同的按键来输入字符和命令。
当我们按下键盘上的某个按键时,键盘会发送一个信号给计算机,计算机通过解读这个信号来确定我们按下的是哪个按键,并将相应的字符显示在屏幕上。
2. 计算机输入输出键盘显示实验涉及到了计算机的输入输出过程。
输入是指将外部信息传递给计算机的过程,而输出是指将计算机处理后的信息传递给外部的过程。
在本实验中,键盘是输入设备,它将我们按下的按键信息传递给计算机;而显示器是输出设备,它将计算机处理后的字符信息显示在屏幕上。
3. 键盘显示的应用键盘显示技术在计算机领域有着广泛的应用。
无论是在日常办公还是在专业领域,键盘输入都是必不可少的。
通过键盘,我们可以输入文字、命令、密码等信息,实现与计算机的交互。
键盘显示技术的发展也为计算机的普及和应用提供了方便。
五、实验总结通过本次键盘显示实验,我们深入了解了键盘的工作原理和计算机输入输出的基本知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OUT_ASC_SUMDB 6 DUP(?),'$';将二个数的和转换为ASCII码后,放于此 处,以供9号调 用显示
DATAENDS
MOV AX,DATA
MOV DS,AX;设置DS
MOV DX,OFFSET INPUT1;取第一个输入数的首地址
MOV AH,09H
INT 21H;提示输入一个数
MOV DX,OFFSET IN_ASC_BUF
MOV AH,0AH
INT 21H;读取第一个数
MOV CX,3;设置次数
在程序得到正确的结果之前,会产生一些错误,只有经过调试阶段才能纠正程序中的错误,从而的到正确的结果。在程序编译过程中会提示语法错误,可再用编辑程序来修改源程序中的错误。当没有语法错误而得不到正确结果时,可用调试程序DEBUG来调试。它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
LOOP LP循环LP,读取出第一个数
模块二:输入第二个数
MOV B_BUF1,AX
MOV DX,OFFSET INPUT2;取第二个输入数的首地址
MOV AH,09H
INT 21H;提示输入二个数
MOV DX,OFFSET IN_ASC_BUF
MOV AH,0AH
INT 21H;读取第二个数
MOV CX,3;设置次数
ADD AX , BIN_BUF1;计算这二个数之和
CALL BIN_TO_ASCII;将和转换为ASCII码,以供显示用
MOV DX,0AH
MOV AH,02H
INT 21H
MOV DX,OFFSET IN_ASC_BUF1+2
MOV AH,09H
INT 21H
MOV DX,0AH
MOV AH,02H
INT 21H
MOV DL,'='
MOV AH,02H
INT 21H
MOV DX,OFFSET OUT_ASC_SUM
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
模块四.十进制数转换成二进制数:
入口:十进制数的ASCII码在IN_ASC_BUF内
出口:转换后的二进制数在AX内
ADD AL,30H
MOV OUT_ASC_SUM+3,AL;保存百位数字
MOVAL,AH
CBW
MOV BL,10
DIV BL
ADD AL,30H
MOV OUT_ASC_SUM+4,AL;保存十位数字
ADD AH,30H
MOV OUT_ASC_SUM+5,AH;保存个位数字
RET
B_TO_ASC ENDP
B_BUF1 DW ?
INPUT2DB 0DH,0AH,'PLEASE IUPUT THE SECOND NUMBER FROM -9999 TO 9999!$'
OUT_ASC_SUMDB 6 DUP(?),'$'
二).程序调试
在DOS环境下,键入EDIT。启动全屏幕编辑软件EDIT,输入源程序。输入完毕,按alt+F选择SAVE保存程序(规定扩展名为*.ASM),按alt+X退出EDIT状态。
退出EDIT环境后,输入ASM或MASM 文件名↙(省略扩展名,系统默认为.ASM),对源程序进行汇编。源程序经汇编后产生三个输出文件:第一个是OBJ文件,即二进制目标文件,这是汇编的主要目的;第二个是LST文件,即列表文件;第三个是CRF文件,对于一般的程序可以不建立后两个文件。
MOV OUT_ASC_SUM+1,AL;保存万位数字
MOV AX,DX;将余数置入AX内,以便当作被除数
CWD
MOV BX,1000
DIV BX
ADD AL,30H
MOV OUT_ASC_SUM+2,AL;保存千位数字
MOV AX,DX;将余数置入AX内,以便当作被除数
MOV BL,100
DIV BL
MOV DI,OFFSET IN_ASC_BUF+2;将第二个数的第一个字符放于目的数据区指针中
MOV SI,OFFSET IN_ASC_BUF1+7;将第二个数的第一个字符放于源数据区指针中
LP1:MOV AX,[DI]地址内容送入AX
MOV [SI],AX
INC SI
INC SI
INC DI
INC DI
出口:转换后的ASCII码在OUT_ASC_SUM变量内
算法:AX中的数范围在+32767到-32768之间,先检查AX中的符号位,以决定输出“+”还是“-”,若是负数,应先求补,得到原码后即可与正数作统一处理。转换方法为将被转换的二进制数先除以10000,商;即为万位数,再将余数除以1000,商为千位数,以此类推,求出百、十位数,剩下的为个位数。最后,将各个数加上30H,即成为对应字符。
六.设计总结:
七.参考文献:
<微机原理实验与课程设计知指导书>,陆红伟编,中国电力出版社,2006年
<8086微型计算机组成,原理及接口>,顾滨,机械工业出版社,2001
<微型计算机原理及应用>,吕淑萍等,哈尔滨工程大学出版社,2004年
<微型计算机技术及应用>,戴梅萼,清华大学出版社,2005年
八.附件材料:
南京工程学院
课程设计报告书
课 程 名 称微机原理及应用B
院(系、部、中心)自动化学院
专业自动化(数控技术)
班 级
姓 名
学 号
起 止 日 期
指 导 教 师
一、设计题目………………………………………2
二、设计任务(要求)……………………………2
三、总体方案………………………………………2
四、原理框图………………………………………3
5。子程序中,实现十进制数转换为二进制方法是先将累加和赋0,再用累加和乘10加X得出结果。转换后在16位补码的表示范围内,如果为负数,则需求补。
6.子程序中,实现二进制数转换为十进制前先检查符号位,若为负数则求补,转换方法为将二进制数除以1000,再将余数除以1000,依次类推,求出百,十位数,剩下的为个位数,最后将各个数加上30H,即成为对应字符。
汇编程序产生的二进制目标文件不是可执行文件,还必须用连接程序(LINK)把OBJ文件转换成可执行的EXE文件。LINK程序有两个输入文件OBJ和LIB,两个输出文件EXE和MAP。连接时,输入LINK 文件名↙,对汇编生成的*.OBJ文件进行连接,计算时会询问生成的EXE文件名、MAP文件名以及参与连接的库文件名,如果不想生成MAP文件,没有库文件参与连接,则按回车键作答。最后,生成相应的*.EXE文件。从LINK过程的提示信息中,可看到最后给出了一个“无堆栈段”的警告性错误,这并不影响程序的执行。至此,产生了一个EXE文件,在DOS环境下可以直接运行该文件。
IN_ASC_BUFDB 6;十进制数的输入缓冲区,共可接收6个字符
DB ?;保留,用于10号调用时DOS填入实际输入字符个数
DB 6 DUP(?),'$';一个符号位,四位数字ASCII码,加上一个回车 符, 共计6字符
IN_ASC_BUF1DB 6
DB ?
DB 12 DUP(?),'$'
B_BUF1 DW ?;将第一个数转换为二进制后,放于此处
2. 先输入主程序。 输入两个数时,键盘接收的十进制数以ASCII码形式存放在内存单元中,将其转换为十进制数字。数值在-9999至+9999范围内。
3. 主程序中,两个二进制数数求和,结果也在16位补码的表示范围内。
4. 主程序中,和显示前,首先把二进制转换为十进制数,检查和的符号位,若为负数则求补。
算法:先将其转换成十进制数字,再用累加和乘10加X的方法变成二进制数,如将358转换为二进制数,可先将累加和赋0,再计算(((0*10+3)*10+5)*10+8),结果为二进制数,再由符号位决定是否需要求补。
ASC_TO_B PROC NEAR
MOV CL,IN_ASC_BUF+1;取字符个数
MOV CH,0
6.在输入数据之后,屏幕显示第二个数的输入的值。
7.最后显示器显示“****+****=****”,其中3个****分别是第一个加数,第二个加数,和。
三.总体方案:
1. 程序分为主程序和子程序,主程序主要是接收从键盘输入的数,两个数的求和,以及和的显示;子程序分别实现十进制数转换为二进制和将二进制数转换为十进制数。
MOV SI,10
L2:MUL SI
ADD AL,[BX]
ADC AH,0
INC BX
LOOP L2;累加乘10
CMP IN_ASC_BUF+2,'+'
JZ L3;符号是正号,转移
NEG AX;符号是负号,求补
L3:RET
ASC_TO_B ENDP
模块五.二进制数转换为十进制数:
入口:二进制数在AX内
LOOP LP1循环LP1,读取出第一个数
模块二:输入第二个数
模块三.两个二进制数求和并显示和:
显示结果:
MOV AH,09H
MOV DX,OFFSETOUT_ASC_SUM
INT 21H
将结果存入数据段中定义的缓冲区OUT_ASC_SUM中,再通过调用DOS系统的09H号功能——显示字符串(串尾字符为$,但不显示)来完成。