惠州学院单片微型计算机实验报告7

合集下载

《单片微型计算机原理及接口技术》按键接口实验报告

《单片微型计算机原理及接口技术》按键接口实验报告

《单片微型计算机原理及接口技术》按键接口实验报告课程名称:单片微型计算机原理及接口技术实验类型:验证型实验项目名称:按键接口实验一、实验目的:1、熟悉单片机简单按键的接口方法。

2、掌握按键扫描及处理程序的编辑方法和调试方法。

二、Proteus仿真实验硬件电路按键接口实验的Proteus仿真实验硬件电路如图8.1所示。

三、实验任务用单片机P2.0~P2.2端口的3个按键分别对应控制P1.0~P1.3端口的3个LED小灯的亮与灭。

四、实验预习要求1、根据硬件电路原理图,画出实际接线图。

2、根据试验任务设计相应的调试程序。

独立列式按键查询实验的仿真硬件电路如图5.2所示。

3、阅读掌握Wave、Madwin、Keil-51等编译软件的使用方法。

4、完成预习报告。

五、实验设备计算机(已安装单片机汇编编译软件及Proteus软件)。

六、实验报告要求整理好实验任务1~2中经Proteus运行正确的程序。

实验八独立按键参考汇编程序;********************************************************;;实验程序8.1 ;;用单片机P2.0~P2.2端口的3个按键分别控制P1.0~P1.3 ;;端口的3个LED小灯的亮与灭;; 12MHz晶振;;*********************************************************;;KEYSW0 EQU P2.0 ;按键0KEYSW1 EQU P2.1 ;按键1KEYSW2 EQU P2.2 ;按键2LED0 EQU P1.2 ;LED小灯0LED1 EQU P1.1 ;LED小灯1LED2 EQU P1.2 ;LED小灯2;*************;;主程序入口;;*************;;ORG 0000H ;程序执行开始地址LJMP START ;跳至START执行;*********;;主程序;;*********;START: MOV P2,#0FFH ;置P2口为输入状态KLOOP: JNB KEYSW0,KEY0 ;读KEYSW0口,若为0转KEY0 JNB KEYSW1,KEY1 ;读KEYSW1口,若为0转KEY1 JNB KEYSW2,KEY2 ;读KEYSW2口,若为0转KEY2 AJMP KLOOP ;子程序返回;0键处理程序KEY0:LCALL DL10ms ;延时10ms消抖JB KEYSW0,KLOOP ;KEYSW0为1,程序返回(干扰)CPL LED0 ;开LED0灯WAIT0:JNB KEYSW0,WAIT0 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW0,WAIT0 ;AJMP KLOOP ;返回主程序;1键处理程序KEY1:LCALL DL10ms ;延时10ms消抖JB KEYSW1,KLOOP ;KEYSW1为1,程序返回(干扰)CPL LED1 ;开LED1灯WAIT1:JNB KEYSW1,WAIT1 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW1,WAIT1 ;AJMP KLOOP ;返回主程序;2键处理程序KEY2:LCALL DL10ms ;延时10ms消抖JB KEYSW2,KLOOP ;KEYSW2为1,程序返回(干扰)CPL LED2 ;开LED2灯WAIT2:JNB KEYSW2,WAIT2 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW2,WAIT2 ;AJMP KLOOP ;返回主程序:***********;;延时程序;:***********;;约0.5ms延时子程序,执行一次时间为513sDL512:MOV R2,#0FFHLOOP1:DJNZ R2,LOOP1RET;约10MS延时子程序(调用20次0.5ms延时子程序)DL10ms:MOV R3,#14HLOOP2: LCALL DL512DJNZ R3,LOOP2RETEND ;程序结束七、思考与提高1修改按键功能,使得第一个键按下8个灯全亮,第二个键按下偶数灯全亮,第三个键按下流水灯点亮8个灯,第四个键按下全灭答:(汇编代码如所示)(仿真结果如图所示)2在第一个程序基础上加一位显示,按键按下后能显示按键的键码答:(汇编代码如图所示)(仿真结果如图所示)3在第一个程序基础上加四位显示,按键按下后能显示按键的键码如0003 答:(汇编代码如图所示)(仿真结果如图所示)八、讨论和心得。

微型计算机实验一实验报告

微型计算机实验一实验报告

微型计算机实验一实验报告一、实验目的本次微型计算机实验的主要目的是让我们熟悉微型计算机的硬件组成,了解计算机各部件之间的连接和工作原理,并掌握基本的计算机组装和调试技能。

通过实际操作,提高我们对计算机系统的认识和动手能力,为今后的学习和工作打下坚实的基础。

二、实验设备与工具1、计算机主机箱、主板、CPU、内存、硬盘、显卡、声卡、网卡等硬件设备。

2、螺丝刀、镊子、防静电手环等工具。

三、实验内容1、了解计算机硬件组成打开计算机主机箱,观察主板、CPU、内存、硬盘、显卡、声卡、网卡等硬件设备的外观和安装位置。

学习各硬件设备的功能和作用,如 CPU 负责运算和控制,内存用于临时存储数据,硬盘用于长期存储数据等。

2、计算机硬件组装戴上防静电手环,防止静电对硬件设备造成损坏。

首先安装 CPU,将 CPU 对准主板上的插座,轻轻放下,然后扣紧CPU 插座的扳手。

安装内存,将内存插槽两端的卡扣掰开,将内存条对准插槽,用力按下,直到两端的卡扣自动扣紧。

安装硬盘,将硬盘固定在机箱的硬盘架上,然后连接数据线和电源线。

安装显卡,将显卡插入主板上的 PCIE 插槽,并用螺丝固定。

安装声卡和网卡,根据主板的接口类型,将声卡和网卡插入相应的插槽。

连接机箱前面板的线缆,包括电源按钮、重启按钮、指示灯、USB 接口等。

3、计算机硬件调试检查各硬件设备的安装是否牢固,连接是否正确。

接通电源,按下电源按钮,观察计算机能否正常启动。

如果计算机无法启动,根据报警声和指示灯的提示,查找故障原因并进行排除。

四、实验步骤1、准备工作清理实验台,将所需的硬件设备和工具摆放整齐。

阅读计算机硬件组装的相关资料,了解组装的流程和注意事项。

2、硬件组装按照上述步骤,依次安装 CPU、内存、硬盘、显卡、声卡、网卡等硬件设备,并连接好线缆。

3、硬件调试检查组装完成的计算机,确保没有遗漏的部件和连接错误。

接通电源,按下电源按钮,观察计算机的启动情况。

如果计算机无法启动,首先检查电源是否正常,然后检查各硬件设备的连接是否松动。

微机基础实验报告

微机基础实验报告

一、实验目的1. 熟悉微机的基本结构和工作原理。

2. 掌握微机基本操作,包括启动、关闭、使用键盘和鼠标等。

3. 学习微机操作系统的基础知识,包括文件管理、程序管理、系统设置等。

4. 培养动手能力和独立解决问题的能力。

二、实验环境1. 硬件环境:微机一台、显示器一台、键盘一个、鼠标一个。

2. 软件环境:Windows操作系统、常用办公软件等。

三、实验内容及步骤1. 微机基本结构和工作原理(1)观察微机外部结构,了解各部件的名称和功能。

(2)打开微机,观察启动过程,了解微机自检和启动顺序。

(3)学习微机内部结构,了解CPU、内存、硬盘、显卡等部件的功能。

(4)了解微机工作原理,包括指令执行过程、数据传输过程等。

2. 微机基本操作(1)学习启动和关闭微机的方法,了解安全关机的重要性。

(2)学习使用键盘和鼠标进行基本操作,如打开、关闭程序、切换窗口等。

(3)学习使用快捷键提高工作效率。

3. 微机操作系统基础知识(1)学习Windows操作系统的基本界面和功能。

(2)学习文件管理,包括创建、复制、移动、删除文件和文件夹等操作。

(3)学习程序管理,包括安装、卸载、运行程序等操作。

(4)学习系统设置,包括显示设置、声音设置、网络设置等。

4. 实验练习(1)练习使用Windows自带的画图软件,绘制简单的图形。

(2)练习使用Word文档编辑功能,制作一份简单的文档。

(3)练习使用Excel表格处理功能,制作一份简单的表格。

(4)练习使用PowerPoint演示文稿制作功能,制作一份简单的演示文稿。

四、实验结果与分析1. 实验结果通过本次实验,我们熟悉了微机的基本结构和工作原理,掌握了微机基本操作,学习了微机操作系统基础知识,并能够运用所学知识解决实际问题。

2. 实验分析(1)在实验过程中,我们发现微机的基本操作对于提高工作效率具有重要意义。

熟练掌握键盘和鼠标操作,能够使我们更加高效地完成工作。

(2)在文件管理方面,了解文件和文件夹的基本操作,有助于我们更好地管理计算机中的数据。

微型计算机实验报告

微型计算机实验报告

目录实验一 A/D与D/A转换 (2)实验二数字滤波器 (5)实验三离散化方法研究 (8)实验四数字PID调节器算法的研究 (13)实验五串级控制算法的研究........................ 错误!未定义书签。

实验六解耦控制算法的研究........................ 错误!未定义书签。

实验七最少拍控制算法研究........................ 错误!未定义书签。

实验八具有纯滞后系统的大林控制 .................. 错误!未定义书签。

实验九线性离散系统的全状态反馈控制 .............. 错误!未定义书签。

实验十模糊控制系统.............................. 错误!未定义书签。

实验十一具有单神经元控制器的控制系统 ............ 错误!未定义书签。

实验十二二次型状态调节器........................ 错误!未定义书签。

实验十三单闭环直流调速系统...................... 错误!未定义书签。

实验十四步进电机转速控制系统 .................... 错误!未定义书签。

实验十五单闭环温度恒值控制系统 .................. 错误!未定义书签。

