微机原理与接口技术课程设计.docx
- 文档编号:5641817
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:17
- 大小:82.01KB
微机原理与接口技术课程设计.docx
《微机原理与接口技术课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术课程设计
《接口技术》大型综合(课程设计)作业
【目的】
(1)掌握8086cpu微机接口电路的I/O系统的设计
(2)掌握8086cpu微机接口电路的初始化汇编编程和具体项目功能的软件汇编语言代码编写
(3)要求学生根据接口电路的硬件要求进行计算机的汇编语言程序设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。
【要求】
(1) 每三个同学组成一个小组,选一位组长,负责与教师联系(2007年10月8日前选定题目及确定小组成员以电子版形式发至oucljp@);每一组选择一个题目,完成系统的软硬件部分设计。
(2)自学、查找所选择I/O接口芯片和内存芯片的相关的资料。
使用接口技术知识实现能完成相应功能的硬件系统。
(3)要求写出系统(包括各个子系统)的设计方案及论证,画出系统原理图(硬件连线图)以及系统工作流程。
(4)画出程序流程、编写系统初始化程序和功能程序清单。
【设计报告书内容要求】
1.每一小组要上交一份完整的设计方案(放假前以电子版形式发至邮箱oucljp@
),内容包括:
(1)报告封面(设计题目、小组成员)
(2)设计题目
(3)小组成员分工及成果
(4)设计方案以及论证
(5)硬件原理图(包括芯片的选型介绍)
(6) 程序流程图(包括各个子系统和子过程的程序流程)
(7) 程序清单,要有适当的注释
(8) 程序运行结果分析与预测
(9) 系统改进(升级)建议或者方案等。
2.每一个同学需要上交一份设计报告,简单介绍在课程设计过程中所做的工作,碰到的问题以及解决方法,阐述综合作业的收获等等。
【设计成绩评定】
本次设计的成绩占《接口技术》课程期末总评成绩的15%,具体评定方法如下:
(1)报告内容的完整性占20%的比例。
(2)硬件原理图占20%的比例。
(3)程序流程图占20%的比例。
(4)程序清单占10%的比例。
(5)程序运行结果分析与预测占20%的比例。
(6)系统改进(升级)建议或者方案占10%的比例。
【系统要求】
1.交通灯控制
(1)要求:
十字路口
1) 正常情况下,两路口轮流放行,且以一位8段数码管显示剩余时间;
2) 夜间,两路口均为黄灯闪烁,均可放行。
(2)提示:
交通灯规律:
状态1:
南北绿灯通车,东西红灯;
状态2:
南北绿灯闪烁3次转黄灯亮,东西仍然红灯,延时3秒;
状态3:
东西绿灯通车,南北红灯;
状态4:
东西绿灯闪烁3次转黄灯亮,延时3秒南北仍然红灯。
以开关控制正常状态与夜间。
2.时钟设计
(1)要求:
设计一个时钟,可以用来显示时间,用六位数码管显示。
1) 显示格式为时时分分秒秒;
2) 每逢整点让LED第一个红灯闪烁一次。
3) 具有复位功能。
(2) 提示:
用8253实现定时功能,以开关控制复位。
3.电压报警
(1)要求:
设计一个电压报警器
1) 采集0~5V的电压;
2) 当输入电压在3V以内,用数码管显示电压值,如2.4,同时由D/A输出;
3) 当输入电压超过3V,数码管显示E.O,并将此电压限制到3V后输出。
(3) 提示:
由A/D进行电压转换,注意小数转换为整数处理的方法。
4.多通道温度采集与显示系统
(1)要求:
1)4个温度通道;
2)轮流显示各通道温度,同时表明通道号;
3)可以用键盘选择需要观察的通道情况。
(2)提示:
假定已经得到检测的温度数据。
5.计算机并口使用。
(1)要求:
1).控制8个LED发光管,循序点亮发光管,点亮时间可控。
2).用4位LED发光数码管,显示计算机的时间“分”“秒”。
3).用两个开关作输入,分别控制LED发光管的点亮时间。
4).用两个开关作输入,分别控制LED发光数码管的内容。
5).从并口采集数据,在显示屏上输出采集的内容。
6).实现两台计算机之间的串行通信。
6.计算机串口使用。
(1)要求:
1)通过8251的控制口写入其工作方式或读入当前状态,
2)以查询方式从数据口发送或接收串行口数据,
3)并在LED上显示。
7.直流电机调速控制器
(1)要求:
1)8253的定时器通道0,作为PWM脉冲的基本周期。
2)8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示占空比的百分值,即转速高低,同时,也用于输出键盘的列扫描码
3)PWM脉冲宽度的产生控制电机转速。
8.里程计价器
(1)要求:
1)本设计是在直流电机控制器的基础上,增加了一个电机测速电路而构成的。
2)8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码
3)电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里。
9.数字式电压表
(1)要求:
1)采用系统提供的8259A芯片的IR7作为AD转换完成后的中断申请输入端。
2)8255的A口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示测量的电压值。
3)AD转换器使用ADC0809,使用通道0作为模拟电压输入端
10.电子显示屏
(1)要求:
1)由若干LED组合在一个模块上,
2)用语在公众场合发布信息。
11、竞赛抢答器
(1)要求:
1)同时供多名选手或代表队比赛,分别用相应按钮表示。
2)设置系统定时和由主持人控制的抢答控制开关。
3)抢答器具有优先锁存与编号显示功能,保持到系统清除为止。
4)另外设置抢答定时时间。
12、流水灯控制
(1)要求:
1)实现对装饰灯点亮和关断。
2)另外设置数码管显示效果编号,
3)功能键选择自动/手动转换、流水方向、选择效果和调节流水速度。
13、串行口通信
(1)要求:
1)利用RS232C方式(两台以上用RS485),用电缆将两台或两台以上的微机连接,
2)要求编写串行通信软件,从一台微机向另一台微机传送数据。
3)数据可以键盘输入、接口输入或是来自文件等,使用直接控制台方式或点对点文件方式,传送通信协议可以选择。
14.简易计算器系统设计
设计一个可以进行2位数四则运算的计算器,要求:
1,用按键输入数和运算符号;
2,用LED显示运算过程和结果(十进制数);
3,可以表示出当前的运算类型;
3,具有清零和复位功能;
4,具有连续运算功能。
15.压力测试系统设计:
利用压力传感器和ADC0809采用中断方式设计一个压力测试系统,
并将测试结果(十进制)在LED上显示出来,并定义一个测试最大值按键
,当按下该键时,可进行最大值测量(按键不动作时为正常测量显示),
即:
只有当当前测量值大于上次测量值时才刷新显示,显示格式为:
P=XXX。
可以每隔0.3秒测量一次。
16.函数发生器1的设计:
利用D/A设计一个函数发生器,并利用按键选择输出波形,
能分别产生三角波、阶梯波(每阶梯1V)、正向锯齿波、负向锯齿波和方波。
并利用按键(自行定义)进行输出波形选择,同时将当前输出波形代号显示在LED上(左边位):
0为方波、1为正向锯齿波、2为负向锯齿波、3为三角波、4为阶梯波。
17.温度测控系统的设计:
利用ADC0809采用中断方式设计一个温度测控系统,
在LED数码显示器上显示温度值,并对温度进行测试和控制,
当检测温度到达温度上限60℃时开风扇(即开启电动机),
低于下限30℃时关闭风扇,LED上的显示内容为:
XX℃(采用十进制显示)。
注意:
每一个小组的成绩原则上基本一致,同时也会根据每个同学的个人报告拉开一定差距。
同学们可以参考一些相关资料,但报告必须有自己做的东西,不能全部拷贝,一旦发现作零分处理。
附件:
例:
交通灯控制(硬件,软件,流程)
1、硬件连接图
XD0
XD7
8个LED指示灯
PA0
┇
PA7
PB0
┇
┇
PB7
PC0
┇
PC3
PC4
┇
PC7
D0
┇
D7
┇
┇
8255
CPU
┅
INTR
INT
┅
K4
K1
8259
IR0
8253
CLK0
1.19MHz
OUT0
+5V
GATE0
硬件连接说明:
①8253和8259采用系统连接,8253的定时器通道0,输入频率为1.19MHz,输出产生0.05秒的定时信号,通过8259的IR0向CPU申请中断,即每产生一次中断,则说明定时0.05秒。
②8255的A口输出,控制8个发光二极管的亮灭,作为指示灯,实际只用二个绿灯和红灯。
③8259的B口输出,作为4个数码管的笔划码,其显示码与显示数据的关系如下表;C口的PC0~PC3为字段码控制,控制哪一个数码管显示。
显示数值
显示码
显示数值
显示码
Dpgfedcba
Dpgfedcba
0
00111111
5
01101101
1
00000110
6
01111101
2
01011011
7
00000111
3
01001111
8
01111111
4
01100110
9
01101111
④8259的C口输入,根据开关K1~K4的值,设置通行时间从00~90秒,间隔10秒。
2、程序流程图
主程序流程如下:
中断处理程序如下:
3、程序
;十字路口交通控制器
DATASEGMENT
SETTIMEDB?
;用户设置的通行时间
NOWTIMEDB?
;当前计时时间
TIME1EQU10
TIMEOT1DBTIME1;0.5秒定时单元
TIME2EQU2
TIMEOT2DBTIME2;1秒定时单元
FLAGDB1;闪烁标志
ONOFFDB1;亮灭标志
LEFTDB1;南北向和东西向标志
TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0~9的显示码
DATAENDS
STACKSEGMENTSTACK
DW64DUP(?
);定义堆栈段
STACKENDS
CODESEGMENT;代码段定义
ASSUMECS:
CODE,DS:
DATA;段指定
START:
MOVAX,DATA
MOVDS,AX
PUSHDS;当前用户DS段入栈保存
MOVAX,0000H
MOVDS,AX;修改DS=0000H,指向中断矢量表所在段
MOVAX,OFFSETIRQ0;取出中断处理子程序的入口偏移地址(以0为基准)
ADDAX,2000H;修正,实际地址=装入地址的偏移量+相对于0起始的偏移量
MOVSI,0020H;IR0中断矢量号为08H,处于矢量表的20H~23H
MOV[SI],AX;将偏移地址装入矢量表
MOVAX,0000H
MOVSI,0022H
MOV[SI],AX;将段地址(0000H)装入矢量表
POPDS;恢复用户数据段DS
MOVAL,0FCH;D1,D0位复位为0
OUT21H,AL;写入OCW1(IMR);开放8259A的IR1和IR0中断
MOVAL,34H;设定8253通道0的工作方式,00110100B
OUT43H,AL;CH0采用先写低8位,后写高8位,方式2,二进制计数
MOVAX,59500;计数初值为59500,输出20HZ信号,定时0.05秒
OUT40H,AL;写入CH0
MOVAL,AH
OUT40H,AL
STI;开中断
MOVAL,88H;写入8255A的方式控制字,设定工作方式为10001000B
OUT63H,AL;即A口方式0输出,C口高4位输入,B口方式0输出,C口低4位输出
INAL,62H;循环读出C口的四个开关状态(PC4~PC7)
ANDAL,0F0H;高四位为00~90秒
MOVSETTIME,AL;读取用户设定的通行时间
MOVNOWTIME,AL
A1:
MOVAL,FLAG
TESTAL,01H
JZA2;不闪烁,则转显示
MOVAL,ONOFF;闪烁标志为1,闪烁,则测试是亮,还是灭
TESTAL,01H
JNZA2;为1,说明亮,则转A2
MOVAL,0FH
OUT62H,AL
MOVAL,00H
OUT61H,AL;灭,则关闭显示
JMPA3
A2:
MOVAL,NOWTIME;取出当前剩余时间的低位
ANDAL,0FH
MOVBX,OFFSETTAB
XLAT;查表转换为显示码
OUT61H,AL
MOVAL,05H;PC0~PC3为0101B,允许X2、X4数码管选通
OUT62H,AL
CALLDALEY
MOVAL,NOWTIME
MOVCL,4
RORAL,CL
ANDAL,0FH;取出当前剩余时间的高位
MOVBX,OFFSETTAB
XLAT
OUT61H,AL
MOVAL,0AH
OUT62H,AL;PC0~PC3为1010B,允许X1、X3数码管选通
CALLDALEY
A3:
MOVAL,LEFT
TESTAL,01H
JZA5;测试是南北向通行,还是东西向通行
MOVAL,FLAG;东西向通行
TESTAL,01H;测试是否应让黄灯亮
JZA4;不是东西向的黄灯亮,则转东西向绿灯亮(南北向红灯亮)
MOVAL,ONOFF;东西向黄灯亮(南北向红灯亮)
TESTAL,01H
JNZA4;测试亮灭
MOVAL,0FFH;关指示灯
OUT60H,AL
JMPEXIT
A4:
MOVAL,77H;东西向绿灯亮(南北向红灯亮)
OUT60H,AL
JMPEXIT
A5:
MOVAL,FLAG;南北向通行
TESTAL,01H;测试是否应让黄灯亮
JZA6;不是南北向的黄灯亮,则转南北向绿灯亮(东西向红灯亮)
MOVAL,ONOFF;南北向黄灯亮(东西向红灯亮)
TESTAL,01H
JNZA6;测试亮灭
MOVAL,0FFH;关指示灯
OUT60H,AL
JMPEXIT
A6:
MOVAL,0EEH;南北向绿灯亮(东西向红灯亮)
OUT60H,AL
EXIT:
JMPA1
;8259A的IR0中断处理子程序(8253的CH0每来59500个脉冲后(定时0.05秒),则执行下面的中断处理程序一次)
IRQ0:
PUSHAX
MOVAL,TIMEOT1
DECAL
JZIRTIME1
MOVTIMEOT1,AL
JMPIREXIT;不到0.5秒,则退出
IRTIME1:
MOVTIMEOT1,TIME1;0.5秒定时时间到,重装初值
MOVAL,ONOFF
XORAL,01H
MOVONOFF,AL;取反亮灭标志
MOVAL,TIMEOT2
DECAL;1秒定时单元减1
JZIRTIME2
MOVTIMEOT2,AL;1秒不到,保存,退出
JMPIREXIT
IRTIME2:
MOVTIMEOT2,TIME2
MOVAL,NOWTIME
SUBAL,1
DAS
CMPAL,0
JNZIRTIME3
MOVAL,SETTIME
MOVNOWTIME,AL;重装通行时间
MOVAL,LEFT
XORAL,01H
MOVLEFT,AL;南北向与东西向通行转换
MOVFLAG,00H;闪烁标志复位(不闪)
JMPIREXIT
IRTIME3:
MOVNOWTIME,AL
CMPAL,04H;剩余时间小于4秒,则闪烁
JAEIRTIME4
MOVFLAG,01H
JMPIREXIT
IRTIME4:
MOVFLAG,00H;>3秒,则不闪烁
IREXIT:
MOVAL,20H;常规EOI中断结束指令
OUT20H,AL;写入8259A的OCW2
POPAX
IRET;中断返回
;延时子程序
DALEY:
PUSHCX
MOVCX,0010H;置内循环次数
DALEY1:
LOOPDALEY1;共循环0010H次,以完成延时
POPCX
RET
CODEENDS
ENDSTART
出师表
两汉:
诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:
愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:
愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也
。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计