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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实验指导书文档格式.docx

1、大约1KHZ如用于4KHZ以上的超低频时钟系统,如32.768KHZ加CKDIV8编程注意:1、当您选择AT89S51/52时,你的系统可能不支持TURBO模式,建议选择FAST以下的模式进行编程。2、选择TURBO模式可以获得最快的编程速度,但对系统的要求会高,如果出现进入不了编程模式或校验出错,请降低编程速度。在器件选择框中可以选择合适的编程器件,SL ISP已经支持的器件有:系列型号AT89SAT89S51、AT89S52、AT89S53、AT89S8252ATTINYATTINY12、ATTINY13、ATTINY15、ATTINY26、ATTINY2313AT90SAT90S2324

2、、AT90S2343、AT90S1200、AT90S2313、AT90S8515、AT90S8535ATMEGAATMEGA8、ATMEGA48、ATMEGA88、ATMEGA168、ATMEGA8515、ATMEGA8535、ATMEGA16、ATMEGA162、ATMEGA163、ATMEGA169、ATMEGA32、ATMEGA64、ATMEGA128SL ISP编程软件会不断加入ATMEL新推出的所有可串行编程的FLASH存贮器的MCU,但对已经停产的MCU不再进行支持。二、文件管理操作文件管理区分成FLASH存贮器和EEPROM存贮器两个部分,FLASH存贮器的文件按键可以选择并打开

3、程序数据文件,SL ISP支持INTEL HEX格式的数据文件和二进制数据文件。注意IAR EWAVR系统编译后生成的HEX文件有时是以A90为扩展名的,但其仍属于INTEL HEX格式文件。EEPROM存贮器的文件是用于选择并打开写入到EEPROM存贮器的数据文件的,同样支持INTEL HEX格式的数据文件和二进制数据文件,注意AVR STUDIO、ICCAVR产生的EEPROM数据文件都是以EEP为扩展名的。两个文件按键左边的文本框中显示成功打开文件的路径信息。三、重载和编辑重载按键可以实现数据文件的自动重载和刷新,在您进行了新的一次编译后,没有必要每次都重新打开文件。单击编辑按键可以打开

4、数据缓冲区窗口,如图5。图5 数据缓冲区窗口在这个窗口,可以对数据缓冲区中的数据进行修改、填充或清零,在窗口右侧还有一个窗口还有一个校验和显示窗口,可以显示缓冲区中数据的校验和,以检查数据有没有改变。使用保存按键,可以将缓冲区中的数据保存成二进文件或INTEL HEX格式数据文件,也可以生成char类型的数组,以方便用户的使用。四、编程选项在编程选项中,有重载文件、序列号、擦除、校验芯片ID码、FLASH、EEPROM、内部RC校准、配置熔丝、加密、轮询方式等单选钮,在单击编程按键时,SL ISP会对选中的编程选项进行操作,没有选中的选项是不会被执行的。编程选项中的所有项目,打钩表示选中,不打

5、钩表示没有选中。AT90S系列芯片,加密后的芯片ID码是无法读出的(总读为00 01 02),因此用户在编程时可以取消ID码校验或先擦除一下,以使编程操作能顺利进行。如果你选择了需要进一步设置的编程选项,会自动弹出相应的设置窗口,如RC校准窗口(图6),在这个窗口你可设置需要校准的频率和保存的位置及地址。图6 RC校准窗口图7为配置熔丝窗口:图7 为配置熔丝窗口在熔丝编程窗口中,检查框打钩表示编程,不打钩表示不编程。注意对于AVR系列MCU由于0表示编程,所以打钩表示0,在窗口上方也有熔丝设置对应的十六进制数显示。由于串行编程受SPIEN、RSTDISBL、DWEN等熔丝影响,所以在配置熔丝窗

6、口中这些熔丝是禁止操作的。五、加密加密下拉列表框可以选择对芯片的不同加密方式:AT89S系列:Lock Mode 1不加密Lock Mode 2禁止外部MOVC指令Lock Mode 3禁止外部MOVC指令、校验Lock Mode 4禁止外部MOVC指令、校验、EA引脚对AVR系列:禁止再编程禁止再编程、校验对ATMEGA系列,还有BLB0和BLB1可以选择,用于设置BOOT区和用户区的保密等级:BLB0 Mode 1用户区允许读写BLB1 Mode 1BOOT区允许读写BLB0 Mode 2用户区只读BLB1 Mode 2BOOT区只读BLB0 Mode 3用户区禁止读写BLB1 Mode