实验十六单容水箱液位定值控制系统 ................ 错误!未定义书签。

实验一A/D与D/A转换一、实验目的1.通过实验了解实验系统的结构与使用方法;2.通过实验了解模拟量通道中模数转换与数模转换的实现方法。

二、实验设备1.THBDC-1型控制理论·计算机控制技术实验平台2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)3.PC机1台(含软件“THBDC-1”)三、实验内容1.输入一定值的电压,测取模数转换的特性,并分析之;2.在上位机输入一十进制代码,完成通道的数模转换实验。

微机实习报告

微机实习报告

微机实习报告第一篇:微机实习报告计算机上机实习报告一、实习目的:本次上机实习的目的是使同学们熟悉office软件。

1、能用WORD做基本的文档录入和编辑。

会设置常见的文字格式和版式。

2、能用ppt做基本的幻灯片。

会设置常见幻灯片效果和格式。

会播放幻灯片。

3、会使用Excel录入数据,会设置数据格式。

会基本的表格统计和分析。

二、实习任务:1、选定一个主题,收集资料,整理成为一篇综述性报告;2、假定为某班班主任,根据本班成绩进行成绩分析,撰写一篇班级成绩分析报告;3、制作一个以第一题的主题为演讲内容的演示文稿;4、选做题:利用PS进行平面艺术创作;5、将以上操作所产生的文件打包压缩成一个文件上交;6、写一份关于本次上机实习的实习报告。

三、实习总结:1、第一大题的论文内容不是很完美,但总体上,成绩分析表将学生的加权平均分、名次、各分数段人数、优秀生名单等分析到位,运算到位。

演示文稿花了很多心思去做,用来很多效果,出来还是不错的。

2、此次实习时间虽不是很长,但我学会了许多东西,特别是一些课堂上没弄懂的问题,实习中通过操作将其弄懂了。

另外,我也学会了如何调试word文档,总而言之,实际操作比课堂上更容易掌握知识,课堂上老师讲的很好,可我一次并不能消化多少,而上机操作则不同,不会就不能进行下一步,必须弄懂才能做接下来的工作,而且能够掌握得更好。

3、此次实习收获最大的并不是对office的掌握,而是对学习方法的认识,实习过程中经常遇到各种各样的问题,老师虽然能帮助我解决一部分,但最终还是需靠自己,多动脑,多思考,再加上细心,许多问题都能迎刃而解。

4、对于意见和建议的话,我只想说由于早上第一节上机就要对着大频幕台式电脑会带来身体上的不适,希望以后上机实习中能将时间更好的科学安排好。

第二篇:微机实习报告微机控制系统实习报告微机实习是我们专业的一门必修的专业实习课,也是大学期间最后的一门实习课,实习的目的是使我们进一步加深对《微机原理与接口技术》、《单片机原理与应用》等课程相关理论知识的理解,并基本掌握将这些理论知识应用于自动控制系统设计的基本方法与技能,掌握收集、分析、应用资料的基本方法,通过技术方案的选择论证、硬件设计、程序设计,掌握自控原理、微机原理、单片机、计算机控制等课程理论知识在自动控制中的应用方法,掌握基于微型计算机的自动控制装置、自动测试仪器等的设计方法与技能为今后从事相关技术工作奠定必要的基础。

微机系统实验报告

微机系统实验报告

微机系统实验报告一、实验目的本次微机系统实验的主要目的是通过实际操作和研究,深入了解微机系统的组成、工作原理以及相关的硬件和软件技术,提高我们对计算机系统的理解和应用能力。

二、实验设备与环境本次实验所使用的设备包括一台配备有英特尔酷睿 i5 处理器、8GB 内存、512GB 固态硬盘的微机,以及相关的实验仪器和软件,如逻辑分析仪、示波器、编译软件等。

实验环境为 Windows 10 操作系统。

三、实验内容与步骤(一)微机系统硬件组成的认识首先,我们对微机系统的硬件组成进行了详细的观察和学习。

打开计算机主机箱,我们可以看到主板、CPU、内存、硬盘、显卡、声卡等主要硬件组件。

通过观察它们的外观、接口和标识,了解了它们的功能和作用。

(二)CPU 性能测试使用专门的 CPU 性能测试软件,对微机的 CPU 进行了性能测试。

在测试过程中,我们记录了 CPU 的主频、核心数、线程数等参数,并观察了其在不同负载下的性能表现,如处理单线程任务和多线程任务时的速度和效率。

(三)内存性能测试通过内存测试软件,对微机的内存进行了读写速度、延迟等性能指标的测试。

同时,还研究了不同内存容量和频率对系统性能的影响。

(四)硬盘性能测试利用硬盘性能测试工具,对微机的固态硬盘进行了顺序读写、随机读写等性能测试。

分析了硬盘的读写速度、访问时间等参数,评估了其对系统整体性能的贡献。

(五)显卡性能测试使用显卡性能测试软件,对微机的显卡进行了图形处理能力的测试。

包括 3D 渲染、游戏性能等方面的测试,了解了显卡在不同应用场景下的表现。

(六)系统稳定性测试为了确保微机系统在长时间运行中的稳定性,我们进行了长时间的压力测试。

通过运行大型软件、多任务处理等方式,观察系统是否出现死机、蓝屏等故障。

四、实验结果与分析(一)CPU 性能测试结果经过测试,我们发现微机所配备的英特尔酷睿 i5 处理器在处理单线程任务时表现出色,其主频较高,能够快速完成单个任务。

单片微型计算机实验

单片微型计算机实验

一、实验目的1.学习输入缓冲器和输出缓冲器的使用方法。

2.以输入缓冲器和输出缓冲器作为单片机的存贮器为例,掌握单片机的存贮器扩展方法。

二、实验内容及步骤1.连接线路,将74LS245作为8个拨动开关的输入缓冲器,将74 LS273作为发光二极管的输出缓冲器,给它们分配地址。

2.采用移位显示方式,编写具有循环结构的程序,让发光二极管反映开关的状态。

例如8个开关1个合上,7个断开,则间隔一定时间,8个灯中依次点亮1个灯。

3. 由于发光二极管的延迟效应,间隔时间以>100ms为宜,可以用2个工作寄存器编写2重循环结构的软件延迟程序实现。

三、参考实验原理图四、实验报告要求1.给出主程序,说明245和273的地址分配,标明使用245和273的语句。

2.画出程序框图。

3. 描述程序正常运行时的开关状态和显示规律。

一、实验目的1.掌握单片机内部定时/计数器的应用;2.掌握单片机定时中断的原理及应用。

二、实验内容及步骤1.连接P1.x和扬声器,见实验原理图,在P1.x上输出一定频率的方波信号驱动扬声器。

2.计算产生2ms定时的初值,编写一个定时计数器的中断服务程序,在P1.x线上输出250Hz信号;再计算产生500us定时的初值,在P1.x线上输出1000Hz信号,扬声器会发出比较尖锐的声音。

3.再编写另外一个定时计数器的中断服务程序,利用一个软件计数器,产生1s的定时,用位F0表示周期为2s的方波,当F0=1时P1.x取反,当F0=0时P1.x不能取反,使扬声器叫1s停叫1s,循环往复。

4.再用F0控制实验一的流水灯,使得扬声器叫1s,流水灯移一位,扬声器不叫, 流水灯不移位,循环往复。

5. 仍然用F0控制实验一的流水灯,使扬声器以1000Hz频率叫1s时,流水灯移一位,扬声器以250Hz频率叫1s时, 流水灯不移位,循环往复。

三、参考实验原理图四、实验报告要求1.画出程序框图。

说明主程序的作用,明确指出在主程序中是如何实现流水灯控制的。

惠州学院大学物理实验报告(2)

惠州学院大学物理实验报告(2)

惠州学院大学物理实验7 示波器及其使用示波器是一种常用的电子仪器,主要用于观察和测量各种电信号。

是展示和观测电信号的电子仪器,可以直接测量信号电压的大小和周期.配合各种传感器把非电量转换成电量,示波器也可以用来观察各种非电量的变化过程。

特别适用于观测瞬时变化的过程.本实验是利用示波器观察周期性改变信号和测量其主要参数。

交流电的电压(或电流)随时间作周期性变化。

交流电包括各种各样的波形,如正弦波、方波、锯齿波等。

[实验目的]1.了解示波器的基本结构和工作原理,掌握示波器的基本调节和使用方法;2.学会使用常用信号发生器;掌握用示波器观察、描绘电信号波形的方法。

3.学会用示波器测量、计算电信号电压、周期和频率等电参量;4.学会用示波器观察、描绘利萨如图形。

[实验仪器]1、双踪示波器(20MHz CS—4215A) 1台2、低频信号发生器(10Hz—1MHz) 1-2台3、屏蔽连接线(同轴电缆)2根[实验原理]一、示波器的结构及简单工作原理图1、示波器的原理图示波器一般由5个部分组成,如图1所示:(1)示波管;(2)扫描发生器;(3)同步电路;(4)水平轴和垂直轴放大器;(5)电源。

下面分别加以简单说明。

示波器的原理方框图1、示波管有各种电极,其结构如图1所示。

阴极K受灯丝F加热而发射电子,这些电子受带正高压的加速阳极A1的加速,并经由A1、A2组成的聚焦系统,形成一束很细的高速电子束射到荧光屏,荧光屏上涂有荧光粉,它在这些高速电子的激发下发光。

光点的大小取决于A1、A2组成的电子透镜的聚焦。

改变A2相对A1的电位,可以改变电子透镜的焦距,使其正好聚焦在荧光屏上,成为个很小的亮点。

因此,调节A2的电位,称为“聚焦”调节。

