华南理工大学微机原理课程设计.pdf

合集下载

华南理工大学电信学院级课表

华南理工大学电信学院级课表

华南理工大学电信学院2009级课表————————————————————————————————作者:————————————————————————————————日期:2电子与信息学院2011——2012学年度第一学期授课时间表制表人:燕维英(08级、09级)何晓喜(10级、11级)二〇一〇年八月二十九日华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:信息工程年级:2009级(1、2)人数:117 ①56 ②54执行时间:2011年8月29日节次星期第1--2节第3--4节第5--6节第7--8节晚上一射频电路与天线(一)1-8褚庆昕教授王世伟老数字通信原理1-8周冯穗力教授340403数字通信原理实验6-15周1单逸馆109,2双109通信电子线路实验6-18周1双4326,2单4326教师教室射频电路与天线实验(9-18周)王云老师4326二通信电子线路1-10周2班晋建秀老师北区26403数字信号处理北区2620211-17 周12合韦岗教授宁更新副教授通信电子线路1-10周1班晋建秀老师北区26301数字信号处理实验11-18周1班逸夫科学馆109,2班115数字系统设计实验(10-18周)教师教室1单逸馆115,2双115三射频电路与天线(一)(1-18周123合)数字通信原理(1-18)数字系统设计(1-17周5-7)教师教室褚庆昕教授王世伟老师340401冯穗力教授340301 邢晓芬老师北区26202 四数字信号处理1-18周12合教师教室韦岗宁教授宁更新副教授北区26202五通信电子线路(1-16周1班)通信电子线路(1-16周2班)教师教室晋建秀老师北区26403 晋建秀老师北区26404上课周次:1-18 考试周次:19-20说明:1.数字系统设计课程设计——邢晓芬老师,2.第五周国庆节假华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:信息工程年级:2009级(3、4)人数:119 ③60 ④57 执行时间:2011年8月29日节次星期第1--2节第3--4节第5--6节第7--8节晚上一射频电路与天线(一)(1-8周)123合褚庆昕教授王世伟老师340401 数字通信原理(1-8周)数字系统设计实验(10-18周)教师教室余翔宇老师330503 3单科学馆115,4双科学馆11545电联合谢泽明副教授涂治红老师330504二射频电路与天线实验(9-18周)数字通信原理实验6-15周3单科学馆109,4双科学馆109通信电子线路实验6-18周3双4326,4单4326教师 教室王云老师4326三射频电路与天线(一)(1-18周)123合褚庆昕教授王世伟老师34040145电联合谢泽明副教授涂治红老师330304数字信号处理1-8周34合 数字系统设计(1-17周5-7节)教师 教室张军副教授330503姜小波副教授北区26201四数字通信原理(1-18周) 通信电子线路(1-17周5-7节4班)教师 教室 余翔宇老师340304 刘杰平副教授310209五数字信号处理实验11-18周数字信号处理1-18周34合 通信电子线路(1-17周5-7节3班)教师 教室 3班逸夫科学馆109,4班115 张军副教授330404刘杰平副教授北区35502上课周次:1-18 考试周次:19-20说明:1. 数字系统设计——王前老师,2.第五周国庆节假2011年5月华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:信息工程年级:2009级(5)人数:36 执行时间:2011年8月29日节次星期第1--2节第3--4节第5--6节第7--8节晚上一射频电路与天线(一)(1-8周45电联合)电路通信电子电路(1-17周5-7节5班电联合)教师教室谢泽明副教授涂治红老师330504 毕淑娥副教授340602 杨俊老师北区35507二数字通信原理1-8周5班电联光电合数字信号处理1-18周5班光电合数字系统设计1-17周含4周实验5班电联合教师教室李波老师北区26202 杨萃老师北区26307 徐向民教授1601三射频电路与天线(一)1-18周45电联合谢泽明副教授涂治红老师330304数字信号处理实验11-18周5班逸夫科学馆109,电联115数字通信原理实验6-15周5单科学馆109,电联双科学馆109教师教室微机原理与应用(1-17周5班电材合)梁亚玲老师310204电路毕淑娥副教授340402通信电子线路实验6-18周5双4326,电联单4326四数字信号处理1- 8 周5班光电合射频电路与天线实验数字系统设计实验(10-18周)教师教室杨萃老师310211 王云老师5单科学馆115,电联双科学馆115五微机原理与应用1-17周5班电材合数字通信原理1-18电联5班光电合数字系统设计1-17周含4周实验5班电联合教师教室梁亚玲老师310204 李波老师330502 徐向民教授1601上课周次:1-18 考试周次:19-20说明:1. 数字系统设计课程设计——徐向民教授,2.微机原理与应用课程设计——梁亚玲老师,2.第五周国庆节假2011年5月华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:信息工程(电联班)年级:2009级人数:39执行时间:2011年8月29日节次星期第1--2节第3--4节第5--6节第7--8节晚上一射频电路与天线(一)(1-8周45电联合)通信电子电路(1-17周5-7节5班电联合)教师教室谢泽明副教授涂治红老师330504杨俊老师北区35507二数字通信原理1-8周电联5班光电合数字信号处理1-18 周数字系统设计1-17周含4周实验5班电联合教师教室李波老师北区26202 金连文薛洋北区26406 徐向民教授1601三射频电路与天线(一)(1-18周45电联合)数字信号处理实验11-18周数字通信原理实验6-15周5单科学馆109,电联双科学馆109通信电子线路实验6-18周5双4326,电联单4326教师教室谢泽明副教授涂治红老师330304 5班逸夫科学馆109,电联115四数字信号处理1-8周射频电路与天线实验教师教室金连文薛洋北区26406 王云老师5单科学馆115,电联双科学馆115五数字通信原理1-18电联5班光电合数字系统设计1-17周含4周实验5班电联合教师教室李波老师330502 徐向民教授1601上课周次:1-18 考试周次:19-20说明:1. 数字系统设计课程设计——徐向民教授,2.第五周国庆节假制表时间:2011年5月华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:电子科学与技术(物电)年级:2009级人数:48执行时间:2011年8月29日节次星期第1--2节第3--4节第5--6节第7--8节晚上一射频电路与天线(一)(1-8周3-4节物电微电合陈付昌老师)北区35404物理电子技术与系统(9-18周2-4节赵小兰老师)北区35502信息显示技术(1-14周5-7节)08级信工集成09物电合教师教室马国欣副教授340203 二通信光电子技术(1-18周)数字信号处理数字通信原理1-17周教师教室常天海副教授北区35506 1-8物电集成合马碧云陈芳炯北区35503周智恒副教授北区35601三射频电路与天线(一)(1-17周物电微电合)物理电子技术与系统(1-17周)数字系统设计实验10-18周教师教室陈付昌老师北区35407 赵小兰老师北区35502 与微电班协调实验室逸夫科学馆115四通信光电子技术(1-18周)数字信号处理(1-18物电集成合)数字通信原理实验射频电路与天线实验教师教室常天海副教授北区35506 马碧云陈芳炯北区35503 6-15周单逸夫科学馆109 王云老师4326五光电信息系统基础(1-17周)数字系统设计物电集成合教师教室马国欣副教授北区35507 李韬王前老师北区35606上课周次:1-18 考试周次:19-20说明:1. 数字系统设计课程设计——李韬王前老师,2.第五周国庆节假制表时间:2011年5月华南理工大学2011—2012 学年度第一学期课程表学院:电子与信息学院专业:集成电路Ⅱ设计与系统集成年级:2009级人数:51执行时间:2011年8月29日节次第1--2节第3--4节第5--6节第7--8节晚上星期一通信电子线路(1-17周2-4节)半导体器件1-17周光电合教师教室李志坚老师殷瑞祥北区35508 李娜北区26307二集成电路设计基础9-16周数字信号处理1-8周物电集成合教师教室闾晓晨老师北区35601 马碧云陈芳炯北区35503三半导体器件光电合数字信号处理实验11-18周教师教室李娜北区26307 逸夫科学馆115,四数字信号处理1-18 物电集成合通信电子线路实验(4-10周4326)数字系统设计实验教师教室马碧云陈芳炯北区35503(11-18周逸夫科学馆115,与信工5班和电联协调实验室)五集成电路设计基础2-18周数字系统设计物电集成合教师教室闾晓晨老师北区35601 李韬王前老师北区35606上课周次:1-18 考试周次:19-20说明:1. 数字系统设计课程设计——李韬王前老师集成电路设计基础课程设计——闾晓晨老师制表时间:2011年5月华南理工大学2011-2012 学年度第一学期课程表学院:电子与信息学院专业:电子科学与技术(微电)年级:2009级人数:89①42 ②38 执行时间:2011年8月29日节次第1--2节第3--4节第5--6节第7--8节晚上星期一射频电路与天线(一)(1-8周3-4节物电微电合)北区35404半导体物理与器件实验(3-18周)数字信号处理(7-12周2-4节微电12合)北区26307教师教室陈付昌老师陈芳炯副教授陈平老师4201二数字通信原理(1-9周)半导体器件(1-17周5-7节)射频电路与天线实验教师教室李斌教授北区263011-17周王云老师4326三射频电路与天线(一)数字信号处理1-16微电12合数字系统设计(1-17周)(1-17周1-2节物电微电合)教师教室陈付昌老师北区35407陈芳炯北区35508 史景伦副教授310508四半导体器件(1-17周1-2节)数字通信原理(1-17周)通信电子线路(1-17周)教师教室李斌教授北区35407 刘汉华老师北区35408 周伟英副教授1班310202梁亚玲老师2班北区35502五数字系统设计实验(9-17周)数字信号处理实验11-17周1逸夫科学馆109,2科学馆115数字通信原理实验6-15周1单科学馆115,2双科学馆109通信电子线路实验6-18周1双4326,2单4326教师教室史景伦副教授科学馆115上课周次:1-18 考试周次:19-20 王云说明:1.18周微机原理与应用课程设计——杨祎巍老师,2.数字系统设计课程设计——姜小波副教授制表时间: 2011年5月。

