实验七屏幕字符显示程序
EDA 实验LCD菜单字符显示

EDA 实验:LCD菜单字符显示班级:姓名:学号:一、实验目的为了使学生有效加深数字系统的分析和设计方法,熟练用EDA工具完成对数字系统的设计及仿真过程;安排本“设计性实验”。
自己拟定实用电路、实验步骤,学会系统设计、调试、仿真及故障诊断、排除方法。
二、实验题目:流动字符显示电路设计要求:(1)利用实验箱中的LCD2004字符型液晶,与MC8051 IP软核,编写两页以上LCD菜单。
(2) 第一行显示“0-9 :;< = > ?”第二行显示“A—P”HS2004液晶显示模块可以和单片机AT89C51直接接口,电路如图1所示AT89C51 HS2004液晶块4液晶模三、实验设备及器材:1、GH48EDA/SOPC+PK2实验系统四、实验程序RS EQU P0.0RW EQU P0.1E EQU P0.2DAT EQU 30H ;命令单元DAT1 EQU 31H ;数据单元AJMP STARTORG 0030HSTART:MOV DAT,#01H ; 清屏ACALL ENABLEMOV DAT,#38H ; 8位2行5x7点阵ACALL ENABLEMOV DAT,#0FH ; 显示器开、光标开、闪烁开ACALL ENABLEMOV DAT,#06H ; 文字不动,光标自动右移ACALL ENABLEMOV R3,#2MOV DAT,#080H ; 写入显示起始地址(第一行第一个位置)ACALL ENABLEMOV DAT1,#30H ;数字0的ASCII码ACALL DSP0MOV DAT,#0C0H ; 写入显示起始地址(第二行第一个位置)ACALL ENABLEMOV DAT1,#61H ;字母a的ASCII码ACALL DSP0SJMP $DSP0: MOV R2,#16DSP1: ACALL RDYMOV P2,DAT1SETB RSCLR RWCLR ESETB EINC DAT1DJNZ R2,DSP1RETENABLE: ACALL RDY; 写入控制命令的子程序MOV P2,#0FFHCLR RSCLR RWMOV P1,DATCLR ESETB ERETRDY: MOV P2,#0FFH ; 判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ESETB EJB P2.7,RDY ; 如果P1.7为高电平表示忙就循环等待RETEND。
字符型液晶显示实验

实验十二字符型液晶显示实验(1602C)一、实验目的与要求了解字符型液晶模块的控制方法;了解它与单片机的接口逻辑。
二、实验设备STAR系列实验仪一套、PC机一台。
三、实验内容1、1602C液晶显示器(1) 字符型液晶显示器,可以显示二行,每行最多16个字符(2) 采用8位数据总线并行输入输出和3条控制线。
(3) 指令简单,7种指令2、实验过程在1602C液晶上,第一行显示“STAR ES598PCIS”,第二行滚动显示“Shanghai Xingyan Electronics Co.,LTD.”。
四、实验原理图五、实验步骤1、主机连线说明:2、运行程序,验证显示结果。
六、流程图1主程序流程图①子程序延时15ms ②子程序延时5ms③子程序DL50ms ④子程序 DelayTime_Move⑤子程序:DL05S ⑥子程序:WrconNoBusy⑦子程序:写指令子程序:WR_Con⑧子程序:写数据子程序WR_Data⑨子程序:Clear_LCD 10子程序:Close_Cursor关光标子程序11:清行A:哪一行Clear_Line子程序12:设置光标A--光标位置子程序13:Set_DdramCursor设置光标A--光标位置A=00H~13H,光标在第一行;A=40H~53H,光标在第二行A=14H~27H,光标在第三行;A=54H~67H,光标在第四行Set_CgramCursor七、实验现象在1602C液晶上,第一行显示“STAR ES598PCIS”,第二行滚动显示“Shanghai Xingyan Electronics Co.,LTD.”。
汇编实验-屏幕窗口程序