示波管内装有两对互相垂直的平行板(X1、X2和y1、y 2),如果在垂直方向的平行板y1、y 2上加周期变化的电压,电子束通过时受到电场力的作用而上下偏转,在荧光屏上就可以看到一根垂直的亮线;同理,在水平方向的平行板x 1、x 2上加周期变化的电压,也可以看到一根水平亮线。

微机原理实验报告

微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。

二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。

2.掌握微机系统的基本操作:开机、关机、复位、重启等。

3.了解微机系统的工作原理:运行机制、输入输出等。

4.实践运用微机系统进行一些简单的应用操作。

三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。

2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。

如果发现问题,主机会发出蜂鸣声。

3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。

4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。

5.系统操作:根据实验要求,进行相应的系统操作。

6.关机操作:在操作完成后,选择关机选项进行关机。

四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。

通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。

同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。

五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。

这对我后续学习计算机原理和操作系统提供了基础。

在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。

这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。

总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。

通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。

在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。

微型计算机技术实验报告

微型计算机技术实验报告

微型计算机技术实验报告实验名称:微型计算机技术实验实验日期:2024年X月X日实验目的:1.了解微型计算机的基本组成和工作原理;2.掌握微型计算机的硬件连接与配置方法;3.学习使用微型计算机进行简单程序编写和调试。

实验器材:1.微型计算机主机2.显示器3.键盘4.鼠标5.电源线6.数据线实验原理:实验步骤:1.将微型计算机主机连接到电源,并将显示器、键盘和鼠标连接到主机;2.打开电源,观察显示器上是否出现相关信息,确认主机正常启动;3.通过键盘和鼠标输入相关指令,进入操作系统界面;5.打开编译器,将源文件编译成可执行文件;6.执行可执行文件,观察程序运行的结果。

实验结果和分析:通过以上步骤,我们成功启动并运行了微型计算机。

首先,我们了解到微型计算机的基本组成和工作原理。

微型计算机由主机、显示器、键盘和鼠标组成,主机通过电源供电,显示器用于显示图像和文字,键盘和鼠标用于输入操作指令。

微型计算机的工作原理是通过CPU读取内存中的指令,然后进行解码和执行,最后将结果存储回内存或发送到外设。

关键词:微型计算机,CPU,内存,外设,编写,调试实验结论:通过本次实验,我们了解了微型计算机的基本组成和工作原理,并学习了使用微型计算机进行简单程序编写和调试的方法。

通过实践操作,我们对微型计算机的使用有了更加深入的了解。

这对于我们深入学习计算机原理和继续进行更复杂的计算机实验具有重要意义。

译文如下:Experiment Date: Xth Month, 2024Objective:Equipment:2. Monitor3. Keyboard4. Mouse5. Power cord6. Data cablePrinciple:Procedure:2. Turn on the power and observe whether relevant information appears on the monitor to confirm that the host starts up normally.4. Use a text editor to write a simple program and save itin source file format.6. Execute the executable file and observe the result of the program execution.Results and Analysis:Conclusion:。

微型计算机实验一实验报告

微型计算机实验一实验报告

微型计算机实验一实验报告实验一:微型计算机的基本操作及应用探究一、实验目的1.了解微型计算机的基本组成和工作原理;2.学习使用微型计算机进行基本操作;3.探究微型计算机在实际应用中的作用。

二、实验器材和仪器1.微型计算机实验箱;2.微型计算机主机;3.显示器;4.键盘。

三、实验内容1.将微型计算机主机与显示器、键盘连接;2.打开微型计算机并进行基本操作;3.使用微型计算机进行基本应用。

四、实验步骤1.将微型计算机主机与显示器、键盘连接,确保连接稳固;2.打开微型计算机主机,等待系统启动完毕;3.使用键盘进行基本操作,包括输入字符、回车等;4.运行预装的基本应用软件,并进行相应操作。

五、实验结果和分析在本次实验中,通过连接主机与显示器、键盘,我们成功打开了微型计算机并进行了基本操作。

使用键盘输入字符并通过回车键确认后,我们可以在显示器上看到相应的结果。

这表明微型计算机能够正确地接收和处理我们输入的指令,并将结果显示出来。

通过运行预装的基本应用软件,我们还可以进行更加复杂的操作,如文字处理、图形绘制等。

本次实验中,我们还了解到微型计算机的基本组成和工作原理。

微型计算机由主机、显示器、键盘组成。

在主机中,CPU是主要的控制中心,负责接收和处理指令;内存存储了计算机运行时所需的数据和程序;硬盘则保存了大容量的数据。

显示器负责将计算机处理的结果显示出来,键盘则用于输入指令和数据。

微型计算机的应用领域十分广泛。

它可以用于文字处理、数据处理、图形绘制等多个方面。

在今天的社会中,无论是企事业单位还是个人用户,几乎都需要使用微型计算机进行日常工作和生活。

微型计算机的快速计算和大容量存储能力,使得数据处理和信息管理变得更加便捷和高效。

六、实验总结通过本次实验,我们学习了微型计算机的基本操作和应用,并了解了微型计算机的基本组成和工作原理。

微型计算机在今天的社会中扮演着重要的角色,其广泛的应用范围使得人们的工作和生活更加便捷和高效。

惠州学院微机报告

惠州学院微机报告

惠州学院计算机科学系课程设计(综合实验)报告(2015--2016年度第一学期)课程名称:微型计算机技术题目:多功能实时时钟班级:最牛逼班学号:111111222222学生姓名:杰克指导教师:老师设计周数:1周同组人:路飞,鸣人日期:2015年12月31日一、课程设计的目的与要求。

1.1设计的目的。

通过本次课程设计要掌握芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。

1.2设计的要求。

(1)实时时钟由时钟信号产生部分和时间显示部分组成时钟计时器,计算中断时间准确计时、分、秒;(2)小键盘控制多功能选择采用小键盘输入,通过小键盘LED数码管显示,不同键输入对应不同功能(如时间暂停开始,设置时间等)。

1.3设计的意义。

通过了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、设计正文。

2.1设计的基本原理。

2.1.1设计所用芯片结构8253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253各引脚功能如下。

D7~D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器地址输入信号;CLK——计数输入,用于输入定时基准脉冲或计数脉冲;OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。

微型计算机原理及应用实验报告

微型计算机原理及应用实验报告

机电工程学院
微型计算机原理及应用实验报告
实验一:数据查找实验
实验二:工业顺序控制模拟实验
实验三:交通灯控制模拟实验
实验四:模数转换实验
班级:
学号:
姓名:
撰写日期:
实验一数据查找实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和主程序
四、实验步骤
五、思考
欲统计片外RAM 8100H ~ 811FH中05H的数目,如何修改实验程序?
实验二工业顺序控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图
六、思考
欲使每道工序有多位输出,如何修改实验程序?
实验三交通灯控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验设备
三、实验内容
四、实验要求
1. 画出状态转换图
2. 画出实验接线图
3.
4. 设计延时方案
5. 设计中断服务子程序
6. 设计控制程序
写出每条基本指令的地址、目标代码和源程序代码
五、实验步骤
六、实验总结
实验四模数转换实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和程序
四、实验接线图
五、实验步骤与记录。

工业用微型计算机实验报告

工业用微型计算机实验报告

工业用微型计算机实验报告实验报告:工业用微型计算机引言:实验目的:1.了解工业用微型计算机的基本组成结构和工作原理;2.掌握工业用微型计算机的搭建方法;3.通过搭建和测试,分析工业用微型计算机的性能和应用效果。

实验装置与器材:1.主机:工业用微型计算机主机;2.输入设备:键盘;3.输出设备:显示屏;4.其他辅助设备:计算机连接线、电源线。

实验步骤:1.将主机、显示屏、键盘等设备按照连接线的指示正确连接;2.接通电源,启动主机;3.进行系统初始化并安装相应的软件;4.进行各项功能测试,如输入输出测试、性能测试等;5.通过调试,检测可能存在的问题并进行排除;6.记录测试结果和问题。

实验结果与分析:通过实验,我们成功地搭建了一个工业用微型计算机,并进行了各项功能测试。

在输入输出测试中,键盘和显示屏均正常工作,输入的指令能够准确地在显示屏上显示出来。

在性能测试中,主机的运行速度较快,能够快速处理大量数据。

整体上,该工业用微型计算机表现出较好的性能和稳定性。

然而,在实验过程中,我们也发现了一些问题。

首先,主机在运行过程中温度较高,可能存在散热问题。

其次,偶尔出现一些程序卡顿的现象,可能是软件设置或系统不稳定造成的。

此外,主机在开机启动过程中时间较长,可能需要进一步优化。

结论:通过本实验,我们了解了工业用微型计算机的基本组成结构和工作原理,并掌握了搭建方法。

实验结果表明,在工业生产中,该微型计算机具有良好的应用效果。

然而,也需要进一步优化与改进,以提高性能和稳定性。

同时,我们也意识到在实际应用中,除了硬件搭建外,软件的优化和正确的设置也非常重要。

因此,在工业用微型计算机的实际应用中,还需要加强对软件的研发与调试,以满足不同工业生产的需求。

《单片微型计算机原理及接口技术》循环程序实验报告

《单片微型计算机原理及接口技术》循环程序实验报告

《单片微型计算机原理及接口技术》循环程序实验报告课程名称:单片微型计算机原理及接口技术实验类型:验证型实验项目名称:循环程序实验一、实验目的和要求1.实验目的熟悉Keil uVision2集成开发环境,熟练使用Keil uVision软件,熟悉条件转移指令及比较转移指令的运用,掌握循环程序的设计及调试方法。

2.实验要求通过下列循环程序输入、修改和调试,掌握断点执行的调试方法,以及在循环程序中如何通过断点的方法调试程序。

二、实验内容和原理程序功能:将片内RAM从21H单元开始存放的5个数求和,结果送片外2000H单元中。