微机原理步进电机课程设计

微机原理步进电机课程设计

微机原理步进电机课程设计一、课程目标知识目标:1. 让学生掌握微机原理在步进电机控制中的应用,理解步进电机的结构、原理及其特点。

2. 使学生了解步进电机与微控制器之间的接口技术,掌握步进电机的驱动程序编写方法。

3. 让学生掌握步进电机速度和位置控制的基本算法,并运用到实际项目中。

技能目标:1. 培养学生运用微机原理解决实际问题的能力,学会编写和调试步进电机控制程序。

2. 培养学生的动手实践能力,能独立完成步进电机的组装、调试和故障排查。

3. 培养学生团队协作能力,通过分组合作完成课程设计任务。

情感态度价值观目标:1. 激发学生对微机原理和步进电机控制技术的兴趣,培养其探索精神和创新意识。

2. 培养学生严谨、认真的学习态度,养成良好的实验操作习惯。

3. 增强学生的环保意识,关注步进电机在节能环保领域的应用。

本课程针对高年级学生,课程性质为理论与实践相结合。

在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果。

教学过程中,注重培养学生的实际操作能力和团队协作精神,使学生在完成课程设计任务的过程中,达到知识、技能和情感态度价值观的全面提升。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 微机原理基础:回顾微控制器的基本原理,重点讲解微控制器与步进电机的接口技术,涉及课本第3章相关内容。

2. 步进电机原理与结构:介绍步进电机的种类、结构、原理及特点,对应课本第5章内容。

3. 步进电机驱动技术:讲解步进电机的驱动电路设计,包括驱动芯片的选型、接口电路设计等,参考课本第6章相关内容。

4. 步进电机控制算法:学习步进电机的速度和位置控制算法,如PID控制、闭环控制等,结合课本第7章内容。

5. 实践操作:分组进行步进电机的组装、调试及控制程序编写,巩固理论知识,培养实际操作能力。

教学大纲安排如下:第1周:微机原理基础回顾,了解步进电机接口技术;第2周:学习步进电机原理与结构,选型及参数了解;第3周:步进电机驱动技术学习,驱动电路设计;第4周:步进电机控制算法学习,编写控制程序;第5周:实践操作,步进电机组装、调试及故障排查;第6周:课程设计总结,成果展示及评价。

华南理工大学微机与接口实验报告(四实验,题目原理流程图代码截图完整版)

华南理工大学微机与接口实验报告(四实验,题目原理流程图代码截图完整版)
1129:0000 B82211 MOV AX,1122
3)输入-U,可看到11行指令源自再用U命令可看到余下的各指令。4)输入运行命令-G=00 28 可见程序执行到 INT 21H 句便停下来,屏幕展示此刻各寄存器的内容如下:
AX=4C00 BX=0007 CX=0001 DX=0000 SP=0028 BP=0000 SI=0000 DI=0000 DS=1122 ES=1112 SS=1126 CS=1129 IP=0028 NV UP DI PL ZR AC PE CY
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV BX,-1
MOV CX,0
MOV CL,COUNT
NOZERO: INC BX
MOV AL,ARRAY1[BX]
201E INT 3
运行结果截图:
二.将十进制数的ASCII码转换为BCD码
1.程序流程
将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入350A起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF.
2.实验步骤
(1)输入程序并检查无误。
ADD AL, ARRAY2[BX]
MOV SUM [BX],AL
LOOPNE NOZERO
JE ENDO
INC BL
ENDO: MOV LEN,BL
MOV AH,4CH
INT 21H
CODE ENDS
END START

华南理工大学微机原理与应用课程设计教学大纲

华南理工大学微机原理与应用课程设计教学大纲

课程名称:微机原理与应用课程设计
英文名称:Principles and Applications of Microcomputer
总学时:80 学分:5实验学时:一周
课程类别:学科基础课课程性质:综合实践
适用专业:信息工程,电子与信息工程,物理电子工程
授课实验室:微机实验室
课程设计部分
一、实验(上机)教学目的与基本要求
通过课程设计,使学生进一步巩固所学的知识,并将所学的内容加以综合运用。

将学生所学的理论与实际问题或应用相结合,进一步培养学生自主学习的能力,综合运用知识的能力,以及创新实践的能力。

二、实验(上机)教学方式与考核方式
教学方式:集中讲解与单独辅导相结合
考核方式:实验效果成绩(80%)与设计报告成绩(20%)进行综合评定
三、实验(上机)指导书和参考书
1.微型计算机原理与应用实验指导书机习题集。

华南理工大学电子与通信工程系陈忠强欧阳小容华南理工大学教材供应中心2002.1
2.TPC-2003A通用32位微机接口实验系统,学生用书,清华大学计算机系清华大学科教仪器厂2005年9月。

3.80X86/Pentium 微型计算机原理及应用吴宁主编,电子工业出版社,2003
四、主要仪器设备
1.PC机
2.TPC-2003A 通用32位微机接口实验系统(2005年-今),TDS-MD微机(2004年及以前)。

五、实验(上机)项目与内容提要
自行设计择课程设计的题目。

制订(修订):梁亚玲审核:曾衍辉。

微机原理课程设计分解

微机原理课程设计分解

