单 片 机 仿真实验
- 格式:doc
- 大小:3.90 MB
- 文档页数:30
《单片机应用实验》实验指导书目录实验一Keil µVision的使用 (1)实验二汇编语言程序设计 (5)实验三C51程序设计与Proteus仿真 (9)实验四中断与定时/计数器 (13)实验一 Keil µVision 的使用一、实验目的掌握Keil µVision 的使用; 掌握单片机汇编程序的调试方法。
二、实验原理Keil µVision 是美国Keil Software 公司出品的单片机集成开发环境,具有单片机C 语言或汇编语言程序编辑、编译或汇编、连接、调试等功能,允许设置断点,查看程序存储器、数据存储器和SFR 的内容,以图形的方式显示SFR 或变量内容随时间的变化,是目前单片机开发最常用的软件工具。
运行Keil µVision 后,程序窗口如图1-1所示。
其中项目窗口用于管理工程项目所包含的文件,源程序窗口用于程序编辑,编译信息窗口输出编译或汇编的状态信息。
各个窗口可以悬浮(Floating )在主窗口之上,也可以停泊(Docking )在主窗口中,单击程序主窗口Window 菜单的Rest View to Defaults 命令,将窗口恢复成默认状态。
图1-1 Keil µVision 程序窗口三、实验环境Windows XP ; Keil µVision 4;四、实验内容1.建立项目双击桌面Keil µVision 图标或单击开始菜单的Keil µVision 命令运行程序,出现图1-1所示的程序窗口。
在主程序菜单栏单击Project 菜单的New µVision Project 命令,出现创建新文件对话框,为项目文件命名并选择存放路径(建议为每一个项目建立独立的文件夹)。
单击保存按钮,出现图1-2所示器件选择对话框,在Data base 列表中选择Atmel 公司的A T89C52,作为项项目窗口源程序窗口编译信息窗口目使用的单片机。
51单片机智能机器人实验报告智能机器人实验报告电子稿实验一教你的机器人“走路”一、要求与目的熟悉机器人用于走路的“脚”,要教你的机器人学会走路,同时你要掌握控制机器人走路的基本方法。
二、内容1、机器人为什么会“走”要想让机器人移动,就要控制电机的转动。
控制机器人“行走”的基本指令是motor(x,y)函数和drive(x,y)函数。
2、驱动电机的函数通过JC程序控制电机转动,使机器人行走的指令有两个,它们是motor(x,y)函数和drive(x,y)函数,介绍:一、motor(x,y)函数此函数是“启动”电机,x取值1、2,分别表示左右两个电机;y表示电机转速两个电机同时以相同速度启动,意味着什么?机器人将怎样运动?答:机器人将直走。
进一步讨论:如果将一侧电机速度改为0,机器人将会怎样运动?(顺时针、逆时针旋转)答:左侧电机速度为零,则逆时针旋转;反之,则顺时针旋转。
实验题一:让机器人顺时针、逆时针旋转(1)用vjc语言或者流程图让能力风暴顺时针走直径约1米的圆形路径;程序:void main(){while(1){motor( 1 , 80 );motor( 2 , 20 );}stop();}(2)用vjc语言或者流程图让能力风暴逆时针走约1米立方的正方形路径;程序:void main(){while(1){drive( 100 ,0);wait( 1.000000 );stop();motor( 1 , -20 );motor( 2 , 20 );wait( 0.500000 );stop();}}实验题二:首先机器人前进2秒,之后机器人逆时针旋转1.8秒,然后机器人前进1秒,最后停下来。
小结:motor函数主要是实现旋转。
实验代码:Void main(){Drive(60,0);Wait(2.000000);Stop();Drive(0,-60);Wait(1.800000);Stop();Drive(80,0);Wait(1.000000);Stop();}二、drive(x,y)函数此函数是“直行”,x表示基准速度,y表示左右电机与基准速度的差。
单片机用 Proteus 仿真双机串口通信总结体会本文介绍了使用 Proteus 仿真软件进行单片机双机串口通信的实验过程及总结体会。
下面是本店铺为大家精心编写的5篇《单片机用 Proteus 仿真双机串口通信总结体会》,供大家借鉴与参考,希望对大家有所帮助。
《单片机用 Proteus 仿真双机串口通信总结体会》篇1引言在单片机应用中,串口通信是一种重要的通信方式,它具有传输速率快、传输距离远、抗干扰能力强等优点。
Proteus 仿真软件是一种功能强大的电子电路仿真工具,可以用来模拟单片机串口通信的整个过程,为学习和实践提供方便。
本文将详细介绍使用Proteus 仿真软件进行单片机双机串口通信的实验过程及总结体会。
实验过程1. 硬件电路设计首先,我们需要设计一个简单的单片机硬件电路,包括电源电路、串口通信电路和 LED 显示电路。
电源电路可以使用电池或者稳压器来提供稳定的电压,串口通信电路可以使用 Proteus 提供的串口助手软件进行设计和调试,LED 显示电路可以使用 Proteus 提供的 LED 助手软件进行设计和调试。
2. 软件程序设计在软件程序设计中,我们需要编写两个程序:主程序和串口通信程序。
主程序主要负责初始化串口通信电路和 LED 显示电路,并将控制权转移到串口通信程序。
串口通信程序主要负责接收和发送数据,通过串口助手软件可以方便地进行调试和测试。
3. 仿真测试在仿真测试中,我们可以使用 Proteus 提供的仿真工具进行测试。
首先,我们需要将硬件电路和软件程序导入 Proteus 仿真软件中,并进行电路连接和程序编译。
然后,我们可以通过串口助手软件进行数据发送和接收,并通过 LED 显示电路进行数据展示。
总结体会通过使用 Proteus 仿真软件进行单片机双机串口通信实验,我们可以得出以下总结体会:1. Proteus 仿真软件是一种非常强大的电子电路仿真工具,可以用来模拟各种电路和通信方式。
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义三.程序清单及程序流程框图ORG 0000H Array LJMP MAINMAIN: MOV R0,#30HMOV R2,#10HCLR AA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#30HMOV R1,#40HMOV R2,#10HA2: MOV A, @R0MOV @R1,AINC R0INC R1DJNZ R2, A2MOV R1,#40HMOV DPTR ,#4800HMOV R2, #10HA3: MOV A,@R1MOVX @DPTR ,AINC R1INC DPTRDJNZ R2,A3MOV SP,#60HMOV R2,#10HMOV DPTR ,#4800HPUSH DPLPUSH DPHMOV DPTR,#5800HMOV R3,DPLMOV R4,DPHA4: POP DPHPOP DPLMOVX A,@DPTRINC DPTRPUSH DPLPUSH DPHMOV DPL,R3MOV DPH,R4 MOVX @DPTR,A INC DPTRMOV R3,DPLMOV R4,DPHDJNZ R2,A4MOV R0,#50HMOV DPTR,#5800H MOV R2,#10HA5: MOVX A,@DPTR MOV @R0,AINC R0 INC DPTR DJNZ R2,A5POP DPH POP DPL HERE: LJMP HEREEND《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义三.实验电路四.程序清单及流程图程序一ORG 0000HLJMP MAIN ORG 000BH LJMP IPTO MAIN: MOV SP, #30H MOV TMOD, #01HCLR 00H SETB EA SETB ET0 MOV TH0, #3CH MOV TL0, #0B0H MOV R1, #14H SETB TR0 MOV A, #0feH MOV P1, A NT: JNB 00H, NT RL A MOV P1, ACLR 00H LJMP NT IPTO: MOV TH0,#3CH MOV TL0,#0B0HDJNZ R1, TIOMOV R1, #14HSETB 00HTIO: RETIEND程序二只需将程序一中“RL A”改为“RR A”即可实现其功能。
《实验一 应用系统开发过程演示》实验报告参考一.实验目的1.了解单片机应用系统的开发过程,获得感性认识。
2.了解开发箱/开发板的使用方法3.了解仿真软件的基本功能和使用方法。
二.实验环境(一) EL 型微机教学实验系统:1. 设备::北京精议达盛科技有限公司EL-MUT3多CPU 单片机/微机实验实训系统2. 软件:北京精议达盛科技有限公司8051调试软件4.0版 二.实验电路(一) EL 型微机教学实验系统实验电路(二) 仿真软件开发调试环境: 1.英国 Labcenter electronics 公司的Proteus EDA 工具软件, 2. 美国Keil 公司的µVision 集成开发环境 (二) 仿真软件实验电路:三. 操作步骤:(一)EL 型微机教学实验系统操作步骤1. 连线:P1.0~P1.7接LED1~LED82. 新建汇编语言源文件3. 另存为D:\J08X\SY1.ASM4. F3编译生成目标文件,F5进入调试:工具栏上“R ”打开寄存器窗,“H ”打开反汇编窗口F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。
四. 源程序(括号中为EL 型微机教学实验系统中的程序)ORG 0000H (ORG 4000H ) SJMP MAIN (LJMP MAIN) ORG 0040 H (ORG 4100H) MAIN: MOV A,#0FEH LOOP: MOV P2,A (MOV P1,A ) LCALL D_1s RL A AJMP LOOP ;以下为延时子程序 D_Is: MOV R6,#100 ;1s D10ms: MOV R5,#40 :10ms DL: MOV R4,#123 N0P DJNZ R4,$ DJNZ R5,DL DJNZ R6,D10ms RET END(二) 仿真软件开发调试环境: ◆Proteus 工具软件下, 1.新建设计 ①选取元件 A T89C51,RES,LED-RED ②在工作区放置元件,地线,电源 电阻RES 阻值200Ω,模式DIGITAL ③连线 2. 源程序设计,生成目标文件代码 “Source →Add/RemoveFiles ”新建源程序文件D:\J08X\L Y1.ASM “Source → SY1.ASM ”在文本编辑器编写源程序 通过“Source →BuildAll ”编译源程序,生成目标程序。
实验报告课程名称:单片微机原理与车载系统学生姓名蒋昭立班级电科1601学号16401700119指导教师易吉良成绩2018年12 月17 日实验1 GPIO实验1.1 实验目的1)熟悉MDK开发环境;2)掌握STM32单片机的GPIO使用方法。
1.2 实验设备1)一台装有Keil和串口调试软件的计算机;2)一套STM32F103开发板;3)STlink硬件仿真器。
1.3 基本实验内容1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。
2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。
实现功能:3 个按钮(KEY_UP、KEY0和KEY1),来控制板上的2 个LED(DS0 和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制DS1,按一次亮,再按一次灭;KEY0 则同时控制DS0 和DS1,按一次,他们的状态就翻转一次。
理解连续按概念及其实现代码。
参数mode 为0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。
当mode 为1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。
寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。
由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。
寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。
由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。
3)采用库函数方法实现按键输入实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第8章。
压片机的仿真实验报告
压片机仿真实验是制药工程领域的重要实验之一,通过仿真实验可以模拟出药品在压片机中的受力和压缩变形等过程,帮助学生深入了解压片机的工作原理和优化设计方法。
下面是一份压片机仿真实验报告范例。
实验名称:压片机仿真实验
实验目的:通过仿真实验掌握压片机的工作原理和优化设计方法,加深对压片机加工过程的理解。
实验原理:压片机是一种用于压制粉末、颗粒或片状物料的机器,主要由上下两个压臂、上下两个压板、进料器和进料颗粒分配器组成。
在压片机下压臂的作用下,药材被压缩成特定厚度和直径的药片后被排出,压制粉末是压片机最常用的应用。
实验步骤:
1. 打开ADAMS仿真软件,并创建模拟系统。
2. 再建立控制回路和控制电机模块,编写药品进料和排放控制的程序。
3. 设计压片机的一些关键部件,例如上下压板,进料分配器和料斗,制定压片机工作步骤和参数。
4. 运行仿真实验,观察药品在压片机内的受力和压缩变形过程,并记录实验数据。
5. 根据实验数据和结果进行分析和评估,确定优化方案并改进实验设计。
实验结果:通过压片机仿真实验,我们观察到,药品在压片机中经过一系列受力和压缩变形过程,最终形成特定厚度和直径的药片。
同时,我们通过观察实验数据和结果,评估了压片机的工作效率、稳定性和药品质量,并针对实验数据优化了压片机的设计。
结论:通过本次压片机仿真实验,我们掌握了压片机的工作原理和优化设计方法,了解了药品在压片机中的加工过程,提高了药品的生产效率和药品的质量。
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
西安电子科技大学单片机自动测试设计实验课程实验报告实验名称输出口实验机电工程学院学院班Array姓名学号同作者实验日期 2020 年月日输出口实验一、实验目的:(1)学习Keil软件的使用(2)学习P1口的使用方法。
(3)学习软件延时函数的编写。
二、实验原理1、Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
2、本实验中延时函数采用指令循环来实现,机器周期(系统晶振12MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
三、实验仪器1.计算机2.单片机系统和仿真机3.Keil uVision2调试软件四、实验步骤1)设置:关闭实验仪电源,MON51K卡上跳线帽分别短接至MON、片内、FOSC;系统设置(JF)→总线(598),JK→系统,KB6→59(单“51”无此项);2)接线:☞ P1.0~P1.7→L1~L8。
☞实验箱主板CZ1/USB口→电脑串口/USB口。
3)运行:开启实验仪电源,双击“Keil uVision2”图标启动keil软件,选择通信端口、硬件仿真,编程、编译下载、开始调试,全速运行程序后,观察L1…L8流水灯循环。
五、实验内容:1.P1输出口接八只发光二极管,编写程序,使发光二极管循环点亮。
2.实现状态指示灯的驱动3.按照实验要求编写控制程序,进行在线调试,并进一步修改完善,最终完成可按一定0.1S的时间顺序依次点亮发光二极管的控制程序。
(要求写出程序)六、实验结果七、思考题如何修改程序,使发光二极管的移位方向改变;若使发光二极管的延迟时间发生变化,如何修改程序。
八、按要求写出实验报告编写实验报告规范:实验名称、目的、内容、原理、设备及仪表(名称、规格、型号)、实验装置或连接示意图、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。
西安电子科技大学单片机自动测试设计实验课程实验报告实验名称输出口扩展实验机电工程学院学院班Array姓名学号同作者实验日期 2020 年月日一、实验目的:(1)了解教学实验系统的结构(2)学习单片机系统中扩展简单I/O口的方法。
伟福®伟福Lab2000P系列单片机仿真实验系统使用说明书南京伟福实业有限公司® 伟福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个硬件实验)。
第六部分单片机仿真实验实验一硬件仿真调试硬件仿真除PC机之外,还需要仿真器、实验电路板,DP-51PROC实验仪已具备这些设备。
一、硬件仿真工程环境的设置源程序存放起始地址为8000H,即程序存放伪指令应为“ORG 8000H”。
单击工具栏Project,在弹出的下拉菜单中选择options for Target>Target1”命令(或者单击快捷图标),弹出工程调试设置窗口。
(1)Targect页面设置;由于MON51监控程序已经占有了0000H~7FFFH地址单元的程序存储空间,因此用户的应用程序必须从8000H地址单元开始存放,即用户应设置off-chip Code Memory栏内的Eprom选项。
见图二十一。
图二十一(2)output的设置:点击output按钮,在“Create HEX File”(建立16进制格式文件)前打勾选中。
对于C51选项卡的设置。
点击C51按钮,进入C51选项卡的设置,按图二十二设置。
图二十二(3)C51属性栏的设置:在efine后面框中输入MONITOR51,将断口地址改为0X8000图二十三(4)Debug调试环境的设置。
选择Debug标签,进入设置页面,在该选项卡中,应选中Use(硬件仿真),在Use下拉控列表框中应选择Keil Monitor-51 Driver选项。
其它选项参考图二十四进行。
图二十四同时它的Settings按钮还提供了串口通信环境设置,通过它可以灵活设置串行通信的端口和波特率。
DP-51PROC单片机综合仿真实验仪波特率必须选9600bps,接口port一般为Com1。
图二十五完成上述设置后,单击“确定”按钮,退出环境设置。
二、编译、链接方法和软件仿真调试完全一样。
若在编辑、链接中出现警告信息,用户可以不必理会它;如果编译出错,将提示错误ERROR的类型和行号。
双击该提示行,将会在指令前出现一个箭头,指向出错误的那条指令。
必须修改程序中的错误,直至程序编译成功为止。
《单⽚机》protues仿真实验题PROTEUS仿真设计题⽬仿真题⽬分为A类题和B类题,A类是基本设计题,较为简单,其分值也较低。
B类题是综合设计题,相对难度⼤⼀些,分值也较⾼。
每个同学可以⾃选⼀题进⾏仿真,根据所选题和仿真情况综合评分。
A类题(基本实验设计题)1.开关状态检测实验(70分)⽤AT89C51的两个并⼝控制检测开关状态并显⽰。
例如P0⼝接⼊8个开关,P1⼝输出接8个LED灯。
开关闭合,相应灯亮,开关断开,相应灯灭。
2.发光⼆极管流⽔灯实验(75分)⽤AT89C51的并⼝(如P1⼝)输出连接8个LED灯,控制其循环点亮,每个灯亮的时间为0.5秒。
要求使⽤T0定时器,定时中断控制时间。
参考电路如下图。
3.单⽚机⽤开关控制数码管显⽰实验(75分)⽤AT89C51的P1⼝低4位接⼊4个开关,P2⼝输出连接⼀个8段LED数码管。
要求数码管显⽰16进制数反映4个开关闭合,断开的状态。
如P1⼝低4位的开关状态为0111(设闭合为0,断开为1),则数码管显⽰为“7”。
参考电路如下图4.产⽣时序信号(70分)⽤AT89C51产⽣连续波形。
从P1.0端⼝输出如图的时序信号;先输出频率为1KHZ⽅波,持续时间0.2秒;接着输出低电平信号,持续时间0.2秒,周⽽复始输出。
在输出端接⼀个LED灯,观测电平状态;并接⼀个虚拟⽰波器观察波形。
5.单⽚机外中断演⽰1(75分)设计中断实验,⽤AT89C51的INT0接⼀个按键,P1⼝连接⼀个8段LED数码管。
初始,数码管显⽰“0”,当按键按下,产⽣中断,数码管显⽰中断次数(即加1显⽰),显⽰到“9”,则返回显⽰“0”,这样不断循环显⽰。
参考电路如下图。
6.单⽚机外中断演⽰2(75分)基本电路同上题,程序运⾏后,当未单击按键时,P1⼝接的数码管上亮点以a~g的顺序循环流动;当单击按键时,触发外中断0,主程序暂停,亮点暂停流动,外中断服务程序控制数码管闪烁显⽰“8”,显⽰8次后熄灭,中断返回,主程序使亮点继续流动。
单边带调幅系统的建模仿真实验报告一.MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink 两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
二.实验原理本次实验采用希尔伯特变换,希尔伯特变换就是将信号中所以频率成分的信号分量移相- /2而得到的新信号。
实信号x(t)的解析信号y(t)是一个复信号,其实部为信号本身,虚部为x(t)的希尔伯特变换。
单边带调幅与解调的原理:双边带调幅所产生的上下两个边带包含的信息相同,所以只需要传输其中任意一个边带就可以了。
DP-51H单片机数据通信综合仿真实验仪DP-51H主机USB1.1 模块USB2.0 模块DP-51H单片机数据通信综合仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种目前功能强大的单片机应用技术综合性学习、调试、开发工具,为广大单片机爱好者和单片机工程师提高技术水平提供了一条捷径。
DP-51H单片机数据通信综合仿真实验仪向用户提供了众多外围器件和设备接口,可使用户快速掌握单片机原理及其实用接口技术;同时DP-51H单片机数据通信综合仿真实验仪集成有MON51调试接口,用户可在著名的Keil uVision2调试环境下调试、运行单片机程序。
预留的ISP接口使DP-51H单片机数据通信综合仿真实验仪还具有ISP编程器的功能。
功能特点(1) 用户可使用自带的P87C52X2单片机来进行仿真调试,或把程序下载到FLASH中运行。
工作晶振频率可选:1-24 MHz。
(2) 板上集成众多常用接口电路:32KB SRAM芯片62C256、32KB FLASH芯片29C256、3个独立LED显示、3个独立按键、8个8段数码管与8按键组成的键盘/显示电路、I2C接口实时时钟芯片PCF8563T、I2C接口E2PROM芯片24WC02、I2C接口键盘LED显示芯片ZLG7290、RS232串行通讯接口芯片MAX232、RS485串行通讯接口芯片MAX485、CAN 2.0B 控制芯片SJA1000T、LIN BUS 控制芯片TJA1020、以太网控制芯片RTL8019AS、SPI 接口电路、16×2字符液晶显示屏接口和128×64点阵液晶显示屏接口、无源蜂鸣器电路BUZZER、复位电路、电源监控电路MAX708、另外提供USB1.1和USB2.0的扩展模块。
这些实用接口电路涵盖了MCU通讯的各个应用领域,能够提供用户领先的通讯应用设计方法。
(3) 电路信号的切换通过跳线器进行选择,可靠性高,使用方便。
单片机仿真实验报告姓名:学号:专业:班级:实验一基本开发环境及设备认识实验【实验目的】了解和熟悉Keil与Proteus软件的基本操作与运行步骤,为后面的仿真实验奠定基础。
【实验内容】1. Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,而Keil是目前世界上最好的51单片机汇编和C语言的集成开发环境,它支持汇编和C的混合编程,同时具备强大的软件仿真和硬件仿真(用mon51协议,需要硬件支持)功能,Proteus能够很方便的和Keil等编译模拟软件结合,下面简要介绍。
2. Keil μVision系列是一个非常优秀的编译器,得到广大单片机设计者的广泛使用。
其主要特点如下:具有Windows风格的可视化操作界面,界面友好,使用极为方便; 支持汇编语言、C51语言以及混合编程等多种方式的单片机设计; 集成了非常全面的单片机支持,能够完成51系列单片机以及和51系列兼容的绝大部分类型单片机的程序设计和仿真;集成了丰富的库函数,以及完善的编译连接工具;提供了并口、串口、A/D、D/A、定时器/计数器以及中断等资源的硬件仿真能力,能够帮助用户模拟实际硬件的执行效果;可以与多款外部仿真器联合使用,提供了强大的在线仿真调试能力;内嵌RTX-51 Tiny和RTX-51 FULL内核,提供了简单而强大的实时多任务操作系统支持;在一个开发界面中支持多个项目的程序设计;支持多级代码优化,最大限度地帮助用户精简代码体积;由于Keil μVision具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可以轻松地找到各类编程资源以加速学习和开发过程。
最新的ARM开发工具RealVIEW MDK依然采用Keil μVision3的开发环境和界面,给用户的升级带来极大的方便。
在安装好Keil μVision4集成开发环境后,打开一个工程项目,如图1-1所示,这里可以看到,Keil μvision4集成开发环境具有典型的Windows界面风格。
整个编程界面主要包括菜单栏、工具栏、项目管理区、源代码工作和输出信息窗口。
图1-1 Keil μVision4集成开发环境界面总揽按钮用于编译我们正在操作的文件。
按钮用于编译修改过的文件,并生成应用程序供单片机直接下载。
按钮用于重新编译当前工程中的所有文件,并生成应用程序供单片机下载。
因为很多工程有不止一个文件,当有多个文件时,我们可用此按钮进行编译。
Keil工程的建立进入Keil后出现的编辑界面,如图1-2所示。
图1-2 进入Keil软件后的编辑界面(1)建立一个新工程单击〖Project〗菜单中的〖New Project…〗选项,如图1-3所示。
图1-3 新建工程(2)选择工程要保存的路径,输入工程文件名。
Keil的一个工程里通常含有很多小文件,通常我们将一个工程放在一个独立的文件夹下,比如保存到clock文件夹,工程文件的名字为xiangmu,如图1-4所示,然后单击〖保存〗按钮。
工程建立后,此工程名变为xiangmu.uv2。
图1-4 保存工程(3)这时会弹出一个对话框,要求用户选择单片机的型号,可以根据用户使用的单片机来选择。
Keil C51几乎支持所有的51内核单片机,这里我们选择Atmel的AT89C51来说明,如图1-5所示,选择AT89C51之后右边〖Description〗栏里是对该型号单片机的基本说明。
图1-5 选择单片机型号(4) 完成上一步骤后,窗口界面如图1-6所示,到此为止,我们还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接下来我们添加文件及代码。
图1-6 添加完单片机后的窗口界面(5)如图1-7所示,单击〖File〗菜单中的〖New〗菜单项,或单击界面上的快捷图标。
新建文件后窗口界面如图1-8 所示。
图1-7 添加文件图1-8 添加完文件后的窗口界面此时标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与我们刚才建立的工程还没有直接的联系,单击图标,窗口界面如图1-9所示,在〖文件名(N)〗编辑框中输入要保存的文件名,同时必须注意输入正确的扩展名。
这里的文件名不一定要和工程名相同,用户可以随意填写文件名,然后单击〖保存〗按钮。
图1-9 保存文件(6) 回到编辑界面,单击〖Target 1〗前面的“+”号,然后在〖Source Group 1〗选项上单击右键,弹出如图1-10所示菜单。
然后选择〖Add File…〗菜单项,对话框如图1-11所示。
图1-10 将文件加入工程的菜单图1-11 选中文件后的对话框选中〖exampe_1.c〗,单击〖Add〗按钮,再单击〖Close〗按钮,然后我们在单击左侧〖Source Group 1〗前面的“+”号,屏幕窗口如图1-12所示。
图1-12 将文件加入工程后的屏幕窗口这时我们注意到〖Source Group 1〗文件中多了一个子项〖exampe_1.c〗,当一个工程中有多个代码文件时,都要加在这个文件夹下,这时源代码文件就与工程联系起来了。
(7) 回到Keil编辑界面,单击〖Project〗菜单,然后在下拉菜单中单击〖Options for Target `Target 1`〗项,或直接单击界面上的工程设置选项快捷图标,弹出如图1-13所示画面,单击〖Output〗,然后选中〖Create HEX File〗项,使程序编译后产生hex代码,供仿真实验或下载器软件下载到单片机中。
图1-13 选择生成hex文件3. Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。
Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计与分析,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩,是近年来备受电子设计爱好者青睐的一款新型电子线路设计与仿真软件。
本次实验主要是熟悉Proteus软件下的ISIS —智能原理图输入系统,系统设计与仿真的基本平台。
如图1-14 为ISIS 7 Professional 运行时的界面。
图1-14 ISIS 7 Professional 运行时的界面(1)此次实验来模拟电容充放电动态效果。
打开其应用程序后,将会出现图1-15所示ISIS 7 Professional的编辑界面,用鼠标左键单击界面左侧预览窗口下面的"P"按钮,如图1-16所示,弹出"Pick Devices"(元件拾取)对话框,如图1-16所示。
图1-15 ISIS 7 Professional 的编辑界面图1-16 元件拾取对话框(2)按照上图灯泡的拾取方法,依次把其他元件(直流电源、滑变变阻器、开关、电容)拾取到编辑面的对象选择器中,连接好电路图后如图1-17所示。
图1-17 电容充放电仿真电路图图1-18 电容充电过程的仿真(1)图1-19 电容充电过程的仿真(2)(3)单击Proteus ISIS 环境左下方的控制按钮中的运行按钮,开始仿真。
仿真开始后,用鼠标单击图中的K1开关,使先把电容与电源接通,如图1-18所示,这时能清楚地看到电容充电的动态效果,如图1-18和1-19所示。
电量充满后我们打开K1,电量保持不变,如图1-20所示。
(4)接上面的操作,我们闭合开关K2,会发现灯泡瞬间闪下就灭了,如图1-21所示,由于此电路时间常数较小,所以灯亮的时间很短。
如果放电时间常数再大,则不易观察到灯亮的效果。
在运行时,可以来回通断开关,反复观察充放电过程。
单击仿真控制按钮中的停止按钮,仿真结束。
图1-20 电容充电过程的仿真(3)图1-21 电容放电过程的仿真实验二流水灯实验【实验目的】学会用汇编语言和C语言编写流水灯程序,进一步熟悉软件仿真和硬件仿真的环境,掌握汇编语言从而为后边用C语言奠定基础。
【实验内容】(1)发光二极管简介:它具有单项导电性,通过5mA左右电流即可发光,电流越大,其亮度越强,但若电流过大,会烧坏二极管,一般我们控制在3~20mA之间。
在实际电路中,经常给发光二极管串联一个电阻目的就是为了限制通过发光二极管的电流不要太大,当发光二极管发光时,测量它两端电压约为1.7V,这个电压又叫做发光二极管的“导通压降”,二极管一般可分为直插式发光二极管和贴片式发光二极管,发光二极管正极又称阳极,负极又称阴极,电流只能从阳极流向阴极。
直插式发光二极管长引脚为阳极,短引脚为阴极。
仔细观察贴片式发光二极管正面的一端有彩色标记,通常有标记的一端为阴极。
(2)此次实验用到的主要仿真器件有AT89C51芯片和16个发光二极管LED-GREEN,分别为D1,D2,…,D16,晶振设置为12M。
(3)以下为源程序及其代码注释//(改进)流水灯实验源代码//用定时中断实现延时//************************************#include<reg51.h>#include<intrins.h> // 引用内部函数#define uchar unsigned char#define uint unsigned intuchar flag; //设置标志位void main() //主函数{flag=0;P2=0x80;P3=0x80;TMOD=0x01; //定时器T0,工作方式1 TH0=(65536-50000)/256; //装初值,定时50毫秒TL0=(65536-50000)%256;EA=1; //打开总中断ET0=1; //允许T0中断TR0=1; //启动定时器while(1) //主循环{if(flag==1){flag=0; //清零P2=_cror_(P2,1); //循环右移P3=_cror_(P3,1);}}}void Timer0() interrupt 1 //中断函数{TH0=(65536-50000)/256; //重装初值TL0=(65536-50000)%256;flag++;}图2-1 在Keil编辑界面中的编译结果图2-2 流水灯仿真电路图图2-3 流水灯仿真运行结果(1)图2-4 流水灯仿真运行结果(2)图2-5 流水灯仿真运行结果(3)(4)在Keil编辑界面中,输入代码后进行编译,编译结果如图2-1所示,在输出信息窗口中显示0错误,0警告,这表示此工程成功编译通过,同时也生成了"liuhui.hex"应用程序文件(实验一内有其步骤),可供后面的仿真实验单片机直接下载。
(5)应程序代码和实际功能要求,画好仿真电路图,如图2-2所示,然后将生成的"liushui.hex"文件下载到单片机内,如图2-2所示,我们将所有的二极管阳极接入单片机接口,阴极接地。