ORG0000HMOV R0,#21HMOV R1,#05HCLR ALOOP:ADD A,@R0INC R0DJNZ R1, LOOPMOV DPTR, #2000HMOVX@DPTR, ASJMP$END三、主要仪器设备单片机专业开发工具Keil uVision 5。

四.操作方法和实验步骤(一)输入程序1. 建立工程文件在桌面上双击Keil uVision2图标,点击“工程(Project)”->“新建工程(New Project…)”命令,在出现的对话框中输入项目名SY2.Uv2,选择合适的文件夹下建立新的工程项目SY2.Uv2,再在“S 为目标‘Target1’选择设备”对话框,在“数据库内容”下选择Atmel,点开“+”号,选择89C51器件,点击确定按钮。

2. 源程序文件的建立使用菜单“文件”->“新建”命令,弹出源程序编辑窗口,输入以下程序,点击“文件” ->“另存为”命令,保存文件名为SY2.ASM (保存文件统一放在新建的SY1文件夹中)。

3.将文件加入到工程项目中鼠标右键点击左侧的“工程窗口”,在弹出式菜单中选择“增中文件到组‘Source Group 1’”,然后找到SY2.ASM ,点击Add按钮,将SY1.ASM添加到项目中去。

(二)编译、连接(三)设置好工程后,即可以进行编译、连接。

《单片微型计算机原理及接口技术》简单程序实验报告一

《单片微型计算机原理及接口技术》简单程序实验报告一

《单片微型计算机原理及接口技术》简单程序实验报告课程名称:单片机原理与接口技术实验类型:设计型实验项目名称:简单程序实验目的:熟悉Keil uVision2集成开发环境,学会使用Keil uVision软件对简单程序进行输入、修改及调试实验要求:通过下面程序的输入、检查和执行,熟悉程序的输入、编译,以及单步、执行到光标处和全速执行等调试方法。

实验内容及步骤:一.程序:程序功能:将R0 R1中的16位二进制数求反加1,结果送R2 R3。

ORG 0000HMOV A, R1CPL A ;低位取反ADD A,#01H ;低位加1MOV R3,AMOV A, R0CPL A ;高位取反ADDC A,#00H ;高位加低位的进位MOV R2, ASJMP $END二.实验步骤:(一)输入程序1. 建立工程文件在桌面上双击Keil uVision2图标,启动集成开发环境如图1.1所示,该界面中最上面一行是菜单,菜单下面是各种工具按钮,左边的“工程窗口”为项目管理窗口,最下面的为“输出窗口”,中间部分为“工作区”,通常我们所编的源程序、调试程序代码窗口会出现在这里。

图1.1点击“工程(Project)”->“新建工程(New Project…)”命令,在出现的对话框中输入项目名SY1.Uv2(建立一个统一文件夹SY1放入新的工程项目SY1.Uv2),如图1.2所示图1.2点击“保存”按钮出现如图1.3所示的“S为目标‘Target1’选择设备”对话框,在“数据库内容”下选择Atmel,点开“+”号,选择89C51器件,点击确定按钮。

图1.3在左侧的“工程窗口”下出现2. 源程序文件的建立使用菜单“文件”->“新建”命令,弹出源程序编辑窗口,输入程序,点击“文件”->“另存为”命令,保存文件名为SY1.ASM(保存文件统一放在新建的SY1文件夹中)(3)将文件加入到工程项目中鼠标右键点击左侧的“工程窗口”,在弹出式菜单中选择“增中文件到组‘Source Group 1’”,如图1.4所示。

《单片微型计算机原理及接口技术》串口通信接口实验报告

《单片微型计算机原理及接口技术》串口通信接口实验报告

《单片微型计算机原理及接口技术》串口通信接口实验报告课程名称:单片微型计算机原理及接口技术实验类型:验证型实验项目名称:串口通信接口实验一、实验目的1学习掌握串口方式0及方式工作模式下的程序初始化方法2学习掌握串行口数据发送及接收程序的编程方法,了解双机通信的工作方法和原理。

二、实验内容和原理1、在串行口方式0下将数据12345678,依次从单片机串行口通过同步移位方式发送到串入并出集成电路74HC595,并在74HC595数据输出口用LED小灯显示数据(灯亮为逻辑0,灯灭为逻辑1)ORG 0000H ;主程序执行入口地址LJMP MAIN ;跳至主程序执行MAIN: MOV 30H,#01H ;在30H~37H分别对应数据1~8MOV 31H,#02HMOV 32H,#03HMOV 33H,#04HMOV 34H,#05HMOV 35H,#06HMOV 36H,#07HMOV 37H,#08HMOV SCON,#00H ;设串口为方式0CLR P3.2 ;74HC595输出锁存LOOP:LCALL UARTOUT ;调用发送子程序AJMP LOOPUARTOUT: MOV R0,#30H ;发送数据首址入R0MOV R1,#8 ;发送字节个数容入R2SOUT: MOV A,@R0 ;发送数据入AMOV P1,A ;放在P1口显示CLR TI ;清发送标志TIMOV SBUF ,A ;启动发送WAITOUT:JNB TI,WAITOUT ;发送等待SETB P3.2 ;74HC595将数据输出至端口Q0-Q7CLR P3.2 ;LCALL DL1S ;延时1SINC R0 ;指向下一字节DJNZ R2,SOUT ;8个字节未发送完,专SOUTRET ;8个字节发送完,结束;延时程序0.5mDL503:MOV R7,#250LOOP1:DJNZ R7,LOOP1RET;延时程序10mmDL10ms:MOV R6,#20LOOP2:LCALL DL503DJNZ R6,LOOP2RET;延时程序1SDL1s:MOV R5,#100LOOP3:LCALL DL10msDJNZ R5,LOOP3RETEND2、在串行口方式1(波特率为1200B )下,将数据12345678分别从一单片机发送到另一单片机,接收单片机在P1口输出接收到的数据,并行并用端口的LED 小灯显示数据(灯亮为逻0,灯灭为逻辑1)串口工作于模式1(10位异步通信),波特率定为1200,由T1定时模式2设置,根据波特率计算公式:模式1的波特率=)]1TH (2[12f .3228osc SMOD -⨯ 其中f osc =6MHZ ,SMOD=0,TH1为T1的定时初值,由上式求出TH1为:TH1=28-波特率⨯⨯1232f osc =28-1200123210126⨯⨯⨯=E6H发送程序:ORG 0000H ;主程序指向入口地址LJMP MAIN ;眺至MAIN 执行MAIN: MOV 30H,#01H ; ;在30H~37H 分别对应数据1~8MOV 31H,#02HMOV 32H,#03HMOV 33H,#04HMOV 34H,#05HMOV 35H,#06HMOV 36H,#07HMOV 37H,#08HMOV TMOD,#20H ;T1为8位自动重装模式MOV TL1,#0E6H ;1200波特率初值MOV TH1,#0E6HCLR ET1 ;关T1中断SETB TR1 ;开波特率发生器LOOP:LCALL UARTOUT ;调用发送子程序AJMP LOOP ;UARTOUT:MOV R0,#30H ;发送数据首址入R0MOV R2,#8 ;发送字节个数入R2MOV SCON,#40H ;设串口位方式1SOUT: MOV A,@R0 ;发送数据入AMOV P1,A ;放在P1口显示CLR TI ;清发送标志TIMOV SBUF,A ;启动发送WAITOUT:JNB TI,WAITOUT ;发送等待LCALL DL1S ;延时1SINC R0 ;指向下一字节DJNZ R2 ,SOUT ;DJNZ R2,SOUTRET ;8个字节未发完,转SOUT;延时0.5mDL503:MOV R7,#250LOOP1:DJNZ R7,LOOP1RET;延时10mmDL10ms:MOV R6,#20LOOP2:LCALL DL503DJNZ R6,LOOP2RET;延时1SDL1s:MOV R5,#100LOOP3:LCALL DL10msDJNZ R5,LOOP3RETEND接收程序:ORG 0000H ;主程序指向入口地址LJMP MAIN ;眺至MAIN执行MAIN: MOV TMOD,#20H ;T1为8位自动重装模式MOV TL1,#0E6H ;1200波特率初值MOV TH1,#0E6HMOV SCON,#50H ;设串口位方式1,REN=1CLR ET1 ;关T1中断SETB TR1 ;开波特率发生器WAITIN: JNB RI,WAITIN ;发送等待MOV A ,SBUF ;接收缓冲区数据入AMOV P1,A ;将接收数据放在P1口显示CLR RI ;清接收标志AJMP WAITIN ;转接收等待END图1 串口方式0移位模式下实验仿真硬件电路三、主要仪器设备单片机专业开发工具Keil uVision 5和PROTUES。

惠州学院大学物理实验报告(1)

惠州学院大学物理实验报告(1)

实验1 长度测量物理实验中常用的长度测量仪器米尺、游标卡尺、螺旋测微器(千分尺)、读数显微镜(比长尺)等。

通常用量程和分度值表示这些仪器的规格。

量程是测量范围;分度值是仪器所标示的最小分划单位。

分度值的大小反映仪器的精密程度。

一般来说,分度值越小,仪器越精密,仪器本身的“允许误差”(尺寸偏差)相应也越小。

学习使用这些仪器,要注意掌握它们的构造特点、规格性能、读数原理、使用方法以及维护知识等,并注意要以后的实验中恰当地选择使用。

长度是一个基本物理量,许多其他的物理量也常常化为长度量进行测量;许多测量仪器的长度或角度等读数部分也常常用米尺刻度或根据游标、螺旋测微等原理制成;这些仪器的读数规则以及读数时要尺量避免视差,要注意检查或校准零点等,要实验中都是具有普遍意义的。

【实验目的】1.游标卡尺、螺旋测微器、读数显微镜的测量原理和使用方法;2.一般仪器的读数规则;3.实验数据处理方法。

【实验仪器】游标卡尺、螺旋测微器、读数显微镜、待测铁环、小钢珠等。