课程设计课程设计名称:微机应用系统课程设计专业班级:学生姓名:学号:指导教师:课程设计时间:目录目录 (1)一、设计任务与要求 (2)二、设计思想 (2)三、主要元器件介绍 (2)3.1、可编程并行通信接口芯片8255A (2)3.1.1、可编程并行通信接口芯片8255A特性 (3)3.1.2、可编程并行通信接口芯片8255A引脚 (3)3.1.3、可编程并行通信接口芯片8255A控制字 (4)3.1.4、可编程并行通信接口芯片8255A工作方式 (5)3.2、LED数码显示管 (6)四、设计方案与硬件连线 (6)五、程序流程图 (8)六、程序源代码 (9)七、设计结果 (14)八、总结 (14)一、设计任务与要求连接电路,设计程序,实现两位LED数码管全亮(2秒)、全灭(2秒),然后从00开始累加直到60,然后重新回到00,依次循环。

以肉眼能够看到清楚的LED明灭变化为准。

二、设计思想LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

三、主要元器件介绍本次实验需要的元器件有:可编程并行通信接口芯片8255A、LED数码显示管、若干导线、电阻、总线等。

华南理工大学微机原理课程设计

华南理工大学微机原理课程设计
目录
一.设计目的····················································(3) 二.实验器件····················································(3) 三.设计内容····················································(3) 四.设计原理····················································(3)
- 10 -
微机原理课程设计
nop mov al,00h out dx,al mov dx,304H query: in al,dx test al,10h jz query mov dx,300H in al,dx inc dx out dx,al 注意在每次转换完后都必须将 C 端口置位: mov dx,306H;将 C 口复位,以保证下次能正确转换数据 mov al,90h out dx,al mov dx,304H mov al,0ffh out dx,al 在中断服务子程序结束之前,必须发中断结束命令: mov al,20h ;结束中断 out 20h,al out 0a0h,al 在进入 A/D 转换之前,必须开发 72H 号中断: in al,0a1h;设置中断屏蔽寄存器,系统开放 72 号中断 and al,0fbh
(5)译码电路由 74LS138 提供,其输出信号用来控制当前工作在模拟量采集还是 数模转换的工作状态以确保电路正常工作。在总线和其它接口芯片之间还必须加入 74LS245,起到隔离作用。2、AFra bibliotekC0809 简介
(1)ADC0809 功能及引脚 提供一个 8 通道的多路开关和寻址逻辑 IN0~IN7:8 个模拟电压输入端 ADDA、ADDB、ADDC:3 个地址输入线 ALE:地址锁存允许信号 ADC0809 的数字输出 ADC0809 内部锁存转换后的数字量

微机原理课程设计说明(交通灯)

微机原理课程设计说明(交通灯)

2、有急救车通过时:(用中断实现)
两个方向的交通灯全为红(10S),急救车通过后恢 复正常信号。
3、 制作交通灯控制硬件电路板,编写软件
在XL1000-2000仿真仪实现交通信号灯控制。
(二)提高部分:实现智能交通灯控制
1、考虑左转灯控制
2、红绿灯点亮时间用键盘设定,用数码管
减“1”操作显示时间变化。。
附录:1、kerl-uvision集成调试软件的操作
操作步骤:
(1)双击桌面上的UV2快捷图标,启动软件。 (2)点击P工程 N新建工程 输入文件名并选择 存入的盘(如E:)点击保存。出现CPU屏幕,选Atmel AT89C51 点确定。屏幕左上方出现图标目标1, 原则上一个程序可建一个工程。 (3)点击文件 新建文件 出现汇编语言输入区。 输入汇编语言程序,点击文件中的保存,输入:程序 名.ASM 并选择存入的盘(如E:)点击保存。(输入的程 序名一般不超过6个字母数字,以字母打头)
③为了简化操作步骤,第一次使用时, 应当确认一 下软件的设置。首先点击下图的“设置”对话框在 自动编程的选项中选择: “擦除” “写入”“运 行目标板” (下图打钩的地方)然后点确定。由于 一般情况下,检测芯片,查空,校对,写加密等等 选项没有必要选择,会浪费编程时间。 ④在芯片类型的对话框中选择 MCU\ATMEL_51\AT89S52 然后点确定。 ⑤点击主界面的“打开”,找到要烧录的程序的 .HEX文件,然后点确定。
《微机原理机接口技术》课程设计
一、课程设计的目的: 1、加深对单片机的基本概念、基本原理、基 本结构的理解; 2、通过课程设计提高学生单片机的开发能力,
包括硬件设计和软件编程的能力。
二、课程设计的内容:
用单片机控制十字路口的交通灯,要求能

微机原理课程设计

微机原理课程设计

1计算机的发展在20世纪的最后20年中,计算机被成功的应用于工程设计和制造业中,它成倍的提高了劳动生产率,创造了空前巨大的物质文明,它把任何创新的思想转化为市场商品的时间缩短到惊人的程度计算机技术的发展日新月异,在未来的几年中,各种计算机相关技术都会得到飞速发展和应用,使计算机变得更加人性化,智能化。

而多媒体技术与网络技术的迅猛势头人类所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。

1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。

这台计算机共用了18000多个电于管组成,占地170m2,总重量为30t,耗电140kw,运算速度达到每秒能进行5000次加法、300次乘法。

电子计算机在短短的50多年里经过了电子管、晶体管、集成电路(IC)和超大规模集成电路(VLSI)四个阶段的发展,使计算机的体积越来越小,功能越来越强,价格越来越低,应用越来越广泛,目前正朝智能化(第五代)计算机方向发展。

微机原理与接口技术的进步将更好更快的推动计算机技术的发展。

在未来的社会中将其这越来越重要的作用。

2设计思路及流程图接到这个题目时,我首先考虑到大小写之间的转换是关键,可能要用到子程序,循环程序和中断程序以及一些比较和跳转指令等。

在经过反复思考和设计后我得到了以下的设计思路:首先程序应该输出提示信息,以用来为下面的程序选择做准备(是选择大写转小写程序还是选择小写转大写程序),如“0”和“1”.“0”用来执行大写转小写程序,“1”用来执行小写转大写程序。

当我们按提示输入信息若是“0”程序应该输出提示输入大写字母信息,若是“1”程序应该输出提示输入小写字母信息并且存入寄存器单元,如AL,否则程序显示错误信息并返回重新输入。

在输入大写或小写字母后回车程序立即判断所输入的信息是否符合要求,若是则程序根据AL中数据分别调用小写转大写程序或大写转小写程序(大小写字母间相差20H)并输出结果,程序结束;若输入的信息不符合要求程序接下来要完成三个任务:报警,显示错误信息,跳转回到“显示输入提示信息”程序段处重新输入信息。

华南理工大学微机实验三

华南理工大学微机实验三

微机原理实验报告实验三班级:2012级信息工程(7)班姓名:学号:序号:评阅分数:一、实验目的1、自学TPC-ZK通用32位微机接口实验系统的组成。

2、掌握实验系统中接口地址译码电路的工作原理及计算方法。

3、掌握简单I/O端口的读写操作。

4、掌握8255的工作原理及编程方法。

二、实验题目通过并行接口8255实现十字路口交通灯的模拟控制,如图29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮一定时间。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮一定时间。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转(1)重复。

附加功能:1)PC3键作为右侧那组信号等的优先控制信号,如果PC3键为高,右侧信号灯立即转换成绿灯亮(PC0=1),左侧信号灯红灯亮(PC7=1),其它信号灯为0 2)PC4键作为左侧那组信号等的优先控制信号,如果PC4键为高,左侧信号灯立即转换成绿灯亮(PC5=1),右侧信号灯红灯亮(PC2=1),其它信号灯为0 3)PC3=0,PC4=0,依照正常信号灯控制方式。

