微机课设代码
微机原理课设报告
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。
根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。
2、用转换的到的数字信号再经数模转换,对直流电机进行控制。
拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。
2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。
三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。
而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。
与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。
2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。
取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。
得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。
对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。
对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
(汇编代码)微机原理课程设计之TANK坦克大战
测试游戏功能是否正常
检查游戏性能是否达标
调试游戏中的错误和问题
优化游戏性能和体验
游戏测试:成功运 行,无严重错误
调试过程:定位并 修复了若干问题
测试结果:性能稳 定,符合预期
结论:游戏测试和 调试工作顺利完成
游戏优化和改进
优化算法:采用更高效的算法,减 少计算量,提高游戏运行速度。
完 成 TA N K 坦 克 大 战 游 戏 的 程 序设计和实现
学会使用汇编语言进行编程
掌握游戏的基本规则和玩法
游戏规则和玩法
游戏目标:击败所有敌人,保护基地 角色设定:玩家扮演坦克,有生命值和弹药量限制 武器装备:多种武器可供选择,不同武器有不同的攻击力和射程 游戏地图:多个关卡,每个关卡有不同的地形和敌人配置
添加标题
游戏状态管理:游戏状态包括开始、进行中和结束三个状态。在开 始状态下,玩家可以开始游戏;在进行中状态下,玩家可以操作坦 克移动和射击;在结束状态下,游戏结束并给出评价。
添加标题
游戏角色行为:游戏角色包括玩家坦克和敌方坦克。玩家坦克的行 为包括移动和射击;敌方坦克的行为包括移动和攻击。
游戏界面布局:简洁明了,易于操作 角色设计:形象生动,符合游戏主题 场景设计:丰富多样,增加游戏趣味性 特效设计:绚丽多彩,提升游戏体验感
添加标题
添加标题
添加标题
添加标题
敌方角色:游戏中的敌方坦克种类多 样,包括轻型坦克、重型坦克、自行 火炮等,具有不同的攻击和防御能力, 对玩家构成威胁。
游戏辅助角色:游戏中的一些辅助角 色,如地图、弹药补给点等,为玩家 提供地图信息和弹药补给服务,帮助 玩家更好地进行游戏。
游戏程序设计和实 现
游戏整体架构:包 括游戏的主要功能 模块和各模块之间 的关系
《计算机组装与维护》课程标准
《计算机组装与维护》课程标准课程代码: 400074 课程类别:理论+实践适用专业:网络技术学时:64编写人:徐辉审定负责人:孟云玲一、课程概述1、课程性质《计算机组装与维护》课程是计算机基础课程体系中的一门基础课程。
该课程体系包含二两主干课程。
本门课程在课程体系的实施次序中排第二,位于《计算机应用基础》之后。
本课程对学生毕业后从事计算机组装、机房管理、计算机售后服务、产品质检、计算机与数码产品维修等岗位工作的职业能力培养和职业素质养成起重要支撑作用。
本门课程是计算机类专业的专业基础课,也是十分重要的就业所需的专业技能课程。
本课程一共分为7个模块,通过具体的任务分别介绍计算机硬件的识别和选购、计算机硬件的组装、BIOS的设置和硬盘分区、操作系统和应用软件的安装、系统测试、系统维护常见故障的检测与维修等知识。
(一)课程理念1、课程名称:计算机组装与维护2、适合专业:各专业3、教学时间安排:第2学年第1学期4、计划课时:325、对学生已有知识技能的要求:①能认识常见的电脑主机与外设;②能比较熟练地使用写字板、word等工具软件;③能运用Powerpoint进行简单的演示文稿设计;④具有基本的美学知识、数学知识、语文知识、英语知识。
6、对教师的资格要求:①熟悉计算机组装与维护的整个过程;②具有电脑硬件识别的实践经验;③具有电脑配机的实践经验;④具有电脑组装(硬件组装和软件安装)的实践经验;⑤具有计算机硬件及整机评测的实践经验;⑥具有电脑维护维修的实践经验;(三)设计思路课程教学以工作过程为导向,采用任务驱动式案例教学。
根据地域对计算机组装与维护技能人才的能力要求和高职学生的认知特点,形成从简单到复杂的系统化教学案例,形成“课堂案例—软硬件功能解析—课堂练习—课后作业“的连贯思路,课程安排上突出学生教学主体作用,重视职业能力的培养,充分体现课程教学的实用性和针对性。
在课程学习中注重学生知识、技能和情感态度的培养以及专业能力、方法能力、社会能力的形成,培养学生综职业能力。
微机原理及应用课程设计
祝同学们: 顺利完成课设任务!
评分标准
优秀:能独立完成设计要求所规定的全部内容,设计方案正 确,基本概念清楚,有独到的见解或创造性。报告书写规 范,条理清晰。 良好:能较好完成设计要求所规定的全部内容,设计方案正 确,分析问题正确、基本概念清楚。报告书写较规范,条理 较清晰。 中等:能完成设计要求规定的全部内容,设计方案基本正 确,基本概念清楚。报告书写较规范,语言流畅。 及格:基本完成设计要求规定的内容,设计方案基本合理, 基本概念较清楚。报告书写比较认真,无抄袭现象。 不及格:未完成设计要求规定的内容,设计方案不合理,或 有较严重缺陷,基本概念不清楚。对有抄袭他人设计图(论 文)或找他人代画设计图纸、代做论文等行为的弄虚作假者 一律按不及格处理。
自由组合,2~3人为一小组。 各组的课设题目: 小组成员学号的后两位之和除8的余数 加1即为课程设计的题目号。 请班长或学委在周二上午将分组和选题情况 表发到邮箱:miao_xian@
基本要求
1. 周二至周五全天在5503实验室(上午8:30-11:30,下午
2:30-5:30 不定时考勤)。 2. 针对所选课题进行硬件设计,绘制系统结构框图和硬件接 线图,并在实验系统上完成电路的连接和调试。 3. 根据所选课题的要求对微机系统进行程序设计,绘制程序总 体流程图并编写程序上机调试,要求对源程序附加程序设计 说明和程序注释。 4. 根据2、3两项写出课程设计报告,要求条理清晰、语言流畅、 绘图规范,设计报告要对整个设计过程进行归纳和总结,对 设计中存在的问题和不足进行分析,提出解决的方法和措施, 以及对本次课设实践的认识、收获和感想。
设计进度安排
周一:分组,选择设计题目,查阅相关资料 周二到周四:软硬件设计,上机调试,撰写设计报告 周五:验收,答辩 注1:周五之前完成设计的组随时可以验收,早完成的组成 绩评优率高。 注2:验收完的组,程序不可扩散给其他同学,否则影响本 组同学的成绩。
微型计算机技术课设
2015-1-19
4
四、设计思路
1.利用74LS138设计地址译码电路,8255A端口地址: 300H~303H,8253的端口地址:304H~307H。 2.74LS245用于总线和8253、8255A之间的双向传输和隔 离。 3.利用面包板上时钟(1MHz或2MHz)和8253设计一个1s 定时电路,将定时信号接到8255的PC4,编程查询PC4的状 态,若为低电平,则从8255A的PA口输出不同的值使和PA 口相接的发光二极管依次变化,实现走马灯的效果。按下 Esc键结束程序。 4.每个74LS06中包含了6个非门,它的输入来自PA口的某 一位,输出接到发光二极管的负极。 5.每个发光二极管的正极接排电阻的从2到9的一个引脚, 排电阻的1脚接VCC(+5V)。
3
2015-1-19
三、设计内容
1.功能要求 采用8253设计一个1s定时电路,将定时信号接到8255的 PC口的某一位,编程查询该位的状态,若为低电平,则从 8255A的PA口输出不同的值使和PA口相接的发光二极管依 次变化,实现走马灯的效果。按下Esc键结束程序。 2.设计所需器材与工具 ① 一块实验面包板(内含时钟信号1MHz或2MHz)。 ② 可编程芯片8253、8255A、74LS138、74LS245各一片。 74LS06两片,发光二极管8个。排电阻一个。 ③导线若干。 ④ 示波器、万用表、常用工具等共用(从实验室现借现还)。
2015-1-19
23
译码电路(3) 下图是本实验设备(MFID-5微机原理与接口实验平台)对译码电路的简 化,8255CS对应的地址为300H~303H, 8253CS对应的地址为304H~307H。如 果将二者对调,则译出的地址也对调。
微机原理第七个微机原理打字游戏课程设计程序带注释
; 用于输出菜单:在光标在 (op1,op2) 开始地地方输出字符串 op3ENDM ; 将左上角 (op1,op2) MACRO op1,op2,op3,op4MOV AH,06hMOV AL,00h MOV BH,07h MOV CH,op1 MOV CL,op2 MOV DH,op3 MOV DL,op4 INT 10hMOV AH,02hMOV BH,00h MOV DH,op1 MOV DL,op2 INT 10hENDM初始化游戏 , 用于设置游戏地边框 Init_game MACROop1,op2,op3,op4,op5,op6MOV CX,00h将光标设置在 行:DH,列:DLMOV DH,op1INT 10hMOV AH,0ah MOV AL,op3 MOV BH,00h MOV CX,01hINT 10h ;****************** POP CXMACRO op1,op2,op3MOV AH,02h MOV BH,00h MOV DH,op1MOV DL,op2 INT 10h MOV AH,09h LEA DX,op3 INT21hmenuPUSH CX 右下角 (op3,op4) 决定地矩形区域清除显示字符clear_screen ・*******************设置光标在 op1 行 ,op2 列・ **********************************・ ******************MOVop6:MOV MOVDL,op2AH,02hBH,00h在指定光标地位置输出字符 op3"jwmilzoeucgpravskntxhdyqfbiytpkwnxlsvxrmofzhgaebudjqnwimzoexrphysfqtvdcgljukda" speed DW30000Dletter_counter DB 0 present_position DB 0 data ENDS CODE SEGMENTASSUME CS:CODE , DS:data START:MOV AX,data MOVDS,AX;***************** 首先设置游戏地主边框 Init_game 00h,00h,0ah,DL,80d,L1 Init_game 24d,00d,0ah,DL,80d,L2 Init_game 00d,00d,0ah,DH,25d,L3 Init_game 00d,79d,0ah,DH,25d,L4clear_screen 01d,01d,23d,78d menu 05d,15d,ZK menu 07d,15d,mes1 menu 09d,15d,mes2 menu11d,15d,mes3 menu 13d,15d,mes4 menu 15d,15d,mes5 menu 17d,15d,mes6 MOV AH,02h MOV BH,00h MOVDH,22dINC CXINCop4 ;op4用来决疋输出增长地方向是列还是仃DH :仃CMPCX,op5JNEop6;*******************重复输出字符 op3,op5 次 ,ENDM;*********************************** 数据段 , 用于初始化游戏有关地数据data SEGMENTZK DB "WELCOME TO PLAY!$"mes1 DB "data: 2011/01/08$"mes2 DB "press Enter key to continue .. $"mes3 DB "when a letter is droping ,please hit it!$"mes4 DB "press space key to pause!$"mes5 DB "press ESC key to return main interface!$"mes6 DB "press letter 'E'to exit!$"lost DB "Game over!$"letter DBDL :列gobackto_di:ADD DI,WORD PTR present_position DEC DIMOV DL,present_position MOVAH,02hMOV DL,33d INT 10h ;************** 设置光标地位置MOV AH,01h;********************设定DOS 为键盘输入字符并回显功能INT 21h;********************判断输入地字符CMP AL,0dhJE speed3 ; 输入为 enter 键, 跳到游戏主程序CMP AL,45h JE L10; 输入为 E, 跳到退出 , 结束游戏 L10: JMPexitspeed3: clear_screen 01d,01d,23d,78d Init_game 23d,01d,01d,DL,78d,next5MOV AH,02hMOV BH,00h MOV DH,01d MOV DL,01dINT 10hMOV CX,00h LEA SI,lett ernextletter:MOV DL,[SI] MOV AH,02h INT 21h INC SI INC CX CMP CX,78d JE nextcycle JMP nextletter改正下落地址超过 78 列地地址from_front: SUBJMPpresent_position,78d gobackto_dinextcycle:LEADI,letter ;DIADD present_position,31d ;加上 31CMP present_position,78d则改正指向待下落字母地首地址将下落地字母地列数设置为在前一个下落字母基础上; 比较设置过地下落地址地列数是否超过78列, 若超过 ,JA from_front・ ********************用于将光标定位在待下落地字母 , 用于操作该字母・ *********************MOV BH,00h MOV DH,01d INT 10h・ ******************** 三层循环, 第一层用于判断是否下落了21 ;第二层和第三层结合构成延时次, 即一次下落是否完成, 控制每一行地下落速度MOV CX,00h nextrow:PUSHMOV CX,00h out_cycle:PUSHMOV CXCX CX,00hin_cycle:INC CXCMP CX,1000hJNE in_cyclePUSH DX・*******************JMOV AH,06hMOV DL,0ffhINT 21hPOP DX・ ******************* 设置DOS为键盘输入字符且不回显状态判断输入字符:ESC-- 进入主程序选择界面space-- 暂停下落地字符-- 消失CMP JEAL,1bh to_start1CMP JE CMP JE AL,' '・ ************ pauseAL,[DI]disappear延时程序, 用于控制下落过程中在每一行地延时时间时间=speed*10000 pass:POPINC CX CMPJE print; CXCX,speed ; 判断在一行地延时是否达到在该行延时时间达到且没有被击中3000 次(用于控制延时时间), 跳到print, 即该行输出空格, 下一行输出字母JMP out_cycle;・*******************实现,除非再次输入空格延时未达到, 重新开始用于响应空格地暂停程序:通过将, 否则循环检查DOS设置为按键输入且不回显状态pause:PUSH DXMOV AH,06hMOV DL,0ffhINT 21h POP DXCMP AL,' ' JNE pause JMP pass ・ ********************** 用于转接跳转到开始主程序to_start1: JMP start ・ ***********当上一行停留时间达到且没有被正确击中 , 将上一行输出空格 , 该行输出下落地字母 print: ・ *************MOV 将上一行输出空格AH,0ah MOV MOv MOv INT AL,' ' BH,00h CX,01h 10h 增加DH 地值,使光标指向该行 INC DH MOV AH,02h MOV BH,00hINT 10h************* 在该行 MOV AH,0ah MOV AL,[DI] MOV BH,00hMOV CX,01h INT 10h・*************・*************落地字母 POP INC CMP JE 用于确定下落次数是否达到 21 CX CX CX,21d print_next_letter; 次 , 即该字母下落是否完成 落次数达到 21 次, 字母下落完成 , 跳到下一个子程序 , 用 于补充下落地字母 JMP disappear: POP POP MOVMOVnextrow;************CXCX当下落过程中击中该字母 , 使其消失 , 即输出空格代替 MOV MOV INT AH,0ahAL,' 'BH,00h CX,01h 10hJMPhi tprint_next_letter:;************* 将下落到底且没有被击中地位置输出为空格MOV AH,0ah MOV AL,' ' MOV BH,00hMOV CX,01h INT 10hINC DH MOV AH,02h MOV BH,00h INT10h********* 在窗口底框上一次标识字母输出为空格 , 用于表示该列字母下降时未被击中 MOV AH,0ah MOV AL,' ' MOV BH,00h MOV CX,01h INT 10h INCletter_counter ;计算下落未被击中地次数CMP letter_counter,78d ; 下落地未被击中次数达到 78 次 , 返回主界面 , 重新来过 JE completehit:用于补充新字母 , 把光标设置下落字母地所在列地第一行MOV AH,02h MOV BH,00hMOV DH,01hMOV DL,present_position INT10h・**************JvLMOV ADD CMP JA DIsplay: AL,[DI]AL,7h AL,7ahconvey_letter; 判断新字母是否超出了 z 地范围 , 超出则改正MOV MOV MOV AH,0ah BH,00h CX,01h INT 10hJMP nextcycle convey_letter: SUB AL,7ah ADD AL,61h JMPDIsplay・ *****************将光标指向底层一排用于标识字母是否被击中地位置・ **************complete:menu11d,35d,lostMOV CX,00h ・******************* LOOP1:PUSH MOV LOOP2:INC CMP JNE POP INC CMP JNE JMP exit: MOV INTCODE ENDS END CX CX,00hCX CX,60000dLOOP2 CX CX CX,30000d LOOP1 START AH,4ch21h START。
微机原理课程设计(电子时钟)
电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路1.选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
2.此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。
该程序实现了准确显示秒和分,读数准确,走时精准。
此电子钟能准确的从0时0分0秒走时到23时59分59秒,然后能自动回复到0时0分0秒循环走时。
3.基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。
以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。
在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。
微机原理课程大纲
《微机原理》课程教学大纲一、课程名称(中英文)中文名称:微机原理英文名称:Principle of Microcomputer二、课程编码及性质课程编码:0800305课程性质:专业核心课,必修课三、学时与学分总学时:32学分:2.0四、先修课程电路理论、模拟电子技术、数字电子技术、C语言及其编程五、授课对象本课程面向材料成型及控制工程专业学生与电子封装技术专业学生开设,也可以供材料科学与工程专业选修。
六、课程教学目的(对学生知识、能力、素质培养的贡献和作用)《微机原理》是材料加工工程专业学生必修专业课程之一,其教学的主要目的包括:1、通过一门理论性、实践性和实用性很强的职业技能课程,增强学生的分析问题能力、编写程序能力与动手能力。
2、深入了解单片微型计算机的原理与结构,为今后成型设备开发打下牢固的理论基础。
3、系统掌握单片机的指令系统、接口技术和一般应用开发方法,为今后设计实际的单片机应用系统打下牢固的理论基础。
4、了解微型计算机技术的发展前沿,掌握其发展特点与动向,具备研发单片机的基础与能力。
七、教学重点与难点:教学重点:1)当今计算机技术飞速发展,本课程以介绍单片微型计算机中最典型的8051为主体、以讲述单片机结构与应用为重点;2)在全面了解与掌握单片微型计算机种类及结构特点的基础上,重点学习汇编语言开发单片微型计算机技术;3)课程将重点或详细介绍新颖的流行的微型控制器及其开发方法,为同学提供更多的实践机会;4)重点学习的章节内容包括:第2章“单片机的结构和原理”(4学时)、第3章“单片机的指令系统”(4学时)、第4章“汇编语言程序设计基础”(8 学时)、第6章“单片机的定时/计数器”(8学时)。
教学难点:1)单片机原理与接口技术课程是实践性极强的课程之一,本课程将密切结合学生的生产实习、课程设置、实验课等实践环节,培养学生对单片微型计算机的认识及设计能力,提高授课质量与效果。
2)通过本课程学习,要求掌握单片微型计算机中的工作原理、结构特点、应用范围、控制方法等,具备合理开发单片微型计算机实践的能力。
微型计算机课程设计-简易计算器
课程设计设计名称: 微型计算机技术及应用——简易计算器学院:信息工程学院课程:微型计算机技术及应用姓名:学号:班级:2014级计算机科学与技术二班目录摘要 (3)一、前言 (4)1.1背景 (4)1.2项目介绍 (4)二、课程设计的目的与任务 (5)2.1设计目的 (5)2.2设计任务 (5)三、设计过程 (5)3.1基础理论 (5)3.1.1DOSBox简介 (5)3.1.2中断 (8)四、设计 (11)4.1总体方案 (11)4.2原理框图 (12)4.3程序代码 (13)五、系统模块详细设计与调试 (24)5.1系统模块详细设计 (24)5.1.1设置屏幕显示方式 (24)5.1.2显示主菜单 (24)5.1.3从键盘接收一个数字 (24)5.1.4接收键入用于计算的数 (25)5.1.5显示结果 (25)5.1.6子程序A2——将数的ASCII码转为二进制数 (25)5.1.7将计算结果的二进制数转换为对应的十进制数ASCII码并输出显示(A3程序段) (27)5.2程序编译、运行与调试 (27)六、设计总结 (29)七、参考文献 (31)摘要本次课程设计是通过使用DOSBox汇编语言编程软件实现的利用汇编语言编写的较为复杂的程序设计。
该课程设计主要是设计一个较为简单的计算器,界面显示要求用户从键盘上分别输入两个随机数,完成四则运算,然后将运算结果显示到屏幕上。
该设计智能实现简单的正整数之间的四则运算,无法对小数进行精确地识别。
而除法运算可以精确到3位小数,减法可以显示出负数的结果。
采用DOS调用(INT 21H)来完成键盘的输入和屏幕的输出。
通过这次的课程设计能够进一步加深对专业知识和理论知识学习的认识和理解。
关键词:DOSBox;微机原理;计算器;汇编语言一、前言1.1背景计算器是现代人发明的可以进行数字运算的电子机器。
现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱。
8086微机课程设计
8086微机课程设计一、教学目标本课程的教学目标是让学生掌握8086微机的原理、接口技术及其应用,培养学生具备微机系统设计和调试的能力。
具体分为以下三个层面:1.知识目标:使学生了解8086微机的硬件结构、指令系统、寄存器、中断处理等基本知识;掌握微机接口技术,包括并行接口、串行接口、AD/DA转换等;了解微机在现代工业控制系统中的应用。
2.技能目标:培养学生具备8086微机程序设计能力,能熟练使用汇编语言和C语言进行程序设计;培养学生具备微机系统硬件调试能力,能使用常用的调试工具进行硬件调试。
3.情感态度价值观目标:培养学生对微机技术的兴趣,认识微机技术在现代社会中的重要性,培养学生创新意识和团队合作精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.8086微机的基本原理:介绍8086微机的硬件结构、指令系统、寄存器等基本知识。
2.微机接口技术:包括并行接口、串行接口、AD/DA转换等,以及这些接口在实际应用中的设计方法。
3.微机程序设计:介绍汇编语言和C语言在8086微机程序设计中的应用,包括程序设计方法、调试技巧等。
4.微机系统设计:介绍微机系统的设计方法,包括硬件选型、电路设计、系统集成等。
5.实践环节:安排一定的实验课时,使学生在实际操作中掌握微机原理和接口技术。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解基本原理、概念和知识点。
2.案例分析法:通过分析实际案例,使学生更好地理解微机原理和接口技术。
3.实验法:安排实验课时,让学生亲自动手进行实验,提高实际操作能力。
4.讨论法:学生进行课堂讨论,促进学生之间的交流与合作。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的多媒体课件,提高课堂教学效果。
微机原理课程设计(汇编语言)——将键盘输入的小写字母转换成大写..
设计6、将键盘输入的小写字母转换成大写字母的设计1.实验要求:为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。
编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
2.参考流程:3.程序清单:DA TA SEGMENTDA TA1 DB 20 DUP(?)DISPP1 DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$'DISPP2 DB 'the inverted litter is:', 0DH, 0AH,'$'DISPP3 DB 0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV SI,00HMOV BX,OFFSET DA TA1LEA DX,DISPP1MOV AH,9INT 21HL1: MOV AH,1INT 21HCMP AL,03HJZ L4CMP AL,0DHJZ L3CMP AL,61HJZ L2SUB AL,20HJMP L2L2: MOV [BX+SI],ALINC SIJMP L1L3: LEA DX,DISPP3MOV AH,9INT 21HLEA DX,DISPP2MOV AH,9INT 21HMOV [BX+SI],ALMOV AL,0AHMOV [BX+SI+1],ALMOV AL,'$'MOV [BX+SI+2],ALMOV DX,BXMOV AH,9INT 21HLEA DX,DISPP3MOV AH,9INT 21HJMP L4L4: MOV AH,4CHINT 21HCODE ENDSEND START4.运行结果显示:文- 汉语汉字编辑词条文,wen,从玄从爻。
电气专业第二学位课程
3042100
3
远动监控技术(I课程组选)
3046114
3
供变电技术(Leabharlann 课程组选)预选3040200
四周五同大物7201
3
高电压技术(II课程组选)
3045681
3
电力系统继电保护原理(II课程组选)预选
3042100
冲突2510毛概
3
电力系统自动装置(II课程组选)
2
微机保护与变电站自动化(II课程组选)
一、专业与学分要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.486DATA SEGMENT AT 0 USE16;8255芯片的地址PORTA EQU 203H PORTB EQU 207H PORTC EQU 20BH CONTROL55 EQU 20FH;8253的地址CONTROL53 EQU 30CH COUNT0 EQU 300H COUNT1 EQU 304H COUNT2 EQU 308H;8259地址OPORT EQU 3A0H JPORT EQU 3A8H;中断向量地址ZDXL EQU 20H;ADC0809地址IN0 EQU 3C0HIN1 EQU 3C4HIN2 EQU 3C8HIN3 EQU 3CCHIN4 EQU 3D0HIN5 EQU 3D4HIN6 EQU 3D8HIN7EQU 3DCH;273地址PORTAB EQU 340H PORTBIT EQU 360H;切换标志位SMG DB 00HCONST DB 00HAD DB 00H;锅炉1号数据缓冲区ORG 4000HDATA1 DB 256 DUP(00H);锅炉2号数据缓冲区ORG 4400HDATA2 DB 256 DUP(00H);拆字缓冲区SEPARATEDATE DB 10 DUP(00H) ;显示缓冲区DISPDATE DB 10 DUP(00H) ;计数0COUNT0 DW 00H;计数1COUNT1 DW 00H;7段码TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,39H,5EH,79H,71HDATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 512 DUP(00H)STACK ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:MOV AX,DATAMOV DS,AXMOV ES,AXXOR AX,AXMOV SS,AXMOV SP,1000HINIT8253:MOV AL,36HMOV DX,CONTROL53OUT DX,ALMOV AX,30000MOV DX,COUNT0OUT DX,ALMOV AL,AHOUT DX,ALINIT5255:MOV DX,CONTROL55MOV AL,80HOUT DX,ALSETVECT:MOV DI,0MOV DX,OFFSET TIMER ;定时器中断向量地址MOV ZDXL[DI],DXMOV DX,CSMOV ZDXL[DI+2],DXMOV DX,OFFSET ADC0809 ;ADC0809中断向量地址MOV ZDXL[DI+4],DXMOV DX,CSMOV ZDXL[DI+6],DXMOV DX,OFFSET KEY1 ;KEY1中断向量地址MOV ZDXL[DI+8],DXMOV DX,CSMOV ZDXL[DI+10],DXMOV DX,OFFSET KEY2 ;KEY2中断向量地址MOV ZDXL[DI+12],DXMOV DX,CSMOV ZDXL[DI+14],DXINIT8259:MOV AL,00010011BMOV DX,OPORTOUT DX,ALMOV AL,00100000B;20H ;ICW1MOV DX,JPORTOUT DX,ALMOV AL,00001101B ;ICW2OUT DX,ALMOV AL,00001101B ;ICW4OUT DX,ALMOV AL,00000000B ;0CW1OUT DX,ALMOV AL,20H ;EOI非自动结束MOV DX,OPORTOUT DX,ALMOV SI,4000HMOV DI,4200HAGAIN:STIMOV AL,[SI]CMP AL,24JNB DETECTION0 ;检测锅炉1是否超过温度限制AND AL,0FEHMOV DX,PORTAOUT DX,ALDETECTION0:CMP AL,184JB DETECTION1AND AL,0FDHOUT DX,ALDETECTION1:MOV AL,[DI]CMP AL,24JNB DETECTION2 ;检测锅炉2是否超过温度限制AND AL,0FBHMOV DX,PORTAOUT DX,ALDETECTION2:CMP AL,184JB DETECTION3AND AL,0F7HOUT DX,ALDETECTION3:LEA BX,SEPARATEDATE ;标志位检测ADD BX,05HMOV AL,CONSTCMP AL,01HJZ SHOWONECMP AL,02HJZ SHOWTWOMOV AL,SMGCMP AL,00HJZ CHGONECMP AL,01HJZ CHGTWOSHOWONE: ;选择要显示的数据和锅炉号码MOV AL,[SI]MOV [BX],01HJMP SEPARATESHOWTWO:MOV AL,[DI]MOV [BX],02HJMP SEPARATECHGONE:MOV AL,[SI]MOV [BX],01HJMP SEPARATECHGTWO:MOV AL,[DI]MOV [BX],02HSEPARATE:CALL SEPARATEBITCALL DISPLAYMOV AL,00HMOV DX,JPORTOUT DX,ALMOV AL,00HMOV CONST,ALJMP AGAINSEPARATEBIT PROC ;将数据转换成BCD码,然后拆字,存储PUSH SIMOV BL,05HMUL BLMOV BL,04HDIV BLMOV BX,60ADD AX,BXLEA SI,SEPARATEDATEMOV BL,10DIV BLMOV [SI],AHINC SIXOR AH,AHDIV BLMOV [SI],AHINC SIMOV [SI],ALINC SIMOV [SI],00HINC SIMOV [SI],00HPOP SIRETSEPARATEBIT ENDPDISPLAY PROC ;显示锅炉数据PUSH CXPUSH DXPUSH SIPUSH AXLEA BX,TABLEA SI,SEPARATEDATEMOV AH,0C1H DISP:MOV DX,PORTBITMOV AL,AHOUT DX,ALMOV DX,PORTABMOV AL,[SI]XLATOUT DX,ALMOV CX,0200HLOOP $INC SISAL AH,1OR AH,0C0HCMP AH,0C0HJNZ DISPPOP AXPOP CXPOP DXPOP SIRETDISPLAY ENDPTIMER PROCPUSH AXPUSH DXMOV AX,COUNT0INC AXCMP AX,300JB OVER0MOV AX,00HMOV COUNT0,AXMOV DX,IN3OUT DX,ALMOV AL,01HMOV AD,ALJMP ADCHARACT OVER0:MOV COUNT0,AX ADCHARACT:MOV AX,COUNT1INC AXCMP AX,500JB OVER1MOV AX,00HMOV COUNT1,AXMOV AL,SMGXOR AL,01HMOV SMG,ALJMP SMGCHARACT OVER1:MOV COUNT1,AX SMGCHARACT :MOV AL,20HMOV DX,OPORTOUT DX,ALPOP DXPOP AXIRETTIMER ENDPADC0809 PROCPUSH AXPUSH DXMOV AL,ADCMP AL,01HJNZ ADC0MOV DX,IN3IN AL,DXMOV [SI],ALINC SIMOV AL,00HMOV AD,00HJMP ADC1ADC0:MOV DX,IN4IN AL,DXMOV [DI],ALINC DIJMP ADC2ADC1:MOV DX,IN4OUT DX,AL ADC2:MOV AL,20HMOV DX,OPORTOUT DX,ALPUSH DXPUSH AXIRETADC0809 ENDP KEY1 PROCPUSH AXMOV AL,CONST CMP AL,02HJZ KK0MOV AL,01H MOV CONST,AL KK0:MOV AL,04H MOV DX,JPORT OUT DX,ALMOV AL,20H MOV DX,OPORT OUT DX,ALPOP AXIRETKEY1 ENDPKEY2 PROCPUSH AXMOV AL,CONST CMP AL,01HJZ KK1MOV AL,02H MOV CONST,AL KK1:MOV AL,08H MOV DX,JPORT OUT DX,ALMOV AL,20H MOV DX,OPORT OUT DX,ALPOP AXIRETKEY2 ENDP CODE ENDS END START。