【预习思考题】1.用一10分度的游标卡尺测量一长度为6.8mm的物体,则游标的哪个刻度与主尺的哪个刻度对齐?2. 用50分度的卡尺在金属丝三个不同的部位分别进行测量数据如下:2.02mm;2mm;2.020mm;其中有误的是哪组,造成错误的原因是什么?【实验原理】一. 游标卡尺游标卡尺的种类较多,常用的有十分度、二十分度和五十分度三种,但其工作原理是相同的,下面就以十分度为例作以介绍。

1. 游标卡尺的构造:卡尺结构如图1所示主要由两部分组成,即可移动的游标部分A和主尺部分B组成,主尺左端有量爪C和C'。

附尺的左端有量爪D和D', 量爪C、D(又称外卡)用来测量外径和长度,量爪C'、D'(又称内卡)用来测量内径深度,尺G用来测量深度,K为固定螺钉。

2. 测量原理:(十分游标为例)游标卡尺的主尺的最小刻度为1mm,游标上共有10个等分刻度,全长为9mm,也就是每个刻度为0.9mm,比主尺上刻度小0.1mm。

微机实验报告7

微机实验报告7

《微机实验及课程设计》实验报告实验七8253计数器/定时器姓名:学号:专业:仪器科学与工程学院实验室:金智楼416 实验时间: 2013年06月05日报告时间: 2013年06月05日评定成绩:审阅教师:一. 实验目的1、掌握PC机中断处理系统的基本原理。

2、学会编写中断服务子程序。

二. 实验内容1、必做内容1、直接用手动产生单脉冲作为中断请求信号,要求每按一次开关产生中断一次,在屏幕上显示一次“TPC pci card interrupt:”,冒号后面添加已经中断的次数,中断10次后程序退出。

2、选做内容(任选一题)1、(输出)每按一次单脉冲产生一个正脉冲使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H使L0~L7依次发光,中断8次结束。

2、(输入)每按一次单脉冲产生一个正脉冲使8255产生一次中断,让CPU进行一次中断服务:读取逻辑开关预制的ASCII码,在屏幕上显示其对应的字符,中断8次结束。

三.实验原理与接线1、PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级等处理后向CPU发出可屏蔽中断请求。

IBMPC/XT机中有一片8259中断控制器对外可以提供8个中断源。

2、这8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已经设定为中断请求信号为边沿触发、普通结束方式(用户不需对8259再进行初始化)。

1、第一个实验接线图3、纯DOS环境要在开机时,出现命令行的情况下选择由虚拟启动软盘启动选项。

4、由于TPC卡使用PCI总线,所以分配的中断好每台微机都不相同,编程时先要运行PORTR.EXE程序获得本机的中断向量号。

5、PC/XT机的主8259的地址是20H、21H,从8259的地址是0A0H、0A1H。

6、决定中断向量:值为0~7,中断向量号为08H~0fH;值为8~15,中断向量号为70H~77H决定中断掩码:值为0~7,主片中断掩码从低至高相应位为0,从片中断掩码全为1;值为8~15,主片中断掩码第2位为0,其余全为1;从片中断掩码从低至高位相应位为0;7、第一个实验接线图中断IRQ接单脉冲8、第二个实验接线图9、第三个实验接线图四.实验源程序和流程图1、流程图PC3接IRQCS接288HPC6接单脉冲PA0~PA7接L0~L7PC3接IRQCS接288HPC4接单脉冲PA0~PA7接K0~K7主程序流程图中断服务子程序流程图2、程序1、必做内容:直接用手动产生单脉冲作为中断请求信号,要求每按一次开关产生中断一次,在屏幕上显示一次“TPC pci card interrupt:”,冒号后面添加已经中断的次数,中断10次后程序退出。

微型计算机系统程序设计实验报告

微型计算机系统程序设计实验报告