实验五屏幕窗口程序
一、实验的目的与要求
(一)实验目的:掌握显示器I。程序设计的方法,掌握宏的相关概念,以及运用方法。
(二)实验要求:在屏幕上开出三个窗口,它们的行列坐标如下页图所示,光标首先定位在右窗口最下面一行 的行首(15,50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若需要将字符显示 于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示左窗 口的内容。当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动 后消失。编写屏幕窗口程序时,要求将一些功能程序段定义成宏指令,如向上卷动、清屏、
(18,15)
(22,65)
接受字符并判断、在屏幕上显示字符、光标定位。
二、实验正文
实验分析:实验思路比较简单,主要是运用BloS调用,这些查表可得,实验要求要用宏来定义一些基本功能, 宏调用比较简单,把一些基本功能编写成宏,能高效率的执行程序,但是宏也存在着一些缺点,在宏调用时,要宏展 开,这样会占用一定的空间,所以宏是一种以空间换时间的策略,像一些复杂的操作不宜编写成宏。BIoSI。号调用 提供了大量的屏幕、光标显示格式,要注意参数的意义,以便正确的显示结果。
三、流程图如下:
初始化卷行属性 scroll 页号 行、列 附录:程序源代码如下: ・**************************************************************** datassegmentcurydb15curxdb50 在当前பைடு நூலகம்口和下窗口显示 displaymacro ;在当前的窗口打印字符 ;在下窗口输出
LED电子屏字符显示器程序

;
;键扫描子程序
KEYWORK: MOV P1,#0FFH ;置输入状态
JNB P1.0,KEY1 ;P1.0为0(键按下)转KEY1
MOV 31H,#08H ;换帧跳转步距为8
LJMP DISP1 ;转显示子程序DISP1
; 上移显示功能程序
FUN1: MOV 30H,#0AH ;1帧显示时间控制(约80毫秒)
RETI ;中断返回(不开中断)
ORG 0023H ;串行口中断入口地址
RETI ;中断返回(不开中断)
ORG 002BH ;定时器T2中断入口地址
RETI ;中断返回(不开中断)
MOV R7,#08H ;一次扫描8行
DISLOOP: MOV A,@R0 ;取显示数据
MOV P0,A ;放入P0口
MOV P2,R6 ;扫描输出(显示某一行)
CLR 01H ;
CLR 00H ;
RET
;
;逐字显示功能程序
FUN0: MOV 30H,#80H ;1帧显示时间控制(约1秒)
JB 00H,FUN0 ;20H.0位为1,执行FUN0
JB 01H,FUN1 ;20H.1位为1,执行FUN1
JB 02H,FUN2 ;20H.2位为1,执行FUN2
MOV B,A ;
AJMP LOOP ;转LOOP进行次帧扫描
;
;显示子程序,字符数据从P0口输出,扫描控制字从P2口输出,显示1帧约需8MS
DISPLAY: MOV A,#0FFH ;
START: MOV 20H,#00H ;20H内存单元清0
字符显示实验报告

一、实验目的1. 熟悉计算机字符显示的基本原理。
2. 掌握字符显示编程的基本方法。
3. 了解字符显示在计算机图形界面设计中的应用。
二、实验原理计算机字符显示是计算机输出设备的基本功能之一。
它通过将字符编码转换为字符图形,并在屏幕上显示出来,实现信息的输出。
字符显示主要包括以下三个步骤:1. 字符编码:将字符转换为计算机可识别的编码,如ASCII码、GB2312等。
2. 字模转换:将字符编码转换为字符图形,即字模。
3. 显示输出:将字符图形输出到屏幕上。
三、实验内容1. 实验环境:Windows操作系统、C++编程环境。
2. 实验步骤:(1)创建一个新的C++项目。
(2)编写字符显示程序,实现以下功能:① 输入字符编码。
② 将字符编码转换为字符图形。
③ 在屏幕上显示字符图形。
3. 实验代码:```cpp#include <iostream>#include <windows.h>using namespace std;// 定义字模数组,存储字符图形unsigned char font[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 空格 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, // 字母A // ... 其他字符的字模数据};// 字符显示函数void DisplayChar(unsigned char ch) {int width = 8; // 字模宽度int height = 16; // 字模高度int i, j;// 创建位图BITMAP bmp;bmp.bmWidth = width;bmp.bmHeight = height;bmp.bmWidthBytes = width;bmp.bmBits = new BYTE[bmp.bmWidthBytes bmp.bmHeight];// 初始化位图for (i = 0; i < bmp.bmHeight; i++) {for (j = 0; j < bmp.bmWidthBytes; j++) {bmp.bmBits[i bmp.bmWidthBytes + j] = 0;}}// 绘制字符图形for (i = 0; i < height; i++) {for (j = 0; j < width; j++) {if (font[(ch - 32) height + i] & (0x80 >> j)) {bmp.bmBits[i bmp.bmWidthBytes + j] = 0xFF;}}}// 创建设备上下文HDC hdc = GetDC(NULL);HDC memDC = CreateCompatibleDC(hdc);// 创建位图句柄HBITMAP hBitmap = CreateCompatibleBitmap(hdc, width, height); SelectObject(memDC, hBitmap);// 绘制位图BitBlt(memDC, 0, 0, width, height, hdc, 0, 0, SRCCOPY);// 清理资源DeleteObject(hBitmap);DeleteDC(memDC);ReleaseDC(NULL, hdc);// 输出字符cout << ch << endl;}int main() {unsigned char ch;cout << "请输入一个字符:";cin >> ch;DisplayChar(ch);return 0;}```4. 运行程序,输入一个字符,观察屏幕上是否显示对应的字符图形。
使用opengl程序在屏幕输出自己设定的字符

GIS专业实验报告(计算机图形学)实验7 使用opengl程序在屏幕输出自己设定的字符。
使用opengl程序在屏幕输出自己设定的字符。
二.理论基础1.ASCII:ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。
它主要用于显示现代英语和其他西欧语言。
它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
2.GB2312:GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。
新加坡等地也使用此编码。
3.ANSI:unicode和ansi都是字符代码的一种表示形式。
为使计算机支持更多语言,通常使用0x80~0xFF 范围的2 个字节来表示1 个字符。
比如:汉字'中' 在中文操作系统中,使用[0xD6,0xD0] 这两个字节存储。
不同的国家和地区制定了不同的标准,由此产生了GB2312, BIG5, JIS 等各自的编码标准。
这些使用2 个字节来代表一个字符的各种汉字延伸编码方式,称为ANSI 编码。
在简体中文系统下,ANSI 编码代表GB2312 编码,在日文操作系统下,ANSI 编码代表JIS 编码。
不同ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段ANSI 编码的文本中。
4.MultiByteToWideChar:OpenGL的一个函数,该函数映射一个字符串到一个宽字符(unicode)的字符串。
由该函数映射的字符串没必要是多字节字符组。
三.算法设计与分析运行之前,在工程属性>>>参数中需要增加(libwinmm.a)和(libgdi32.a)引用,这样才能保证字体选择和字符绘制可以正常运行。
微机汇编实验七屏幕字符显示程序
实验时间:2014年6月4日实验成绩评定:姓名:黄涛学号:2012311419实验七屏幕字符显示程序实验目的:通过实验掌握下列知识:1、8086/8088指令: JMP,CMP,LEA,CMPBS。
2、利用DOS功能调用INT21H的2号、8号、9号和0A号功能进行屏幕显示的方法。
3、IBM-PC机的ASCII码表及控制字符。
实验内容及步骤:一、利用INT 21H 2号功能显示字符:1、用A命令在100H处键入下列程序:XOR DL,DLMOV CX,100LOP:MOV AH,2INT 21INC DLPUSH CXMOV CX,8DELY: PUSH CXMOV CX,0J: LOOP JPOP CXLOOP DELYPOP CXLOOP LOPINT 202、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。
仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?3、按CTRL+BREAK退出此程序,若一次不行可多做几次。
二、自编一个程序, 在显示器上显示“How are you ?”,然后读一个字符,但不显示此字符,若读入字符是‘y’,则显示‘ok’。
解:程序如下:DSEG SEGMENTDAT1 DB 'HOW ARE YOU?',0DH,0AH,'$'DAT2 DB 'OK',0DH,0AH,'$'DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV DX,OFFSET DAT1MOV AH,9INT 21HMOV AH,8INT 21HCMP AL,'Y'JNE NEXTLEA DX,DAT2MOV AH,9INT 21HNEXT: MOV AH,4CHINT 21HCSEG ENDSEND START程序编译:程序运行:1.输入“Y”:2.输入其他字符:三、自编一个程序, 屏幕显示“PASS WORD ?”,随后从键盘读入字符串,并比较这个字符串与内部设定的字符串,若两者相同,则显示“ok”,否则不作任何显示。
利用开发板编写程序,实现在LCD显示屏上显示宇符
实验三、编写程序,实现在LCD显示屏上显示宇符一、实验目的1、了解显示屏的电路的结构软硬件的设计。
2、学习并熟悉LCD显示屏显示的原理和使用方法;3、更进一步了解飞凌6410的功能。
二、实验设备及材料1、飞凌6410开发板及连接开发板和计算机的线路;2、DM Tool工具等相应的的软件;3、PC机1台三、实验步骤1.连接开发板和计算机并保证两者之间通信顺畅。
2、新建一个工程,在工程中新建一个C语言文件main.c。
3、按照实验原理,为显示模组提供显示驱动程序,显示驱动程序用了常用的一些显示函数,事先将驱动程序文件导入到工程中。
4、按照事先设计的方法在main.c中编写C语言程序,在程序中调用驱动程序中的子函数,控制LCD显示。
5、调试程序,观察并记录实验结果。
四、试验中使用的控制程序显示字符的程序如下:#include "ok6410User.h"#define P_Watchdog_Clear (volatile unsigned int *)0x7012: int main(void)// 实现功能:在开发板上的LCD模组显示 //"Automation"以及"is developing" // 参数:无 //int main(void) { int i,j;LCD501_Init(0xff);while(1){ LCD501_ClrScreen(1);for(j=0;j<=3;j++) /for(i=0;i<0x1fff;i++)*P_Watchdog_Clear = 0x0001;LCD501_ClrScreen(0);LCD501_PutString(30,3,(unsigned int *)"Automation"); //显示字符串"Automation"for(j=0;j<=7;j++)for(i=0;i<0x1fff;i++)*P_Watchdog_Clear = 0x0001;LCD501_FontSet(0);LCD501_PutString(0,40,(unsigned int *)"is");LCD501_PutString(50,50,(unsigned int *)"developing");for(j=0;j<=13;j++)for(i=0;i<0x1fff;i++)*P_Watchdog_Clear = 0x0001;}}五、实验结果按照实验要求将开发板和计算机连接起来,并肩控制程序导入相应的工程文件中,并进行调试保证其正常运行,就将会在显示屏上显示:“Automation is developing”LCD电路图。
实验报告一-显示程序实验
信息工程学院实验报告实验项目名称:显示程序实验实验时间:2016.11.10班级:姓名:学号:一、实验目的1、掌握在PC 机上以十六进制形式显示数据的方法2、掌握部分DOS 功能调用使用方法。
3、熟悉Windows 集成操作软件Tdpit 的操作环境和操作方法。
二、实验设备PC 微机一台、TD-PITD+实验系统一套。
三、实验原理一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并利用DOS 功能调用完成一些提示信息的显示。
通过本实验,初步掌握实验系统配套操作软件的使用。
实验中所使用DOS 功能调用(INT 21H)说明如下。
(1)显示单个字符输出入口:AH=02H调用参数:DL=输出字符(2)显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3)键盘输入并回显入口:AH=01H返回参数:AL=输出字符(4)返回DOS 系统入口:AH=4CH调用参数:AL=返回码程序流程图如图1-1 所示。
实验参考程序如下。
实验程序清单(例程文件名:A1.ASM)STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENT USE16MES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$' MES1 DB 'Show a as hex:',0AH,0DH,'$'SD DB 'b'DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES ;显示退出提示MOV AH,09HINT 21HMOV DX,OFFSET MES1 ;显示字符串MOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:[SI]AND AL,0F0H ;取高4 位SHR AL,4CMP AL,0AH ;是否是A 以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4 位图1-1 显示程序实验参考流程图CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HKEY: MOV AH,1 ;判断是否有按键按下?INT 16H ;(为观察运行结果,使程序有控制的退出)JZ KEYMOV AX,4C00H ;结束程序退出INT 21HCODE ENDSEND START四、实验内容与步骤(1)运行Tdpit 集成操作软件,进入编辑调试集成环境。
汇编实验四汇编语言上机过程及屏幕字符显示程序
实验报告──学年第学期实验课程汇编语言学生姓名123实验项目汇编语言上机过程及屏幕字符显示程序学院计算机科学技术实验性质专业选修课班级学号实验地点同组人数 1 第组实验日期第周星期第节成绩3环境参数Windows xp一、实验目的及要求二、实验原理、实验内容三、实验仪器设备及材料四、操作方法与实验步骤五、实验数据记录及处理六、实验结果分析及讨论一:1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、调试和运行2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。
3、利用^Break退出程序的方法及局限性。
4、汇编程序的编写二:实验任务编写一个简化的段定义结构程序:先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。
源代码:编译连接:实验结果:此程序没按要求将数字在下一行输出。
且程序中用到了多余的指令int 3.修改“done:”段done: mov dl,almov ah,02hint 21h.exit 02.编写一个完整的段定义结构程序:从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。
要求对以上两个程序,进行编译,链接,调试,运行,给出具体步骤源代码:请问程序中的第39行错误用了一个标号。
编译连接:运行结果:三、小结1、学会使用edit进行程序的编写。
2、学会写简易段程序和完整段程序。
3、学会了在dos下进行汇编程序的编译、连接、调试和运行。
4、学会了使用21号中断的2号9号功能进行字符的显示。
5、汇编基础知识不扎实,指令经常写错,要多练习。
仪器设备损坏、非正常损耗材料(试剂)及处理情况:无教师对报告的最终评价及处理意见:2段程序均有错。
教师签字:年月日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验时间:年月日实验成绩评定:
姓名:学号:
实验七屏幕字符显示程序
实验目的:
通过实验掌握下列知识:
1、8086/8088指令: JMP,CMP,LEA,CMPBS。
2、利用DOS功能调用INT21H的2号、8号、9号和0A号功能进行屏幕显示的方法。
3、IBM-PC机的ASCII码表及控制字符。
实验内容及步骤:
一、利用INT 21H 2号功能显示字符:
1、用A命令在100H处键入下列程序:
XOR DL,DL
MOV CX,100
LOP:MOV AH,2
INT 21
INC DL
PUSH CX
MOV CX,8
DELY: PUSH CX
MOV CX,0
J: LOOP J
POP CX
LOOP DELY
POP CX
LOOP LOP
INT 20
2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。
仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?
3、按CTRL+BREAK退出此程序,若一次不行可多做几次。
二、自编一个程序, 在显示器上显示‚How are you ?‛,然后读一个字符,但不显示此字符,若读入字符是‘y’,则显示‘ok’。
三、自编一个程序, 屏幕显示‚PASS WORD ?‛,随后从键盘读入字符串,并比较这个字符串与内部设定的字符串,若两者相同,则显示‚ok‛,否则不作任何显示。
实验报告要求:
1、各项实验记S录及观察体会。
2、自编程序草稿及调试结果。
自编一个程序(二)自编一个程序(三)。