版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理及应用课程设计指导书软件按照学号末尾选做东华大学信息科学与技术学院自动化系2015 年 9 月 1 日、课程设计目的本课程设计是继 微机系统及应用 课程之后的一次综合性设计、 实验训练。根据微机 系统及应用课程教学的重点和主要知识点及工程实际需要,设置汇编语言程序设计、 PC 机 内部接口和 8086 系统接口电路设计等设计题目。要求学生综合本课程和其它相关课程中学 到的 80X86 系统结构、汇编语言设计、典型接口芯片、电路电子技术等相关知识进行程序 设计、 硬件接口电路设计和调试, 系统地掌握微机原理和接口技术的相关知识, 实现知识的 融会贯通。 要求学生通过课程设计的学习, 提高
2、设计汇编语言程序的能力和技巧, 培养实现 一个简单应用系统功能的硬件软件设计能力。二、课程设计内容一) 汇编语言程序设计及调试0) PC 机实时时钟的设计利用 PC 机现有的硬件和软件资源设计程序, 以实现在显示器上显示 XX(时):XX(分): XX (秒)。(1)设计思路PC机系统板上使用一片 8253,其地址为 40H 43H ,其通道 0 以方式 3工作,每 55ms 向中断控制器 8259A IRQ0 端发一次中断请求。 本设计题要求借用原有电路, 重新设置 8253 的计数器 0每 10ms产生一次中断, 100次中断后加 1 秒,然后调整时、分、秒并显示在屏 幕上。( 2) 实时
3、时钟的功能 按下任意键开始显示数据区中存放的时间值,并且每秒更新一次,运行中按下空格键 则停止运行并返回 DOS 。程序中应保护原系统的 08H 中断矢量以便退出时恢复原系统的设 置。( 3) 题目的要求 PC 机实时时钟的基本程序如附录一,请根据中断服务程序设计时钟时、分、秒调整 的中断报务程序,然后调试实现时钟的基本功能 在原有程序基础上,增加键盘输入字符功能,可通过修改时、分、秒的数据,实现 实时时钟可调整功能。 在原有程序基础上,设计美观的时钟显示方式。1)光条式菜单程序设计 一个多功能的软件通常以菜单为程序界面,用户可以通过菜单直观地选择各项功能。(1)设计思路用汇编语言设计的菜单程
4、序应主要包括 3 项内容: 设计界面 要求美观清晰,操作简便,菜单项简洁可用一行表示。 菜单项选择 利用“色带”选择菜单项。色带是颜色鲜明的条形光带,可以覆盖一个菜单项,用 户利用“”、“”、“”、“”键移动色带位置,然后按下回车键,被色带覆盖的菜单项 就被选中。 菜单项程序的组织和调用菜单项较多时, 可为每一个菜单项设计一个独立的菜单项程序, 采用 JMP、CALL 指令 调用程序段;菜单项较少时,不必为第一个菜单项设计一个独立的程序,此时界面显示、菜 单项选择和菜单项程序可包含在一个程序中。( 2)关键技术 定位显示彩色字符串利用 BIOS 中的 INT 10H 的 13H 号功能可以设计
5、一个定位显示彩色字符串的程序段调用: AH=13H ,AL=写方式 :0 属性在 BL 中,字符串中仅含字符码,写后光标位置 不被修改1 属性在 BL 中,字符串中仅含字符码, 写后修改光标BH= 页;BL=待显字符串的属性, 07H 表示正常显示, 0FH表示黑底白字, 51H表示品红色背景蓝色字符串CX= 待显字符串的长度;DH= 待显字符串首字符的行值DL= 待显字符中首字符的列值BP=待显字符串首字符在附加段的偏移地址行值 色带的生成和移动在调用上一个字符显示程序时,将待显字符串的属性设为51H,色带就生成;设为0FH时,色带就消失。 使当前色带消失, 然后在下一个位置上生成色带, 就
6、达到色带的移动。 设置一个 NN单元存放色带的位置, NN单元的内容跟踪色带位置的变化。利用NN单元的值可以计算出色带位置的行号和色带覆盖菜单项字符的偏移地址。( 3)题目要求 单级菜单程序见附录二,调试程序并分析程序以理解程序的功能。 在原有程序的基础上,设计程序实现二级菜单功能。2)波形显示程序设计试利用 PC机显示器软件中断( INT 10H)功能( VGA模式 640*480 ),设计一个波形显示 程序。 显示器水平方向为时间轴, 垂直方向为信号幅度。 测试信号为正弦波信号和三角波信 号。要求:基本要求: 能显示正弦波波形和三角波形( 50Hz)。 扩展:在基本要求基础上,能通过键盘实
7、现时间刻度可变,信号增益可变。3)四则混合运算器设计要求:设计一个可以进行 2 位数四则运算的计算器。 1、用按键输入数和运算符号(表 达式最多两个运算符,如 3*2+4 ); 2、在显示器上运算结果(十进制数); 3、具有清零和 复位功能; 5、具有连续运算功能。4)图形切换要求以菜单方式进行选择,有四种情况。按下1显示一个圆;按下 2显示一个三角形;按下 3显示一个矩形;按下 q,退出。要求有提示。5)字符串输入随机出现一个不少于 30 个字符 ASCII 字符串,按空格键开始输入,如果输入的字符与 原字符不相符,则用不同颜色标记。要求有提示。6)显示杨辉三角形从键盘接收正整数 N;屏幕显
8、示杨辉三角形,显示 N 行信息 .7)图形移动 图形的移动可以分几步进行:(1)先在屏幕上显示某个图形;(2)延时适当时间;(3)清除这个图形;(4)改变图形显示的行列坐标;(5)返回第( 1)步,重复上述过程。 按下回车结束。8)九九乘法表用汇编语言编写九九乘法表在屏幕上显示出来 , 而且能按一定规律显示 . 1 键为横向 排列;2 键为颜色输出 ;0键为取消该功能9). 代码转换完成一个字母或数制之间的转化程序,主程序分别具有 5 种可选择的子功能,按相应 的字符可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。5 种可选择的子功能分别为:(1 )实现小写字母向大写字母的转换( 2
9、 )实现大写字母向小写字母的转换(3)实现二进制数向十六进制数的转换( 4 )实现十六进制数向二进制数的转换(5)实现十六进制数向十进制数的转换二)接口电路设计1 数据采集系统设计利用 8253, 8255A,ADC0809设计一个基于 8088 最小系统的数据采集系统(不包含 A/D 转换器输入通道中的放大器和采样保持电路) ,最小系统的时钟频率为 5 MHz, 8253时钟频 率为 1 MHz。要求每隔 200 s 采集一个数据,每次启动采集数据时采集时间为20 ms(即每次启动一次,共采集 100 个数据)。由一个开关手动启动数据采集,数据的 I/O 传送采用 中断方式传送。 8259A
10、地址为 20H,21H,仅对 8255A,8253地址进行译码, 8255A、8253 的 端口地址为每位同学学号最后 4 位乘以 8,如:学号后 4 位是 1820,则地址范围为 1820*81820*8+8 。允许附加必要的门电路、地址译码器和单稳电路等。完成:( 1) 硬件设计,画出连接图(不包括 8259A,用正规“米”字方格纸绘制)( 2) 软件设计, 包括 8255A,8253 的初始化及中断服务程序 (只采集 ADC0809的 IN0 通道)。2 键盘显示接口电路设计利用 8253, 8255A设计一个基于 8088 最小系统的键盘显示接口电路。键盘为 4X4行列 式键盘( 0-
11、9,A-F),显示器为 7 段代码 LED,共 4 位,动态显示。要求每隔 200ms扫描一 次键盘,解码后的键值在 LED显示器上滚动显示。假定最小系统的时钟频率为5 MHz, 8253时钟频率为 1 MHz, 键盘软件消抖动。 8259A 地址为 20H,21H,不用参与译码, 8255A,8253 的端口地址为每位同学学号最后 4 位乘以 8,如:学号后 4 位是 1820,则地址范围为 1820*8 1820*8+8 。允许附加必要的门电路、地址译码器和单稳电路等。( 1) 硬件设计,画出连接图(不包括 8259A,用正规“米”字方格纸绘制)(2) 软件设计,包括 8255A,8253
12、 的初始化及中断服务程序,键盘扫描子程序,LED显示子程序。3 交通灯控制系统利用 8253,8255A,8259 等芯片设计一个基于 8088 最小系统的十字路口交通灯控制系统。 通行时间(绿灯)(或禁止时间(红灯) 30秒,准备时间 3 秒,在准备时间里黄灯闪烁 3 次,闪烁频率为 0.5 秒,周而复始。 最小系统的时钟频率为 5 MHz, 8253的时钟频率为 1 MHz。 8259A地址为 20H,21H,不用参与译码, 8255A,8253的端口地址为每位同学学号最后4 位乘以 8,如:学号后 4 位是 1820,则地址范围为 1820*8 1820*8+8 。允许附加必要的门 电路
13、、地址译码器和单稳电路等。( 1)硬件设计,画出连接图(不包括 8259A,用正规“米”字方格纸绘制)(2)软件设计,包括 8255A,8253 的初始化及中断服务程序,控制程序等。二、要求要求每位同学独立完成一个汇编语言程序设计和调试,以及一个接口电路设计。其中, 程序设计部分共有 0-9 十套设计题, 请各位同学按照自己的学号末位数对应选择所完成 的题目。汇编语言程序必须实现基本功能,在基本功能基础上要有所发挥,力求创新。 硬件接口电路设计,必须完成手绘原理图(通常画在描图纸上) ,编出相应的程序。三、参考资料1 杨素行编 微型计算机系统原理及应用,清华大学出版社2 吴宁主编 80X86/
14、Pentium 微型计算机原理及应用,电子工业出版社3 孙德文主编 微型计算机技术,高等教育出版社4 沈美明编 IBM-PC 汇编语言程序设计,清华大学出版社附录一STACK segment para stack stack db 256 dup (0)stack endsdata segment para public data count db 100 tenh db 1hour db 3,20h tenm db 1 minute db 0db : tens db 5 second db 0,0dh,$ data ends code segment para public code sta
15、rt proc farassume cs:codepush dsxor ax,axpush axmov ah,01int 21hclicldmov ax,0000hmov ds,axmov si,0020hlodswmov bx,axlodswpush ax;segpush bx;offsetmov ax,datamov ds,ax assume ds:data mov ax,0000h mov es,ax mov di,0020h mov ax,offset timer stosw mov ax,cs stosw mov al,00110110b out 43h,al mov ax,1193
16、2 out 40h,al mov al,ah out 40h,al in al,21h push ax mov al,0fch sti forever: mov dl,0ffhmov ah,06int 21h jz disp cmp al,20h jz exit disp:mov dx,offset tenhmov ah,9int 21hmov al,second waitcha: cmp al,secondjz waitchajmp forever exit: clicldpop ax out 21h,ax mov al,36h out 43h,al mov al,0 out 40h,al
17、out 40h,al mov ax,0 mov es,ax mov di,4*8pop ax stosw pop ax stosw sti ret start endptimer:push ax push cx sti mov al,count dec al mov count,al jnz int_ret mov count,100 mov al,second add al,1 aaamov second,al jnc int_ret mov al,tens adc al,0 aaa and al,0fh mov tens,al cmp al,6 jnz int_ret mov al,0 m
18、ov tens,al mov al,minute add al,1 aaa mov minute,al jnc int_ret mov al,tenm adc al,0 aaa and al,0fh mov tenm,al cmp al,6 jnz int_ret mov al,0mov tenm,almov al,tenh mov cl,4 shl al,cl mov cl,al mov al,hour and al,0fh or al,cl add al,1 daa cmp al,24h jz reseth mov ch,al mov cl,4 shr al,cl or al,30h mo
19、v tenh,al mov al,ch and al,0fh or al,30h mov hour,al jmp int_ret reseth: mov tenh,0 mov hour,0 int_ret:mov al,second and al,0fh or al,30h mov second,al mov al,tens and al,0fh or al,30h mov tens,al mov al,tenm and al,0fh or al,30h mov tenm,al mov al,minute and al,0fh or al,30h mov minute,alclimov al,
20、20h out 20h,al pop cx pop ax iret code endsend start附录二stack segment para stack stack db 256 dup(0)stack endsdisp macro x,length,color mov ax,1301h mov bx,color mov cx,length mov dh,yy mov dl,x mov bp,addr int 10h endmdata segmentl0db MENU l1db =l2db | EXAMPLE_1l3db | EXAMPLE_2l4db | EXAMPLE_3l5db |
21、 RETURN l6db = LL EQU $-l6XX equ (80-ll)/2 yy db ? nn dw 1 tab dw ?,l2,l3,l4,l5 addr dw ? data ends code segmentassume cs:code,ds:data,es:data beg: mov ax,datamov ds,axmov es,axmov ax,3int 10hmov yy,8mov addr,offset l0 last2: disp xx,ll,0fhadd addr,llinc yycmp yy,15jl last2mov nn,1call computedisp x
22、x+3,ll-6,51h scan: mov ah,1int 16hjz scanmov ah,0int 16hcmp ah,80je downcmp ah,72je upcmp al,0dhje exitjmp scan down: cmp nn,4je scancall computedisp xx+3,ll-6,0fhinc nncall computedisp xx+3,ll-6,51hjmp scanup: cmp nn,1je scancall computedisp xx+3,ll-6,0fhdec nncall computedisp xx+3,ll-6,51hjmp scane
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语祈使句及感叹句专项练习试题和答案解析
- 节后复工复产安全生产培训3篇
- 2021年考研政治模拟试题及答案:毛泽东思想概论
- 办公室拆除合同
- 电器购销合同
- 石材供货合同协议
- 2025-2030全球PC仿石砖行业调研及趋势分析报告
- 2025-2030全球干散货运输服务行业调研及趋势分析报告
- 二零二五年度智慧社区建设承包工程协议书4篇
- 二零二四年墙体广告内容审核与发布合同3篇
- 2025江苏南京市金陵饭店股份限公司招聘高频重点提升(共500题)附带答案详解
- 公共政策分析 课件汇 陈振明 第0-9章 导论、绪论:政策科学的“研究纲领”- 政策监控
- 《药品招商营销概论》课件
- 2025年牛津译林版英语七年级下册全册单元重点知识点与语法汇编
- 医院消防安全培训课件(完美版)
- 高中英语名词性从句讲解
- 尤单抗注射液说明书
- 高考作文答题卡(作文)
- 在乡村治理中深化推广运用清单制、积分制、一张图工作方案
- 梅毒的诊断与治疗课件
- 工程伦理第二讲工程中的风险、安全与责任课件
评论
0/150
提交评论