目录Part1.程序设计目求Part2.程序设计要求Part3.系统整体设计思路Part4.程序框图设计Part5.硬件电路设计Part6.课程设计体会Part7.程序设计的参考文献Part8.程序设计代码附录(总共三题)Part1:程序设计的目的:1.巩固和掌握对“微机原理”课程内容的认识和理解,提高应用水平.2.掌握汇编语言程序的编制方法.3.熟悉键盘控制和七段码管及74LS138芯片的使用.Part2:程序设计要求:本课程设计内容包括两个方面A.硬件设计:显示器用6个八段数码段显示.键盘采用4*4矩阵形式.由8255控制B.软件编程(上机编程内容)题目一※显示器工作于查询方式.键盘工作于中断方式※16个按键定位的键值为:0~f,按任意键在显示器上现实对应的键值.lED显示器显示数值从右到左逐位显示题目二※定义键盘按键:10个数字键(0~9);6个功能键:+(加),-(减),*(乘),/(除),=(等于),CLEAR(清零)※实现五位八进制数加法运算.可连续做加法.直接按"=号结束,显示结果※实现五位八进制数乘法运算.可连续做乘法运算Part3:程序设计的整体设计思路:A.物理构想思路:1)微型计算机由微处理器,存储器,接口电路以及连接在这些部件上的总线组成.微处理器,存储器和所有I\O设备之间的信息交换都通过总线进行.总线包括地址总线,数据总线和控制总线,他们始于CPU或终于CPU,现代微机大部分都是这种以总线为中心的结构.2)微型计算机及外围设备组成微型计算机系统的硬件,外围设备必须通过接口电路才能与系统总线相连,因此构建一个基于8255A的简单微型计算机系统,就是通过编译程序和物理连接让单片机拥有简单的计算器运算功能,因此系统总线上挂上一定规模的存储器和接口电路,然后在把合适的外围设备连接到接口电路上.解决物理连线方面的构想思路.就轮到程序设置的构想思路:B.软件构想思路:1)首先.是建立一个蕴含所有段码的数据表(在程序中的体现是TABLE),作用是存储段码,为程序的相应调用提供对应的段码.避免在程序中实现调用显示功能的时候造成过多的赘余.因为这次实验套装的LED管是共阳极管.所以只有列出对应的16个(0~F)适用于共阳极管的段码,才能满足显示的要求2)其次.是建立选通信号的输出存储.也就是.在数据部分建立一个表格,里面能够告诉CPU 的输出端要输出低电平的时候对应的代码指令:为什么是输出低电平?因为本次选用的LED 管是共阳极管.所以要在CPU的输出端与显示器的输入端对应借口接入CPU输出的低电平.从而告诉是哪一个显示器被选中.对应要输出怎么样的段码(信息).方能准确进行数据的显示3)在DATA设置完以后.就是功能键的自定义设计.这部分将会在物理连线框图里面提出(Part5)4)进行主程序的编写思路部分,首先是对应4*4的键盘程序.在按下对应的键位以后.为了能在显示器中正确显示出对应的数值.必须进行扫描,首先是判断是否有按键.如果按得是数字键.那么就要在LED显示管上面对应的位数以及对应的数值进行显示.并且判断数字键之前是否已经按了运算的功能键.从而判断是否要进行运算.如果确认在数字键之前按了运算的功能键.则应该进行运算功能,并且将运算结果存储在内存单元里面.等待下一步的指令.并且重复检测.等到有在物理键上面检测到有等号.则将最终的结果释放在LED管子上进行显示5)在运算结束后要实行放键功能,并且自动将所有的存储器(这里指的是RAM)上面的数据复位.等待实行重新的运算Part4:程序框图的设计:硬件电路设置:Part6.课程设计体会:一个星期的微机课程设计,在这个星期之中通过不断找资料解决问题,回顾了上学期所学的内容,给了我们很好一个机会将所学内容综合应用实践,温故而知新,对未来的学习也有很大帮助.但在课程设计之中也还发现一些不足的地方,我发现我能通过设计找出不足,更好的学习.并且给将来的学习提供一个好的解决榜样.所以通过这次程序设计的学习.我觉得我并不仅仅只学习到如何的运用汇编程序按照要求解答问题.而更是学习到了要怎么去思考.怎么去解决问题的方法.并且希望能够将这个所得应用在日后的学习之中.我觉得这才是本次课程设计的核心内容参考文献:微型计算机系统原理--(教材)微型计算机系统程序设计指导书--(实验题目)微型计算机系统程序设计例题A--(实验例题)Part8:实验程序:※设计代码※part1:※显示器工作于查询方式,键盘工作于中断方式※16个按键定义的键值:0-F,安任意键在显示器上现实对应的键值,LED显示器现实数值从右到左逐位现实STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDA TA SEGMENTV A1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;A端口的6根控制线(控制6个LED显示屏) VB2 DB 3FH,3FH,3FH,3FH,3FH,3FHVB3 DB 00H,00H,00H,00H,00H,00HVB4 DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;0~F的显示段码DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DATAMOV DS,AXMOV DX,0606HMOV AL,88HOUT DX,AL :8255初始化MOV BX,0000H :BX清零STT: :键盘测试MOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYABCCALL DISP :调用显示程序JMP STTKEYABC:CALL TIME :延时去抖动MOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYJMP STTKEY: :键盘扫描识别MOV DX,0600HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXKEY_3:TEST AL,10HJNZ KEY_7CALL KEY3JMP STTKKEY_7:TEST AL,20HJNZ KEY_BCALL KEY7JMP STTKKEY_B:TEST AL,40HJNZ KEY_FCALL KEYBJMP STTKKEY_F:TEST AL,80HJNZ KEY_2CALL KEYFJMP STTKMOV DX,0600H MOV AL,0FDH OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,10H JNZ KEY_6 CALL KEY2 JMP STTKKEY_6:TEST AL,20H JNZ KEY_A CALL KEY6 JMP STTKKEY_A:TEST AL,40H JNZ KEY_E CALL KEYA JMP STTKKEY_E:TEST AL,80H JNZ KEY_1 CALL KEYE JMP STTKKEY_1:MOV DX,0600H MOV AL,0FBH OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,10H JNZ KEY_5 CALL KEY1 JMP STTKKEY_5:TEST AL,20H JNZ KEY_9 CALL KEY5KEY_9:TEST AL,40H JNZ KEY_D CALL KEY9 JMP STTKKEY_D:TEST AL,80H JNZ KEY_0 CALL KEYD JMP STTKKEY_0:MOV DX,0600H MOV AL,0F7H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,10H JNZ KEY_4 CALL KEY0 CALL STTKKEY_4:TEST AL,20H JNZ KEY_8 CALL KEY4 JMP STTKKEY_8:TEST AL,40H JNZ KEY_C CALL KEY8 JMP STTKKEY_C:TEST AL,80H JNZ KEY_G CALL KEYCKEY_G:JMP STTKKEY0:CALL LP1 MOV AL,3FH MOV [SI+5],AL MOV AL,00H MOV [DI+5],AL CALL DISP RETKEY1:CALL LP1 MOV AL,06H MOV [SI+5],AL MOV AL,01H MOV [DI+5],AL CALL DISP RETKEY2:CALL LP1 MOV AL,5BH MOV [SI+5],AL MOV AL,02H MOV [DI+5],AL CALL DISP RETKEY3:CALL LP1 MOV AL,4FH MOV [SI+5],AL MOV AL,03H MOV [DI+5],AL CALL DISP RETKEY4:CALL LP1 MOV AL,66H MOV [SI+5],AL MOV AL,04H MOV [DI+5],AL CALL DISPRETKEY5:CALL LP1 MOV AL,6DH MOV [SI+5],AL MOV AL,05H MOV [DI+5],AL CALL DISP RETKEY6:CALL LP1 MOV AL,7DH MOV [SI+5],AL MOV AL,06H MOV [DI+5],AL CALL DISP RETKEY7:CALL LP1 MOV AL,07H MOV [SI+5],AL MOV AL,07H MOV [DI+5],AL CALL DISP RETKEY8:CALL LP1 MOV AL,7FH MOV [SI+5],AL MOV AL,08H MOV [DI+5],AL CALL DISP RETKEY9:CALL LP1 MOV AL,6FH MOV [SI+5],AL MOV AL,09H MOV [DI+5],ALCALL DISP RETKEYA:CALL LP1 MOV AL,77H MOV [SI+5],AL MOV AL,0AH MOV [DI+5],AL CALL DISP RETKEYB:CALL LP1 MOV AL,7CH MOV [SI+5],AL MOV AL,0BH MOV [DI+5],AL CALL DISP RETKEYC:CALL LP1 MOV AL,39H MOV [SI+5],AL MOV AL,0CH MOV [DI+5],AL CALL DISP RETKEYD:CALL LP1 MOV AL,5EH MOV [SI+5],AL MOV AL,0DH MOV [DI+5],AL CALL DISP RETKEYE:CALL LP1 MOV AL,79H MOV [SI+5],AL MOV AL,0EHMOV [DI+5],ALCALL DISPRETKEYF:CALL LP1MOV AL,71HMOV [SI+5],ALMOV AL,0FHMOV [DI+5],ALCALL DISPRET;上面是键盘键位的设置以及对应子程序的编写LP1: (数据段以为保存子程序,前移6位) MOV SI,0FFSET VA2MOV DI,OFFSET V A3MOV CX,0005HLP2:MOV AL,[SI+4]MOV [SI+5],ALMOV AL,[DI+4]MOV [DI+5],ALDEC SIDEC DILOOP LP2RETDISP: (6位显示程序)MOV SI,OFFSET V A1MOV DI,OFFSET V A2MOV DL,[DI+5]CMP DL,3FHJNZ DIR5MOV DL,[DI+4]CMP DL,3FHJNZ DIR4MOV DL,[DI+3]CMP DL,3FHJNZ DIR3MOV DL,[DI+2]CMP DL,3FHJNZ DIR2MOV DL,[DI+1]CMP DL,3FHJNZ DIR1JMP DIR0DIR5:MOV CX,0006HJMP DIRDIR4:MOV CX,0005HJMP DIRDIR3:MOV CX,0004HJMP DIRDIR2:MOV CX,0003HJMP DIRDIR1:MOV CX,0002HJMP DIRDIR0:MOV CX,0001HDIR:MOV DX,0600HMOV AL,[SI]OUT DX,ALMOV DX,0602HMOV AL,[DI]OUT DX,ALCALL TIMEINC SIINC DILOOP DIRRETTIME: (延时程序) PUSH AXPUSH CXMOV CX,0005HTIME1:MOV AX,00F0HTIME2:DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRETSTTK: (按键测试程序)CALL DISPMOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ STTKJMP STTCODE ENDSEND STARTPart2:※显示器工作于查询方式,键盘工作于中断方式※定义键盘按键:10个数字键(0~9);6个功能键:+(加),-(减),*(乘),/(除),=(等于),CLEAR(清零)※实现五位八进制数加法运算.可连续做加法.直接按"=号结束,显示结果STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDA TA SEGMENTV A1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEHV A2 DB 3FH,3FH,3FH,3FH,3FH,3FHV A3 DB 00H,00H,00H,00H,00H,00HV A4 DB 00H,00H,00H,00H,00H,00HSUM DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,0606HMOV AL,88HOUT DX,ALMOV BX,0000HSTT: MOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYABCCALL DISPJMP STTKEYABC:CALL DELAYMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYJMP STTKEY: MOV DX,0600HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXKEY_0: TEST AL,10HJNZ KEY_1CALL KEY0JMP STTKKEY_1: TEST AL,20HJNZ KEY_4CALL KEY1JMP STTKKEY_4: TEST AL,40HJNZ KEY_7CALL KEY4JMP STTKKEY_7: TEST AL,80HJNZ KEY2CCALL KEY7JMP STTKKEY2C: MOV DX,0600HMOV AL,0FDHOUT DX,ALMOV DX,0604HIN AL,DXKEY_CLEAR:TEST AL,10HJNZ KEY_2CALL KEYCLEARJMP STTKKEY_2: TEST AL,20HJNZ KEY_5CALL KEY2JMP STTKKEY_5: TEST AL,40HJNZ KEY_8CALL KEY5JMP STTKKEY_8: TEST AL,80HJNZ KEY3CCALL KEY8JMP STTKKEY3C: MOV DX,0600HMOV AL,0FBHOUT DX,ALMOV DX,0604HIN AL,DXKEY_QUAL: TEST AL,10HJNZ KEY_3CALL KEYEQUALJMP STTKKEY_3: TEST AL,20HJNZ KEY_6CALL KEY3JMP STTKKEY_6: TEST AL,40HJNZ KEY_9CALL KEY6JMP STTKKEY_9: TEST AL,80HJNZ KEY4CCALL KEY9JMP STTKKEY4C: MOV DX,0600HMOV AL,0F7HOUT DX,ALMOV DX,0604HIN AL,DXKEY_PLUS: TEST AL,10HJNZ KEY_MINUSCALL KEYPLUSJMP STTKKEY_MINUS: TEST AL,20HJNZ KEY_MULJMP STTKKEY_MUL: TEST AL,40HJNZ KEY_DIVJMP STTKKEY_DIV: TEST AL,80HKEY_G: JMP STTK;结束按键扫描,下面是按键处理函数(与第一个程序不同的地方是功能键的设置问题)KEY0: CMP BH,00HJZ KEY0_1CALL CLEARKEY0_1: CALL LP1MOV AL,3FHMOV [SI+4],ALMOV AL,00HMOV [DI+4],ALCALL DISPRETKEY1: CMP BH,00HJZ KEY1_1CALL CLEAR KEY1_1: CALL LP1MOV AL,06HMOV [SI+4],ALMOV AL,01HMOV [DI+4],ALCALL DISPRETKEY2: CMP BH,00HJZ KEY2_1CALL CLEAR KEY2_1: CALL LP1MOV AL,5BHMOV [SI+4],ALMOV AL,02HMOV [DI+4],ALCALL DISPRETKEY3: CMP BH,00HJZ KEY3_1CALL CLEAR KEY3_1: CALL LP1MOV AL,4FHMOV [SI+4],ALMOV AL,03HMOV [DI+4],ALCALL DISPRETKEY4: CMP BH,00HJZ KEY4_1CALL CLEAR KEY4_1:CALL LP1MOV AL,66HMOV [SI+4],ALMOV AL,04HMOV [DI+4],ALRETKEY5: CMP BH,00HJZ KEY5_1CALL CLEAR KEY5_1: CALL LP1MOV AL,6DHMOV [SI+4],ALMOV AL,05HMOV [DI+4],ALCALL DISPRETKEY6: CMP BH,00HJZ KEY6_1CALL CLEAR KEY6_1: CALL LP1MOV AL,7DHMOV [SI+4],ALMOV AL,06HMOV [DI+4],ALCALL DISPRETKEY7: CMP BH,00HJZ KEY7_1CALL CLEAR KEY7_1: CALL LP1MOV AL,07HMOV [SI+4],ALMOV AL,07HMOV [DI+4],ALCALL DISPRETKEY8: CMP BH,00HJZ KEY8_1CALL CLEAR KEY8_1: CALL LP1MOV AL,7FHMOV [SI+4],ALMOV AL,08HMOV [DI+4],ALRETKEY9: CMP BH,00HJZ KEY9_1CALL CLEARKEY9_1: CALL LP1MOV AL,6FHMOV [SI+4],ALMOV AL,09HMOV [DI+4],ALCALL DISPRETKEYPLUS: CMP BH,00H ;设置加法的标志位以及程序的跳转判定JNZ KEYPLUS_1MOV BX,0101HCALL ADD1KEYPLUS_1: MOV BX,0101HRETKEYEQUAL: MOV BH,01H ;设置等号的标志位以及程序的跳转判定CMP BL,00HJZ EQUALFCMP BL,01HJZ ADDFCMP BL,02HSTTE: RETEQUALF: CALL EQUAL1JMP STTEADDF: CALL ADDSUMJMP STTEKEYCLEAR:CALL CLEAR2 ;按键CLEAR的功能调用RETCLEAR: MOV SI,OFFSET V A2 ;CLEAR系列的程序(作用是全部复位) MOV DI,OFFSET V A3MOV CX,0006HCLEAR1:MOV AL,3FHMOV [SI],ALMOV AL,00HMOV [DI],ALINC SIINC DILOOP CLEAR1MOV BH,00HRETCLEARPLUS: MOV DI,OFFSET V A3 ;加法专用的清零程序,实现连加的重要部分MOV CX,0006HCLEARPLUS1: MOV AL,00HMOV [DI],ALINC SIINC DILOOP CLEARPLUS1MOV BH,00HRETCLEAR2: MOV SI,OFFSET V A2MOV DI,OFFSET V A3MOV CX,0006HCLEAR3: MOV AL,3FHMOV [SI],ALMOV AL,00HMOV [DI],ALINC SIINC DILOOP CLEAR3CLEAR4: MOV SI,OFFSET SUMMOV CX,0006HCLEAR5: MOV AL,00HMOV [SI],ALINC SILOOP CLEAR5MOV BX,00HRETADD1: PUSH BX ;加法的子程序实现MOV SI,OFFSET V A3MOV DI,OFFSET SUMCLCXOR AH,AHMOV CX,0005HMOV BL,08HADD1_1: MOV AL,[DI]ADD AL,[SI]ADD AL,AHCBWDIV BLMOV [DI],AHMOV AH,ALINC SIINC DILOOP ADD1_1MOV [DI],AHCALL CLEARPLUSPOP BXRETEQUAL1: MOV SI,OFFSET V A3MOV DI,OFFSET SUMMOV CX,00006H EQUAL1_1: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP EQUAL1_1CALL CHANGECALL DISPRETADDSUM: CALL ADD1CALL CHANGECALL DISPRETLP1: MOV SI,OFFSET V A2MOV DI,OFFSET V A3MOV CX,0004HLP2: MOV AL,[SI+3]MOV [SI+4],ALMOV AL,[DI+3]MOV [DI+4],ALDEC SIDEC DILOOP LP2RETLP3: MOV CX,0006HMOV SI,OFFSET V A3MOV DI,OFFSET SUMLP4: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LP4RETCHANGE: PUSH BX ;意思是转码,将SUM存储器里面的东西调到V A2中MOV SI,OFFSET V A2MOV DI,OFFSET SUMMOV BX,OFFSET TABLEMOV CX,0006HCOMP0: MOV AL,[DI]XLATMOV [SI],ALINC SIINC DILOOP COMP0POP BXRETDISP: MOV SI,OFFSET V A1MOV DI,OFFSET V A2MOV DL,[DI+5]CMP DL,3FHJNZ DIR5MOV DL,[DI+4]CMP DL,3FHJNZ DIR4MOV DL,[DI+3]CMP DL,3FHJNZ DIR3MOV DL,[DI+2]CMP DL,3FHJNZ DIR2MOV DL,[DI+1]CMP DL,3FHJNZ DIR1JMP DIR0DIR5: MOV CX,0006HJMP DIRDIR4: MOV CX,0005HJMP DIRDIR3: MOV CX,0004HJMP DIRDIR2: MOV CX,0003HJMP DIRDIR1: MOV CX,0002HJMP DIRDIR0: MOV CX,0001HJMP DIR DIR: MOV DX,0600HMOV AL,[SI]OUT DX,ALMOV DX,0602HMOV AL,[DI]OUT DX,ALCALL DELAYINC SIINC DILOOP DIRRET DELAY: PUSH AXPUSH CXMOV CX,0005H DELAY1: MOV AX,00F0H DELAY2: DEC AXJNZ DELAY2LOOP DELAY1POP CXPOP AXRETSTTK: CALL DISPMOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ STTKJMP STT CODE ENDSEND STARTPart3: ※定义键盘按键:10个数字键(0~9);6个功能键:+(加),-(减),*(乘),/(除),=(等于),CLEAR(清零)※实现五位八进制数乘法运算.可连续做乘法运算STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDA TA SEGMENTV A1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEHV A2 DB 3FH,3FH,3FH,3FH,3FH,3FHV A3 DB 00H,00H,00H,00H,00H,00HV A4 DB 00H,00H,00H,00H,00H,00HV A5 DB 00H,00H,00H,00H,00H,00HSUM DB 00H,00H,00H,00H,00H,00HMULSUM DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,0606HMOV AL,88HOUT DX,ALMOV BX,0000HSTT: MOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYABCCALL DISPJMP STTKEYABC:CALL DELAYMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEY1CJMP STTKEY1C: MOV DX,0600HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXKEY_0: TEST AL,10HJNZ KEY_1CALL KEY0JMP STTKKEY_1: TEST AL,20HJNZ KEY_4CALL KEY1JMP STTKKEY_4: TEST AL,40HJNZ KEY_7CALL KEY4JMP STTKKEY_7: TEST AL,80HJNZ KEY2CCALL KEY7JMP STTKKEY2C: MOV DX,0600HMOV AL,0FDHOUT DX,ALMOV DX,0604HIN AL,DXKEY_C: TEST AL,10HJNZ KEY_2CALL KEYCLEARJMP STTKKEY_2: TEST AL,20HJNZ KEY_5CALL KEY2JMP STTKKEY_5: TEST AL,40HJNZ KEY_8CALL KEY5JMP STTKKEY_8: TEST AL,80HJNZ KEY3CCALL KEY8JMP STTKKEY3C: MOV DX,0600HMOV AL,0FBHOUT DX,ALMOV DX,0604HIN AL,DXKEY_E: TEST AL,10HJNZ KEY_3CALL KEYEQUALJMP STTKKEY_3: TEST AL,20HJNZ KEY_6CALL KEY3JMP STTKKEY_6: TEST AL,40HJNZ KEY_9CALL KEY6JMP STTKKEY_9: TEST AL,80HJNZ KEY4CCALL KEY9JMP STTKKEY4C: MOV DX,0600HMOV AL,0F7HOUT DX,ALMOV DX,0604HIN AL,DXKEY_P: TEST AL,10HJNZ KEY_MINUSJMP STTKKEY_MINUS:TEST AL,20HJNZ KEY_MULJMP STTKKEY_MUL: TEST AL,40HJNZ KEY_DIVCALL KEYMULJMP STTKKEY_DIV: TEST AL,80HKEY_G: JMP STTK;结束按键扫描,下面是按键处理函数(这里只有乘法功能的定义)KEY0: CMP BH,00HJZ KEY0_1CALL CLEAR KEY0_1: CALL LP1MOV AL,3FHMOV [SI+4],ALMOV AL,00HMOV [DI+4],ALCALL DISPRETKEY1: CMP BH,00HJZ KEY1_1CALL CLEAR KEY1_1: CALL LP1MOV AL,06HMOV [SI+4],ALMOV AL,01HMOV [DI+4],ALCALL DISPRETKEY2: CMP BH,00HJZ KEY2_1CALL CLEAR KEY2_1: CALL LP1MOV AL,5BHMOV [SI+4],ALMOV AL,02HMOV [DI+4],ALCALL DISPRETKEY3: CMP BH,00HJZ KEY3_1CALL CLEAR KEY3_1: CALL LP1MOV AL,4FHMOV [SI+4],ALMOV AL,03HMOV [DI+4],ALCALL DISPRETKEY4: CMP BH,00HJZ KEY4_1CALL CLEARKEY4_1:CALL LP1MOV AL,66HMOV [SI+4],ALMOV AL,04HMOV [DI+4],ALCALL DISPRETKEY5: CMP BH,00HJZ KEY5_1CALL CLEAR KEY5_1: CALL LP1MOV AL,6DHMOV [SI+4],ALMOV AL,05HMOV [DI+4],ALCALL DISPRETKEY6: CMP BH,00HJZ KEY6_1CALL CLEAR KEY6_1: CALL LP1MOV AL,7DHMOV [SI+4],ALMOV AL,06HMOV [DI+4],ALCALL DISPRETKEY7: CMP BH,00HJZ KEY7_1CALL CLEAR KEY7_1: CALL LP1MOV AL,07HMOV [SI+4],ALMOV AL,07HMOV [DI+4],ALCALL DISPRETKEY8: CMP BH,00HJZ KEY8_1CALL CLEAR KEY8_1: CALL LP1MOV AL,7FHMOV [SI+4],ALMOV AL,08HMOV [DI+4],ALCALL DISPRETKEY9: CMP BH,00HJZ KEY9_1CALL CLEARKEY9_1: CALL LP1MOV AL,6FHMOV [SI+4],ALMOV AL,09HMOV [DI+4],ALCALL DISPRETKEYMUL: CMP BH,00HJNZ KEYMUL_1MOV BX,0103HCALL MUL1 KEYMUL_1: MOV BX,0103HRETKEYEQUAL: MOV BH,01HCMP BL,00HJZ EQUALFCMP BL,03HJZ MULFSTTE: RETEQUALF: CALL EQUAL1JMP STTE MULF: CALL MULSUM1JMP STTEKEYCLEAR: CALL CLEAR2RETCLEAR: MOV SI,OFFSET V A2MOV DI,OFFSET V A3MOV CX,0006H CLEAR1: MOV AL,3FHMOV [SI],ALMOV AL,00HMOV [DI],ALINC SIINC DILOOP CLEAR1MOV BH,00HRETCLEARPLUS: MOV DI,OFFSET V A3PUSH CXMOV CX,0006H CLEARPLUS1: MOV AL,00HMOV [DI],ALINC DILOOP CLEARPLUS1POP CXMOV BH,00HRETCLEAR2: MOV SI,OFFSET V A2MOV DI,OFFSET V A3MOV CX,0006HCLEAR3: MOV AL,3FHMOV [SI],ALMOV AL,00HMOV [DI],ALINC SIINC DILOOP CLEAR3CLEAR4: MOV DI,OFFSET MULSUMMOV AL,01HMOV [DI],ALMOV AL,00HMOV [DI+1],ALMOV [DI+2],ALMOV [DI+3],ALMOV [DI+4],ALMOV [DI+5],ALMOV SI,OFFSET SUMMOV DI,OFFSET V A4MOV CX,0006HCLEAR5: MOV AL,00HMOV [SI],ALMOV [DI],ALINC SIINC DILOOP CLEAR5MOV BX,0000HRETCLEARV A4: PUSH CXMOV SI,OFFSET V A4MOV CX,0006HCLEARV A41: MOV AL,00HMOV [SI],ALINC SILOOP CLEARV A41POP CXRETMUL1: PUSH BX (相乘子程序) MOV SI,OFFSET V A3XOR CX,CXXOR AX,AXMOV BX,1000HMOV AL,[SI+4]CMP AL,00HJZ MULNEXT1MUL BXADD CX,AXXOR AX,AXMULNEXT1: MOV BX,0200HMOV AL,[SI+3]CMP AL,00HJZ MULNEXT2MUL BXADD CX,AXXOR AX,AXMULNEXT2: MOV BX,0040HMOV AL,[SI+2]CMP AL,00HJZ MULNEXT3MUL BXADD CX,AXXOR AX,AXMULNEXT3: MOV BX,0008HMOV AL,[SI+1]CMP AL,00HJZ MULNEXT4MUL BXADD CX,AXXOR AX,AXMULNEXT4: MOV AL,[SI]ADD CX,AXXOR AX,AXMOV SI,OFFSET MULSUM (开始运行相乘)MOV AL,00HCMP [SI],ALJNZ MUL1_1CMP [SI+1],ALJNZ MUL1_1CMP [SI+2],ALJNZ MUL1_1CMP [SI+3],ALJNZ MUL1_1CMP [SI+4],ALJNZ MUL1_1CMP [SI+5],ALJNZ MUL1_1PUSH CXMOV CX,0006HMOV SI,OFFSET V A3MOV DI,OFFSET MULSUMLPJ2: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LPJ2POP CXJMP STTKMUL1_1: MOV SI,OFFSET MULSUMMOV DI,OFFSET V A4XOR AX,AXMOV BL,08HPUSH CXMOV CX,0005HMUL1_2: MOV AL,[DI]ADD AL,[SI]ADD AL,AHCBWDIV BLMOV [DI],AHMOV AH,ALINC SIINC DILOOP MUL1_2MOV [DI],AHPOP CXLOOP MUL1_1CALL CLEARPLUSPOP BXCALL LP3CALL CLEARV A4RETMULSUM1: CALL MUL1CALL CHANGEMULCALL CLEARV A4CALL DISPRETLP1: M OV SI,OFFSET V A2MOV DI,OFFSET VA3MOV CX,0004HLP2: M OV AL,[SI+3]MOV [SI+4],ALMOV AL,[DI+3]MOV [DI+4],ALDEC SIDEC DILOOP LP2RETLP3: MOV CX,0006HMOV SI,OFFSET V A4MOV DI,OFFSET MULSUMLP4: M OV AL,[SI]MOV [DI],ALINC SIINC DILOOP LP4RETCHANGEMUL: PUSH BXMOV SI,OFFSET V A2MOV DI,OFFSET MULSUMMOV BX,OFFSET TABLEMOV CX,0006H COMPMUL0: MOV AL,[DI]XLATMOV [SI],ALINC SIINC DILOOP COMPMUL0POP BXRETDISP: MOV SI,OFFSET V A1MOV DI,OFFSET V A2MOV DL,[DI+5]CMP DL,3FHJNZ DIR5MOV DL,[DI+4]CMP DL,3FHJNZ DIR4MOV DL,[DI+3]CMP DL,3FHJNZ DIR3MOV DL,[DI+2]CMP DL,3FHJNZ DIR2MOV DL,[DI+1]CMP DL,3FHJNZ DIR1JMP DIR0DIR5: MOV CX,0006HJMP DIRDIR4: MOV CX,0005HJMP DIRDIR3: MOV CX,0004HJMP DIRDIR2: MOV CX,0003HJMP DIRDIR1: MOV CX,0002HJMP DIRDIR0: MOV CX,0001HJMP DIRDIR: MOV DX,0600HMOV AL,[SI]OUT DX,ALMOV DX,0602HMOV AL,[DI]OUT DX,ALCALL DELAYINC SIINC DILOOP DIRRETDELAY: PUSH AXPUSH CXMOV CX,0005H DELAY1: MOV AX,00F0H DELAY2: DEC AXJNZ DELAY2LOOP DELAY1POP CXPOP AXRETSTTK: CALL DISPMOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ STTKJMP STTCODE ENDSEND START。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

