键盘录入数据的转换与显示程序设计说明书
- 格式:doc
- 大小:75.00 KB
- 文档页数:13
课程设计键盘输入显示系统设计初始条件: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、经过程序设计和调试,加深对字符串程序设计的认识,。
学号:课程设计题目数字显示与键盘输入例程设计学院计算机科学与技术专业计算机科学与技术班级计算机班姓名指导教师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、掌握几个的基本的传送类、控制类指令的使用方法实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、 键盘接口电路工作原理串行接口键盘盘电路如图4-15所示。
键盘扫描线与显示位选扫描信号共用。
键盘输入只需要一根线,电路简单。
键盘扫描信号从74LS164输出,低电平有效。
当扫描到某个键时,若按键按下,在KEY 端得到低电平,否则得到高电平。
通过判断KEY 的电平就可以知道相应键盘是否按下。
图4-15 键盘接口电路图2、 读键盘程序设计从上面工作原理分析可知,读键程序可以和显示程序结合在一起,也可以单独设计。
这种结构的键盘同样存在抖动问题。
为了减少程序误动作,程序设计时也要考虑去抖动问题。
这里设计一个把键值显示在LED 上的程序。
为了简化问题,把读键程序与显示结合起来。
程序流程图如图4-16所示。
图4-16 键盘扫描程序流程图主程序 初值化,显示缓冲区,键值暂存,键盘缓存调用键盘显示程序键值相同 N显示计数为0 …… 键盘显示程序 N显示程序 延时程序执行后 读当前扫描的键状态,并存入键值暂存寄存器实验内容1、设计程序把键值显示在数码管。
2、设计程序按不同键时实现不同功能。
按最左边按键:小数点循环移位按向上键:最右边一位数码管数值加1(0-9),到9时加1回到0按向下键:最右边一位数码管数值减1(9-0),到0时减1回到9按向左键:显示数字左移一位按向右键:显示数字右移一位实验步骤及调试过程1、连接单片机开发板、万利仿真机2、连接仿真调试电缆(并口JTAG)3、打开ARM集成开发环境ADS,进行程序加载。
实验程序:#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit CLK=P3^4;sbit DIN=P2^3;sbit key=P1^0;char num1=0;num=1;num2;char k;uchar code table[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,0xFE};//0到F及off的代码void wei(uchar x); //声明函数void delay(uchar ms);void display(char wei,char shu);void clear164();uchar keyscan();void main(){clear164();wei(1);P0=0x03; //初始化显示的数为0,位数为第一位while(1){k=keyscan();switch(k){case 8:{++num2;if(num2>7) num2=0; }break; //最左边按键(原理图中的第七个):小数点循环移位case 1:{++num;if(num>7) num=0; };break; //按向右键(原理图中的第六个):显示数字右移一位case 5:{num1--;if(num1<0) num1=9;}break; //按向下键:最右边一位数码管数值减加1(9-0),到0时减1回到9case 4:{num1++;if(num1>9) num1=0;}break; //按向上键:最右边一位数码管数值加1(0-9),到9时加1回到0case 7:{--num;if(num<0) num=7;};break; //按向左键:显示数字左移一位}display(num2,16);display(num,num1);delay(2);}}void wei(char x) //数码管第X位显示{ char j;for (j=1;j<9;j++){if (x==j){ DIN=0;CLK=0;CLK=1;}else{DIN=1;CLK=0;CLK=1;}}P0=0xFE;}void delay(uchar ms) // 延时子程序(晶振12M){uchar i;while(ms--){for(i = 0; i < 120; i++);}}uchar keyscan(){char i,j;j=0;clear164();P0=0xff; //清除没有用到的位显示DIN=0;for(i=0;i<8;i++){CLK=0;CLK=1;DIN=1;if(key==0) //判断检测端口是否为0,若是就为按键值{delay(10);if(key==0){while(!key); //松手检测j=i+1;}}}return j;}void clear164()//将164输出所以清零{char k;for(k=0;k<8;k++){DIN=1;CLK=0;CLK=1;}}void display(char wei,char shu){uchar m,n;clear164();DIN=0;for(n=wei;n>0;n--)//去掉没有显示的位数{CLK=0;CLK=1;DIN=1;}CLK=0;CLK=1;P0=table[shu]; //显示号码的位数delay(5);for(m=8-wei;m>0;m--)//去掉剩下的位数{DIN=1;CLK=0;CLK=1;}}实验思考题1、当按加1键时,每按一次数码管值变化可能超过1,是什么原因?答:1)因为,按键在闭合和断开过程中出现一段抖动期,由于按键的不稳定性引起的,这是会呈现一串脉冲,可能是在松手时没去抖动。
键盘输入显示系统设计初始条件: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显示子程序。