7、3BOOT区禁止读写BLB0 Mode 4用户区只写BLB1 Mode 4BOOT区只写六、信息及进度条信息栏中可以显示编程是产生的各种信息,进度条反映当前操作的进度状况。七、操作按键擦除:擦除当前芯片中的程序。编程:按照编程选项中的操作,对芯片进行批处理操作。校验:用数据缓冲区中的数据对芯片中的内容进行校验。读取:读取芯片内容到数据缓冲区。中止/退出:在编程时显示为中止,此时单击此键可中止编程的进行;当编程结束后显示为退出,此时单击此键可以退出SL ISP程序。第二部分 Keil软件使用说明 利用KeilSoftware可以开发所有8051系列单片机的嵌入式应用。KeilSoftware的8

8、051开发工具提供以下程序,可以用它们来编译C源码,汇编源程序,连接和重定位目标文件和库文件,创建HEX文件,调试目标程序。一、uVision2集成开发环境 uVision2IDE是一个基于Window的开发平台,包含一个高效的编辑器,一个项目管理器和一个MAKE工具。 uVision2支持所有的KEIL8051工具,包括C编译器,6过程: 全功能的源代码编辑器。 器件库用来配置开发工具设置。 项目管理器用来创建和维护项目o 集成的MAKE工具可以汇编,编译和连接嵌入式应用。 所有开发工具的设置都是对话框形式的。 真正的源代码级的对CPU和外围器件的调试器。 高级GDI(AGDl)接口用来在目

9、标硬件上进行软件调试,以及和Monitor-51 进行通信。 与开发工具手册和器件数据手册和用户指南有直接的链接。二、关于开发环境 uVision2界面提供一个菜单,一个工具条以便快速选择命令按钮,另外还有源代码的显示窗口,对话框和信息显示。 uVision2允许同时打开浏览多个源文件。1、项目管理 工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。 一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译

10、器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。2、集成功能 uVision2的强大功能有助于用户按期完工。 集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。 文件寻找功能:在特定文件中执行全局文件搜索。 工具菜单:允许在V2集成开发环境下启动用户功能。 可配置SVCS接口:提供对版本控制系统的入口。 PCLINT接

11、口:对应用程序代码进行深层语法分析。 Infineon的EasyCase接口:集成块集代码产生。 Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2。三、 编辑器和调试器 1、源代码编辑器uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。2、断点 uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试

12、器命令或调试功能即可执行。 在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。3、调试函数语言 uVision2中,你可以编写或使用类似C的数语言进行调试。1).内部函数:如printf, memset, rand及其它功能的函数。2).信号函数:模拟产生CPU的模拟信号和脉冲信号。3).用户函数:扩展指令范围,合并重复动作。4、变量和存储器 用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:1).当前函数的局部变量 2).用户在两个不同watch窗口页面上的自定义变量 3).堆栈

13、调用(call stack)页面上的调用记录(树)(call tree) 4).不同格式的四个存储区四、创建应用如何创建一个新的工程?按如下步骤可建立一个新的工程1、 首先打开Keil软件的开发环境,如下图所示。2、 点击菜单project,选择new project:3、 输入工程文件的名字,选择你要保存的路径,比如保存到Keil目录里,工程文件的名字为test,如下图所示,然后点击保存。4、 这时弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51内核的单片机,例如,选择Atmel公司的AT89C51,可以选择ATMELAT89C51,

14、然后点击确定。5、 点击确定后,弹出一个对话框,如下:询问是否复制标准8051启动代码并将其加入已建工程中。按“是“,进入下一步。6、 接下来要创建一个源程序文件,建立一个汇编或.C文件,如果你已经有源程序文件,可以忽略这一步,点击菜单FileNew:7、 输入一个简单的程序,如下:8、 选择菜单 FileSave9、 选择你要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,如果是C程序文件,扩展名为.C,如果是汇编文件,扩展名为.asm(或.a51),如果是ini文件,扩展名为.ini,其他文件类型,比如注解说明文件,可以保存为.txt的扩展名。这里将文件保存为asm结尾的源程序文件

