ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:733.68KB ,
资源ID:15789263      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15789263.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机仿真器和仿真环境Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机仿真器和仿真环境Word文档下载推荐.docx

1、在数字电路中,电压信号只有两种情况,高电平和低电平,用数字来记录就是1 和0。单片机内部的CPU,寄存器,总线等等结构都是通过1 和0 两种信号来运作的,数据也是以1 或者0 来保存的。单片机的输入输出管脚,也就是IO 口,也是只输出或识别1 和0 两种信号,也就是高电平和低电平。当单片机输出一个或一组电平信号到IO 口后,外部的设备就可以读到这些信号,并进行相应操作,这就是单片机对外部的控制。当外部一个或一组电平信号送到单片机的IO 口时,单片机也可以读到这些信号,并进行分析操作,这就是单片机对外部设备信号的读取。当然实际的操作中,这些信号可能十分复杂,必须严格地按照规定的时间顺序(时序)输

2、入输出。每种设备也都规定了自己的时序,只要都严格遵守,就可以控制任何设备,做出只要你想象得出的任何事情。您可能会再问,我如何让单片机去控制和分析外部设备呢?答案是程序,您可以编写相关的程序,并且把他们烧写到单片机内部的程序空间,单片机在上电时,就会一步一步按照您写的程序去执行指令,做您想做的事情。在51 标准芯片中,有32 个输入输出IO,分为4 组,每组8 个,分别为P0 口,P1 口,P2 口,P3 口。P1 口的8 条脚就用P1.0 至P1.7 表示,其余类似。51 就是用这32 个口来完成所有外部操作的。对于51 的内部结构,如果您已经了解,那是最好;如果不懂,也可以先放下,在完成了本

3、教程开始的几个章节之后,您就会大有兴趣,自己去寻找资料阅读了。当然,如果您希望成为一个优秀的单片机开发程序员,还是必须熟悉单片机的内部结构及工作原理,切不可偷懒!在这一章,您将用程序去控制一个LED 发光管的亮和灭。你应该知道,LED 发光管在通过一定电流时亮,不通电就灭。为了不让LED 通过太大的电流把它烧坏,我们还要串上限流电阻。51 的IO 是弱上拉的方式,在输出高电平时,只能输出几十微安的电流到地,而在输出低电平时,VCC 电源可以输入几十毫安的电流到IO。一般LED 需要10 毫安左右电流点亮,我们就将LED 接在电源VCC 和IO 口之间,中间串上电阻,当IO 输出低电平时,灯就亮

4、了,反之,灯就灭了。我们在这个程序里要控制的是P1.0。请参考一下我们将要使用的试验板的电路图,。图1,试验电路图图2:试验板外观图下面介绍一下仿真器和仿真环境。在实际的单片机学习和开发中,你可以用仿真器模拟一个CPU 芯片,让它按照您编写的程序工作,并且进行调试,一步步排除程序的bug,使程序正常工作。程序工作正常后,您就可以用烧写器将您编写的程序烧入购买来的单片机芯片中,让它自己去运行了。要使用仿真器,还得有一个编译调试的环境,这个环境是在计算机上运行的,我们就在计算机上编写和调试程序,计算机和仿真器有连接,仿真器中的各种数据和程序,都可以从计算机上观察到,并可以观察变量,写入变量的值,单

5、步调试程序,在程序中设置断点调试,全速运行,停止程序运行,等等操作。您应该也可以在上面的网页中找到下载破解版本的keilc51 的办法。中国法律规定,在学习和研究工作中使用有版权的软件是可以的,但是,如果您开发产品时,建议您还是去购买一个正版的软件。下面是DX516 仿真器的使用介绍:1。安装将仿真器和试验板按图3 组装好,串口线按照正确方向插入仿真器,另一端和电脑串口连接,请尽量使用计算机的硬串口。仿真器底座左边的跳线,请放在EMB 这边,以进入仿真状态。如果放在RUN 这边,将会进入脱机运行状态。晶振选择跳线请放在IN 这边,以使用仿真器内部晶振,内部晶振更加可靠。如果放在OUT 这边,则

6、会使用外部的用户板晶振。图3 仿真器插在试验板上2。电源因为用户板使用电流不大,可以使用usb 取电,usb 最大电流可以提供500mA,将usb 取电板插入电脑的usb 口中。(实际应用中,如果用户板使用电流超过100mA,我们就建议使用外部电源)3。启动在仿真器上电,或者按一下仿真器上面的按钮时,仿真器会发出“嘀-”,表示仿真器正常启动。同时仿真器上面的灯闪烁一次,表示进入正常仿真状态。4。仿真设置第一个设置:C51 用户请在您的代码的main()函数前面,加上一句:char code dx5163 _at_ 0x003b;如果以上设置你没有做,在装载过程中,仿真器会发出“嘀嘀嘀” 的三声

