一、课程设计的目的和要求
本课程设计的主要目的是进一步巩固学生所学的微机原理和接口技术理论知识,培养学生实际分析问题、编程和动手能力,最终使学生能把学到的知识应用到实际中去,学习和解决实际工作和生活中的问题,提高实践能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路的能力,从而学以致用。课程设计较课程实验复杂,涉及理论常识更广,更接近实际应用,要求学生查找相关的资料,独立完成各自的设计任务。
二、本次课程设计安排
1、时间安排
16-19周为课程设计时间,在该时段内,学生除仍然集中上理论课的时间外,其余时间一律专心作好课程设计。
2、人员安排
本次课程设计2个班同时进行,每个班分两组,共四组。指导教师3人,谭跃老师指导1012401班,曾专武老师指导1012402班。每个同学在两周的时间内完成设计任务。
3、地点安排
二实验楼508室。
4、进度安排
第一组和第三组在16、17周内完成,第二组和第四组在18、19周内完。
三、部分参考设计题目
学生原则上自己选择课程设计题目,经过与指导老师商洽后,在设计的第一天确定题目,然后在剩下的时间里面完成设计。下面的题目可供参考。
1、正弦波信号发生器的设计 17、火灾报警系统的设计
2、多功能计算器的设计 18、可记录多路成绩的秒表设计
3、银行叫号系统设计 19、自动水位控制器的设计
4、校园自动打铃系统的设计 20、公交车报站系统设计
5、四路抢答器的设计 21、篮球比赛数码记分器的设计
6、步进电机的控制 22、交通信号灯的设计
7、数字频率计的设计 23、直流电机的控制
8、流水彩灯的设计 24、出租车计价器的系统设计
9、简易密码锁的设计 25、单元楼门控系统的设计
10、个人所得税计算器的设计 26、数字式可调时钟
11、数字电压表设计 27、数字音乐盒的设计
12、多数表决电路的设计 28、电梯控制模型的设计
13、可移动LED点阵显示屏设计 29、电子万年历的设计
14、自动饮料售货机的电路设计 30、花卉温室控温系统的设计
15、多路数据采集系统实现 31、路灯控制器的设计
16、水温自动控制系统设计 32、水位控制器的设计
1
33、自动车库门的设计
34、电子秤的设计
姓 名 学 号 院、系、部 1012401* 物理与电信工程
通信工程
微机原理课程设计报告书 专 业 指导教师
课题名称 20xx年 6 月24日
2
3
标题格式要求:段前0.5行,小二,黑体,居中
正弦波信号发生正弦波信号发生器的设计
学号 姓名(四号,楷体,单倍行
距,居中)
一、设计目的(宋体,四号,加粗,单倍行距)
****************************************************************************************************************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
二、设计要求(宋体,四号,加粗,单倍行距)
****************************************************************************************************************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
三、设计思路(宋体,四号,加粗,单倍行距)
************************************************************
****************************************************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
四、电路及连线设计(宋体,四号,加粗,单倍行距)
****************************************************************************************************************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
五、程序设计(宋体,四号,加粗,单倍行距)
****************************************************************************************************************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
六、设计总结(宋体,四号,加粗,单倍行距)
********************************************************************************************
4
********************************************************************** (首行缩进2字符,正文小四,宋体,1.5倍行距)
七、参考文献(宋体,四号,加粗,单倍行距)
参考文献的著录均应符合国家有关标准(按GB7714—87 《文后参考文献著录格式》执行)。以“参考文献”居中排作为标识;参考文献的序号左顶格,并用数字加方括号表示,如[1],[2],…,以与正文中的指示序号格式一致。每一参考文献条目的最后均以“.”结束。引用文献应按文中引用出现的顺序全部在正文末尾列出。
不同文献类型标识为:期刊[J]、专著[M]、论文集[C]、学位论文[D]、报告[R]、专利[P]、标准[S]、报纸文章[N]、电子文献[EB/OL]。
常用参考文献编写项目和顺序规定如下:
[1] 袁庆龙,候文义.Ni-P合金镀层组织形
貌及显微硬度研究[J].太原理工大学学报,2001,32(1):51-53.(期刊:[序号] 主要作者(3人以内全部写上,3人以上只写3人再加等或et al,作者之间用“,”号).文献题名[J].刊名,出版年份,卷号(期号):起止页码.)(宋体,五号,1.5倍行距)
[2] 刘国钧,王连成.图书馆史研究[M].北
京:高等教育出版社,1979:15-18,31.(专著:[序号] 主要作者(3人以内全部写上,3人以上只写3人再加等或et al,作者之间用“,”号).文献题名[M].出版地:出版者,出版年:起止页码.)
孙品一.高校学报编辑工作现代化特征
[C].中国高等学校自然科学学报研究会.科技编辑学论文集(2).北京:北京师范大学出版社,1998:10-22.(论文集:[序号] 主要作者.文献题名[C]∥主编.论文集名.出版地:出版者,出版年:起止页码.)
生.地质力学系统理论[D].太原:
太原理工大学,1998.(学位论文:[序号] 主要作者.文献题名[D].保存地:保存单位,年份.)
王明亮.中国学术期刊标准化数据库系
统工程的[EB/OL].
/pub/wml.txt/9808 10-2.html,1998-08-16/1998-10-04.(电子文献:[序号]主要作者.电子文献题名[文献类型/载体类型].电子文献的出版或可获得地址,发表或更新的期/引用日期(任选). 5
[3] [4] [5]
※※※※※
※※
※
※
※
※
※
※
※ ※ ※ ※
※
课题名称 姓 名
xxx
2008级学生微机原理 ※
课程设计 ※※※※※
波形发生器的设
学 号 0812401*xx
微机原理课程设
计报告书
院、系、部 物理与电信工程
专 业 通信工程
指导教师
20xx年 7 月9 日
6
7
数字信号发生器的设计
0812401*15 xxx(xxx表示姓名) 一、设计目的
1、了解各种信号波形的数字产生原理。
2、 掌握数模转换芯片DAC0832与并行接口芯片8255A逻辑功能及使用方法。
3、掌握一定的汇编语言知识,培养自己的动手操作能力。
4、学习程序设计的基本思路和方法。
二、设计要求
1、以8086CPU为核心,扩展数模转换芯片DAC0832、并行接口芯片8255A和8个逻辑电平开关设计一波形发生器;
2、该波形发生器能产生正弦波、三角波、方波、锯齿波和梯形波五种不同的波形;
3、该波形发生器在输入有效代码时才能产生所需的波形,否则,不能产生任何波形。
三、设计思路
使8255A的端口C工作在方式0并作为输入口,读取K1-K4个开关量,通过开关的不同逻辑组合,选定相应的波形,然后通过用8086CPU编程作
图1 连线逻辑框图
8
注:图2、3中D0-D7位均与8086CPU的D0-D7位相连接。
五、程序设计
5.1主程序流程
主程序主要是将开关的信号读入到8255A的C口,通过读取开关的状态,与设定的数值进行比较,若两数值相等时则转入到相应的程序段,分别产生方波、锯齿波、三角波、梯形波及正弦波。
图2 DAC0832与8086CPU连接图
图3 8255A与8086CPU连接及外部接线 9
10
图7 三角波 图8 正弦波 图9 梯形波 5.3源程序设计(见附录)
5.4仿真实物连接图
(5)梯形波
5.5仿真结果
11
(1)方波
(2)锯齿波
(3)三角波 (4)梯形波
(5)正弦波 (6)无有效按键时输出波形 12
六、设计总结
回顾起此次微机原理课程设计,我感慨颇多,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。而且在做课程设计的过程中,不仅是考验自己所学的知识,更是要锻炼自己的分析问题的能力和解决实际问题的能力,而在在此次课程设计过程中得到了充分的体现。
例如在程序调试过程中,每次读入开关信号必须将AX压入堆栈,读完之后又要将AX弹出堆栈;由于有条件指令的指令范围为-127~+127,因此为了转移到更远的位置,需要将条件指令与JMP指令结合起来使用;DAC0832输出时,一定要延时才能继续执行下一条语句,即给DA转换时间;只有先检测完开关量,才能继续自加或自减或重新赋值;如果定义数据很多,应
在程序内部开辟存储块,这与教材中独立定义数据段存在差异等等。
虽然在设计的过程遇到了各种各样的问题,但同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。
七、参考文献
[1] 楼顺天,周佳社. 微机原理与接口技术[M]. 北京:科学出版社,2006:295-325. [2] 汤忠庆. 一种正弦波信号发生器的设计[J]. 电子工程师,2006, 32(9):29-31.
附录(略)
13
14
第二篇:《微机原理与接口技术》课程设计-交通灯
课程设计 院 系: 计算机学院 专 业: 计算机科学与技术 年级班级: 计091-2班 学 号: 200925501211 姓 名: 李爱军 指导教师: 刘 潇 设计日期: 20xx年12月17日
1 《微机原理与接口技术》
目录
一.课程设计目的 .......................................................................... 3
二.课程设计任务 .......................................................................... 3
三.总体设计方案 .......................................................................... 3
五.程序设计流程图 ..................................................................... 4
六. 程序连接图 ............................................................................... 5
七.程序清单 .................................................................................. 5
八.实验结果 ............................................................................... 11
九.课程设计总结和体会 .......................................................... 11
2
一.课程设计目的
用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。
⒈ 了解交通灯管理的基本工作原理
⒉ 熟悉8259A中断控制器的工作原理和应用编程
⒊ 熟悉8255A并行接口的各种工作方式和应用
二.课程设计任务
本次课程设计的内容为交通信号灯的实时控制和管理。
具体要求如下:
1.东西方向车辆放行25秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟 和5秒的黄灯闪烁时间;
2.南北方向放行25秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
3.东西方向车辆放行25秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟 和5秒的黄灯闪烁时间。如此循环重复。
4.其中要是有人闯红灯,则东西南北路口都为红灯并闪烁十次后,在回归到原来交通状态。
三.总体设计方案
1.用实验系统8255A实现对信号灯的控制(B端口).系统中,8259采用操作命令字OCW1, OCW2,允许外部中断IRQ1,结束中断
2、实验版中,8255选用(10000000)方式选择字,A组工作0方式,A端口输出,PC3-PC7输出,B组0方式,B端口输出,PC3-PC0输出
注:8259A的端口地址为:20H、21H
8255A的端口地址为:端口A-E460H、端口B-E461H、端口C-E462H、控制端口-E463H
3
四.部分电路设计及功能解说
本程序设置的是东西车道亮路灯25秒,黄灯闪烁5秒,同时南北车道红灯30秒,接下来是东西车道红灯30秒,南北车道绿灯25秒,黄灯5秒.但是在红路灯运行期间,要是有人闯红灯,及有KK1中断,则保存原来的信号灯状态,然后所有陆空的信号灯都转成红灯闪烁状态,闪烁十秒后回归到原来的状态.
五.程序设计流程图
4
六. 程序连接图
初始化程序: 七.程序清单
STACK1 SEGMENT STACK
DW 64 DUP(?)
STACK1 ENDS
DATA SEGMENT
TIMER DB 30H,30H ;通行剩余时间(A道30秒,B道30;秒)初始设为B道通行
ROD DB 00H
;当前道路通行状态(00:为A通行道;01为B通行) 5
LIGHT DB 0C3H ;信号灯的输出信号(11000011)
LIGHTZT DB 00H ;有人闯灯时记录当前的灯的状态
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0000H ;数据段清零
MOV ES,AX ;填写中断向量表
MOV DI,0071H*4 ;中断号0的矢量地址
MOV AX,OFFSET IRQ1 ;提取IRQ1的中断处理程序的偏移地址 CLD
STOSW ;MOV ES:[DI],AX填写中断处理程序的偏移地址写进中断MOV AX,CS
STOSW ;填写中断处理程序的段地址写进中断向量表
STI
;加载数据段基地址
;***********p287***************
;系统的8259已经初始化 20H是偶地址21H是奇地址
MOV AL,0FDH ;OCWl允许IRQ1中断11111101
OUT 21H,AL
;****************************************
;*******************p329***************
6 向量表
;8255初始化 0E460-
MOV AL,80H ;(10000000)方式选择字,A组工作0方式(基本的输入输出),A端口输出,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出
MOV DX,0E463H;
OUT DX,AL
;*********** **************************
M:
CMP TIMER,05H ;判断是否到了最后5秒,到了则跳转
JZ R1
CMP TIMER,00H ;判断通行时间是否结束,到了则跳转
JZ R2
JMP DISP1 ;如时间大于五秒,则直接按当前方式显示信号灯
;*******************如到了最后五秒************************** R1:
CMP ROD,00H ;如到了最后五秒,则判断是A道通行否? ROD=00H为A道
JZ R12
R11:
MOV LIGHT,0F3H ;(11110011)改变为A道红,B道黄
JMP DISP2 ;信号输出
R12:
MOV LIGHT,0FCH ;(11111100)改变为A道黄,B道红
JMP DISP2
R2:
CMP ROD,00H
JZ R22
R21:
7
;如是A道通行,则改变状态 ;改变通行状态
MOV LIGHT,3CH
MOV ROD,00H ;如果当前B道通行结束,则切换为A道00111100
MOV TIMER,30H ;A道通行时间30秒
JMP DISP1
R22:
MOV ROD,01H ;如果当前A道通行结束,则切换为B道 ROD=01H为B道
MOV LIGHT,0C3H ;11000011 MOV TIMER,30H JMP DISP1 ;B道通行时间30秒 ZT: JMP M DISP1: ;灯信号输出函数时间计时减一 CLI MOV AL,LIGHT ;将灯信号输出到8255的B口 MOV DX,0E461H; OUT DX,AL CALL DALLY1 ;调用延时程序延时1s MOV AL,TIMER SUB AL,1H ;剩余时间减一 MOV TIMER ,AL STI ;开中断(允许CPU接收中断) CALL BREAK JMP M DISP2: ;灯信号输出函数时间计时减一 CLI MOV AL,LIGHT ;将灯信号输出到8255的B口 MOV DX,0E461H; 8
OUT DX,AL
CALL DALLY2 ;调用延时程序延时0.25s MOV AL,0H
OUT DX,AL
CALL DALLY2 ;调用延时程序延时0.25s MOV AL,LIGHT
OUT DX,AL
CALL DALLY2 ;调用延时程序延时0.25s MOV AL,0H
OUT DX,AL
CALL DALLY2 ;调用延时程序延时0.25s MOV AL,TIMER
SUB AL,1H
MOV TIMER , AL
STI ;开中断(允许CPU接收中断) CALL BREAK
JMP M
IRQ1: ;闯灯
PUSH AX
PUSHF
MOV AH,0AH
MOV AL,LIGHT
MOV LIGHTZT,AL
M1:
MOV AL,0F0H ;(11110000)大、小道均为红灯 MOV DX,0E461H;
OUT DX,AL
CALL DALLY2
9
MOV AL,00H ;(00000000)大、小道均为红灯 OUT DX,AL
CALL DALLY2
DEC AH
CMP AH,00H
JNZ M1
MOV AL,LIGHTZT
OUT DX,AL
MOV AL,20H ;送结束字IEO
OUT 20H,AL
POPF
POP AX
STI
IRET
;****************************************** DALLY1: ;循环256*1000延时1s MOV CX,002FH*1000 ;延时子程序
T3: MOV AX,3fFFH
T4: DEC AX
JNZ T4
LOOP T3
RET
;********************************************** DALLY2: ;循环256*250延时0.25s MOV CX,002FH*1000 ;延时子程序 T5: MOV AX,3FFFH
T6: DEC AX
JNZ T6
LOOP T5
RET
10
BREAK PROC NEAR
MOV AH, 06H
MOV DL, 0FFH
INT 21H
JE RETURN
MOV AX, 4C00H
INT 21H ;结束返回
RETURN: RET
BREAK ENDP
CODE ENDS
END START
八.实验结果
1.东西方向车辆放行25秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟 和5秒的黄灯闪烁时间;
2.南北方向放行25秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
3.东西方向车辆放行25秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟 和5秒的黄灯闪烁时间。如此循环重复。
4.其中要是有人闯红灯,则东西南北路口都为红灯并闪烁十次后,在回归到原来交通状态。(很遗憾的是中断在板子上没有正确运行)
九.课程设计总结和体会
这次关于交通灯的设计是对我来说就是一次挑战,虽然说代码并不完全是我自己写的,可以说我先是是参考别人的然后修改的,但是理解所有的设计代码我确实也花了不少时间,我除了要熟悉8259、8255这些芯片,还得将它们合理的利用起来,由于之前对汇编知识的掌握相当差,理解起来还是有些困难,但是庆幸的事,我向同学和老师咨询中吸收了不少知识。虽然说之前在课上学了这些理论知识,但如果没在实践中利用,你根本就不会发现自己到底是不是真的掌握了,这次我算是明白了,很多一部分的知识还是需要我自己在课下去补充。在学
11
习中,我们总是存在着局限性,在实践中,我们也存在着被动性,这些都是需要我们改正的地方。实践是建在理论知识的基础上,所以当你要做一个实验时,没有一定的理论知识是不够的,和合理的将二者结合。每次实践也是一次经验的积累,人只有在积累经验中方能成长。
12