JD01-084@玻璃横切结构及人机界面系统设计
收藏
资源目录
压缩包内文档预览:
编号:492339
类型:共享资源
大小:4.83MB
格式:ZIP
上传时间:2015-11-06
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
30
积分
- 关 键 词:
-
机械毕业设计全套
- 资源描述:
-
JD01-084@玻璃横切结构及人机界面系统设计,机械毕业设计全套
- 内容简介:
-
;定义 128*64的地址W_C_GLCD XDATA 0008H ;写控制指令到GLCDW_D_GLCD XDATA 0009H ;写数据到GLCDR_B_GLCD XDATA 000AH ;读取忙碌标志和地址R_D_GLCD XDATA 000BH ;读出GLCD数据;LCD显示的变量定义DATA1 DATA 20H ;点阵显示的变量1N DATA 21H ;行数变量ADDR DATA 22H ;起始的显示位置ADDR1 DATA 23H ;起始的显示位置临时变量N1 DATA 24H ;行数的临时变量;*;全速运行程序ORG 0000HBEGIN:MOVSP,#60H ;设置堆栈CALL INITIAL_GLCD ;调用LCD初试化LOOP:CALL GUDINGSHOW0 ;调固定汉字显示START:LCALL KEYOP ;调用键值查找子程序,F01有键按下,A=键值。JNB F0,START ;没有键按下输入,重新开始。LCALL PANJIANNEXT: CJNE A,#10H,CONT ;是否是数字键CONT: JC NUM ;若是数字键,则NUMMOV DPTR,#JTAB ;若是功能键则送JTAB到DPTRSUBB A,#10H ;在A中形成JTAB表地址偏移量RL AJMP A+DPTR ;转入相应的功能键分支程序JTAB: LJMP QUEDING ;转入QUDING功能键处理程序LJMP CLEAR_GLCD ;转入清屏子程序QUEDING: JNB 28H.0,YI ;28h.0=0,即第一行数字显示未确定,即转入YIJNB 28H.1,ER ;28h.1=0,即第二行数字显示未确定,即转入ERJNB 28H.2,SAN ;28h.2=0,即第三行数字显示未确定,即转入SANJNB 28H.3,SI ;28h.3=0,即第四行数字显示未确定,即转入SILJMP START ;所有参数设置完毕则回到键盘扫描YI: SETB 28H.0 ;第一行数字显示标志位置1MOV R5,#00H ;数字键按下次数累加器清零LJMP START ;返回键盘扫描ER: SETB 28H.1 ;第二行数字显示标志位置1MOV R5,#00H ;数字键按下次数累加器清零LJMP START ;返回键盘扫描SAN: SETB 28H.2 ;第三行数字显示标志位置1MOV R5,#00H ;数字键按下次数累加器清零LJMP START ;返回键盘扫描SI: SETB 28H.3 ;第四行数字显示标志位置1MOV R5,#00H ;数字键按下次数累加器清零LJMP START ;返回键盘扫描;*ntsNUM: INC R5 ;数字键按下次数累加器加1JNB 28H.0 ,YIHANG ;若28.00,则跳转到YIHANG;若28.01,则继续JNB 28H.1 ,ERHANG ;若28.10,则跳转到ERHANG;若28.11,则继续JNB 28H.2 ,SANHANG ;若28.20,则跳转到SANHANG;若28.21,则继续JNB 28H.3 ,SIHANG ;若28.30,则跳转到SIHANG;若28.31,则继续FAN: RETYIHANG: MOV 30H,#83H ;第一行数字显示起始位置送入30HPUSH ACCMOV A ,30H ;ADD A ,R5 ;求得此次按键的显示位置MOV 31H,A ;将求得的值存入31HPOP ACCLJMP SHUXIANERHANG: MOV 30H,#93H ;第二行数字显示起始位置送入30HPUSH ACCMOV A ,30H ;ADD A ,R5 ;求得此次按键的显示位置MOV 31H,A ;将求得的值存入31HPOP ACCLJMP SHUXIANSANHANG:MOV 30H,#8BH ;第三行数字显示起始位置送入30HPUSH ACCMOV A ,30H ;ADD A ,R5 ;求得此次按键的显示位置MOV 31H,A ;将求得的值存入31HPOP ACCLJMP SHUXIANSIHANG:MOV 30H,#8BH ;第四行数字显示起始位置送入30HPUSH ACCMOV A ,30H ;ADD A ,R5 ;求得此次按键的显示位置MOV 31H,A ;将求得的值存入31HPOP ACCSHUXIAN:PUSH DPHPUSH DPLpush accpush accpush accmov a, 31H ; 送显示地址LCALL COMMAND_GLcd ;调写命令子程序pop aSWAP A ;高低四位元交换ANL A,#0FH ; 下低四位元MOV DPTR,#ASCII_CODE ;DPTR 指到 ASCII_CODEMOVC A,A+DPTR ;取得 ASCII CALL WRITE_GLCD ;写到 LCDPOP ACCnts ANL A,#0FH ; 下低四位元MOVC A,A+DPTR ;取得 ASCII CALL WRITE_GLCD ;写到 LCDPOP ACCPOP DPLPOP DPHLJMP STARTASCII_CODE: DB 0123456789;*KEYOP:CLR F0 ;f0清0MOV P1,#00h ;p1清0ORL P1,#0FH ; p1低四位置1,(行 高四位, 低四位)MOV A,P1 ;有按键则p1低四位 全 1 ,送 aCJNE A,#0FH,YOUJIAN ; 低4位是否全 1, 相 有键按下跳到YOUJIAN,相 键按下 继续 行CLR F0SJMP DONE0YOUJIAN: SETB F0DONE0: RET;*PANJIAN:LJMP DY12MSclr RS0 ; 变R0 R7 。clr RS1MOV R1,#00H ; R1表示第 行, 行值 下是 行行扫描 MOV R3,#04H ; R3表示 没扫描的行数MOV R0,#0F7H ; 11110111 r0XUNHUAN:MOV A,R0 ; r0 aRL A ; a 移 变 11101111 行 低位 0 MOV R0,A ; 变 的a r0 扫描下一行用MOV P1,#0FFH ; p1所有位置一ANL P1,A ; p1和a , p1的第 位 零,若一行有键按下则应的 变 0,p1第一位变 0MOV R2,P1 ; NOPNOPNOPMOV A,R2 ;ORL A,#0F0H ; 行置1CJNE A,#0FFH,FOU; a ff ,表示扫描行 键按下,继续 行。若 则有键按下,跳转到fouINC R1 ; 在此行则 行数加一DJNZ R3,XUNHUAN; 所扫描的行数一,未扫描完则跳转到xunhuan继续扫描LJMP DONE ; 扫描完则跳转到exitFOU: JB ACC.0,FOU1 ; 在一 一 是否 1, 0currency1在一 ,继续行, 1 在此 跳到fou2MOV A,#00H ; “键00 aAJMP FOU4 ; 跳转到fou4FOU1: JB ACC.1,FOU2 ;MOV A,#04H ;nts AJMP FOU4 ;FOU2: JB ACC.2,FOU3 ;MOV A,#08H ;AJMP FOU4 ;FOU3: JB ACC.3,FOU4 ;MOV A,#0CH ;FOU4: ADD A,R1 ;MOV DPTR,#BIAO ;MOVC A,A+DPTR ;MOV 25H,AMOV R4,A; LJMP指令3字fi,R3键值fl3ADD A, R4; 形成转跳地址。ADD A, R4;MOV 26H,ADONE: RETBIAO: DB 0CH,08H,04H,00H;DB 0DH,09H,05H,01HDB 0EH,0AH,06H,02HDB 0FH,0BH,07H,03HDY12MS: MOV R7,#18HDY12MS1:MOV R6,#0FFHDY12MS2:DJNZ R6,DY12MS2DJNZ R7,DY12MS1RET;*;设定汉字的显示行: 第一行开始地址 00H 07H; 行 显示8汉字: 第二行开始地址 10H 17H; 第三行开始地址 08H 0FH; 第四行开始地址 18H 1FH;*;固定显示GUDINGSHOW0:MOV ADDR1, #00H ; 第一行显示MOV N1,#04H ; 数量 4MOV DPTR, #DHZTAB1 ; 显示的汉字位置LCALL DHZ ; 调用汉字显示子程序MOV ADDR1, #10H ; 第二行显示MOV N1,#04H ; 数量 4MOV DPTR, #DHZTAB2 ; 显示的汉字位置LCALL DHZ ; 调用汉字显示子程序MOV ADDR1, #08H ; 第三行显示MOV N1,#04H ; 数量 4 MOV DPTR, #DHZTAB3 ; 显示的汉字(一汉字2字)LCALL DHZ ; 调用汉字显示子程序MOV ADDR1, #18H ; 第四行显示MOV N1,#04H ; 数量 4MOV DPTR, #DHZTAB4 ; 显示的汉字位置LCALL DHZ ; 调用汉字显示子程序RET; ntsDHZTAB1: DB ;DHZTAB2: DB ”数;DHZTAB3: DB 位置;DHZTAB4: DB 位置;*-;显示16X16点阵汉字DHZ:PUSH DPHPUSH DPLPUSH ACCMOV ADDR,ADDR1 ; 开始行位置MOV B,N1 ; 显示数量DHZ1: MOV A,ADDR;ORL A,#80H ; 送显示地址LCALL COMMAND_GLCD ; 调写命令子程序DHZ2: CLR AMOVC A,A+DPTR ; 查找汉字的高位 INC DPTRLCALL WRITE_GLCD ; 送显示CLR AMOVC A,A+DPTR ; 查找汉字的低位 INC DPTRLCALL WRITE_GLCD ; 送显示DJNZ B,DHZ2POP ACCPOP DPLPOP DPHRET;*; 行 LCD 初始化 INITIAL_GLCD:PUSH ACCMOV A,#30H ;功能设定CALL COMMAND_GLCDMOV A,#04H ;显示器控制 标 显示,CALL COMMAND_GLCD ;是字MOV A,#01H ;清屏CALL COMMAND_GLCDMOV A,#0FH ; 入设定CALL COMMAND_GLCDPOP ACCRET;*;查 GLCD 忙碌标CHKBUSY_GLCD:PUSH DPHPUSH DPLPUSH ACCMOV DPTR, #R_B_GLCD ;CHK: MOVX A, DPTRJB ACC.7,CHK ;nts POP ACCPOP DPLPOP DPHRET;*;写命令到 GLCDCOMMAND_GLCD:PUSH DPHPUSH DPLCALL CHKBUSY_GLCD ; 忙碌标志BFMOV DPTR,#W_C_GLCDMOVX DPTR,APOP DPLPOP DPHRET;*;写到 GLCDWRITE_GLCD:PUSH D
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。