三、程序流程图四、源程序清单DA TAS SEGMENTio8255a equ 288hio8255b equ 289hio8255c equ 28ahio8255d equ 28bhportcl db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据db 0ffh;结束标志DA TAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TASSTART:MOV AX,DATASMOV DS,AXre_on:mov bx,0on1: mov dx,io8255d ;检查是否关闭紧急开关mov al,89h ;设c口为输入out dx,almov dx,io8255cin al,dxtest al,10h ;检测Pc4=1?jnz green_left ;亮左边灯test al,8h ;检测pc3=1?jnz green_right ;亮右边灯mov dx,io8255dmov al,90hout dx,al ;设置8255为C口输出mov dx,io8255con:mov al,portcl[bx]cmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bxmov cx,200 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,2000 ;有,长延时de1:mov di,9000 ;di赋初值9000de0:dec dijnz de0 ;di不为零loop de1push dxmov dl,0ffh ;检测是否有键盘输入?mov ah,06hint 21hpop dx ;弹出dx值jz on1 ;无按键,跳回on1 exit: MOV AH,4CH ;结束INT 21Hgreen_left: ;左边开关闭合程序mov dx,io8255dmov al,90h ;设为c口输出out dx,almov dx,io8255cmov al,24h ;左边绿灯右边红灯out dx,aljmp on1green_right: ;右边开关闭合程序mov dx,io8255dmov al,90h ;设为c口输出out dx,almov dx,io8255cmov al,81h ;左边红灯右边绿灯out dx,aljmp on1CODES ENDSEND START。

微机原理课程设计_路灯控制设计(完整版)

微机原理课程设计_路灯控制设计(完整版)

1 设计任务描述1.1设计题目路灯控制设计1.2设计内容1)天黑时路灯电亮,天亮时路灯关闭。

2)用中断模拟天黑。

1.2.1 设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础1.2.2 设计要求1)通过K O—K7和K++来输入。

2)用LED指示灯显示结果。

3)输出为1灯亮,输入为0灯灭。

2设计思路本次微机原理课程设计我设计的是路灯控制器。

通过中断信号来使路灯点亮,再经延时程序来使灯自动熄灭。

然后重新回到初始状态。

我们用到的芯片是中断控制器8259和可编程并行接口8255这两种芯片再外加一个LED 显示单元及开关单元。

用中断控制器8259的控制字来设置单片、边沿触发、非缓冲、非自动,用ICW4来设置IR7非屏蔽。

设置中断控制器8255的控制字,让它A口输出来显示灯亮,。

由于我们没用到B口和C口,所以让B口输入C口高低四位均输出。

设置完控制字后,再使A口输出全为0(这时路灯初始状态为灭),接着让程序循环进入空操作。

当天黑需要路灯亮时,按下中断(代表天黑),程序从循环执行空操作中中断出来,使A口输出从全为0变成全为1(这时路灯全亮),程序后面连接一个延迟子程序,来控制灯亮的时间。

最后到了程序该结束的时候了,A口输出从全1再次变为全0(这时路灯全灭,代表夜晚已过,天亮了)。

这时程序本该结束了,程序结束后,又返回到中断控制器8259这部分,这样程序又可以通过按中断来控制灯亮,这样就简单又实用。

大体上程序主要分四大部分:输入部分,中断部分,延迟部分和输出部分。

结合所学的知识外加查找相关资料,把这几大部分合理的连接起来,从而实现一个完整、功能强大的程序。

3 主要元器件介绍13.1 所用芯片8255简介: 3.1.1 外部引线D0~D7为双向数据信号线,用来传送数据和控制字。

微型计算机原理及应用课程设计--多功能密码锁

微型计算机原理及应用课程设计--多功能密码锁

目录一.课设目的 (1)二.课设内容三.问题分析、设计思路及原因 (1)四.电路设计及功能说明,硬件原理图 (2)五.软件部分的程序流程图,算法和使用的编程技巧 (10)六.汇编源程序清单 (11)七.课设结果分析 (20)八.收获、体会和建议 (20)九.参考文献 (21)一.课设目的1.掌握8086,8255等芯片的工作原理和使用方法,了解各引脚的功能。

2.掌握各芯片之间的连接方法,设计多功能密码锁电路。

3.运用《微机原理及应用》中学习到的知识,编写汇编语言程序,通过对芯片的控制实现多功能密码锁的各种功能。

4.巩固本学期学习到的微机原理的相关知识,通过实践加强对知识的理解,同时提高自身思考问题的能力,培养对本课程的兴趣,提高动身能力。

二.课设内容课程设计题目选取多功能密码锁,实现的功能为:1.判断输入的密码是否正确2.修改密码3.密码输入错误时发错警告声音4.当密码输入错误四次时发出警报三.问题分析、设计思路及原因1.问题分析考虑到实现以上功能需要使用数码管、开锁电平、报警电平、蜂鸣器等输出,因此使用微机实验中用过的芯片8255A作为接口芯片,该芯片能比较好地满足这次课程设计的功能要求。

而CPU则选择我们熟悉的8086。

2.设计思路及原因密码的输入主要通过系统功能调用语句“MOV AH,1; INT 21H”(即带显示的单字符键盘输入功能)和循环语句实现,而密码输入是否正确则通过串比较指令来实现。

程序中的提示语句可以使用系统功能调用语句“MOV AH,9; INT 21H”(即字符串输出)功能来实现。

对接口芯片,首先要完成芯片的初始化,使8255A芯片的A,B口作为输出端口,A口用于控制数码管在密码输入正确或错误的情况下的显示“00”或“FF”,B口用于控制提示音和相应的发光二极管。

当输入错误时,B口输出03H(即00000011B),使对应的蜂鸣器发声,相应的发光二极管发光。

而当四次输入密码错误时,B口输出0CH(即00001100B),使对应蜂鸣器发声,对应二极管发光。

华南理工大学微机实验三

华南理工大学微机实验三

微机原理实验报告实验三班级:2012级信息工程(7)班姓名:学号:序号:评阅分数:一、实验目的1、自学TPC-ZK通用32位微机接口实验系统的组成。

2、掌握实验系统中接口地址译码电路的工作原理及计算方法。

3、掌握简单I/O端口的读写操作。

4、掌握8255的工作原理及编程方法。

二、实验题目通过并行接口8255实现十字路口交通灯的模拟控制,如图29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮一定时间。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮一定时间。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转(1)重复。

附加功能:1)PC3键作为右侧那组信号等的优先控制信号,如果PC3键为高,右侧信号灯立即转换成绿灯亮(PC0=1),左侧信号灯红灯亮(PC7=1),其它信号灯为0 2)PC4键作为左侧那组信号等的优先控制信号,如果PC4键为高,左侧信号灯立即转换成绿灯亮(PC5=1),右侧信号灯红灯亮(PC2=1),其它信号灯为0 3)PC3=0,PC4=0,依照正常信号灯控制方式。

三、程序流程图四、源程序清单DA TAS SEGMENTio8255a equ 288hio8255b equ 289hio8255c equ 28ahio8255d equ 28bhportcl db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据db 0ffh;结束标志DA TAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TASSTART:MOV AX,DATASMOV DS,AXre_on:mov bx,0on1: mov dx,io8255d ;检查是否关闭紧急开关mov al,89h ;设c口为输入out dx,almov dx,io8255cin al,dxtest al,10h ;检测Pc4=1?jnz green_left ;亮左边灯test al,8h ;检测pc3=1?jnz green_right ;亮右边灯mov dx,io8255dmov al,90hout dx,al ;设置8255为C口输出mov dx,io8255con:mov al,portcl[bx]cmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bxmov cx,200 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,2000 ;有,长延时de1:mov di,9000 ;di赋初值9000de0:dec dijnz de0 ;di不为零loop de1push dxmov dl,0ffh ;检测是否有键盘输入?mov ah,06hint 21hpop dx ;弹出dx值jz on1 ;无按键,跳回on1 exit: MOV AH,4CH ;结束INT 21Hgreen_left: ;左边开关闭合程序mov dx,io8255dmov al,90h ;设为c口输出out dx,almov dx,io8255cmov al,24h ;左边绿灯右边红灯out dx,aljmp on1green_right: ;右边开关闭合程序mov dx,io8255dmov al,90h ;设为c口输出out dx,almov dx,io8255cmov al,81h ;左边红灯右边绿灯out dx,aljmp on1CODES ENDSEND START。