7、短声报警,这时的仿真结果将可能不正确。在我们的例程中,这句话已经加入了。这句话并不会影响程序的工作,可以一直保留。第二个设置:请在硬件仿真设置选项中,选择serial interrupt,在前面打勾。如果以上设置你没有做,在装载过程中,仿真器会发出“嘀-” 的一声长声报警,这时的仿真结果将可能不正确。其余设置:请选择use keil Monitor-51 Driver ,这样才会使用硬件仿真请选择load Application at start ,在启动时直接装载程序请选择Go till main ,装载后直接运行到main 函数请在硬件仿真设置选项中,选择115200bps 波特率,所有c

8、ache 都可以不选,或者只选cache code。同时请选择正确的串口号。图4 仿真设置好了,现在可以开始做试验了,我们打开已经建立好的工程和编写好的程序试验。顺便还会学习一下程序调试的技巧。至于如何建立一个新工程,请参考C51 的帮助文件,或者自己摸索一下。请双击lessoncode01 目录下的lesson1.uv2,打开后界面如下:图6:程序界面这个界面是uV3 的,和uV2 是一样用的。点一下上图第三排第2 或者第3 个按钮(您的编译器按钮位置不一定在那个位置,自己找找),就可以看到编译结果了。上面显示是0errrs,0warnings,这是最佳的编译结果,如果有error,则无法进

9、行下一步仿真,如果有warning,一定要尽量消除,确实无法消除的,也要确认不会对程序造成影响,才进行下一步的仿真。在编译结果中,我们还可以看到有data,xdata,code 等用了多少字节的报告,要注意您的单片机中是否有这么多的资源,如果不够,将来烧片运行时就可能出现问题。比如AT89C51 的程序空间是4K,xdata 如果没有外扩就是0 个,data 是128 个。超出这些范围,程序就不能在AT89c51 中运行。不同的芯片有不同的容量,如SST89E516RD 就有64K 程序,内部768 字节XDATA,还有256 个字节的data。我们的例程中肯定都考虑了这些了,肯定不会超出,因

10、为DX516 仿真器是和SST89E516RD 有同样的容量的,将来自己开发时就要注意了。下面我们故意把第9 行的P10 写成P11,点编译,因为没有预先定义P11,所以就报告错误了,如下图:双击一下错误报告的那一行,窗口就也会跳到这一行,方便您进行修改。好了,现在请把错误改回去,再编译一次,出现报告正确了以后,下面开始仿真了。点一下第二行第5 个一个放大镜里面一个d 字母的按钮,就可以进入仿真了,仿真器要事先连接好哟。进入仿真后要退出仿真环境也是点这个按钮。注意,等会如果程序在正在全速运行时,仿真环境是不能直接退出的,得先点停止运行后,再点仿真按钮才可以退出。点进入仿真按钮,程序开始装载,P

11、C 自动运行到了main()停下,并指向了main()函数的第一行。下面是进入了仿真环境的截图:再顺便把调试界面上的按钮介绍一下:图5:按钮说明进入仿真窗口后,如果出现的不是前面的源代码窗口,而是夹有反汇编代码的窗口,直接关掉这个窗口就会恢复到代码窗口。下次进入也会直接进入到源代码窗口。现在先试验单步,点单步(两个单步都可以,一般点单步跨过)。可以看到灯亮了。PC 指针也指向了下一个程序行。图:照片,灯亮再点一下单步,PC 又走下一步,灯灭了。再点一次,PC 走到挂起的程序行了,继续点仍然在这一行。这句指令其实就是使程序不断地跳到自己这一行,别的什么也不做。一般称作程序挂起。一般的实际应用中的

12、程序是不会挂起的,一般是在main 函数里做一个大循环,程序如下:void main(void) / 主程序while(1)P11=0;/亮灯P10=1;/灭灯请将main 函数程序改为上面的代码,我们下一步将试验断点的操作。编译后结果如下:进入仿真后可以看到下面的提示窗口中显示:“connected to Monitor-51 V.DX”,后面的V.DX 就是已经连接到仿真器的提示了。V.DX 是大虾仿真器特有的标识。在第15 行双击一下,可以看到程序行左边出现了一个红方块,这就是设置断点,再双击一次,断点就取消了。如果程序在全速运行的过程中遇到断点,就会自动停下来给你分析。注意在进入仿真后

13、,并且程序是停止状态时,才可以设置或者取消断点。设置了断点现在点全速运行,可以看到程序在断点处停了下来,并且由于前一句指令刚刚执行了点灯,所以这时灯是亮着的。现在在第14 行设置断点,并且取消上一个断点。设置了另一个断点现在点全速运行,可以看到程序在断点处停了下来,并且由于刚刚执行了灭灯,灯是灭着的。好,现在试验全速运行和停止。把断点取消,再点全速运行,可以看到灯是亮着的,但是不是很亮,这是由于程序是循环的,亮灭交替进行,亮的时间并不是全部的时间。现在点停止,可以看到程序停止了,重复几次进行全速和停止,可以发现每次停止的地方不一定是同一位置。这一课就先结束了,我们学习了如何点灯及一些基本的编译和调试操作,下一课将学习如何使LED 闪烁,和更多的调试方法,和如何查看运行状态和设置内部寄存器的值。课后作业:改为第2 个LED 灯(P1.1)做完本章的试验。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1