欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    微机课设.doc

    • 资源ID:92282329       资源大小:55.04KB        全文页数:29页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机课设.doc

    作者 : 董秋成FFF 这就是2014年下半学期微机原理课程设计得资料,希望12级电气及13级自动化可以参考一下,早做准备。实验形式与考核:实验分为基础型实验(必做,30%)、综合型实验(必做,60%)与创新型实验(选做,10%)。两人一组进度安排:共8周,第一周讲课;第二周每组自行设计;以后老师会将本次参加实习得所有学生分为三部分(我们就是按12班,34班与56班),每部分进行12周得实验,要求就是只要在没有课得时候都需去实验室实验,要按照上下课得时间进出实验室并签到;第八周为实验报告得撰写,但最后交报告得时间会向后拖延23周。实验报告要求:要求包括基本设计思路,硬件连接,软件框图与程序代码,基础与综合题除代码可打印之外必须手写,创新题需单独写成报告。以下就是我们这次得基础题与综合题,每年得题目都几乎相同,改动得地方很少。其中,综合型题目选题要求就是12班从15题中选,34班从610题中选,56班从1115题中选。在实验前便把每组选好得题目报给老师。基础型题目:8253、8255 及 8259 与 8086 系统得连接如图所示,8255 得 A 口接按键,B 口接数码管,图为微机原理书上习题8、11得图要求实现以下功能:1、 按键为 000FH 时显示低四位数字,大于 0FH 以后交替显示“H”与高四位数字 ;2、 显示高四位数字与“H”时,使其每隔 1 秒切换显示内容 ;(以上两题为 1 、2 班必选)3、 按键为 000FH 时显示低四位数字,并且循环显示 0N(N=1F,为当前数字) ,每隔 1 秒切换一个数字;4、 按键数字大于 0FH 时,显示“H” ,并使其亮 1 秒,灭 1 秒 ;(以上两题为 3 、4 班必选)5、 按键为 000FH 时显示低四位数字,大于 0FH 以后显示“H” ;6、 显示“H”时,使其亮 1、5 秒,灭 0、5 秒 。(以上两题为 5 、6 班必选)综合型题目(任选 2 题) :1、 通过实验台上 PS2 接口连接键盘,要求:1)输入字符(0F) ,转换成十进制后用数码管(1、2)显示(0015) ;2)用实验台上得数码管(3、4)显示输入得次数,计数范围 099。2、 将实验台上得直流可调信号(范围 05V)输出端与 A/D 转换器得 IN0 连接,要求:1)将该直流信号进行 A/D 转换(ADC0809,端口地址 298H29FH)输入到计算机中,采样频率 0、5Hz;2)通过实验台上得 D/A 转换器(DAC0832,端口地址 290H297H)输出一个与之对应得模拟电压量(范围 05V) 。3、 通过实验箱得麦克、喇叭与定时器实现数字录音机得功能,要求:1) 用 ADC0809 以 10kHz 得频率采集 IN2 输入得语音数据并存入内存,共采集50000 个数据(录音) ;2) 然后使用 8253 控制喇叭发声(放音) 。4、 利用 8253、8255 与中断系统实现以下功能:1)使数码管实现秒表功能,显示数字 00、0010、00,每隔 0、01 秒数字变化一次;2)读入 8 个开关得状态值,将这两位数字以 16 进制(范围 00HFFH)在8x8LED 点阵模块上显示。5、 利用液晶模块显示以下文字,并实现横向与纵向得滚动:天津大学自动化学院6、 用 8253 与 8255 记录实验台上脉冲按键得脉冲宽度,要求:1)将脉冲宽度在实验台得液晶屏上显示(带小数点与单位) ;2)在液晶屏上显示按键次数(显示方式“按键次数:*” ) 。7、 通过实验箱上得可调电压旋钮控制步进电机转速,要求:1)根据可调电压得输出值,对应电机转速由 0100r/min,转速与电压复制成线性关系,可调电压得采样频率为 0、5Hz;2)将电机转速在数码管或液晶屏上显示输出。8、 通过实验台上 PS2 接口连接键盘,要求:1)输入字符,并在实验箱得 8x8LED 点阵显示该字符;2)用两种颜色各显示一次,并以周期 0、5 秒闪烁。9、 将实验台上得直流可调信号(范围 05V)输出端与 A/D 转换器得 IN0 连接,要求:1)将该直流信号进行 A/D 转换(ADC0809,端口地址 298H29FH)输入到计算机中,采样频率 1Hz;2)在 PC 机屏幕或实验台液晶屏上显示该信号得电压值(小数点后两位) 。10、 通过 PC 机得键盘输入一串字符(以“$”作为结束符) ,并在实验台得液晶屏上显示显示输出,要求:1)可显示基本得 ASCII 码(字母、数字、标点等) ;2)在液晶屏上动态显示输入内容(包含空格、换行、回车等格式) 。11、 利用定时器 8253 与外扩展得键盘显示模块, 实现时钟显示及时间设置功能:1)时钟显示内容为“分:秒”,即“MM、SS”;2)P 键用来启动时钟设置,通过键盘上得数字修改时间,参数在修改过程中处于闪烁状态,闪烁频率 2Hz。12、 在实验台得液晶屏上以如下方式显示时钟:1)动态显示“分:秒” ;2)显示界面如下:18:3513、 将实验台上得直流可调信号(范围 05V)输出端与 A/D 转换器得 IN0 连接,要求:1)将该直流信号进行 A/D 转换(ADC0809,端口地址 298H29FH)输入到计算机中,采样频率 1Hz;2)在外扩展得 LCD 模块上显示该信号得电压值(精确到小数点后 2 位) 。14、 通过 PC 机键盘控制步进电机转角,要求:1)从键盘输入数字 0360,对应电机转角由 0360°,转角与数字大小成线性关系,输入数字得采样频率为 5Hz;2)将转角在液晶屏上显示。15、 通过实验台上 PS2 接口连接鼠标,要求:1)在实验箱得液晶屏上显示小箭头,并根据鼠标得移动改变箭头得位置2)刷新频率 10Hz,并且使箭头限定在屏幕范围以内。华丽丽得分割线【明明不华丽】以上都就是官方资料,下面说一下我自己感受得实验技巧如果您就是一个勤奋求学得少年,那么您大可在瞧完本篇日志后便开始着手设计与编程。如果您跟我一样就是个重度拖延症患者,那您大可不必担心,在到您们进实验室之前都可高枕无忧,在实验过程中解决即可。现在说一下详细得实验过程:到实验室得第一次,老师会分配给您一个实验台,在整个实验过程中您们组就用这块实验台,除非有特殊情况,否则不能随意更换【微机实验老师得脾气您们都懂(与善得眼神)】。在实验台边坐定之后,就可以打开电脑与开发板了,老师尤其强调得就是不能带电接线,如果被瞧到得话您又死定了(与善得眼神)首先要说得就是基础题不需要使用8259,直接把8253产生得脉冲接到8086上得INTR端即可。有一个小工作就是最好在去实验室前就做好得,就就是检查一下需要用到得资源就是否能正常工作,比如在基础实验中,最好写两个简单得小程序检查一下8253与8255就是否工作正常【不正常得可能性非常大】,如果不正常得话就要协调老师解决了,不免又要跟老师费一番口舌(与善得眼神)当各个芯片检查无误,能够正常工作后,就可以调试程序了。拿出自己写得或者从别人那里拷来得程序,一点点调试运行成功,出现正确得现象之后,就可以招呼老师过来检查了。老师会问您几个问题,或者让您加个功能,按她得要求做即可,所以,即使就是从别人那里拷来得程序,也起码要做到瞧懂得水平老师尤其爱问得就是在入中断或出中断附近设置断点,单步运行,指出数码管显示得数字与8086内部得数据就是如何传输得之类得问题。基础型实验建议有所准备得同学在3小时内做完。然后就是综合型,选两个瞧(you)起(xian)来(cheng)简(cheng)单(xu)得题目,需要用到得液晶屏、双色led灯等资源得资料可以在上学期微机原理课得实验指导书中找到。然后也就是先检查资源就是否能正常工作,然后调试程序即可。需要提示得两点就是,最好不要所有人一下同时做出同一个实验,否则太明显如果自己写得程序实在无法正确运行且找不出毛病,还就是乖乖拿来别人试好得程序先通过检查再说,否则夜长梦多【?】,会把做其她实验得时间用完。还就是提醒一下千万不要冲撞老师创新型实验,百度即可,也可以自己想,建议别做电子琴,因为一百度全就是电子琴,也会有好多人做电子琴,老师都吐槽了然后大概就没什么可说得了,课设这种东西嘛,想真正学到东西得同学可以好好做,真得能学到很多。如果只就是想水过去也不就是什么难事。以上。以下(23333)就是我当时得一些程序,希望能对大家有所帮助8253测试程序:DATA SEGMENTDATA ENDSSTACK SEGMENTSTA DW 100 DUP (?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX, DATAMOV DS, AXMOV ES, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV DX, 0283HMOV AL, 36HOUT DX, ALMOV DX, 0280HMOV AX, 03E8HOUT DX, ALMOV AL, AHOUT DX, ALMOV DX, 0283HMOV AL, 76HOUT DX, ALMOV DX, 0281HMOV AX, 03E8HOUT DX, ALMOV AL, AHOUT DX, ALMOV AH, 4CHINT 21HCODE ENDSEND START8255测试程序:data segmentdata endscode segmentstart:assume ds:data,cs:codemov dx,029bhmov al,90hout dx,al again:mov dx,0298h in al,dx mov dx,0299h out dx,al jmp again code ends end start必做程序(对应日志中必做题得3,4);数据段定义DATA SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;数码管段码 MES DB 'PRESS ANY KEY EXIT TO DOS',0DH,0AH,'$'提示信息 CS_REG DW ?;中断程序段基址 IP_REG DW ?;中断程序段偏移量DATE ENDS;堆栈段定义STACK SEGMENT STA DW 100 DUP(?) TOP EQU LENGTH STASTACK ENDS;程序初始化CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX, STACK MOV SS, AX MOV SP, TOP;显示提示信息 MOV DX, OFFSET MES MOV AH, 09H INT 21H;初始化8255 MOV DX, 0288H;控制端 MOV AL, 90H;控制字 OUT DX, AL;写入;初始化8253 MOV DX, 0283H;控制端 MOV AL, 36H;控制字 OUT DX, AL;写入 MOV DX, 0280H;CLK1 MOV AX, 03E8H;1000倍 OUT DX, AL;写入 MOV AL, AH OUT DX, AL;再写入 MOV DX, 0283H;控制端 MOV AL, 76H;控制字 OUT DX, AL;写入 MOV DX, 0281H;CLK2 MOV AX, 03E8H;1000倍 OUT DX, AL;写入 MOV AL, AH OUT DX, AL;再写入;存储中断向量 CLI;关中断 MOV AX, 350BH INT 21H MOV AX, ES MOV CS_REG, AX MOV IP_REG, BX PUSH DS;设置新中断向量 MOV AX, SEG INTP MOV DS, AX MOV DX, OFFSET INTP MOV AX, 250BH INT 21H POP DS IN AL, 21H AND AL, 0F7H OUT 21H, ALLOP: STI;开中断 JMP LOP;不停循环;恢复原中断向量 IN AL, 21H OR AL, 08H OUT 21H, AL MOV DX, IP_REG MOV AX, CS_REG MOV DS, AX MOV AX, 250BH INT 21HLAST:;返回DOS系统 MOV AH, 4CH INT 21H;中断子程序 INTP PROC FAR MOV AH, 01H INT 16H JNZ LAST CLI;关中断 PUSH DX;保护寄存器 PUSH BX PUSH AX MOV BX, OFFSET TABLE;换码数据地址 MOV DX, 0298H;取A口 IN AL, DX MOV DX, 0299H;设定DX为B口 CMP AL, 0FH;比较开关与0FH JA NEXT1;大于则跳 CMP AL, CL;比较开关与数码管(CL中存数码管得值) JE NEXT2;等于则跳 INC CL;数码管加一 MOV AL, CL XLAT;查表 OUT DX, AL;输出到B口 JMP FINISH;结束NEXT2:;如果开关等于数码管 MOV CL, 0;数码管置零 MOV AL, CL XLAT;查表 OUT DX, AL;输出到B口 JMP FINISH;结束NEXT1:;如果开关大于0FH IN AL, DX;取数码管数据 CMP AL, 00H;判断就是否全灭 JE NEXT3;就是则跳 MOV CL,00H MOV AL, CL;不就是则置零 OUT DX, AL;输出到B口 JMP FINISH;结束NEXT3:;如果数码管全灭 MOV AL,76H;数码管置为H OUT DX, AL;输出到B口;结束FINISH: POP AX;恢复现场 POP BX POP DX MOV AL, 20H OUT 20H, AL STI;开中断 IRET INTP ENDPCODE ENDSEND START综合题8如果我没记错得话,这个程序就是错得,当时没做出来,但就是不知道哪里错了,所以就拿得别人得程序,大家注意一下_;定义数据段DATA SEGMENT;定义ASCII码从30H到7AH所有字符得形状 DATA30 DB 000H,07EH,0A1H,091H,089H,085H,07EH,000H DATA31 DB 000H,000H,001H,0FFH,041H,000H,000H,000H DATA32 DB 000H,061H,091H,089H,085H,083H,061H,000H DATA33 DB 000H,066H,0A9H,091H,081H,081H,042H,000H DATA34 DB 000H,005H,0FFH,045H,024H,014H,00CH,000H DATA35 DB 000H,08EH,091H,091H,091H,091H,0F2H,000H DATA36 DB 000H,04EH,091H,091H,091H,091H,07EH,000H DATA37 DB 000H,0C0H,0A0H,098H,087H,080H,0C0H,000H DATA38 DB 000H,06EH,091H,091H,091H,091H,06EH,000H DATA39 DB 000H,07EH,089H,089H,089H,089H,072H,000H DATA3A DB 000H,000H,036H,036H,000H,000H,000H,000H DATA3B DB 000H,000H,036H,037H,001H,000H,000H,000H DATA3C DB 000H,000H,041H,022H,014H,008H,000H,000H DATA3D DB 000H,024H,024H,024H,024H,024H,024H,000H DATA3E DB 000H,000H,008H,014H,022H,041H,000H,000H DATA3F DB 000H,060H,090H,08DH,080H,080H,060H,000H DATA40 DB 034H,04AH,085H,0BDH,0A5H,0BDH,042H,03CH DATA41 DB 000H,03FH,048H,088H,088H,048H,03FH,000H DATA42 DB 000H,06EH,091H,091H,091H,091H,0FFH,000H DATA43 DB 000H,042H,081H,081H,081H,081H,07EH,000H DATA44 DB 000H,03CH,042H,081H,081H,081H,0FFH,000H DATA45 DB 000H,091H,091H,091H,091H,091H,0FFH,000H DATA46 DB 000H,090H,090H,090H,090H,090H,0FFH,000H DATA47 DB 000H,04EH,089H,089H,081H,081H,07EH,000H DATA48 DB 000H,0FFH,010H,010H,010H,010H,0FFH,000H DATA49 DB 000H,000H,081H,0FFH,081H,000H,000H,000H DATA4A DB 000H,080H,0FEH,081H,001H,002H,000H,000H DATA4B DB 000H,001H,082H,044H,028H,010H,0FFH,000H DATA4C DB 000H,003H,001H,001H,081H,0FFH,081H,000H DATA4D DB 0FFH,040H,020H,010H,020H,040H,0FFH,000H DATA4E DB 000H,0FFH,002H,00CH,030H,040H,0FFH,000H DATA4F DB 000H,07EH,081H,081H,081H,081H,07EH,000H DATA50 DB 000H,070H,088H,088H,088H,088H,0FFH,000H DATA51 DB 000H,07DH,082H,085H,081H,081H,07EH,000H DATA52 DB 000H,071H,089H,08AH,08CH,088H,0FFH,000H DATA53 DB 000H,046H,089H,089H,091H,091H,062H,000H DATA54 DB 080H,080H,080H,0FFH,080H,080H,080H,000H DATA55 DB 000H,0FEH,001H,001H,001H,001H,0FEH,000H DATA56 DB 000H,0F8H,006H,001H,001H,006H,0F8H,000H DATA57 DB 0FFH,002H,004H,008H,004H,002H,0FFH,000H DATA58 DB 041H,022H,014H,008H,014H,022H,041H,000H DATA59 DB 080H,040H,020H,01FH,020H,040H,080H,000H DATA5A DB 000H,0C1H,0A1H,091H,089H,085H,083H,000H DATA5B DB 000H,000H,000H,000H,000H,000H,000H,000H DATA5C DB 000H,000H,000H,000H,000H,000H,000H,000H DATA5D DB 000H,000H,000H,000H,000H,000H,000H,000H DATA5E DB 000H,000H,000H,000H,000H,000H,000H,000H DATA5F DB 000H,000H,000H,000H,000H,000H,000H,000H DATA60 DB 000H,000H,000H,000H,000H,000H,000H,000H DATA61 DB 000H,001H,07EH,091H,091H,091H,04EH,000H DATA62 DB 000H,000H,00EH,011H,011H,009H,0FFH,000H DATA63 DB 000H,012H,021H,021H,021H,01EH,000H,000H DATA64 DB 000H,001H,0FEH,011H,011H,011H,00EH,000H DATA65 DB 000H,012H,029H,029H,029H,029H,01EH,000H DATA66 DB 000H,050H,090H,07FH,010H,010H,000H,000H DATA67 DB 000H,07EH,091H,089H,089H,072H,000H,000H DATA68 DB 000H,001H,00FH,010H,010H,008H,0FFH,000H DATA69 DB 000H,000H,001H,05FH,011H,000H,000H,000H DATA6A DB 000H,000H,000H,0BFH,021H,002H,000H,000H DATA6B DB 000H,001H,011H,00AH,004H,0FFH,000H,000H DATA6C DB 000H,000H,001H,07FH,041H,000H,000H,000H DATA6D DB 000H,00FH,010H,01FH,010H,010H,00FH,000H DATA6E DB 000H,00FH,010H,010H,008H,01FH,000H,000H DATA6F DB 000H,00EH,011H,011H,011H,00EH,000H,000H DATA70 DB 000H,030H,048H,048H,048H,03FH,041H,000H DATA71 DB 000H,041H,03FH,049H,048H,048H,030H,000H DATA72 DB 000H,010H,010H,008H,01FH,010H,000H,000H DATA73 DB 000H,012H,025H,029H,012H,000H,000H,000H DATA74 DB 000H,002H,011H,07EH,010H,000H,000H,000H DATA75 DB 000H,001H,01EH,001H,001H,01EH,010H,000H DATA76 DB 000H,000H,01EH,001H,001H,01EH,000H,000H DATA77 DB 000H,01EH,001H,01EH,001H,01EH,010H,000H DATA78 DB 000H,011H,00AH,004H,00AH,011H,000H,000H DATA79 DB 000H,0FEH,011H,009H,009H,0F2H,080H,000H DATA7A DB 000H,031H,029H,025H,023H,021H,000H,000H;定义数码管扫描时得行数 BUFFER DB 000H,001H,002H,003H,004H,005H,006H,007HDATA ENDS;定义堆栈段STACK SEGMENT STA DB 100 DUP (?) TOP EQU LENGTH STASTACK ENDS;程序初始化CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV SP,TOPCHECK:;检查键盘输入得字符 MOV AH,01H INT 21H;键盘输入一个字符 SUB AL,30H;ASCII码减去30H MOV BL,08H MUL BL;将减去30H得ASCII码乘以8即得到起始地址 MOV BX,AX;将起始地址存储在BX中以备换码OUT0: MOV DI,02H;置DI为02HFLASH0: MOV CX,1000H;设置循环次数D0: MOV AH,01H;AH置1 PUSH CX;D0得循环次数 MOV CX,08H;8行得循环 MOV SI,OFFSET BUFFER;取行数NEXT0: MOV AL,SI;取需要显示得行数 XLAT;换码取数据 MOV DX,0280H;取行地址 OUT DX,AL;输出 MOV AL,AH;取列 CMP DI,02H;DI跟2比较 JNZ X0;不等于则为绿色 MOV DX,0288H;等于则为红色 JMP X00X0:;将输出地址置为绿色 MOV DX,0290HX00:;继续显示 OUT DX,AL;输出列 MOV AL,0; OUT DX,AL;输出0 SHL AH,01H;列左移 INC SI;数据加一 LOOP NEXT0;循环完8列 POP CX;弹出D0得循环 LOOP D0;循环1000H次 MOV CX,3FFFH DEC DI ;DI减一 JNZ FLASH0;不等于零则循环D0 MOV AH,01H;检查就是否有按键 INT 16H JNZ CHECK;有则跳到开头 JMP OUT0EXIT: MOV AH,4CH INT 21HCODE ENDS END START综合题10;数据段定义DATA SEGMENTCMD DB ? ;指令编号DAT DB ? ;单字节图形数据DATA ENDS;堆栈段定义STACK SEGMENT STACK 'STACK'STA DB 100 DUP(?)TOP EQU LENGTH STASTACK ENDS;程序初始化CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK1 MOV SS,AX MOV SP,TOP CALL DELAY; CALL INI ;调用初始化子程序 MOV BL,30H;写入预定指令 MOV CMD,BL CALL WCMD MOV BL,0FH MOV CMD,BL CALL WCMD MOV BL,01H MOV CMD,BL CALL WCMDX1: MOV BL,80H;选择了LED得第一行 MOV CMD,BL CALL WCMD MOV CX,0;清零XUNHUAN: MOV BH,BLL1: MOV AH,01H INT 21H;检测键盘就是否输入 CMP AL,00H JZ L1;如果没有输入,继续检测 CMP AL, '$'判断输入字符就是否就是'$' JNE KAISHI;不就是则跳转到KAISHI MOV AH, 4CH;就是则直接返回DOS系统 INT 21HKAISHI: CMP AL,0DH;判断输入字符就是否就是回车 JZ X2;如果就是则跳转至L2用下一行输入 MOV DAT,AL;把输入字符AL写到DAT中 CALL WDAT;调用WDAT输出 INC CH;字符统计数加一 CMP CH,16;瞧就是否超过了1行所规定得16个字符 JNZ L1;如果没有,跳转至L1X2: MOV BL,90H;选择第二行 MOV CMD,BL CALL WCMD MOV CH,00H;把新得字符计数得CH置零L2: MOV AH,01H;与L1类似 INT 21H CMP AL,00H JZ L2 CMP AL,0DH JZ X3 MOV DAT,AL CALL WDAT INC CH CMP CH,16 JNZ L2X3: MOV BL, 88H;选择第三行 MOV CMD,BL CALL WCMD MOV CH,00H;把新得字符计数得CH置零L3: MOV AH,01H;与L1类似 INT 21H CMP AL,00H JZ L3 CMP AL,0DH JZ X4 MOV DAT,AL CALL WDAT INC CH CMP CH,16 JNZ L3X4: MOV BL, 98H;选择第四行 MOV CMD,BL CALL WCMD MOV CH,00H;把新得字符计数得CH置零L4: MOV AH,01H;与L1类似 INT 21H CMP AL,00H JZ L4 CMP AL,0DH JZ X5 MOV DAT,AL CALL WDAT INC CH CMP CH,16 JNZ L4X5: MOV BL,80H;再循环选择第一行进行输入 MOV CMD,BL CALL WCMD JMP XUNHUAN;继续循环输入;*;*初始化子程序;*功能:完成LCD屏得初始化;*入口参数:无;*INI PROCMOV BL,30HMOV CMD,BL ;功能设定,基本指令CALL WCMDMOV BL,0CHMOV CMD,BL ;开显示,关游标,关反白CALL WCMDMOV BL,01HMOV CMD,BL ;清除显示CALL WCMDMOV BL,06HMOV CMD,BL ;进入设定点,游标右移,画面不移动CALL WCMDRETINI ENDP;*;*写指令子程序;*功能:按照ST7920得时序向LCD屏写命令;*入口参数:CMD;*WCMD PROC ;写指令子程序PUSH AXPUSH DXMOV DX,0283HMOV AL,90HOUT DX,AL ;A入C出MOV DX,0283HMOV AL,00HOUT DX,AL ;把RS(ID)置零(此处对C口操作,所以把控制字写入控制寄

    注意事项

    本文(微机课设.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开