微机原理课程设计

微机原理课程设计

课程设计任务书学生姓名:黎健专业班级:电气0804 指导教师:张锐工作单位:自动化学院题目: 计算机时钟模拟显示软件设计初始条件:1.用于调试程序的IBM兼容PC机一台;2.安装DOS/WIN98操作系统或运行于DOS/ WIN98兼容方式;3.EDIT 等文本编辑器输入80x86汇编程序,MASM 5.0编译及链接程序。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.使用汇编语言设计一个运行于计算机的时钟模拟显示软件,软件应实现模拟显示时钟,要求至少有一种动态时钟显示效果如七段码管形状显示或旋转指针式指示效果等。

可以附加显示花边背景和日期信息。

2.说明书撰写格式应符合《课程设计说明书统一书写格式》。

时间安排:1.程序框图设计,3天2.编程,4天3.调试,3天4.编写设计报告,4天指导教师签名:年月日系主任(或责任教师)签名:年月日摘要汇编语言是面向机器的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。

于是汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。

汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。

高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。

在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。

现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。

汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

华工微机原理实验四子程序设计实验报告

华工微机原理实验四子程序设计实验报告

华南理工大学微机原实验四:子程序设计一.实验目的1、学习子程序的定义和调用方法。

2、掌握子程序、子程序嵌套的结构。

3、掌握子程序的程序设计、编制及调试方法。

二.实验内容程序采用菜单式选择,可接收用户输入的命令(1~5),各命令如下:按1键完成字符串小写字母变大写字母用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。

用户按任一键,重做,按ESC键,返回主菜单。

按2键完成找最大值(二选一)1、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。

2、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

按3键完成排序(二选一)1、接收用户输入的可显示字符串,以回车结束。

程序按ASCII码值大小由大到小排序并输出显示。

2、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。

程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

按4键显示时间首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:××(时):××(分):××(秒),最好定点显示。

用户按任一键,重新对时,按ESC键,返回主菜单。

按5键,结束程序运行,返回系统提示符。

三.程序与流程图主程序的简略流程子程序一的简略流程图子程序二的简略流程图子程序三的简略流程图子程序4,显示时间流程图四、源程序代码DATA SEGMENTORG9999HMENU DB0DH,0AH,'Programed by Deng Tengfei Class Electronic Material Grade 09',0DH,0AH,;菜单DB'Please input1~5to choose service',0DH,0AH,DB'1:Convert a small letter to a big letter',0DH,0AH,DB'2:Seek the bigest number',0DH,0AH,DB'3:Put the character string in order',0DH,0AH,DB'4:Set time and check time',0DH,0AH,DB'5:End the program$'MEG0DB'Please choose function$';提示信息MEG0~MEG8MEG1DB'You have choose the function1.',0DH,0AH,'Please input the character string you want to convert:$'MEG2DB'You have choose the function2.',0DH,0AH,'Please input the character string:$'MEG3DB'You have choose the function3.',0DH,0AH,'Please input the character string you want to sort$'MEG4DB'You have choose the function4.',0DH,0AH,'Please input the time you want to set in format like:xx:xx:xx$'MEG5DB'The program is end$'MEG6DB'Sorry.you have chosen a undefined function.Please input a correct function number$' MEG7DB'Fail to set time$'MEG8DB'Press any key to do again or press the ESC key to return to the main menu$'FLAG DB-1;冒泡排序中使用的标志DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN PROC NEAR;主程序MOV AX,DATAMOV DS,AXCIN:LEA DX,MENU;输出提示信息MOV AH,09HINT21HCALL ENT;输出回车换行LEA DX,MEG0MOV AH,09HINT21HCALL ENTMOV AH,01HINT21HCMP AL,30H;判断功能号JLE EORCMP AL,31HJE F1CMP AL,32HJE F2CMP AL,33HJE F3CMP AL,34HJE F4CMP AL,35HJE F5EOR:CALL ENTLEA DX,MEG6;输出出错信息MOV AH,09HINT21HJMP CINF1:CALL ENT;功能1LEA DX,MEG1MOV AH,09HINT21HCALL ENTCALL FUN1;调用子程序1MOV AH,01HINT21HCMP AL,1BHJNE F1JMP CINF2:CALL ENT;功能2LEA DX,MEG2MOV AH,09HINT21HCALL ENTCALL FUN2;调用子程序2MOV AH,01HINT21HCMP AL,1BHJNE F2JMP CINF3:CALL ENT;功能3LEA DX,MEG3MOV AH,09HINT21HCALL ENTCALL FUN3;调用子程序3MOV AH,01HINT21HCMP AL,1BHJNE F3JMP CINF4:CALL ENT;功能4LEA DX,MEG4MOV AH,09HINT21HCALL ENTCALL FUN4;调用子程序4MOV AH,01HINT21HCMP AL,1BHJNE F4JMP CINF5:MOV AH,4CH;功能5,终止程序INT21HFUN1PROC NEAR;子程序1PUSH AXPUSH CXPUSH DXPUSH SIMOV AH,0AH;字符串输入INT21HCALL ENTMOV SI,DXINC SIMOV CL,[SI];设定循环次数MOV CH,0JIK:INC SIMOV AL,[SI]CMP AL,0DH;判断字符ASCII码JE KLCMP AL,61HJB JKCMP AL,7AHJA JKSUB AL,20H;小写转大写JK:MOV DL,AL;输出字符MOV AH,02HINT21HLOOP JIKCALL ENTLEA DX,MEG8MOV AH,09HINT21HKL:POP SIPOP DXPOP CXPOP AXRETFUN1ENDPFUN2PROC NEAR;子程序2PUSH AXPUSH CXPUSH DXPUSH SIMOV AH,0AHINT21HCALL ENTMOV SI,DXINC SIMOV CL,[SI]MOV CH,0INC SIMOV AL,[SI]FH:INC SI;循环比较CMP AL,[SI]JA FGMOV AL,[SI]FG:LOOP FHMOV DL,ALMOV AH,02HINT21HCALL ENTLEA DX,MEG8MOV AH,09HINT21HPOP SIPOP DXPOP CXPOP AXRETFUN2ENDPFUN3PROC NEAR;子程序3PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV AH,0AHINT21HCALL ENTMOV SI,DXINC SIMOV BL,[SI]MOV BH,0INC SIMOV DI,SILP1:CMP FLAG,0;根据标志判断JE LP3DEC BX;检查循环次数CMP BX,0JE LP3MOV CX,BXMOV SI,DIMOV FLAG,0LP2:MOV AL,[SI];前后比较CMP AL,[SI+1]JLE NEXTXCHG AL,[SI+1]MOV[SI],ALMOV FLAG,0FFHNEXT:INC SILOOP LP2;内循环继续JMP LP1;退出内循环LP3:DEC DI;重新设定循环次数MOV CL,[DI]MOV CH,0LP4:INC DI;循环输出字符MOV DL,[DI]MOV AH,02HINT21HLOOP LP4CALL ENTLEA DX,MEG8MOV AH,09HINT21HPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETFUN3ENDPFUN4PROC NEAR;子程序4PUSH AXPUSH BXPUSH CXPUSH DXCALL CROT;调用子程序CROTMOV CH,AL;装入入口参数MOV AH,01HINT21HCALL CROTMOV CL,ALMOV AH,01HINT21HCALL CROTMOV DH,ALMOV DL,0CALL ENTMOV AH,2DH;调DOS中断置时间INT21HCMP AL,0FFHJE FALPRT:PUSH DX;输出时间MOV AL,CHMOV AH,0MOV BL,0AHDIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT21HMOV DL,DHINT21HMOV DL,3AHINT21HMOV AL,CLMOV AH,0DIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT21HMOV DL,DHINT21HMOV DL,3AHINT21HPOP DXMOV AL,DHMOV AH,0DIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT21HMOV DL,DHINT21HMOV AH,2CH;调DOS中断取时间INT21HMOV AL,0AH;写入OCW3OUT20H,ALNOP;延时NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPIN AL,20H;读取IRRAND AL,02HJNE MKCALL COV;调子程序COVJMP PRTFAL:LEA DX,MEG7MOV AH,09HINT21HMK:CALL ENTMOV AH,01HINT21HLEA DX,MEG8MOV AH,09HINT21HPOP DXPOP CXPOP BXPOP AXRETFUN4ENDPCROT PROC NEAR;子程序CROT,完成ASCII码转换成两位十进制数PUSH BXPUSH CXPUSH DXMOV BL,0;初始化BL和BHMOV BH,0AHMOV DX,02H;设循环次数GET:MOV AH,01HINT21HSUB AL,30HCMP AL,0JB FALCMP AL,09HJA FALXCHG AL,BLMUL BHADD AL,BLXCHG AL,BLDEC DXCMP DX,0JNE GETMOV AL,BLPOP DXPOP CXPOP BXRET CROT ENDPCOV PROC;格式控制,使光标回到上个制表位PUSH AXPUSH CXPUSH DXMOV CX,08HMOV AH,02HMOV DL,08HREC:INT21HLOOP RECPOP DXPOP CXPOP AXRETCOV ENDPENT PROC;格式控制,输出回车换行MOV DL,0DHMOV AH,02HINT21HMOV DL,0AHMOV AH,02HINT21HRETENT ENDPMAIN ENDPCODE ENDSEND MAI五、程序调试及运行结果:主菜单1、功能一(小写字母转大写字母):2、功能二(找出ASCII码最大的字符):3、功能三(按ASCII码把字符从大到小排列):4、功能四(显示跳动的时间):5、功能五(退出程序):如果是错误的输入,提示如下:六、实验心得通过这个实验,基本掌握了子程序的调用方法,子程序可以单独设计,主程序做好了,可以嵌套具体功能的子程序实现需求,这个实验子程序可以分开调试,子程序决定具体功能,主程序是一个框架,这点有种化大为小的思想,告诉我们一个复杂功能的程序,可以分模块,按功能,一部分一部分地实现,最后嵌套,进行最后调试。