惠州学院单片微型计算机实验报告
电子科学系08电信1班班实验日期2011年月日
实验7多级中断
一、实验目的:
1)通过实验了解定时器中门控信号的使用
2)通过实验了解多级中断的原理、编程方法
二、实验设备:
PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路.
三、实验内容
用单片机控制一个路灯,天黑时路灯启动,亮2秒,灭2秒,闪闪发光,白天时路灯熄灭。

用外部开关控制白天与黑夜的转换,用定时器控制路灯的闪亮
实验方法一:T0采用门控方式,单中断工作。

实验方法二:多级中断嵌套,INT0中断(低级)控制黑天白天状态;T0中断(高级)控制灯的闪亮。

四、实验接线
P1.7接发光二极管,INT0管脚接平推开关
五、参考程序
1)T0采用门控方式,单中断工作
;NAME T7_1_INT
ORG0000H
LJMP MAIN
ORG000BH
LJMP TLINT
ORG0100H
MAIN:MOV SP,#30H
MOV IE,#0H;关中断
GAT01:CLR P1.7
MOV TMOD,#08H;T0门控
MOV TL0,#18H
MOV TH0,#63H
MOV R7,#0C8H
HERE1:JNB P3.2,HERE1
MOV40H,#01H
SETB TR0
SETB ET0
HERE2:JB P3.2,HERE2
MOV41H,#02H
CLR TR0
CLR EA
AJMP GAT01
TLINT:MOV TL0,#18H
MOV TH0,#63H
MOV42H,#03H
DJNZ R7,EXPORT
MOV R7,#0C8H
CPL P1.7
EXPORT:RETI
END
2)多级中断嵌套,INT0中断(低级)控制黑天白天状态;T0中断(高级)控制灯的闪亮。