15、,所以扩展名为.asm,保存为test.asm的名字,点击保存。10、点击Target1前面的+号,展开里面的内容source Group1:11、用鼠标右键点击Source Group1(注意用鼠标右键),弹出一个菜单,选择Add Files to GroupSource Group1。 选择刚才编写的文件test.asm如果在上述目录下看不到该文件,文件类型选All files(*.*),将显示该目录下的所有文件。12、点击Add按钮,将文件加入工程。在类型Type一栏,选Assembly language file。然后,点击OK按钮,把文件加入工程。点击CLOSE按钮,关闭该对话框。出

16、现如下画面。13、双击test.asm文件,可以打开文件,程序出现变色显示,说明程序已被系统辨识。五、参数设置1、 接着上图,用鼠标右键点击Target 1,选择 Options for Target Target1,出现下图: Xtal(Mhz):是设置单片机的工作的频率,默认是24OMHZ,如果单片机的晶振用的是1l.0592Mhz,那么在框里输入ll.0592(单位是Mhz,所以带小数点)。Use On-chip ROM(0x00xfff):这个选项是使用片上的Flash Rom,我们知道At89C51有4k的flash Rom,取决于你的应用系统,你的单片机的EA接高电平的话,请选中这

17、个选项,如果单片机的EA接低电平,表示使用外部Rom,不要选中该项。我们在这里选中它。Off-chip Code memory:表示你在片外接的Rom的开始地址和大小,如果你没有外接程序存储器,那么不要填任何数据我们在这里假设使用一个片外的Rom,地址从Ox8000开始(不要填成8000,如果是8000,是10进制的数,一般填16进制的数),Size为外接Rom的大小假设接了一块0x1000字节的rom。最多可以外接3块Rom,如果还用了别的地址,就添上。Off-Chip Xdata Memory:那么可以填上你外接的Xdata(外部数据存储器的起始地址和大小,一般的应用是接一个62256,我

18、们在这里特殊的指定Xdata的起始地址为Ox2000,大小为Ox8000;Code Banking:是使用Code Banking技术keil可以支持程序代码超过64k的情况,最大可以有2兆的程序代码。如果代码超过64k,那么就要使用Code Banking技术,以支持更多的程序空间CodeBanking是一个高级的技术,支持自动的Bank的切换,是建立一个大型系统的需要,比如要在单片机里实现汉字字库,实现汉字输入法,都要用到该技术我们在这里不选中它。 Memory Model:用鼠标点击Memory Model的下拉箭头,会有3个选项。Small:变量存储在内部ram里 Compact:变量

19、存储在外部ram里,使用页8位间接寻址 Large:变量存储在外部Ram里,使用16位间接寻址 一般使用Small来存储变量,就是说单片机优先把变量存储在内部ram里,如果内部ram不够了,才会存到外部去Compact的方式要自己通过程序来指定页的高位地址,编程比较复杂,如果外部ram很少,只有256个字节,那么对该256个字节的读取就比较快,用MOVXRi,A或MOVX A,Ri指令。 如果超过256字节,那么要不断地进行切换的话,就比较麻烦。Compact模式适用于比较少的外部ram的情况Large模式,是指变量会优先分配到外部ram里,用MOVX A,DPTR或MOVXDPTR,A来读取

20、要注意的是,3种存储方式都支持内部256字节和外部64k字节的ram区别是变量的优先(或默认)存储在哪里的区别除非你不想把变量存储在内部ram,才使用后面的Compact,Large模式因为变量存储在内部ram里,运算速度比存储在外部ram要快的多,大部分的应用都是选择Small的模式使用Small的方式:也不是说变量就不可以存储在外部,一样可以存储在外部,只是你要指定,比如:unsigned char xdata a;那么变量a就存储在外部的ramunsigned char a;变量存储在内部ram假如用Large的模式:unsigned char xdata a:变量存储在外部ram这就是

21、区别,就是说这几个选项只是影响没有特别指定变量的存储空间的时候,默认存储在哪里,比如上面的变量定义unsigned char a那么我们最好选择Small Code Rom Size:用鼠标点击下拉箭头,将有3个选项:program 2K Or less:适用于89c2051这些芯片,2051只有2k的代码空间,所以跳转地址只有2k,编译的时候会使用ACALLAJMP这些短跳转指令,而不会使用LCALL,LJMP指令,如果你的代码跳转超过2k,那么会出错。Compact:2k functions,64k program:表示每个子函数的程序大小不超过2k,整个工程可以有64k代码就是说在mai

22、n()里可以使用LCALL,LJMP指令,但在子程序里只会使用ACALL,AJMP指令除非你确认你的每个子程序不超过2k,否则不要用Compact方式。Large:64K program:表示程序或子函数都可以大到64k使用code bank还可以更大通常我们都选用该方式Code Rom Size选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact和Small的方式这里选择Large方式 Operating:点击下拉箭头有3个选项: None:表示不使用操作系统 RTX51 Tiny RealTime 0s:表示使用Tiny操作系统 RTX51 Full RealT

23、ime 0s:表示使用Full操作系统 Keil c51提供了tiny系统(demo版没有tiny系统,正版软件才有),Tiny是一个多任务操作系统,使用定时器0来做任务切换一般用110592Mhz时,切换任务的速度为30毫秒如果有10个任务同时运行,那么切换时间为300毫秒同时不支持中断系统的任务切换也没有优先级因为切换的时间太长,实时性大打折扣,多任务情况下(比如5个),轮一次就要150毫秒,150毫秒才处理一个任务,连实现键盘扫描这些事情都不行更不要说串口接收,外部中断等同时切换需要大概1000个机器周期,对cpu的浪费很大,对内部ram的占用也很厉害实际上用到多任务操作系统的情况少之又

24、少关键是不适用多任务操作系统一般适合于16位,32位的cpu,不适合8位cpuKeil的多任务操作系统的思想值得学习,特别是任务切换的算法,如何切换任务和保存堆栈等,有一定的研究价值如果熟悉了其切换的方法,可以编写更好的切换(比如将一次切换的时间从30毫秒改为3毫秒,实用性会好一些。2、 编译输出设置(产生.HEX文件) 在上图中,点击OUTPUT,弹出如下界面:Select Folder for Objects: 为最后生成的可执行文件,选择文件夹。Name of Executable: 对生成的可执行文件进行命名。Create Hex File: 选中小方框,编译输出将产生用于最后烧录的H

25、ex文件,不选中,则不会产生。六、程序调试与仿真程序调试完成以上工作后,就可以对程序进行调试与仿真了。具体步骤如下:1、进行编译,ProjectBuild Target(Rebuild All Target Files,工程包含文件不止一个)。2、有错误出现,在编译窗口,对错误类型和出错原因有详细说明,双击错误标号,就会定位在程序的相应处,修改错误,保存,再进行编译,直到全部通过为止。编译完全通过后,就可以进行功能仿真了。程序仿真1、 DebugStart/Stop Debug Session图中,从左边方框中可观察程序运行时,R0R7,A,B,SP,PC,PSW等特殊功能寄存器的值,便于及时

26、了解运行结果的对错。 还可以观察内部RAM的运行值,例如30H,VIEWmemory window,在地址窗口输入要观察地址,内部RAM(I:0X000X7F)30H单元,I:0X30H.从下图可以看出,运行结果为3。外部存储器单元(X:0X0000000X00FFFFH)。除此之外,仿真环境还可以观察、仿真实际外设的运行情况,比如,定时/计数器,串口,P0,P1,P2,P3口,中断等。观察外设窗口:点击Peripherals按钮,弹出如下菜单,包含5个功能菜单:Interrupt: 中断设置与激活。调试技巧:外部中断INT0对应于P3.2口线,因此,用鼠标单击PORT 3窗口从右向左数第三位

27、(P3.2口线对应的位),每单击两次,触发一次中断,原因是外部中断是下降沿或低电平有效的。外部中断INT1的试验方法与外部中断INT0基本相似。I/O-ports: 包含四个端口,即P0、P1、P2、P3。单击PORT0,将弹出具体窗口,可以观察运行的结果。用鼠标可对其进行设置,更改运行时的数据。Serial: 可对串口进行设置,具体如下:Timer:对定时器/计数器进行设置。单击Timer0,出现如下画面。第三部分 实验指导书实验1、 熟悉单片机开发环境目的:熟悉单片机的开发环境,掌握掌握单片机的编程和调试方法。内容: (1)由拨码开关输入开关量到单片机。单片机根据不同的开关量输出相应的信号,点亮或熄灭LED发光管。 (2)让小灯进行多种方式显示。向单片机端口发送不同的数据,点亮LED灯。所需设备:51单片机主控模块。实验原理1:实验步骤:连接单片机模块P1口与LED灯的连线,以及P2口与拨码开关模块的连线。将P2定义为输入,接至拨码

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

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