微机原理课程设计

微机原理课程设计

音乐演奏程序设计1设计任务使用汇编语言设计一个在计算机上运行的音乐演奏程序,屏幕显示钢琴图像,按“A”键唱乐曲,按“X”鍵退出。

2任务扩展实现以下附加功能之一:(1)按“B”键,播放暂停;(2)按“C”键,实现重复播放;(3)按“D”键,加快播放速度;(4)按“E”键,降低播放速度;(5)按“F”键,直接跳转到下首歌。

我选择的附加功能是按“F”键,直接跳转到下一首歌。

3程序设计3.1程序设计思路画钢琴界面时,先画出一个钢琴键,然后再用循环画出其余的钢琴键。

画单个钢琴键时,先画出下面的长方形,然后画出上面的平行四边形,然后画出右边的短横线,短横线也是用循环的方法画出那么多来的。

画完所有的钢琴键后,再单独画出最后一个键右边的平行四边形阴影。

实现下一首功能是通过改变FLAG的值,让FLAG自动加一,然后比较FLAG 里面的值,按顺序跳到相应的地址,播放相应的音乐。

当FLAG的值为3后,自动将FLAG值改为零,此时再按下“F”,FLAG的值就会加一,变为“1”,然后又开始播放第一首歌。

任何时刻按下“X”,就会退出程序。