增加信号灯显示当前程序工作位置
❑P1.0:显示主程序工作状态,闪动=循环工作
❑P1.1:显示INT0中断子程序工作状态,闪动=进入中断。

❑P1.7:显示T0中断子程序工作状态,闪动=进入中断
;NAME T7_2_INT
ORG0000H
LJMP MAIN
ORG0003H;INT0中断入口地址
LJMP WBINT
ORG000BH;T0中断入口地址
LJMP TLINT
ORG0100H
MAIN:MOV SP,#30H;主程序
MOV IE,#0H;关中断
MOV TCON,#0H;INT0低电平触发中断
MOV IP,#2H;T0高级中断INT0低级中断
MOV TMOD,#0H;T0方式0
MOV TL0,#18H;T0定值
MOV TH0,#63H
MOV R7,#0C8H;T0中断计数值
CLR P1.0;主程序工作指示
CLR P1.1;INT0中断程序工作指示
CLR P1.7;T0中断程序工作指示
CLR P1.2;关显示
CLR P1.3
CLR P1.4
CLR P1.6
ACALL DLY;调软件延时
SETB EX0;开INT0中断
SETB EA;开总中断
WAIT:CPL P1.0;;P1.0闪动显示
ACALL DLY;主程序循环
AJMP WAIT;等待
NOP
NOP
DLY:MOV R5,#0FFH;软件延时
DLY1:MOV R4,#0FFH;子程序1
DLY2:DJNZ R4,DLY2
DJNZ R5,DLY1
RET
W_DLY:MOV R2,#0FFH;软件延时
W_DLY1:MOV R3,#0FFH;子程序2
W_DLY2:DJNZ R3,W_DLY2
DJNZ R2,W_DLY1
RET
;INT0中断子程序
WBINT:CLR EX0;关INT0中断
SETB ET0;开放T0中断
SETB TR0;启动T0
MOV40H,#01H;黑天标志
WBW:CPL P1.1;INT0中断工作标志ACALL W_DLY JNB P3.2,WBW;等白天信号
MOV41H,#02H;白天标志
CLR TR0;关T0
CLR ET0;关T0中断
CLR P1.1
CLR P1.7
SETB EX0;开INT0中断
RETI
;T0中断子程序
TLINT:MOV TL0,#18H;T0重新
MOV TH0,#63H;置初值
MOV42H,#03H
DJNZ R7,EXPORT
MOV R7,#0C8H;T0中断200次
CPL P1.7;等于2秒EXPORT:RETI
END
程序流程图
主程序
中断入口地址安排
初始化
INT0低电平,低级中断
置T0初值
关所有灯
开放INT0中断
调软件延时子程序
P1.0取反
INT0中断子程序
开T0中断,启动T0
关INT0中断
RETI
停T0,关T0中断
开放INT0中断
调软件延时子程序2
P1.1取
P3.2低电平(黑天)
关P1.0,P1.1灯
Y
N
T0中断子程序
重置T0定值
RETI
P1.7取反
T0中断200次
Y
N
重置中断计数置。

相关文档
最新文档