微机原理实验源程序配合伟福lab8000试验箱使用
【心得体会】微机原理课程设计心得体会
【关键字】心得体会微机原理课程设计心得体会篇一:微机原理课程设计课程设计报告( XX—XX 年度第一学期)课程:微机原理及应用题目:动画显示显示三角形并倒置院系: 控制与计算机工程学院班级:自动化1004 姓名学号:XX09030110 XX09040134 指导教师:程海燕设计周数:一周成绩:XX年1 月11 日XX02020407日期:《微机原理及应用》课程设计任务书一、目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力。
2、主要内容1.动画显示及显示三角形并倒置。
2.针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。
3.根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。
4.写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。
三、进度计划四、设计成果要求1.系统硬件设计合理,软件编程达到设计要求。
2.系统硬件结构图和软件流程图绘制清楚规范。
3.设计报告完整规范。
五、考核方式根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。
学生姓名:指导教师:一、课程设计目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。
2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。
3.培养学生分析问题、解决问题的能力。
4.培养学生对微型计算机应用系统的基本设计能力。
5.提高学生的实践动手能力和创新能力2、课程设计正文 1. 设计要求(1)动画显示:用字符组成汽车图形,在屏幕显示从左向右开动的汽车;(2)显示三角形并倒置:用* 绘制一个七层等腰三角形,点击空格键则三角形倒置一次,再次点击则再次倒置。
微机原理实验箱使用说明项目版
0目录第一章简介 (4)1.1 实验仪介绍 (4)1.2 实验仪配置方案 (4)1.3 功能特点 (4)1.3.1 软件 (4)1.3.2 硬件 (5)第二章硬件结构 (7)2.1 电路外观 (7)2.2 A1区:12864液晶显示模块电路 (8)2.3 A2区:16×16 LED实验电路 (9)2.4 A3区:CPU总线、片选区 (9)2.5 A4区:控制区 (9)2.6 B1区:语音模块ISD1420电路 (10)2.7 B2区:逻辑笔、单脉冲、频率发生器 (10)2.8 B3区:8259电路 (11)2.9 B4区:8155、8255电路 (11)2.10 B5、C6区:扩展区 (12)2.11 C1区:电源区 (13)2.12 C2区:93C46 (13)2.13 C3区:138译码器 (13)2.14 C4区:X5045 (13)2.15 C5区:8253、8251 (14)2.16 D1区:蜂鸣器 (14)2.17 D2区:0~5V电压输出 (14)2.18 D3区:光敏电阻、压力测量 (15)2.19 D4区:并串转换 (16)2.20 D5区:串并转换 (16)2.21 E1区:步进电机 (16)2.22 E2区:PWM电压转换 (16)2.23 E3区:继电器 (17)2.24 E4区:I2C总线(包括24C02A,PCF8563P,ZLG7290) (17)2.25 E5区:8279键盘/LED控制器 (18)2.26 E6区:8250 (19)2.27 E7区:RS232 (19)2.28 E8区:RS485 (19)2.29 F1区:直流电机转速测量/控制 (20)2.30 F2区:串行AD (20)2.31 F3区:DAC0832数模转换 (21)2.32 G1区:温度测量/控制 (21)12.33 G2区:红外通讯 (21)2.34 G3区:串行DA (22)2.35 G4区:ADC0809模数转换 (22)2.36 G5区:键盘&LED (23)2.37 G6区:发光管、按键、开关 (23)2.38 G7区:接触式IC卡 (24)第三章星研集成环境软件 (25)3.1 软件安装 (25)3.1.1 安装星研集成环境软件 (25)3.1.2 软件卸载 (25)3.1.3 USB驱动程序 (25)3.1.4 软件启动 (26)3.1.5 编译器 (27)3.1.6 README文件 (27)3.2 如何使用星研集成环境软件 (28)3.2.1 数据传送程序(ASM) (28)3.2.2 数据传送程序(C) (42)231简介1.1 实验仪介绍STAR ES598PCI实验仪提供了几乎所有最实用、新颖的接口实验,提供详尽的C、汇编例子程序、使用说明,不但可以满足各大专院校进行单片机、微机原理课程的开放式实验教学,也可以让参加电子竞赛的学生熟悉各种类型的接口芯片,做各种实时控制实验,轻松面对电子竞赛;也可以让刚参加工作的电子工程师迅速成为高手。
伟福单片机实验指导书
® 伟福Lab2000P 单片机仿真实验系统 目录 - i -目录第一章 概述 (1)第二章 伟福实验系统组成和结构 (3)第三章 板上仿真器使用方法 (12)第四章 MCS51系列单片机实验 (19)MCS96系列单片机实验 (20)8088/86系列CPU 实验 (21)软件实验1. 存储器块清零(51/96/88) (22)2. 二进制到BCD 码转换(51/96/88) (23)3. 二进制到ASCII 码转换(51/96/88) (24)4. 内存块移动(51/96/88) (25)5. 程序跳转表(51/96/88) (26)6. 数据排序(51/96/88) (27)硬件实验1. P1口输入输出(51/96) (28)2. 继电器控制(51/96) (30)3. 用74LS245读入数据(51/96/88) (31)4. 用74LS273输出数据(51/96/88) (32)5. PWM 转换电压实验(51/96) (33)6. 音频控制(51/96) (34)7. 用8255输入、输出(51/96/88) (35)8. 串行数转换并行数(51/96) (36)9. 并行数转换串行数(51/96) (38)10. 计数器实验(51) (40)11. 外部中断实验(51/96) (41)12. 定时器实验(51/96) (43)13. D/A 转换实验(51/96/88) (45)14. A/D 转换实验(51/96/88) (47)15. 外部中断实验(急救车与交通灯) (51/96) (49)16. 八段数码管显示(51/96/88) (51)17. 键盘扫描显示实验(51/96/88) (53)18. 电子时钟(51/96/88) (55)19. 单片机串行口通讯实验(51/96) (57)® 伟福Lab2000P 单片机仿真实验系统 目录 - ii -20. 打印机控制实验(51/96/88) (59)21. 直流电机控制实验(51/96/88) (61)22. 步进电机控制实验(51/96/88) (63)23. 温度传感器实验(51/96/88) (66)24. 液晶显示屏控制实验(51/96/88) (67)25. 电子琴(51/96/88) (69)26. 空调温度控制实验(51/96/88) (71)27. 计算器实验(51/96/88) (74)28. 用HSO 方式输出PWM 波形(96) (76)29. 用HSI 方式测量脉冲宽度(96) (77)30. 用HSI 中断方式统计脉冲个数(96) (78)31. 计数器实验(96) (80).... 32. 用片内A/D 做A/D 转换实验(96).. (81)33. PWM 转换电压实验(88) (82)34. 8253计数器实验(88) (83)35. 8259外部中断实验(88) (84)36. 8253定时器实验(88) (86)37. 8251A 串行口通讯实验(88) (88)第五章 逻辑分析工具 (90)本实验说明书包括8051,80C196,8088/86三种实验说明(8051单片机有6个软件实验、27个硬件实验,80C196单片机有6个软件实验、31个硬件实验,8088/86CPU 有6个软件实验、21个硬件实验)。
《微机原理与接口技术》实验指导书
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
《微机原理与接口技术》实验指导书
微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
浙江大学微机原理实验指导书
第一章实验装置一.伟福开发环境的使用1.菜单文件菜单选项●文件 | 打开文件打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。
●文件 | 保存文件保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘。
●文件 | 新建文件建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。
●文件 | 另存为将用户程序存成另外一个文件,原来的文件内容不会改变●文件 | 重新打开在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。
●文件 | 打开项目打开一个用户项目,在项目中,用户可以设置仿真类型。
加入用户程序,进行编译,调试。
系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。
伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。
仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型可以用以下几种方法设置仿真器。
✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置。
✧按鼠标右键,在弹出菜单中选择[仿真器设置]。
✧主菜单| 仿真器| 仿真器设置。
加入模块文件✧按鼠标右键,在弹出菜单中选择[加入模块文件]✧主菜单| 项目| 加入模块文件加入包含文件✧按鼠标右键,在弹出菜单中选择[加入包含文件]✧主菜单项目|加入包含文件用户可以将以前单文件方式仿真转为WINDOWS下的项目方式进行仿真✧主菜单文件|新建项目,在新建项目时,前一个项目自动关闭。
✧加入模块文件时,选择要调试的程序文件名,将文件加入项目。
✧将项目存盘。
✧编译,运行,调试项目。
●文件 | 保存项目将用户项目存盘。
用户在编译项目时,自动存盘。
注意:当用项目仿真时,系统要求项目文件,模块文件,包含文件在同一个目录(文件夹)下。
●文件 | 新建项目当用户开始新的任务时,应新建一个项目,在项目中,设置所用仿真器类型,POD类型,加入用户程序(模块)。
微机原理教学实验箱实验手册
微机原理教学实验箱使用手册西安电子科技大学通信工程学院何先灯2015.12.30注意事项用户在使用本手册中所描述的的硬件产品时请严格遵照下述事项:1.严禁自行拆机,以免发生危险2.严禁频繁进行开、关机的操作3.严禁在上电状态下进行硬件的插拔4.严禁用手直接接触芯片,以避免该芯片被静电击穿手册目录本手册包含以下章节:第一章概述:简要介绍了MCU开发工具及流程。
第二章JLINK驱动的安装。
详细介绍了驱动的安装方法、步骤。
第三章软件使用指导:详细介绍了IAR下载调试工具的使用。
第四章测试例程:通过详细的实验说明,介绍了实验箱的演示实验,包括LED流水灯、数码管、串口通信、音频、SD卡等多个实验。
目录一、概述 (1)二、JLINK的驱动安装 (3)三、软件使用指导 (5)3.1IAR的使用 (5)四、实验任务 (20)4.1实验一按键检测和LED显示实验 (20)1.基本要求 (20)2.重点、难点 (20)3.作业及课外学习要求 (20)4.实验原理 (20)5 实验任务 (23)4.2实验二IO中断和定时器中断实验 (24)1.基本要求 (24)2.重点、难点 (24)3.作业及课外学习要求 (24)4.实验原理 (24)5.实验任务 (25)4.3 RS232串口通信实验 (27)1.基本要求 (27)2.重点、难点 (27)3.作业及课外学习要求 (27)4实验原理 (27)5.实验任务 (28)4.4 IIC通信及LCD显示 (29)1.基本要求 (29)2.重点、难点 (29)3.作业及课外学习要求 (29)4实验原理 (29)5.实验任务 (31)4.5并行总线接口实验..................................................................... 错误!未定义书签。
1.基本要求...................................................................................... 错误!未定义书签。
LAB8000说明书
伟福®伟福Lab8000系列单片机仿真实验系统使用说明书南京伟福实业有限公司® 伟福 Lab8000单片机仿真实验系统 目录 - i -目 录第一章 概述 (1)第二章 伟福实验系统组成和结构 (3)1. 实验系统的硬件组成.............................................. (3)2. 实验系统的仿真板简介......... ......... ......... .. (15)3. 实验系统的调试方法......... ......... ......... ................... ....... .. (16)第三章 MCS51系列单片机实验 (17)MCS96系列单片机实验 (18)8088/86系列CPU 实验 (19)ARM LPC2103 MCU 实验 (20)PIC5X 系列CPU 实验 .............. .... . (20)软件实验1. 存储器块清零(51/96/88/PIC) (21)2. 二进制到BCD 码转换(51/96/88/PIC) (22)3. 二进制到ASCII 码转换(51/96/88/PIC) (23)4. 内存块移动(51/96/88/PIC) (24)5. 程序跳转表(51/96/88/PIC) (25)6. 数据排序(51/96/88/PIC) (26)硬件实验® 伟福Lab8000单片机仿真实验系统 目录 - ii -1. IO 口输入输出(51/96/PIC/ARM) (27)2. 继电器控制(51/96/PIC/ARM) (29)3. 用74HC245读入数据(51/96/88/ARM ) (30)4. 用74HC273输出数据(51/96/88/ARM) (31)5. PWM 转换电压实验(51/96/PIC/ARM) (32)6. 音频控制(51/96/PIC/ARM) (33)7. 用8255输入、输出(51/96/88/ARM) (34)8. 串行数转换并行数(51/96/PIC/ARM) (35)9. 并行数转换串行数(51/96/PIC/ARM) (37)10. 计数器实验(51/PIC/ARM) (39)11. 外部中断实验(51/96/ARM) (40)12. 定时器实验(51/96/PIC/ARM) (42)13. D/A 数模转换实验(51/96/88/ARM) (44)14. A/D 模数转换实验(51/96/88/ARM) ..................... . (46)15. 外部中断实验(急救车与交通灯) (51/96/ARM) (48)16. 八段数码管显示(51/96/88/PIC/ARM) (50)17. 键盘扫描显示实验(51/96/88/ARM) (52)18. 电子时钟(51/96/88/PIC/ARM) (54)19. 单片机串行口通讯实验(51/96/ARM) (56)® 伟福Lab8000单片机仿真实验系统 目录 - iii -20. 1-Wire 总线实验(51/96/PIC/ARM) (58)21. 直流电机控制实验(51/96/88/ARM) (60)22. 步进电机控制实验(51/96/88/PIC/ARM) (62)23. 温度传感器实验(51/96/88/ARM) (65)24. 液晶显示屏控制实验(51/96/88/ARM) (67)25. 电子琴实验(51/96/88/ARM) (68)26. 空调温度控制实验(51/96/88/ARM) (70)27. 计算器实验(51/96/88/ARM) (73)28. 用HSO 方式输出PWM 波形(96) (75)29. 用HSI 方式测量脉冲宽度(96) (76)30. 用HSI 中断方式统计脉冲个数(96) (77)31. 计数器实验(96) (79)32. 用片内A/D 做模数转换实验(96) (80)32. PWM 转换电压实验(88) (81)34. 8253计数器实验(88) (82)35. 8259外部中断实验(88) (83)36. 8253定时器实验(88) (85)37. 8251A 串行口通讯实验(88) (87)® 伟福Lab8000单片机仿真实验系统 目录 - iv -38. 8237 DMA 实验(88) (89)39. 压力传感器实验(51/96/88/ARM )............................…...................................91 40. 红外通讯实验(51/96/88/ARM)...............................……................................92 41. 16x16点阵显示实验(51/96/88/ARM).......................................................... ..9642. I2C 总线实验(51/96/PIC/ARM).. ................................................................. ..9843. SPI 总线实验(51/96/PIC/ARM) ............................................................. ... . (100)第四章 ARM LPC2103仿真板说明........................................................................... (101)在KEIL 和ADS 开发环境中安装LAB8000的驱动.............................. . (103)在KEIL 开发环境中安装LAB8000的驱动..….................. ..... ...... ............... ..106调试时可能出现的错误信息及原因................. ........... .................................. (110)第五章 逻辑分析工具 (111)第六章 系统自检功能..............................................…….............................................. .114® 伟福Lab8000单片机仿真实验系统 目录 - v -本实验说明书包括8051、80C196、8088/86、ARM 、PIC57五种MCU 的实验说明(MCS51有6个软件实验、31个硬件实验,MCS96有6个软件实验、35个硬件实验,8088/86有6个软件实验、25个硬件实验,PIC57有6个软件实验、14个硬件实验,ARM 提供了32个硬件实验)。
LAB8000单片机仿真实验系统说明书
伟福 Lab8000 系列 单片机仿真实验系统
使用说明书
南京伟福实业有限公司
伟福® Lab8000 单片机仿真实验系统
目录
目录
第一章 概述...................................................................................................................1 第二章 伟福实验系统组成和结构...............................................................................3
1. 实验系统的硬件组成.............................................. .................................3 2. 实验系统的仿真板简介......... ......... ......... ............................................15 3. 实验系统的调试方法......... ......... ......... ................... ....... ....................16 第三章 MCS51 系列单片机实验 .............................................................................17 MCS96 系列单片机实验 .............................................................................18 8088/86 系列 CPU 实验 ...............................................................................19 ARM LPC2103 MCU 实验 ..........................................................................20 PIC5X 系列 CPU 实验 .............. .... .............................................................20 软件实验 1. 存储器块清零(51/96/88/PIC).....................................................................21 2. 二进制到 BCD 码转换(51/96/88/PIC).......................................................22 3. 二进制到 ASCII 码转换(51/96/88/PIC).....................................................23 4. 内存块移动(51/96/88/PIC).........................................................................24 5. 程序跳转表(51/96/88/PIC).........................................................................25 6. 数据排序(51/96/88/PIC).............................................................................26 硬件实验 1. IO 口输入输出(51/96/PIC/ARM) ..............................................................27 2. 继电器控制(51/96/PIC/ARM) ...................................................................29 3. 用 74HC245 读入数据(51/96/88/ARM) ...............…….............................30 4. 用 74HC273 输出数据(51/96/88/ARM) ..............……..............................31 5. PWM 转换电压实验(51/96/PIC/ARM) .....................................................32 6. 音频控制(51/96/PIC/ARM) ........................................................................33 7. 用 8255 输入、输出(51/96/88/ARM) ........................................................34 8. 串行数转换并行数(51/96/PIC/ARM) .....................................................35 9. 并行数转换串行数(51/96/PIC/ARM) ........................................................37 10. 计数器实验(51/PIC/ARM) .........................................................................39 11. 外部中断实验(51/96/ARM) ........................................................................40 12. 定时器实验(51/96/PIC/ARM) .....................................................................42 13. D/A 数模转换实验(51/96/88/ARM) ...........................................................44 14. A/D 模数转换实验(51/96/88/ARM) ..................... .....................................46 15. 外部中断实验(急救车与交通灯) (51/96/ARM)...........................................48 16. 八段数码管显示(51/96/88/PIC/ARM)..........................................................50
微机原理实验程序
第四章 软件实验部分实验一 两个多位十进制数相减实验一、实验要求:将两个多位十进制数相减,要求被减数,减数均以ASCII 码形式按顺序存放在以DA T AI和DA T A2为首的5个内存单元中(低位在前),结果送回DA T AI 处。
处。
二、实验目的:1.学习数据传送和算术运算指令的用法。
.学习数据传送和算术运算指令的用法。
2.熟悉在PC 机上建立、汇编、链接、调试和运行汇编语言程序的过程。
机上建立、汇编、链接、调试和运行汇编语言程序的过程。
三、实验步骤:连好实验箱后接通电源,连好实验箱后接通电源,打开上位机软件打开上位机软件88TE 进入软件调试界面:进入软件调试界面:点击点击点击“文件“文件\打开”打开”文文件路径为C :\88TE\cai\asm\Ruanjian\Rjexp1.asm 。
具体操作如图所示:文件。
点击编译连接生成可执行的exe文件。
通过单步运行调试程序,打开寄存器查看其变量变化情况。
通过单步运行调试程序,打开寄存器查看其变量变化情况。
四、实验程序框图:五、实验程序:文件路径为C :\88TE\cai\asm\Ruanjian\Rjexp1.asm DA DATA SEGMENT TA SEGMENT DA DATA1 TA1 DB 33H,39H,31H,37H,38H ;第一个数据(作为被减数)第一个数据(作为被减数) DA DATA2 TA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为减数)第二个数据(作为减数) MES1 DB '-','$' MES2 DB '=','$' DA DATA ENDS TA ENDS STACK SEGMENT ;堆栈段堆栈段 STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT TA,SS:STACK,ES:DA ASSUME CS:CODE,DS:DA TA,SS:STACK,ES:DAT T A START: MOV AX,DA TA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP ,AX MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL ;显示被减数显示被减数 MOV AH,09H LEA DX,MES1 INT 21H MOV SI,OFFSET DA T A2 MOV BX,05 ;显示减数显示减数 CALL DISPL MOV AH,09H LEA DX,MES2 INT 21H MOV SI,OFFSET DATA1 MOV DI,OFFSET DA T A2 CALL SUBA ;减法运算减法运算 MOV SI,OFFSET DA T A1 MOV BX,05 ;显示结果显示结果 CALL DISPL MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H 显示减数和被减数被减数和减数转换成十六进制数设 置 计 数 值 消除最低进位数 开 始制进位减 结果送被减数区调整偏移量 计数值-1=10 结果转换成ASCII 码字符串显示结果 结果INT 21H INT 21H MOV AX,4C00H INT 21H DISPL PROC NEAR ;显示子功能显示子功能DSI: MOV AH,02 MOV DL,[SI+BX-1] ;显示字符串中一字符显示字符串中一字符INT 21H DEC BX ;修改偏移量修改偏移量JNZ DSI RET DISPL ENDP SUBA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05 SU1: SUB BYTE PTR[SI+BX-1],30H SUB BYTE PTR[DI+BX-1],30H DEC BX ;将ASCII 码表示的数字串码表示的数字串 JNZ SU1 ;转化为十六进制的数字串转化为十六进制的数字串 MOV SI,DX MOV DI,BP MOV CX,05 ;包括进位,共5位CLC ;清进单位清进单位SU2: MOV AL,[SI] MOV BL,[DI] SBB AL,BL ;带进位相减带进位相减AAS ;非组合BCD码的减法调整码的减法调整 MOV [SI],AL ;结果送被减数区结果送被减数区 INC SI INC DI ;指向下一位指向下一位LOOP SU2 ;循环循环MOV SI,DX MOV DI,BP MOV BX,05 SU3: ADD BYTE PTR [SI+BX-1],30H ADD BYTE PTR [DI+BX-1],30H DEC BX ;十六进制的数字串转化ASCII码表示的数字串码表示的数字串 JNZ SU3 RET SUBA ENDP CODE ENDS END ST ART实验二 两个数相乘的实验一、实验要求:实现十进制数的乘法,实现十进制数的乘法,被乘数和乘数均以被乘数和乘数均以ASCII 码形式存放在内存中,码形式存放在内存中,算式结果在屏幕上显算式结果在屏幕上显示出来。
单片机的实验报告
单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WAVE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器 MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
一种基于LAB8000单片机实验箱的扩展电路板设计与实现
5 2・
科 论坛
一
种基于L A B 8 0 0 0 单片机实验箱的 扩展电路板设计与实现
杨 金 泉
( 唐 山 学 院信 息 工 程 系 , 河北 唐 山 0 6 3 0 0 0 ) 摘 要: 本文介绍 了一种基 于 L A B 8 0 0 0单 片机 实验箱的扩展 电路板设计 , 针对L A B 8 0 0 0单 片机 实验箱 实验 内容的不足 , 开发设计 了 外 围扩 展 电路 板 。该 扩 展 电路 板 主要 由 包括 总 线 驱 动 器 、 实时 时钟 、 R S 4 8 5总线 、 L M3 5温 度 传 感 器及 放 大 、 直 流 电机 及 驱 动 、 字符 L C D 等 电路组成。该电路板 实用性强 , 进一步扩展 了 L A B 8 0 0 0单片机 实验 箱支持 的实验项 目, 实验效果 良好 。 关键词 : 单片机 ; 电路板 ; L A B 8 0 0 0 ; 实验箱 1概 述 用了 L M3 5 线 陛精密温度传感器 , L M3 5是美 国国家半导体公司( N s公 L AB 8 0 0 0单片机实验箱是南京伟福公 司生产的一种通用微控制 司注 产的系列精密集成电路温度传感 它的输出电压与摄氏温度线 器实验系统。 该实验系统支持 MC S 5 1 、 MC S 9 6 、 8 0 8 8 、 P I C等多种单片机 性成 比例( 1 0 m v / o C) , 因而 L M3 5优 于用开尔文标准的线性温度传感
作者简介 : 杨金泉( 1 9 6 3 一 ) , 男, 高级工程师 , 实验室主任 , 主要研 究单片机及 电子设计 自动化。
及微处理器的实验。该实验系统配有开关电源、 板上仿真器 、 可编程并 器 , L M 3 5 无需外部校准或微调来提供 ±1 / 4 ℃的常用的室温精度
试验箱操作规程
试验箱操作规程1. 引言试验箱是一种用于模拟不同环境条件进行测试和实验的设备。
为了保证试验箱正常运行和安全的操作,制定本操作规程的目的是为了指导试验箱的正确使用,以确保测试结果的准确性和人员的安全。
2. 设备概述试验箱是一种具备温度、湿度和气压等控制功能的设备。
它通常由控制系统、加热装置、制冷装置、湿度控制装置、通风装置和安全装置组成。
3. 安全要求3.1 运行前的检查:- 检查试验箱的电源及电线是否完好无损。
- 检查通风装置是否正常工作。
- 检查制冷装置和加热装置是否正常运行。
- 检查控制系统的程序是否正常。
3.2 操作安全:- 使用者需戴上防护手套、口罩和安全眼镜,确保个人安全。
- 操作前应确认试验箱内部没有易燃、易爆等危险物品。
- 在进行高温试验时,应避免接触试验箱的外壳,以防烫伤。
- 在操作湿度调节装置时,应小心操作,以免滑倒。
3.3 紧急情况处理:- 在试验箱出现故障或发生紧急情况时,应立即停止操作,并向相关人员报告。
- 在发现试验箱故障时,不能进行任何修理工作,应由专业人员进行维护和修理。
- 在发生火灾或其他危险情况时,使用者应迅速撤离,并及时报警。
4. 操作步骤4.1 启动及关闭:- 将试验箱的电源插头插入电源插座,确保电源供应正常。
- 打开试验箱控制系统的电源开关,等待系统初始化完成。
- 设置所需的温度、湿度和气压参数。
- 等待试验箱运行到设定的条件后,可开始实验操作。
- 实验结束后,将所有的参数设定为默认值。
- 最后,关闭试验箱的电源开关,断开电源插头。
4.2 温度控制:- 打开试验箱控制系统的温度控制面板。
- 输入所需的温度设定值。
- 按启动按钮,试验箱将开始加热或制冷,直到达到设定的温度。
- 监控试验箱的温度变化,并根据需要进行调整。
- 实验完成后,将温度设定值复位为默认值。
4.3 湿度控制:- 打开试验箱控制系统的湿度控制面板。
- 输入所需的湿度设定值。
- 按启动按钮,试验箱将开始调整湿度,直到达到设定的湿度。
微机原理实验报告_实验讲义_实验步骤
第一部分的软件实验,开机启动选WIN7系统,在windows命令框里输入“cmd”进DOS, 在DOS里输入相关命令进入D盘或E盘拷进实验软件的目录,运行TD以及后面汇编、连接、运行汇编程序,都在这个目录下进行。
第二部分的接口实验,开机启动选DoS系统,就直接进入DOS 了,之后还是输入相关命令进入D盘或E 盘拷进实验软件的目录,运行TD或汇编、连接、运行汇编程序实验箱用的中断号和端口地址,运行PoRTR程序,就可以看到。
接口实验,开机启动选DOS系统,就直接进入DC)S 了,之后还是输入相关命令进入D盘或E盘拷进实验软件的目录,运行TD或汇编、连接、运行汇编程序。
硬件实验三:实验箱用的中断号和端口地址,运行PoRTR程序,就可以看到。
3、参考程序1:(程序名:E8253_1.ASM)“
iββQ1l sou 0d400h-0280h ;0d400h为实验箱的接口地址,应改为运行PoRTR程序自动获取的那个接口地址. io8253_ctrl eαu ioport+283h.' io8253_cnt0 WaU ioport+280h^∙ code segments
这个端口号,在dos环境下利用PORT命令可以获取1/0端口地址
芯片:实验三使用的是硬件板上的8254计数器
接线图为:。
《微机原理及接口技术》实验操作指导书
《微机原理及接口技术》实验操作指导书福建工程学院计算机与信息科学系计算机系统结构教研室c a iw p@f j ut .ed u.c n实验操作指导一、汇编语言程序上机操作1.软件 将包含EDIT (文本编辑器)、MASM (宏汇编程序)、LINK (连接程序)、DEBUG (调试程序)等软件的文件夹存放在计算机的D 盘中masm 目录中(或其它),免安装。
2.程序实例,以下的操作以下列程序的调试为例进行说明,该程序在屏幕上输出字符串“Hello World !”DATA SEGMENTSTR DB 'Hello World !$' DATA ENDSCODE SEGMENTASSUME CS :CODE ,DS :DATASTART:MOV AX ,DATAMOV DS ,AX MOV AH ,09H MOV DX ,OFFSET STR INT 21H MOV AH ,4CH INT 21HCODE ENDSEND START 3.上机操作(1)进入DOS 。
点击“开始”“运行”,输入命令“cmd ”后单击“确定”进入DOS 。
(2)依次输入“d: ”和“cd masm ”进入masm 目录。
c a iw p@f j ut .ed u.c n(3)编辑源程序。
启动文本编辑器edit (也可以用记事本编辑源程序),文件名也可以在编辑完成时保存文件时输入,记住以.asm 为后缀,此例文件名为t1_2.asm 。
按汇编语言程序格式要求编辑源程序并保存。
(4)汇编 按(1)、(2)操作另外打开一个窗口,然后输入命令“masm t1_2 ”进行汇编,过程的对话信息直接回车即可。
若源程序有错误,则会提示错误位置和错误信息。
警告错误 严重错误 直接回车出错位置、代码、信息c a i w p@f j ut .ed u.c n光标所在位置(行、列)修改第7行的“A ”为“AX ”,保存后再汇编。
用lab6000微机原理实验指导书(重点大学《微机原理与接口技术》实验教程)
实验一汇编语言程序设计一、实验目的:1、掌握Lab6000p实验教学系统基本操作;2、掌握8088/8086汇编语言的基本语法结构;3、熟悉8088/8086汇编语言程序设计基本方法。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、实验内容1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。
编程并显示结果:(1)如果数组是无符号数,求出最大值,并显示;(2)如果数组是有符号数,求出最大值,并显示。
2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:”4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。
在移动的过程中,显示移动次数1, 2 ,3…0AH…64H(16进制-ASCII码并显示子程序)5、键盘输入一个小写字母(a~z),转换成大写字母显示:请输入一个小写字母(a~z):转换后的大写字母是:6、实现4字节无符号数加法程序,并显示结果,如99223344H +99223344H = xxxxxxxxH 考核:1、现场验收2、提交源程序实验二8255可编程并行接口实验一、实验目的:1、掌握8255芯片结构及工作方式;2、熟悉8255并行口扩展的编程。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中8255模块Lab6000p实验箱中的8255模块连线如图所示:AD0~AD7、A0、A1、RESET、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、RESET、/IOW、/IOR;8255_CS、PA口、PB口、PC口引出留给用户连接。
四、实验内容和实验步骤1、8255基本输入输出方式――开关控制LED显示1)实验要求开关拨上LED亮,开关拨下LED灭。
单片机实验-伟福Lab2000P汇编语言源程序
伟福.Lab2000P单片机仿真实验系统MCS51汇编语言源程序参考; 软件实验一:存储器块清零S1.ASMBlock equ 6000h0000 906000 mov dptr, #Block ; 起始地址0003 7800 mov r0, #0 ; 清256 字节0005 E4 clr aLoop:0006 F0 movx @dptr, a0007 A3 inc dptr ; 指向下一个地址0008 D8FC djnz r0, Loop ; 记数减一000A 02000Aljmp $end; 软件实验二:二进制到BCD码转换S2.ASM; 将A 拆为三个BCD 码, 并存入Result 开始的叁个单元Result equ 20horg 00000 020015 ljmp StartBinToBCD:0003 75F064 mov b, #1000006 84 div ab0007 F520 mov Result, a ; 除以100, 得百位数0009 E5F0 mov a, b000B 75F00A mov b, #10000E 84 div ab000F F521 mov Result+1, a ; 余数除以10, 得十位数0011 85F022 mov Result+2, b ; 余数为个位数Start:0015 758140 mov sp, #40h0018 747B mov a, #123001A 1103 call BinToBCD001C 02001C ljmp $end; 软件实验三:二进制到ASCII码转换S3.ASM; 将A 拆为二个ASCII 码, 并存入Result 开始的二个单元Result equ 20horg 00000 020026 ljmp StartASCIITab:0003 3031320006 3334350009 363738000C 394142000F 4344450012 46 db '0123456789ABCDEF' ; 定义数字对应的ASCII表BinToHex:0013 900003 mov dptr, #ASCIITab0016 F5F0 mov b, a ; 暂存A0018 C4 swap a0019 540F anl a, #0fh ; 取高四位001B 93 movc a, @a+dptr ; 查ASCII表001C F520 mov Result, a001E E5F0 mov a, b ; 恢复A0020 540F anl a, #0fh ; 取低四位0022 93 movc a, @a+dptr ; 查ASCII表0023 F521 mov Result+1, a0025 22 ret0026 758140 mov sp, #40h0029 741A mov a, #1ah002B 1113 call BinToHex002D 02002D ljmp $end; 软件实验四内存块移动S4.ASM; 移动3000H --> 4000H, 256 字节0000 7830 mov r0, #30h0002 7900 mov r1, #00h0004 7A40 mov r2, #40h0006 7B00 mov r3, #00h0008 7F00 mov r7, #0Loop:000A 8883 mov dph, r0000C 8982 mov dpl, r1000E E0 movx a, @dptr000F 8A83 mov dph, r20011 8B82 mov dpl, r30013 F0 movx @dptr, a0014 B9FF01 cjne r1, #0ffh, Goon10017 08 inc r0Goon1:0018 09 inc r10019 BBFF01 cjne r3, #0ffh, Goon2001C 0A inc r2Goon2:001D 0B inc r3001E DFEA djnz r7, Loop0020 020020 ljmp $end;软件实验五程序跳转表S5.ASMorg 00000 02001D ljmp Start0003 7400 Func0: mov a, #00005 22 ret0006 7401 Func1: mov a, #10008 22 ret0009 7402 Func2: mov a, #2000B 22 ret000C 7403 Func3: mov a, #3000E 22 retFuncEnter:000F 25E0 add a, acc ; ajmp 为二字节指令, 调用号X 20011 900015 mov dptr, #FuncTab0014 73 jmp @a+dptrFuncTab:0015 0103 ajmp Func00017 0106 ajmp Func10019 0109 ajmp Func2001B 010C ajmp Func3Start:001D 7400 mov a, #0001F 110F call FuncEnter0021 7401 mov a, #10023 110F call FuncEnter0025 7402 mov a, #20027 110F call FuncEnter0029 7403 mov a, #3002B 110F call FuncEnter002D 02002D ljmp $end; 软件实验六数据排序S6.ASMSize equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志Sort:0000 7850 mov r0, #Array0002 7F09 mov r7, #Size-10004 C200 clr ChangeGoon:0006 E6 mov a, @r00007 FA mov r2, a0008 08 inc r00009 86F0 mov B, @r0000B B5F002 cjne a, B, NotEqual000E 8008 sjmp NextNotEqual:0010 4006 jc Next ; 前小后大, 不交换0012 D200 setb Change ; 前大后小, 置交换标志0014 C6 xch a, @r0 ; 交换0015 18 dec r00016 C6 xch a, @r00017 08 inc r0Next:0018 DFEC djnz r7, Goon001A 2000E3 jb Change, Sort001D 02001D ljmp $end; 硬件实验一P1口输入、输出实验H1A.ASMLoop:0000 7401 mov a, #01h0002 7A08 mov r2, #8Output:0004 F590 mov P1, a 0006 23 rl0007 12000F call D( a) elay000A DAF8 djnz r2, Output000C 020000 ljmp LoopDelay:000F 7E00 mov r6, #00011 7F00 mov r7, #0DelayLoop:0013 DEFE djnz r6, DelayLoop0015 DFFC djnz r7, DelayLoop0017 22 retend; 硬件实验一P1口输入、输出实验H1B.ASMKeyLeft equ P1.0KeyRight equ P1.1LedLeft equ P1.2LedRight equ P1.30000 D290 SETB KeyLeft0002 D291 SETB KeyRightLoop:0004 A290 MOV C,KeyLeft0006 9292 MOV LedLeft,C0008 A291 MOV C,KeyRight000A 9293 MOV Ledright,C000C 020004 LJMP LoopEND; 硬件实验二继电器控制实验H2.ASMOutput equ P1.0 ; P1.0 portLoop:0000 C3 clr0001 9290 mov O( c) utput,c0003 12000F call Delay 0006 D3 setb0007 9290 mov O( c) utput,c0009 12000F call Delay000C 020000 ljmp Loop- 4 -伟福.Lab2000P单片机仿真实验系统MCS51汇编语言程序清单Delay:000F 7E00 mov r6, #00011 7F00 mov r7, #0DLoop:0013 DFFE djnz r7, DLoop0015 DEFC djnz r6, DLoop0017 22 retend;硬件实验三用74LS245扩展I/O口实验CS245 equ 8000horg 0000hLoop:0000 908000 mov dptr,#CS2450003 E0 movx a, @dptr0004 020000 ljmp Loopend;硬件实验四用74LS273扩展I/O口实验CS273 equ 8000h0000 908000 mov dptr, #CS2730003 7401 mov a, #1Loop:0005 F0 movx @dptr, a0006 23 rl a0007 00 nop0008 020005 ljmp Loopend; 硬件实验五PWM转换电压实验H5.ASM; 输出50% (5:5) 占空比PWM; 输出10% (1:9) 占空比PWM; 输出90% (9:1) 占空比PWMOUTPUT equ P1.0Loop:0000 C290 clr OUTPUT0002 7403 mov A, #30004 120011 call Delay0007 D290 setb OUTPUT0009 7407 mov a, #7000B 120011 call Delay000E 020000 ljmp LoopDelay:0011 7800 mov r0, #0DLoop:0013 D8FE djnz r0, DLoop0015 D5E0FB djnz acc, DLoop0018 22 retendH3.ASMH4.ASM; 硬件实验六音频控制实验H6.ASM Speaker equ P1.0CBit equ 0Loop:0000 C200 clr CBit0002 850090 mov Speaker,CBit0005 120013 call Delay0008 D200 setb CBit000A 850090 mov Speaker,CBit000D 120013 call Delay0010 020000 ljmp LoopDelay:0013 7832 mov r0, #500015 D8FE djnz r0, $0017 22 retend; 硬件实验七8255输入、输出实验H7.ASMmode equ 082h ; 方式0,PA,PC输出,PB输入PortA equ 0f000h ; Port APortB equ 0f001h ; Port BPortC equ 0f002h ; Port CCAddr equ 0f003h ; 控制字地址org 0h0000 7482 mov a, #mode0002 90F003 mov dptr, #CAddr0005 F0 movx @dptr,a ; 输出控制字0006 02001B jmp EX_B;实验1:PortA输出EX_A:0009 7480 mov a,#80H000B 90F000 mov dptr,#PortA000E 75F008 mov b,#8H0011 F0 OutA: movx @dptr,a ; 输出PortA0012 03 rr a ; 移位0013 7D01 mov r5,#10015 12002B call delay ; 延时0018 D5F0F6 djnz b, OutA;实验2:PortB 输入PortA 输出EX_B:001B 90F001 mov dptr,#PortB001E E0 movx a,@dptr ; 读入PortB001F 90F000 mov dptr,#PortA0022 F0 movx @dptr,a ; 输出到PortA0023 7D02 mov r5,#20025 12002B call delay0028 020000 ljmp 0delay:002B 7F00 mov r7,#0002D DFFE ddd: djnz r7,ddd002F DEFC djnz r6,ddd0031 DDFA djnz r5,ddd0033 22 retend; 硬件实验八串行数转换并行数实验H8A.ASM0000 759800 mov SCON, #0 ; 串口方式0003 74AA mov a, #0aah0005 F599 mov SBUF, a ; 输出55h0007 3099FD jnb ti, $000A C299 clr ti000C 02000C ljmp $end; 硬件实验八串行数转换并行数实验H8B.ASMLD equ P1.0DAT equ P1.1CLK equ P1.20000 D292 setb CLK0002 C290 clr LD0004 D290 setb LD0006 7F08mov r7, #8Next:0008 03 rr a0009 A291 mov c, DAT000B 92E7 mov ACC.7, c000D C292 clr CLK000F D292 setb CLK0011 DFF5 djnz r7, Next0013 020013ljmp $end; 硬件实验九并行数转换串行数实验H9A.ASM LD equ P1.00000 C290 clr LD0002 D290 setb LD0004 759810 mov SCON, #00010000b0007 3098FD Wait: jnb RI, Wait000A E599 mov a, SBUF000C C298 clr ri000E 02000E ljmp $end; 硬件实验九并行数转换串行数实验H9B.ASM LD equ P1.0DAT equ P1.1CLK equ P1.20000 D292 setb CLK0002 C290 clr LD0004 D290 setb LD0006 7F08 mov r7, #8Next:0008 03 rr a0009 A291 mov c, DAT000B 92E7 mov ACC.7, c000D C292 clr CLK000F D292 setb CLK0011 DFF5 djnz r7, Next0013 020013ljmp $end; 硬件实验十计数器实验H10.ASM0000 758905 mov TMOD, #00000101b ; 方式1,记数器0003 758C00 mov TH0, #00006 758A00 mov TL0, #00009 D28C setb TR0 ; 开始记数Loop:000B 858A90 mov P1, TL0 ; 将记数结果送P1口000E 02000B ljmp Loopend; 硬件实验十一外部中断实验H11.ASMLED equ P1.0LEDBuf equ 00000 02000Eljmp Startorg 3Interrupt0:0003 C0D0 push PSW ; 保护现场0005 B200 cpl LEDBuf ; 取反LED0007 A200 mov c, LEDBuf0009 9290 mov LED, c000B D0D0 pop PSW ; 恢复现场000D 32retiStart:000E C200 clr LEDBuf0010 C290 clr LED0012 758801 mov TCON, #01h ; 外部中断0下降沿触发0015 75A881 mov IE, #81h ; 打开外部中断允许位(EX0)及总中断允许位(EA) 0018 020018 ljmp $end; 硬件实验十二定时器实验H12.ASMT100us equ 256-50 ; 100us时间常数(6M)C100us equ 30h ; 100us记数单元LEDBuf equ 0LED equ P1.00000 020026ljmp Startorg 000bhT0Int:000B C0D0 push PSW000D E531 mov a, C100us+1000F 7002 jnz Goon0011 1530 dec C100usGoon:0013 1531 dec C100us+10015 E530 mov a, C100us0017 4531 orl a, C100us+10019 7008 jnz Exit ; 100us 记数器不为0, 返回001B 753027 mov C100us, #high(Tick)001E 753110 mov C100us+1, #low(Tick)0021 B200 cpl LEDBuf ; 100us 记数器为0, 重置记数器; 取反LEDExit:0023 D0D0 pop PSW0025 32 retiStart:0026 758902 mov TMOD, #02h ; 方式2, 定时器0029 758CCE mov TH0, #t100us002C 758ACE mov TL0, #t100us002F 75A882 mov IE, #10000010b ; EA=1, IT0 = 1 0032 D28C setb TR0 ; 开始定时0034 C200 clr LEDBuf0036 C290 clr LED0038 753027 mov C100us, #high(Tick)003B 753110 mov C100us+1, #low(Tick)Loop:003E A200 mov c, LEDBuf0040 9290 mov LED, c0042 02003E ljmp Loopend; 硬件实验十三D/A 转换实验H13.ASMCS0832 equ 0a000h0000 90A000 mov dptr, #CS08320003 7400 mov a, #00005 F0 movx @dptr, a0006 7440 mov a, #40h0008 F0 movx @dptr, a0009 7480 mov a, #80h000B F0 movx @dptr, a000C 74C0 mov a, #0c0h000E F0 movx @dptr, a000F 74FF mov a, #0ffh0011 F0 movx @dptr, a0012 020012 ljmp $end; 硬件实验十四A/D 转换实验H14.ASMmode equ 082h ; 方式0,PA,PC输出,PB输入CS0809 equ 8000hPortA equ 9000h ; Port APortB equ 9001h ; Port BPortC equ 9002h ; Port CCAddr equ 9003h ; 控制字地址org 00000 909003 mov dptr,#CAddr0003 7482 mov a,#mode0005 F0 movx @dptr,a0006 908000 mov dptr, #CS08090009 7400 mov a, #0000B F0 movx @dptr, a ; 起动A/D000C 7440 mov a, #40h000E D5E0FD djnz ACC, $ ; 延时> 100us0011 E0 movx a, @dptr ; 读入结果0012 7F64 mov r7,#100dly:0014 909000 mov dptr,#PortA0017 F0 movx @dptr,a0018 DFFA djnz r7,dly ;延时001A 020000 ljmp 0end;硬件实验十五外部中断实验(急救车与交通灯)H15.ASMFlash equ 0 ; LED状态STOP equ 1SR equ p1.0 ; 南北红灯SY equ p1.1 ; 南北黄灯SG equ P1.2 ; 南北绿灯ER equ P1.3 ; 东西红灯EY equ P1.4 ; 东西黄灯EG equ p1.5 ; 东西绿灯0000 020006 ljmp Startorg 30003 D201 setb STOP ; 南北, 东西均红灯0005 32 retiStart:0006 758146 mov SP, #700009 758801 mov TCON, #01h ; down edge IT0000C 75A881 mov IE, #81h ; enable EA, EX0000F D290 setb SR ; 南北, 东西均红灯0011 C291 clr SY0013 C292 clr SG0015 D293 setb ER0017 C294 clr EY0019 C295 clr EG001B C201 clr STOPLoop:001D 200168 jb STOP, AllRed0020 D290 setb SR ; 南北红灯, 东西绿灯Lab2000P单片机仿真实验系统MCS51汇编语言程序清单0022 C2910024 C292clrclrSYSG0026 C2930028 C294002A D295clrclrsetbEREYEG002C 7414002E 12009Emovcalla, #20Delay0031 2001540034 D2900036 C2910038 C292jbsetbclrclrSTOP, AllRedSRSYSG, 东西黄灯闪003A C293 003C C294 003E C295 clrclrclrEREYEG0040 C200 0042 7F09 0044 A200 0046 9294 0048 7401 004A 12009E 004D B200 004F DFF3 Loop1:clrmovmovmovmovcallcpldjnzFlashr7, #9c, Flash EY, ca, #1DelayFlashr7, Loop1 0051 200134 0054 C290 0056 C291 0058 D292 jbclrclrsetbSRSYSG; 南北绿灯, 东西红灯005A D293 005C C294 005E C295 setbclrclrEREYEG0060 7414 0062 12009E movcalla, #20Delay0065 200120 0068 C290 006A C291 006C C292 jbclrclrclrSTOP, AllRed SRSYSG; 东西红灯, 南北黄灯闪006E D293 0070 C294 0072 C295 setbclrclrEREYEG0074 C2000076 7F090078 A200007A 9291007C 7401007E 12009E0081 B2000083 DFF3Loop2:clrmovmovmovmovcallcpldjnzFlashr7, #9c, FlashSY, ca, #1DelayFlashr7, Loop20085 02001D ljmp Loop AllRed:0088 D290 setb SR008A C291 clr SY008C C292 clr SG008E D293 setb ER 0090 C294 clr EY0092 C295 clr EG0094 C201 clr STOP 0096 740A mov a, #10 0098 12009E call Delay 009B 02001D ljmp LoopDelay: ; 延时子程序009E 7980 mov r1, #80H 00A0 7800 mov r0, #0DelayLoop:00A2 200107 jb STOP, ExitDelay00A5 D8FB djnz r0, DelayLoop00A7 D9F9 djnz r1, DelayLoop00A9 D5E0F2 djnz ACC, DelayExitDelay:00AC 22 retend; 硬件实验十六八段数码管显示实验H16.ASMOUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ;0000 020041 ljmp StartLEDMAP: ; 八段管显示码0003 3F065B0006 4F666D0009 7D07 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h000B 7F6F77000E 7C395E0011 7971 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序0013 7F00 mov r7, #0DelayLoop:0015 DFFE djnz r7, DelayLoop0017 DEFC djnz r6, DelayLoop0019 22 retDisplayLED:001A 7860 mov r0, #LEDBuf001C 7906 mov r1, #6 ; 共6个八段管001E 7A20 mov r2, #00100000b ; 从左边开始显示Loop:0020 908002 mov dptr, #OUTBIT0023 7400 mov a, #00025 F0 movx @dptr, a ; 关所有八段管0026 E6 mov a, @r00027 908004 mov dptr, #OUTSEG002A F0 movx @dptr,a002B 908002 mov dptr, #OUTBIT002E EA mov a, r2002F F0 movx @dptr, a ; 显示一位八段管0030 7E01 mov r6, #010032 1113 call Delay0034 EA mov a, r2 ; 显示下一位0035 03 rr a0036 FA mov r2, a0037 08 inc r00038 D9E6 djnz r1, Loop003A 908002 mov dptr, #OUTBIT003D 7400 mov a, #0003F F0 movx @dptr, a ; 关所有八段管0040 22 retStart:0041 758140 mov sp, #40h0044 757000 mov Num, #0MLoop:0047 0570 inc Num0049 E570 mov a, Num004B F5F0 mov b, a004D 7860 mov r0, #LEDBufFillBuf:004F E5F0 mov a, b0051 540F anl a, #0fh0053 900003 mov dptr, #LEDMap0056 93 movc a, @a+dptr ; 数字转换成显示码0057 F6 mov @r0,a ; 显示在码填入显示缓冲0058 08 inc r00059 05F0 inc b005B B866F1 cjne r0, #LEDBuf+6, FillBuf005E 75751E mov DelayT,#30DispAgain:0061 111A call DisplayLED ; 显示0063 D575FB djnz DelayT,DispAgain0066 020047 ljmp MLoopend; 硬件实验十七键盘扫描显示实验H17.ASMOUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲0000 0200A3 ljmp StartLEDMAP: ; 八段管显示码0003 3F065B0006 4F666D0009 7D07 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h000B 7F6F77000E 7C395E0011 7971 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序0013 7F00 mov r7, #0DelayLoop:0015 DFFE djnz r7, DelayLoop0017 DEFC djnz r6, DelayLoop0019 22 retDisplayLED:001A 7860 mov r0, #LEDBuf001C 7906 mov r1, #6 ; 共6个八段管001E 7A20 mov r2, #00100000b ; 从左边开始显示Loop:0020 908002 mov dptr, #OUTBIT0023 7400 mov a, #00025 F0 movx @dptr, a ; 关所有八段管0026 E6 mov a, @r00027 908004 mov dptr, #OUTSEG002A F0 movx @dptr, a002B 908002 mov dptr, #OUTBIT002E EA mov a, r2002F F0 movx @dptr, a ; 显示一位八段管0030 7E01 mov r6, #10032 1113 call Delay0034 EA mov a, r2 ; 显示下一位0035 03 rr a0036 FA mov r2, a0037 08 inc r00038 D9E6 djnz r1, Loop003A 22 retTestKey:003B 908002 mov dptr, #OUTBIT003E 7400 mov a, #00040 F0 movx @dptr, a ; 输出线置为0041 908001 mov dptr, #IN0044 E0 movx a, @dptr ; 读入键状态0045 F4 cpl a0046 540F anl a, #0fh ; 高四位不用0048 22 retKeyTable: ; 键码定义0049 161514004C FF db 16h, 15h, 14h, 0ffh 004D 1312110050 10 db 13h, 12h, 11h, 10h 0051 0D0C0B0054 0A db 0dh, 0ch, 0bh, 0ah 0055 0E03060058 09 db 0eh, 03h, 06h, 09h 0059 0F0205005C 08 db 0fh, 02h, 05h, 08h005D 0001040060 07 db 00h, 01h, 04h, 07hGetKey:0061 908002 mov dptr, #OUTBIT 0064 8583A0 mov P2, dph0067 7801 mov r0, #Low(IN) 0069 7920 mov r1, #00100000b 006B 7A06 mov r2, #6KLoop:006D E9 mov a, r1 ; 找出键所在列006E F4 cpl006F F0 movx @( a) dptr, a0070 F4 cpl a0071 03 rr a0072 F9 mov r1,a ; 下一列0073 E2 movx a, @r00074 F4 cpl a0075 540F anl a, #0fh0077 7006 jnz Goon1 ; 该列有键入0079 DAF2 djnz r2, KLoop007B 7AFF mov r2, #0ffh ; 没有键按下, 返回0ffh 007D 800F sjmp ExitGoon1:007F F9 mov r1,a ; 键值= 列X4 + 行0080 EA mov a, r20081 14 dec a0082 23 rl a0083 23 rl a0084 FA mov r2, a ; r2 = (r2-1)*40085 E9 mov a, r1 ;r1中为读入的行值0086 7904 mov r1, #4LoopC:0088 13 rrc a ; 移位找出所在行0089 4003 jc Exit008B 0A inc r2 ;r2 =r2+ 行值008C D9FA djnz r1, LoopCExit:008E EA mov a, r2 ; 取出键码008F 900049 mov dptr, #KeyTable0092 93 movc a, @a+dptr0093 FA mov r2, aWaitRelease:0094 908002 mov dptr, #OUTBIT ; 等键释放0097 E4 clr0098 F0 movx @( a) dptr, a0099 7E0A mov r6, #10009B 1113 call Delay009D 113B call TestKey009F 70F3 jnz WaitRelease00A1 EA mov a, r200A2 22 retStart:00A3 758140 mov sp, #40h00A6 7560FF mov LEDBuf+0, #0ffh ; 显示8.8.8.8.00A9 7561FF mov LEDBuf+1, #0ffh00AC 7562FF mov LEDBuf+2, #0ffh00AF 7563FF mov LEDBuf+3, #0ffh00B2 756400 mov LEDBuf+4, #000B5 756500 mov LEDBuf+5, #0 MLoop:00B8 111A call DisplayLED ; 显示00BA 113B call TestKey ; 有键入?00BC 60FA jz MLoop ; 无键入, 继续显示00BE 1161 call GetKey ; 读入键码00C0 540F anl a, #0fh ; 显示键码00C2 900003 mov dptr, #LEDMap00C5 93 movc a, @a+dptr00C6 F565 mov LEDBuf+5, a00C8 0200B8 ljmp MLoopend; 硬件实验十八电子时钟H18.ASMOUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Hour equ 40hMinute equ 41hSecond equ 42hC100us equ 43hTick equ 10000T100us equ 256-500000 020083 ljmp Startorg 000bhT0Int:000B C0D0 push PSW000D C0E0 push ACC000F E544 mov a, C100us+10011 7002 jnz Goon0013 1543 dec C100usGoon:0015 1544 dec C100us+10017 E543 mov a, C100us0019 4544 orl a, C100us+1001B 7024 jnz Exit001D 754327 mov C100us, #high(Tick)0020 754410 mov C100us+1, #low(Tick)0023 0542 inc Second0025 E542 mov a, Second0027 B43C17 cjne a, #60, Exit002A 754200 mov Second, #0002D 0541 inc Minute002F E541 mov a, Minute0031 B43C0D cjne a, #60, Exit0034 754100 mov Minute, #00037 0540 inc Hour0039 E540 mov a, Hour003B B41803 cjne a, #24, Exit003E 754000 mov Hour, #0Exit:0041 D0E0 pop ACC0043 D0D0 pop PSW0045 32 retiDelay: ; 延时子程序0046 7F00 mov r7, #0DelayLoop:0048 DFFE djnz r7, DelayLoop004A DEFC djnz r6, DelayLoop004C 22 retLEDMAP: ; 八段管显示码004D 3F065B0050 4F666D0053 7D07 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h 0055 7F6F770058 7C395E005B 7971 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDisplayLED:005D 7860 mov r0, #LEDBuf005F 7906 mov r1, #6 ; 共6个八段管0061 7A20 mov r2, #00100000b ; 从左边开始显示Loop:0063 908002 mov dptr, #OUTBIT0066 7400 mov a, #00068 F0 movx @dptr, a ; 关所有八段管0069 E6 mov a, @r0006A 908004 mov dptr, #OUTSEG006D F0 movx @dptr,a006E 908002 mov dptr, #OUTBIT0071 EA mov a, r20072 F0 movx @dptr, a ; 显示一位八段管0073 7E01 mov r6, #10075 1146 call Delay0077 EA mov a, r2 ; 显示下一位0078 03 rr a0079 FA mov r2, a007A 08 inc r0007B D9E6 djnz r1, Loop007D 22 ret; ===============================================ToLED:007E 90004D mov dptr, #LEDMap0081 93 movc a, @a+dptr0082 22 retStart:0083 758902 mov TMOD, #02h ; 模式2, 定时器0086 758CCE mov TH0, #T100us0089 758ACE mov TL0, #T100us008C 75A882 mov IE, #10000010b ; EA=1, IT0 = 1008F 754000 mov Hour, #00092 754100 mov Minute, #00095 754200 mov Second, #00098 754327 mov C100us, #high(Tick)009B 754410 mov C100us+1, #low(Tick)009E D28C setb TR0 ; 启动定时器MLoop:00A0 E540 mov a, Hour00A2 75F00A mov b, #1000A5 84 div ab00A6 117E call ToLED00A8 F560 mov LEDBuf, a00AA E5F0 mov a, b00AC 117E call ToLED00AE 4480 orl a, #80h00B0 F561 mov LEDBuf+1, a00B2 E541 mov a, Minute00B4 75F00A mov b, #1000B7 84 div ab00B8 117E call ToLED00BA F562 mov LEDBuf+2, a00BC E5F0 mov a, b00BE 117E call ToLED00C0 4480 orl a, #80h00C2 F563 mov LEDBuf+3, a00C4 E542 mov a, Second00C6 75F00A mov b, #1000C9 84 div ab00CA 117E call ToLED00CC F564 mov LEDBuf+4, a00CE E5F0 mov a, b00D0 117E call ToLED00D2 F565 mov LEDBuf+5, a00D4 115D call DisplayLED00D6 0200A0 ljmp MLoopend; 硬件实验十九单片机串行口通讯实验H19.ASMOUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口HasRcv equ 20h.0 ; 接收标志位LEDBuf equ 40h ; 显示缓冲RCVBuf equ 50H ; 接收缓冲ORG 0000H0000 0200D4 LJMP START; 串行口中断程序ORG 0023H0023 309905 JNB TI,S0_R0026 C299 CLR TI0028 00 NOP0029 8008 SJMP S0_RETS0_R: ; 接收数据002B C298 CLR RI002D 859950 MOV RCVBUF,SBUF ; 保存数据0030 D200 SETB HasRcv ; 提示收到数据0032 00 NOPS0_RET:0033 32 RETILEDMAP: ; 八段管显示码0034 3F065B0037 4F666D003A 7D07 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h003C 7F6F77003F 7C395E0042 7971 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序0044 7F00 mov r7, #0DelayLoop:0046 DFFE djnz r7, DelayLoop0048 DEFC djnz r6, DelayLoop004A 22 retDisplayLED:004B 7840 mov r0, #LEDBuf004D 7906 mov r1, #6 ; 共6个八段管004F 7A20 mov r2, #00100000b ; 从左边开始显示Loop:0051 908002 mov dptr, #OUTBIT0054 7400 mov a, #00056 F0 movx @dptr, a ; 关所有八段管0057 E6 mov a, @r00058 908004 mov dptr, #OUTSEG005B F0 movx @dptr,a005C 908002 mov dptr, #OUTBIT005F EA mov a, r20060 F0 movx @dptr, a ; 显示一位八段管0061 7E01 mov r6, #10063 1144 call Delay0065 EA mov a, r2 ; 显示下一位0066 03 rr a0067 FA mov r2, a0068 08 inc r00069 D9E6 djnz r1, Loop006B 22 retTestKey:006C 908002 mov dptr, #OUTBIT006F 7400 mov a, #00071 F0 movx @dptr, a ; 输出线置为00072 908001 mov dptr, #IN0075 E0 movx a, @dptr ; 读入键状态0076 F4 cpl a0077 540F anl a, #0fh ; 高四位不用0079 22 retKeyTable: ; 键码定义007A 161514007D FF db 16h, 15h, 14h, 0ffh007E 1312110081 10 db 13h, 12h, 11h, 10h0082 0D0C0B0085 0A db 0dh, 0ch, 0bh, 0ah0086 0E03060089 09 db 0eh, 03h, 06h, 09h008A 0F0205008D 08 db 0fh, 02h, 05h, 08h008E 0001040091 07 db 00h, 01h, 04h, 07hGetKey:0092 908002 mov dptr, #OUTBIT0095 8583A0 mov P2, dph0098 7801 mov r0, #Low(IN)009A 7920 mov r1, #00100000b009C 7A06 mov r2, #6KLoop:009E E9 mov a, r1 ; 找出键所在列009F F4 cpl00A0 F0 movx @( a) dptr, a00A1 F4 cpl a00A2 03 rr a00A3 F9 mov r1,a ; 下一列00A4 E2 movx a, @r000A5 F4 cpl a00A6 540F anl a, #0fh00A8 7006 jnz Goon1 ; 该列有键入00AA DAF2 djnz r2, KLoop00AC 7AFF mov r2, #0ffh ; 没有键按下, 返回0ffh00AE 800F sjmp ExitGoon1:00B0 F9 mov r1,a ; 键值= 列X4 + 行00B1 EA mov a, r200B2 14 dec a00B3 23 rl a00B4 23 rl a00B5 FA mov r2, a ; r2 = (r2-1)*400B6 E9 mov a, r1 ;r1中为读入的行值00B7 7904 mov r1, #4LoopC:00B9 13 rrc a ; 移位找出所在行00BA 4003 jc Exit00BC 0A inc r2 ;r2 =r2+ 行值00BD D9FA djnz r1, LoopCExit:00BF EA mov a, r2 ; 取出键码00C0 90007A mov dptr, #KeyTable00C3 93 movc a, @a+dptr00C4 FA mov r2, aWaitRelease:00C5 908002 mov dptr, #OUTBIT ; 等键释放00C8 E4 clr a00C9 F0 movx @dptr, a00CA 7E0A mov r6, #1000CC 1144 call Delay00CE 116C call TestKey00D0 70F3 jnz WaitRelease00D2 EA mov a, r200D3 22 retSTART:00D4 758160 MOV SP, #60H00D7 75A800 MOV IE, #0 ; DISABLE ALL INTERRUPT 00DA 758920 MOV TMOD,#020H ; 定时器1工作于方式2 (8位重装)00DD 758DF3 MOV TH1, #0F3H ; 波特率?2400BPS @ 12MHz00E0 758BF3 MOV TL1, #0F3H00E3 53877F ANL PCON,#07FH ; SMOD 位清零00E6 438780 orl PCON,#80h00E9 759850 MOV SCON,#050H ; 串行口工作方式设置00EC 7540FF MOV LEDBuf, #0ffh ; 显示8.8.8.8.00EF 7541FF mov LEDBuf+1, #0ffh00F2 7542FF mov LEDBuf+2, #0ffh00F5 7543FF mov LEDBuf+3, #0ffh00F8 754400 mov LEDBuf+4, #000FB 754500 mov LEDBuf+5, #000FE D28E SETB TR10100 D2ACSETB ES0102 D2AFSETB EA;mov sbuf,a;jnb ti,$MLoop:0104 20000F jb HasRcv, RcvData ; 收到数据?0107 114B call DisplayLED ; 显示0109 116C call TestKey ; 有键入?010B 60F7 jz MLoop ; 无键入, 继续显示010D 1192 call GetKey ; 读入键码010F 540F anl a, #0fh ; 通讯口输出键码0111 F599 MOV SBUF,A0113 020104 LJMP MLoopRcvData:0116 C200 clr HasRcv ; 是0118 E550 mov a, RcvBuf ; 显示数据011A F5F0 mov b,a011C 540F anl a,#0fh ; 显示低位011E 900034 mov dptr, #LEDMap0121 93 movc a, @a+dptr0122 F545 mov LEDBuf+5, a0124 E5F0 mov a,b0126 C4 swap a ; 显示高位0127 540F anl a,#0fh0129 900034 mov dptr, #LEDMap 012C 93 movc a, @a+dptr012D F544 mov LEDBuf+4, a 012F 020104 ljmp MLoopEND。
[教材]新实验箱驱动安装方法
Lab8000单片机实验箱硬件驱动安装
启动计算机后,打开实验箱电源,若计算机提示安装新硬件,说明实验系统驱动未安装,需自行安装。
实验前需先检查实验箱驱动是否安装,右键点击【我的电脑】,依次打开“管理”/“设备管理器”,如图:
若设备中USB Device一项有黄色叹号,则说明驱动没有安装,右键点击此项,更新驱动程序,在弹出的对话框中选择“从列表或指定位置安装”,下一步,选择“不要搜索,我自己选择要安装的驱动程序”,下一步,选择“Nanjing WA VE J.Master Driver”,点击下一步,在弹出的所需文件对话框中点击“浏览”,依次选择“我的电脑”、“本地磁盘C”、“vw”、“Driver”、“Driver_Cypress”、“ezusb”,点击打开,确定,即可完成安装。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一汇编语言上机实验一、实验目的1、熟悉掌握汇编程序的编辑、编译、连接、运行,要求在Debug状态下查看结果。
2、熟悉Debug对程序进行调试的方法及步骤。
3、熟悉掌握8086常用的汇编语言指令。
4、掌握简单的程序设计方法。
二、实验属性验证性实验。
三、实验仪器设备及器材计算机(含有汇编软件)。
四、实验要求1、实验前:在熟练掌握指令系统的基础上,要求学生对上机基础知识(见附录A、B、和C)有一定的了解,能掌握汇编语言的上机过程及常用的DEBUG调试命令,按要求写出预习报告;2、实验时:认真理解实验内容,掌握汇编程序的编辑、编译、连接、运行及Debug程序的使用;3、实验后:写出实验报告(包括程序流程图、源程序、实验结果)。
五、实验内容及原理1、内存中存放有两个双字的数据,用加法指令和带进位加法指令完成两数相加。
用Debug观察相加结果。
相加时应注意,低位字在前、高位字在后,高位字与高字位、低位字与低位字对应相加,高位字相加时,应采用带进位的加法指令。
实验参考程序如下:DA TA SEGMENTBUFFER1 DW 20H,5040HBUFFER2 DW 2434H,2034HDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;取数据段段基址MOV DS,AXLEA SI,BUFFER1 ;取BUFFER1的有效地址送指针SIMOV AX,[SI]MOV DI,OFFSET BUFFER2 ;取BUFFER2的有效地址送指针DIADD AX,[DI] ;低位字相加MOV [SI],AX ;相加和送变量BUFFER1保存ADD SI,2 ;修改指针,指向高位字ADD DI,2MOV AX,[SI]ADC AX,[DI]MOV [SI],AXMOV AH,4CH;返回DOS,但如在DEBUG下调试,INT21H ;可不用此软中断HLT ;暂停CODE ENDSEND START2.码制转换:把寄存器中(或存储器中)一个字的组合BCD码,转换为4位ASCII码,存入相应的内存单元中,并在DEBUG状态下查看运行结果。
(一个字的组合BCD码包含4位BCD码,将其依次分解为4个非组合BCD码,分别加上30H,即成为ASCII 码,并存入内存单元)D SEGMENTBUF DW 2756HRES DB ?,?,?,?,?D ENDSC SEGMENTASSUME CS:C,DS:DSTART:MOV AX,DMOV DS,AXLEA SI,BUFMOV AX,[SI]MOV BL,ALMOV BH,AHMOV RES+4,BHAND AL,0FHADD AL,30HMOV RES+3,ALMOV CL,4SHR BL,CLAND BL,0FHADD BL,30HMOV RES+2,BLAND BH,0FHADD BH,30HMOV RES+1,BHMOV CL,4MOV BH,RES+4SHR BH,CLAND BH,0FHADD BH,30HMOV RES,BHHLTC ENDSEND START3、设内存数据区有若干个大小写混合英文ASCII码字母。
将其转换为全部大写。
并存入原字符串后的连续的存储单元中D SEGMENTA1 DB 'Ghij'A2 DB ?,?,?,?,?,?,?,?,?,?,?,?D ENDSC SEGMENTASSUME CS:C, DS:DSTART:MOV AX,DMOV DS,AXMOV CX,4MOV BX,0LEA SI,A1A11:MOV AL,[SI]CMP AL,61HJB DE1SUB AL,20HINC BXMOV A2+[BX],ALINC SIDEC CXCMP CX,0JA A11JMP A12DE1:INC BXMOV A2+[BX],ALINC SIDEC CXJZ A12JMP A11A12: MOV AH,4CHINT 21HRETC ENDSEND START4、设有30个学生的成绩分别为90,75,55,60,63……。
试编写程序分别统计低于60、60~69、70~79及80~100分学生人数,并存入到S1、S2、S3、S4,将统计个数分别在CRT上显示(按十进制数形式进行显示)。
CJ segmentshu db 88,99,35,66,77DB 39,88,88,99,98,98,90db 87,88,82,85,86,75,89,96,95,93,92,91,90,88,87,86,89,99ZRS EQU $-SHURS DB ?DY80 DB 0DY70 DB 0JGS DB 0BJG DB 0; RS DB ?RSXS DB "TOAL NUMBER="RSD DB 0,0,0DH,0AHXS80 DB ">=80:"JG80 DB 0,0DB 0DH,0AH ;XS70 DB ">=70:"JG70 DB 0,0DB 0DH,0AH ;XSJG DB ">=60:"JGSD DB 0,0DB 0DH,0AH ;XSBJG DB "<60:"BJGD DB 0,0,"$"CJ ENDSSTAC SEGMENT STACKSTA DB 100 DUP(?)TOPP EQU 100STAC ENDSDAIMA SEGMENTASSUME CS:DAIMA,DS:CJ,SS:STACKAISHI: MOV AX,CJMOV DS,AXMOV AX,STACMOV SS,AXMOV SP,TOPPMOV SI,OFFSET SHUMOV CX,ZRSMOV RS,CLAGGG: MOV AL,[SI]CMP AL,80JB NEXT2INC DY80JMP NEXT9 NEXT2: CMP AL,70JB NEXT3INC DY70jmp next9 NEXT3: CMP AL,60JB NEXT4INC JGSJMP NEXT9 NEXT4: INC BJG NEXT9: INC SILOOP AGGGLEA SI,DY80LEA DI,JG80CALL HTDLEA SI,DY70LEA DI,JG70CALL HTD; LEA SI,BJG; LEA DI,BJGD; CALL HTDLEA SI,JGSLEA DI,JGSDCALL HTDLEA SI,BJGLEA DI,BJGDCALL HTDLEA SI,RSLEA DI,RSDCALL HTDLEA DX,RSXSMOV AH,09HINT 21HMOV AH,4CHINT 21HHTD PROC NEARMOV AL,[SI]MOV AH,0MOV BL,10DIV BLADD AL,30HMOV [DI],AL ;SHIWEIADD AH,30HMOV [DI+1],AHRETHTD ENDPDAIMA ENDSEND KAISHI5、求222c b a y ++=,显示运算结果(十进制形式)。
a ,b ,c 是定义在数据段中的三个单字节的无符号数,结果存放在这三个数之后,约定占2个字节。
SHU SEGMENTA1 DB 5,3,4A2 DB ?,?,?,?,?,?,?,?PFH2 DB 0PFH3 DB 0DB 0DH,0AH ,'$'SHU ENDSSTAC SEGMENT STACKSTA DB 100 DUP(?)TOPP EQU 100STAC ENDSDAIMA SEGMENTASSUME CS:DAIMA,DS:SHU, SS:STACKAISHI: MOV AX,SHUMOV DS,AXMOV AX,STACMOV SS,AXMOV SP,TOPPMOV SI,OFFSET A1 MOV AX,[SI]CALL AB1MOV A2 ,ALINC SIMOV AX,[SI]CALL AB1MOV A2+1,ALINC SIMOV AX,[SI]CALL AB1ADD AX,A2+1ADD AX,A2MOV A2+6,ALCALL SJZMOV AL,A2+3MOV PFH2,ALMOV AL,A2+4MOV PFH3,ALLEA DX,PFH2MOV AH,09HINT 21HMOV AH,4CHINT 21HAB1 PROC NEARMOV BX,AXMUL BXRETAB1 ENDPSJZ PROC NEARMOV AX,A2+6MOV BL,10DIV BLADD AL,30HMOV A2+3,ALADD AH,30HMOV A2+4,AHRETSJZ ENDPDAIMA ENDSEND KAISHI实验七8255接口模拟交通灯实验一、实验目的1、掌握输入输出控制电路的设计方法。
2、深入理解8086CPU与接口电路之间信息传递方式。
3、进一步学习编制数据输入输出的方法。
4、学习双色灯的使用。
二、实验属性综合性实验。
本实验综合了程序设计(判断转移、输入输出控制、延时子程序等)、可编程输入输出接口与输入输出外部设备的电路设计。
三、实验仪器设备及器材计算机、微机原理综合实验箱。
四、实验要求1、实验前:熟悉实验内容,并按要求将程序编好并写出预习报告。
预习8255结构及命令字格式。
2、实验中:正确连线,掌握接口电路程序设计调试的方法。
3、实验后:写出实验报告(包含程序流程图、源程序、电路连接图,实验结果分析)。
五、实验内容及原理:(一)以8255作为输出/输入口,通过驱动电路控制4个双色LED(红、绿、),模拟十字路口交通信号灯的控制。
通过开关改变南北方向或东西方向的通行时间,并具有四方向黄灯同时闪烁的功能。
(二)本实验是模拟交通灯控制,要了解实际交通灯的变化规律。
1、十字路口为东西、南北走向。
初始状态0:为东西红灯,南北红灯,全部禁行。
然后转运行状态。
运行状态分为状态1~状态4,循环执行。
状态1:南北通行绿灯亮,东西禁行红灯亮;调用延时软件一,延时后转入状态2;状态2:南北通行状态结束,绿灯闪烁几次转亮黄灯;调用延时软件二,延时后转入状态3,此时东西向仍为红灯禁行;状态3:东西通行绿灯亮,南北禁行红灯亮;调用延时软件一,延时后转入状态4;状态4:东西通行状态结束,绿灯闪烁几次转亮黄灯;调用延时软件二,延时后转入状态1,此时南北向仍为红灯禁行。
注:双色LED由一个红色LED管芯和一个绿色LED管芯封装在一起,阴极为共用端:(1)红色阳极加高电平,绿色阳极加低电平时,红灯亮。