3.2程序流程图单个钢琴键的绘制程序的流程图如下:图 3.1:单键绘制流程图整个钢琴键盘绘制程序的流程图如下:图3-2:钢琴键盘绘制流程图音乐播放程序的流程图如下:图3-3:音乐播放程序的流程图3.3程序清单汇编程序的所有源代码如下:;画横线DRAW_LINEX MACRO START_X,START_Y,END_X,COLOR LOCAL PAINTPUSH AXPUSH BXPUSH CXPUSH DXMOV CX,START_XMOV DX,START_Y ;设置起始坐标MOV AH,0CH ;写像素MOV AL,COLOR ;颜色设置MOV BX,0 ;在当前页操作PAINT:INT 10H ;调用中断进行画一个像素点INC CX ;每画一个像素点,横坐标加一CMP CX,END_X ;判断是否画完JNZ PAINT ;未画完,就继续画下一个像素POP DXPOP CXPOP BXPOP AXENDM; 画竖线DRAW_LINEY MACRO START_X,START_Y,END_Y,COLORLOCAL PAINT1PUSH AXPUSH BXPUSH CXPUSH DXMOV CX,START_XMOV DX,START_YMOV AH,0CHMOV AL,COLORMOV BX,0PAINT1:INT 10HDEC DX ;没画完一个像素点,纵坐标减一CMP DX,END_Y ;判断是否画完JNE PAINT1 ;未画完,继续画下一个像素点POP DXPOP CXPOP BXPOP AXENDM;画矩形DRAW_REGTANGLE MACRO START_X,START_Y,END_X,END_Y,COLOR LOCAL DRAW_NEXTPUSH AXPUSH BXPUSH CXPUSH DXMOV AH,0CHMOV AL,COLORMOV BH,0MOV CX,START_XMOV DX,START_YDRAW_NEXT:INT 10HINC CXCMP CX,END_X ;判断一行是否画完JNE DRAW_NEXT ;未画完继续MOV CX,START_X ;回到起始横坐标DEC DX ;每画完一行,列坐标减一CMP DX,END_Y ;判断矩形是否画完JNE DRAW_NEXT ;未完继续画下一行POP DXPOP CXPOP BXPOP AXENDM;画右斜平行四边形DRAW_PARALLELOGRAMX MACRO START_X,START_Y,END_X,END_Y,COLOR LOCAL DRAWPXPUSH DSPUSH SSMOV SI,START_XMOV DI,START_Y ;设置起始坐标MOV BP,END_XDRAWPX:DRAW_LINEX SI,DI,BP,COLOR ;调用画横线宏INC SI ;每画完一行,横坐标起始点加一INC BP ;横坐标终点加一DEC DI ;纵坐标起始点减一CMP DI,END_Y ;判断是否画完JNE DRAWPX ;未画完,继续画下一行POP DSPOP SSENDM; 画阴影四边形DRAW_PARALLELOGRAMY MACRO START_X,START_Y,END_X,END_Y,COLOR LOCAL DRAWPYPUSH DSPUSH SSMOV SI,START_XMOV DI,START_YMOV BP,END_YDRAWPY:DRAW_LINEY SI,DI,BP,COLOR ;调用画竖线宏INC SI ;每画完一列,横坐标起始点加一 DEC BP ;纵坐标终点减一DEC DI ;纵坐标起始点减一CMP SI,END_X ;判断是否画完JNE DRAWPY ;未画完,继续画下一列POP SSPOP DSENDM;画间隙中的横线(侧边部分)DRAW_PARALINE1 MACRO START_X,START_Y,END_Y1,COLOR LOCAL NEXT_LINE1PUSH AXPUSH BXPUSH CXPUSH DXPUSHFPUSH DSMOV CX,START_XMOV DX,START_YMOV SI,START_XADD SI,2 ;横线长度为2MOV AH,0CHMOV AL,COLORMOV BX,0NEXT_LINE1:INT 10HINC CXCMP CX,SIJNE NEXT_LINE1MOV CX,START_XSUB DX,2 ;横线间间隙为2CMP DX,END_Y1JAE NEXT_LINE1POP DSPOPFPOP DXPOP CXPOP BXPOP AXENDM;画间键身间隙间的横线(键体部分)DRAW_PARALINE2 MACRO START_X,START_Y,END_Y2,COLOR LOCAL NEXT_LINE2,GO_ONPUSH AXPUSH BXPUSH CXPUSH DXPUSHFPUSH DSPUSH SSMOV SI,START_XMOV DI,START_YMOV BP,START_XADD BP,2 ;横线长度为2MOV AH,0CHMOV AL,COLORMOV BX,0GO_ON:ADD SI,2 ;每画完一条,起始横坐标加2 SUB DI,2 ;纵坐标减2ADD BP,2 ;终点横坐标加2MOV CX,SIMOV DX,DI ;重新设置起始点坐标NEXT_LINE2:INT 10HINC CX ;画完一个像素点,横坐标加一CMP CX,BP ;判断一条横线是否画完JNE NEXT_LINE2 ;未画完,继续画CMP DX,END_Y2 ;判断是否全部画完JA GO_ON ;未完,继续POP DSPOP SSPOPFPOP DXPOP CXPOP BXPOP AXENDMDATA SEGMENTWHITE DB 0FFHBLACK DB 0YELLOW DB 88HGRAY DB 8 ;键盘颜色定义STARTX DW 100 ;起始横坐标STARTY DW 300 ;起始纵坐标ENDX DW 130ENDY DW 280LASTX DW ?LASTY DW 200FLAG DB 1RATE DW ? ;播放速度变量INFO1 DB 0DH,0AH,'Welcome to this interface!$' INFO2 DB 0DH,0AH,'Please enter A to start!$'INFO3 DB 0DH,0AH,'OPTIONS:$'INFO4 DB 0DH,0AH,'WRONG ORDER!$'INFO5 DB 0DH,0AH,'INPUT AGAIN!$'INFO6 DB 0DH,0AH,'GO TO NEXT MUSIC!$'MUSLIST DB 0DH,0AH,'A: START'DB 0DH,0AH,'F: NEXT MUSIC'DB 0DH,0AH,'X: ESC'DB 0DH,0AH,'$' ;提示语;音乐一------------------------------------------------------------ MUS_FREG1 DW 330,294,262,294,3 DUP (330)DW 3 DUP (294),330,392,392DW 330,294,262,294,4 DUP (330)DW 294,294,330,294,262,-1MUS_TIME1 DW 6 DUP (25),50DW 2 DUP (25,25,50)DW 12 DUP (25),100;音乐二----------------------------------------------------------- MUS_FREG2 DW 330,392,330,294,330,392,330,294,330DW 330,392,330,294,262,294,330,392,294DW 262,262,220,196,196,220,262,294,332,262,-1MUS_TIME2 DW 3 DUP(50),25,25,50,25,25,100DW 2 DUP(50,50,25,25),100DW 3 DUP(50,25,25),100;音乐三----------------------------------------------------------- MUS_FREG3 DW 262,262,294,262,349DW 330,262,262,294,262DW 392,349,262,262,523DW 440,349,262,262,466DW 466,440,262,392,349,-1MUS_TIME3 DW 50,50,100,100,100DW 100,100,50,50,100,100DW 100,100,100,50,50,100DW 100,100,100,100,100,50DW 50,100,100,100,100,100 ;音乐段DATA ENDSSTACK SEGMENTDB 400 DUP ('STACK')STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: ;主程序MOV AX,DATAMOV DS,AXCALL PIANOCALL MUSIC_PLAY; 音乐播放子程序MUSIC_PLAY PROCSHOW MACRO b ;定义一个宏显示字符串LEA DX,bMOV AH,9INT 21HENDMADDRESS MACRO A,B ;音乐地址宏LEA SI,ALEA BP,DS:BENDMSHOW INFO1SHOW INFO2SHOW INFO3SHOW MUSLIST ;提示语INPUT:MOV AH,01HINT 21HCMP AL,'X'JZ RETU ;按下为‘X’则退出dosCMP AL,'A' ;按下为‘A’则播放音乐JZ A0 ;是则跳到A0SHOW INFO4SHOW INFO5JMP INPUT ;否则提示输入错误,重新开始A0:ADDRESS MUS_FREG1,MUS_TIME1MOV RATE,7500 ;设置正常播放速度CALL MUSICJMP AGAINF0:CMP AL,'F'JNZ EXITNEXT:SHOW INFO6ADD FLAG,1NUM1:CMP FLAG,1JNZ NUM2ADDRESS MUS_FREG1,MUS_TIME1CALL MUSICJMP AGAINNUM2:CMP FLAG,2JNZ NUM3ADDRESS MUS_FREG2,MUS_TIME2CALL MUSICJMP AGAINNUM3:MOV FLAG,0ADDRESS MUS_FREG3,MUS_TIME3CALL MUSICJMP AGAINRETU:MOV AH,4CHINT 21HAGAIN:SHOW INFO5JMP INPUTEXIT:SHOW INFO4 ;按键错误,重新选择 SHOW INFO5JMP INPUTRETMUSIC_PLAY ENDP;发声GENSOUND PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DIMOV AL,0B6H ;开扬声器OUT 43H,ALMOV DX,12HMOV AX,348CHDIV DIOUT 42H,ALMOV AL,AHOUT 42H,ALIN AL,61HMOV AH,ALOR AL,3OUT 61H,ALWAIT1:MOV CX,RATE ;设置播放速度 CALL WAITFDELAY1:DEC BXJNZ WAIT1MOV AL,AHOUT 61H,ALPOP DIPOP DXPOP CXPOP BXPOP AXRETGENSOUND ENDPWAITF PROC NEARPUSH AXWAITF1:IN AL,61HAND AL,10HCMP AL,AHJE WAITF1MOV AH,ALLOOP WAITF1POP AXRETWAITF ENDPMUSIC PROC NEARPUSH DSSUB AX,AXPUSH AXFREG:MOV DI,[SI] ;获取频率值CMP DI,-1 ;音乐播放结束判断JE END_MUSMOV BX,DS:[BP]CALL GENSOUND ;播放一个频率ADD SI,2ADD BP,2 ;获取下一频率值,及其播放时间MOV AH,0BH ;判断键盘是否有键按下INT 21HCMP AL,0FFHJE INT9 ;有键按下则转去执行该指令JMP FREG ;无键按下则继续读取下一个频率值END_MUS:RETINT9:PUSHFPUSH AXPUSH DSPUSH ESPUSH CSPOP DSPUSH CSPOP ESIN AL,60H ;从键盘获取该键值ASCII码MOV AH,0INT 16H ;读取并保存到AL中CMP AL,'X' ;若为‘X’则退出dos操作界面JZ X0CMP AL,'F' ;若为‘F'则跳到下一首JZ NEXT1INT9_QUIT:POP ESPOP DSPOP AXPOPFJMP FREGX0:POP ESPOP DSPOP AXPOPFJMP RETUNEXT1:POP ESPOP DSPOP AXPOPFJMP NEXTMUSIC ENDP; 键盘绘图PIANO PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXMOV AH,0 ; 设置屏幕显示图形方式:每屏幕字符数80×25, 16色MOV AL,12HINT 10H ; 调用10H的0号功能中断; 键盘绘制主程序MOV CX,12DRAWING:CALL PIANO_DRAWCALL LINE_DRAWLOOP DRAWINGCALL PIANO_DRAWADD STARTX,30PUSH DXMOV DX,STARTXMOV LASTX,DXADD LASTX,80POP DXADD ENDX,30DRAW_PARALLELOGRAMY STARTX,STARTY,LASTX,ENDY,GRAY DRAW_LINEX 100,300,STARTX,GRAYPOP DXPOP CXPOP BXPOP AXRETPIANO ENDPPIANO_DRAW PROCDRAW_REGTANGLE STARTX,STARTY,ENDX,ENDY,WHITEDRAW_LINEX STARTX,ENDY,ENDX,GRAYDRAW_PARALLELOGRAMX STARTX,ENDY,ENDX,LASTY,WHITE RETPIANO_DRAW ENDPLINE_DRAW PROCDRAW_PARALINE1 ENDX,STARTY,ENDY,YELLOWDRAW_PARALINE2 ENDX,ENDY,LASTY,YELLOWADD STARTX,32ADD ENDX,32RETLINE_DRAW ENDPCODE ENDSEND START4程序运行与调试4.1运行程序把编好的源程序命名保存为YINYUE.asm,在MF2KP集成环境中进行调试,首先点运行选项中的调试,如果编译成功,就选择运行选项中的生成exe文件,这样就产生了一个可运行程序,然后点击运行,就会看到与题目要求相符的界面.程序运行截图:开始界面:图4-1:开始界面运行开始后显示钢琴界面,并显示提示语言。

微机原理课程设计---步进电机设计

微机原理课程设计---步进电机设计

目录摘要 (1)Abstract (2)1 课程设计任务及要求 (3)1.1 设计任务 (3)1.2 设计要求 (3)2 方案设计 (3)2.1 方案一 (3)2.2 方案二 (6)2.3 方案比较 (12)3 硬件分析 (13)3.1 电路设计图 (13)3.2 各部件分析 (14)4 软件分析 (21)5调试运行 (22)5.1 方案一程序调试运行及仿真 (22)5.2方案二调试运行及仿真 (23)6心得体会 (25)参考文献 (26)附录一方案一源程序 (27)附录二方案二源程序 (30)课程设计任务书学生姓名:专业班级:自动化0902指导教师:徐小强工作单位:自动化题目:步进电机设计初始条件:用汇编语言设计一个步进电机的控制,在Proteus仿真环境下完成,功能上实现步进电机的基本功能。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 通过键盘控制步进电机的启动和停止,正转和反转;2. 编制完整的程序并调试;3.撰写符合学校要求的课程设计说明书,内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:1. 1月4日----1月5日查阅资料及方案设计2.1月6日----1月8日编程3.1月9日----1月10日调试程序4.1月11日 ----1月12日撰写课程设计报告5.1月13日上午准备答辩,下午正式答辩指导教师签名:年月日系主任(或责任教师)签名:年月日摘要步进电机是工业生产过程控制及仪表中的主要控制元件之一。

例如,在机械结构中,可以用丝杠把角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。

在数字控制系统中,由于它可以直接接受计算机输出的数字信号,而不需要进行数/模/转换,可以用起来非常方便。

华工微机课程设计

华工微机课程设计

华工微机课程设计一、教学目标本课程的教学目标是使学生掌握华工微机的基本原理和应用技能。

具体包括:1.知识目标:学生能够理解微机的组成原理、工作方式以及编程方法。

2.技能目标:学生能够使用华工微机进行简单的程序设计和系统调试。

3.情感态度价值观目标:培养学生对微机技术的兴趣和好奇心,提高学生解决实际问题的能力。

二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.微机的组成原理:介绍微机的各个组成部分及其功能,如CPU、内存、输入输出设备等。

2.微机的工作方式:讲解微机的工作流程,包括指令执行、数据处理等。

3.编程方法:教授华工微机的编程语言和编程技巧,如汇编语言、C语言等。

4.系统调试:介绍如何使用调试工具对微机程序进行调试和优化。

三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:用于讲解微机的组成原理、工作方式和编程方法。

2.讨论法:鼓励学生就实际问题进行讨论,培养学生的解决问题的能力。

3.案例分析法:通过分析具体的案例,使学生更好地理解和掌握微机技术的应用。

4.实验法:安排实验课程,让学生亲自动手进行程序设计和系统调试,提高学生的实践能力。

四、教学资源我们将准备以下教学资源以支持课程的开展:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。

2.参考书:提供丰富的参考书籍,拓宽学生的知识视野。

3.多媒体资料:制作精美的多媒体课件,提高课堂的教学效果。

4.实验设备:确保每个学生都能有机会进行实验操作,提高实践能力。

五、教学评估为了全面、公正地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等,评估其学习态度和理解程度。

2.作业:布置适量的作业,评估学生对课堂所学知识的掌握情况。

3.考试:进行期中、期末考试,全面测试学生的知识水平和应用能力。

4.实验报告:评估学生在实验过程中的操作技能和问题解决能力。

六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保每个知识点都能得到充分的讲解和讨论。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六.硬件接线图················································(12) 七.实验源程序················································(13) 八.调试分析···················································(16) 九.设计总结···················································(16)
微机原理课程设计
一、设计目的Biblioteka (1)掌握 8086、8253、8254、8259 等常用芯片的使用及连接方法 (2)掌握 8253、8254 等初始化编程方式 (3)加深对中断控制方式的理解以及中断的具体使用 (4)学习使用 ADC0809 芯片进行数模转换 (5)深化汇编语言的编程思想同时对本学期所学内容进行综合
二、实验器件
8086、74LS138、74LS373、74LS245、8253、8255、ADC0809、7 段数码管、5KΩ 电位器、+5v 电源等
三、设计内容
利用《微型计算机原理》课程中所学的主要可编程接口芯片 74LS138、8253、8255A、 ADC0809 和中断控制器 8259 设计一个模拟电压采集电路。采用 ADC0809 设计一个单通 道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送 至数码管 LED 指示,采集完 100 个数据后停止采集过程。
四、设计原理
1、设计思想
(1)利用 8086 和 74LS373 的连接进行地址的锁存,输出用作控制信号 A0-A4,其 中 A0,A1 接至 8253 及 8255 的 A0,A1 端,A2,A3,A4 用作 74LS138 译码器的输入
(1)8255 内部结构···············································(· 8) (2)8255 寻址··················································(8) (3)8255 工作方式控制字·······································(9) (4)8255 端口 C 置位/复位控制字·································(· 9) (5)8255 与 cpu 的连接···········································(· 9) (6)8255 初始化编程············································(10) 5、编写中断程序···········································(10)
五.程序流程图················································(11)
1、主程序流程图············································(11) 2、中断子程序流程图······································(12)
1、设计思想··················································(3) 2、ADC0809 简介·············································(3) (1)ADC0809 功能及引脚········································(3) (2)ADC 地址译码与通道选择····································(4) (3)ADC0809 工作时序图········································(4) (4)ADC0809 与系统总线的连接·································(5) (5)ADC0809 编程···············································(5) (6)8255 与 ADC0809 的连接示意图······························(6) 3、8253 简介·················································(6) (1)8253 内部结构···············································(· 6) (2)A0,A1 功能说明···········································(6) (3)8253 读写操作·············································(7) (4)8253 控制字···············································(7) (5)8253 初始化编程···········································(7) 4、8255 简介·················································(8)
目录
一.设计目的····················································(3) 二.实验器件····················································(3) 三.设计内容····················································(3) 四.设计原理····················································(3)
相关文档
最新文档