MCS51 单片机实验指导书.doc_第1页
MCS51 单片机实验指导书.doc_第2页
MCS51 单片机实验指导书.doc_第3页
MCS51 单片机实验指导书.doc_第4页
MCS51 单片机实验指导书.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MCS51 单片机实验指导书 实验1汇编语言简单试验-Keil C51的使用 一、实验目的熟悉Keil C51集成开发环境的使用方法,初步掌握Keil C51基本的操作和使用,能够输入、编译和仿真调试简单的程序。 二、实验内容在Keil C51集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在Keil C51集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作。 三、实验设备安装Keil C51的计算机一台。 四、实验步骤(参考教材第11章)1)建立一个工程项目选择芯片确定选项。 执行Keil C51软件的菜单“Project|New Project?”,弹出一个名为“Create NewProject”的对话框。 先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。 如图1-1所示,紧接着,Keil C51提示您选择CPU器件。 在这里可以选择Atmel公司的AT89S52。 图1-1Keil C51工程的建立2)编写(或加入)汇编源文件或C源文件,并添加到工程中。 执行菜单“File|New”,出现一个名为“Text n”(其中n表示序号)的文档。 如图1-2所示。 1执行菜单“File|Save”,弹出一个名为“Save As”的对话框。 将文件名改为你事先起好的名称,然后保存。 注意扩展名“.ASM或.c”不可省略。 单击Keil C51软件左边项目工作窗口“Target1”上的“”,将其展开。 然后右击“Source Group1”文件夹,会弹出如图1.7所示的选择菜单。 单击其中的“Add Filesto GroupSource Group1”项,将源程序文件添加到工程中。 然后编写如下程序源文件,并再次保存。 ORG0000H MAIN:CLR P1.0; (1)点亮LED MOV30H,#255LCALL DELAY; (2)调用延时子程序SETB P1.0; (3)熄灭LED MOV30H,#200LCALL DELAY; (4)调用延时子程序AJMP MAIN; (5)返回MAIN处执行DELAYMOV R7,30H; (6)延时程序D1MOV R6,#250; (7)D2DJNZ R6,D2; (8)R6存放内循环次数DJNZ R7,D1; (9)R7存放外循环次数RET; (10)END3)设置参数单击“Option”选项,在“Output”标签页,选中“Create HEXFile”项,然后“确定”。 其他参数的设置可参考相关教材。 4)编译源程序单击工具栏的按钮“”编译当前源程序。 编译结果会显示在输出窗口内。 如果是“0Error(s),0Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。 如果存在错误或警告,请仔细检查您的程序。 修改后,再编译,直到通过为止。 编译后的结果会生成HEX格式的程序文件“LedFlash.hex”。 5)编译连接通过后进行软件模拟仿真。 直接点击工具栏红色的“”图标。 进入仿真状态。 执行菜单“Peripherals|I/O-Ports|Port1”,弹出P1端口的界面,如图1-3。 在位07中,用表示高电平,无表示低电平。 2图1-3仿真I/O端口点击工具栏“”图标,进行全速运行,观察P1.0口电平的变化。 点击停止运行“”,再点击单步进入“”,单步运行程序,观察观察P1.0口电平的变化。 设置/清除断点“”在程序的中设置断点,(如在CLR P1.0和SETB”图标,进行全速运行,每次P1.0语句前加入断点),再多次点击工具栏“遇到断点,程序会停止运行,可观察P1.0口电平的变化。 单击工具栏的“”图标,将显示出存储器窗口,可在存储器窗口中观察某一具体位置的内容,如;30H中的内容。 6)编译连接通过后如果有硬件装置,可将程序下载到单片机中,是程序在硬件进行实际运行,观察运行结果。 五实验思考题 (1)试写编写把片内RAM50H59H单元清零的程序。 (2)试写编写把片内RAM50H59H单元写入01H的程序3实验2汇编语言实验-二进制到BCD转换 一、实验目的掌握简单的数值转换算法。 基本了解数值的各种表达方法。 二、实验内容将给定的一个单字节二进制数,转换成非压缩的二十进制(BCD)码。 将给定的一个单字节二进制数,转换成压缩的二十进制(BCD)码。 三、实验设备安装Keil C51的计算机一台。 四、参考程序框图给出要转换的二进制数将该数除以100保存百位数将余数除以10,得到十位数保存十位数余数为个位数,将其保存结束图2-1单字节二进制数转换成非压缩BCD码框图五实验思考题 (1)试写编写查表程序程序。 (2)试写编写3位BCD码转换成二进制数的程序 (3)试写编写二进制到ASCII码转换的程序4实验3I/O口实验-流水灯 一、实验目的掌握8051单片机输入/输出端口的使用方法。 掌握PROTEUS软件的使用方法。 二、实验内容使用Proteus画出硬件电路图,如图3-1所示,单片机的P1口接8个LED发光二极管,试编写程序实现8个发光二极管循环点亮,即实现发光二极管组成的流水灯控制,鼓励用多种编程方法实现流水灯控制的编程。 利用Proteus硬件仿真功能,完成流水灯的仿真运行。 三、实验设备安装PROTEUS软件的计算机一台。 C230PFX1GND30PFU11918XTAL1XTAL2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7393837363534333221222324252627281011121314151617C1CRYSTALR2VCCC310k9RST10uFD1D2D3161514131211109100D7D4D5D6293031PSENALEEARN11234567812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51D8图3-1流水灯硬件电路图 四、参考程序框图 四、实验步骤(参考教材附录B)1)新建设计文件“File-New Design”,选用DEFAULT默认模板。 保存设计,扩展名为.DSN。 2)选取元件选择元件模式,如图3-3的左侧,再单击工具栏上的“P”,进入元件选取,如图3-3所示,在左上角Keyword框中输入元件名查找(例如查找AT89C51),在需要的元件上双击,则自动将元件放入对象选取器中。 3)放置元件到区在对象选取器中单击AT89C51选中元件,将光标移动到,鼠标变成铅笔形状,单击左键,框中出现一个元件原理图的轮廓图,可以移动。 鼠标移到合适的位置后,按下鼠标左键,即可放置一个元件,连续单击,可放置多个同样的元件。 5设置点亮第1个灯的值设置左移8次点亮一盏灯延时左移1位否是否显示完8位是图3-2程序参考流程图图3-3元件选取4)移动元件选择左侧工具栏上的“箭头”图标,主模式切换为选取模式,把鼠标移到右侧的原理图中,鼠标经过元件时会就成“手形”,把鼠标移到LED-RED上,按下左键,LED-RED高亮显示,鼠标变成“手形”并带有方向键头。 移动鼠标,把元件移动到合适位置。 5)连线你一定发现没有画线的图标按钮。 这是因为ISIS的智能化足以在你想要画线的时候进行自动检测。 这就省去了选择画线模式的麻烦。 在元件和终端的管脚末端都有连接点。 左击第一个对象连接点,如果6你想让ISIS自动定出走线路径,只需左击另一个连接点。 另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。 依照原理图3-1次将各元件之间的线连接好。 6)元器件属性设置右键单击元器件弹出菜单,选择Edit Properties,弹出属性对话框,设置相应的属性值。 7)添加仿真执行程序鼠标移动到要单片机元件上点击鼠标左键,器件变成红色表示被选中,再点击鼠标右键弹出如下对话框。 在程序文件下选择微处理器所需要的程序文件(.HEX),选择合适的工作频率即可确认。 如图3-4所示。 图3-4属性对话框点击”OK”,返回图形窗口。 8)仿真调试点击窗下边的仿真按钮程序便可执行了。 或者选择调试菜单Debug下的执行功能即可执行。 单击运行图标,即可仿真运行程序。 五实验思考题 (1)试写编改变流水灯闪烁的速度? (2)试写编写简单的交通灯(红、绿灯)控制程序的程序7实验4数码管显示实验 一、实验目的掌握MCS-51单片机输入/输出端口控制数码管的使用方法。 掌握PROTEUS软件的使用方法。 二、实验内容使用Proteus画出硬件电路图,如图4-1所示,单片机的P0口接共阳数码光的段码,P2口的低六位通过74LS04接六位数码管的位码,试编写程序实现动态扫描的方式显示“123456”。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 三、实验设备安装PROTEUS软件的计算机一台。 C130uFX1P0.0P0.1P0.2XTAL2P0.3P0.4P0.5P0.6RST P0.7P2.0P2.1P2.2PSEN P2.3ALE P2.4EA P2.5P2.6P2.7P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RDAT89C51SRCFILE=7SEG.ASMU1XTAL1D0D1D2D3D4D5D6D7S0S1S2S3S4S5C2CRYSTAL30uFR110kC3V CCGND10uFD0D1D2D3D4D5D6D7S074LS04S1S2S374LS04S4S574LS0474LS0474LS0474LS04图4-1六位数码管显示应将电路图 四、参考程序框图8第一个显示数字1显示位码查表取显示段码段码送P0口位码送P2口显示数字加1位码右一位否是否显示完6位是图4-2程序参考流程图五实验思考题 (1)共阴极数码管和共阳极数码的控制有什么不同。 (2)试写编写共阴极数码管显示的程序 (3)试写编写两位数码管0-99动态显示的程序9实验5矩阵键盘实验 一、实验目的掌握MCS-51单片机键盘检测的方法。 掌握PROTEUS软件的使用方法。 二、实验内容使用Proteus画出硬件电路图,如图5-1所示,AT89S51单片机的并行口P2接44矩阵键盘,以P2.0P2.3作输出线,以P2.4P2.7作输入线,单片机的P1口接8个LED发光二极管,试用扫描法编写键盘识别程序,并将识别的二进制键盘编码送P1的LED发光二极管显示。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 对键盘的程序流程说明如下当P2.0P2.3输出0时,如无键按下,P2.4P2.7的输入值均为“1”,如果其中有一个不是“1”,说明有键按下,再使P2.0P2.3逐个输出零(行扫描),检查P2.4P2.7的输入值有无零,从而查出是哪行哪列的键按下。 在判按键时,按键有抖动,可采用延时后再重读以跳过抖动时段。 三、实验设备安装PROTEUS软件的计算机一台。 C230PFX1GND30PFU11918XTAL1XTAL2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7393837363534333221222324252627281011121314151617+5V10k10k10k10kC1CRYSTALR29RST+5VD1D2D3161514131211109100D7D4D5D6C310k10uF293031PSENALEEARN11234567812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51PACKAGE=DIL40D8图5-144矩阵键盘电路图 四、参考程序框图10开始P2.0P2.3输出0YP2.4P2.7全为1?N(有键按下延时去抖动P2.4P2.7全为1?Y(无键按下)N图5-2程序参考流程图五实验思考题 (1)独立键盘和矩阵键盘的优劣? (2)试写编写其他形式的键盘的程序置行扫描初值扫描位从P2口输出扫到最后一行?N读P2.3P2.4值P2口的高四位和低四位相或得键编码键编码送P1显示Y11实验6按键外中断实验 一、实验目的掌握MCS-51单片机外中断的原理。 掌握PROTEUS软件的使用方法。 二、实验内容使用Proteus画出硬件电路图,如图6-1所示,单片机的外部中断0的输入引脚P3.2口接一个弹性小按键,P0.0口接一个发光二极管,当快速按下小按键时,通过INT0向CPU申请中断。 要求单片机上电后,发光二极管点亮,当按键按下,产生一次中断,发光二极管闪烁点亮10次。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 三、实验设备安装PROTEUS软件的计算机一台。 C2+5vX1U11918XTAL1XTAL2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.730PFR2393837363534333221222324252627281011121314151617D2100GND30PFC1CRYSTALLED-GREENR29RST+5VC310k10uF29PSENALEEAR310kkeyP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51图6-1按键外中断硬件原理图 四、参考程序(见课本p113)五实验思考题 (1)单片机中断执行的过程? (2)试写编写其他形式的中断程序的程序12实验7定时器实验 一、实验目的掌握MCS-51单片机定时器中断方式的原理。 掌握PROTEUS软件的使用方法。 二、实验内容使用Proteus画出硬件电路图,如图7-1所示,利用定时/计数器0方式1定时、中断方式,在P1.0端输出50HZ方波,控制发光二极管闪烁。 设晶振频率为12MHZ。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 三、实验设备安装PROTEUS软件的计算机一台。 C230PFX1U1GND193930PFCRYSTALXTAL1P0.0C1P0.1383718P0.2XTAL2P0.336P0.435R2P0.5349P0.633RST P0.732+5VC310kP2.021P2.12210uF29PSENP2.223P2.324ALEP2.425EAP2.526P2.627R2100D1P2.728P1.0P3.010P1.1P3.111LED-GREENP1.2P3.212P1.3P3.313P1.4P3.414P1.5P3.515P1.6P3.616P1.7P3.717AT89C51图7-1定时器硬件电路图 四、参考程序(见课本p122)五实验思考题 (1)单片机定时器中断方式和查询方式的区别? (2)试写编写定时器查询方式的程序?13实验8串口发送实验 一、实验目的掌握MCS-51单片机串行口的工作原理。 掌握硬件开发板上单片机程序的烧写方法和调试方法。 二、实验内容编写单片串行口通信程序,将单片机和PC机通过通用串口电缆连接,使单片机向PC机发送十六进制数55H。 硬件电路图原理如图8-1所示,完成单片机程序的烧写并在硬件开发板上运行程序。 三、实验设备安装Keil C51软件的计算机一台,51单片机开发板一套。 图8-1串行口通信硬件电路图原理 四、参考程序(见课本p149)五实验思考题 (1)单片机串行口和并行口的区别? (2)试写编写串行通信双机通信的收、发程序?14实验9数字电压表A/D转换器应用 一、实验目的掌握MCS-51实现数模转换原理。 二、实验内容使用Proteus画出硬件电路图,如图9-1所示,使用ADC0809测量直流电压,并用单片机完成数据的采集和计算,并通过数码管将采集的电压显示出来。 利用Proteus硬件仿真功能,完成数码管显示的仿真运行。 也可在试验开发板上完成此试验。 三、实验设备安装Keil C51软件的计算机一台(51单片机开发板一套)。 经单片机ALE的2MHz一分频后得到1MHz的时钟提供给ADC08091211通道0-7的电压表测试i n0i n1i n2i n3i n4i n5i n6D0D1D2D3D4D5D6D7OELEQ0Q1Q2Q3Q4Q5Q6Q7256912151619AABBCC+88.8Volts10U2:BQ9d0d1d2DCLKQR8347813141718111+88.8Volts+88.8Volts+88.8Volts+88.8Volts+88.8Volts+88.8Volts+88.8VoltsSALE137474c lk74S373数码管显示通道0-7的测得电压IN0IN1IN2in3in4in5in6in7AABBCCale_stU4in0in1in2in3in4in5in6in726272812345252423221216IN0IN1IN2IN3IN4IN5IN6IN7ADD AADDBADD CALEVREF(+)VREF(-)ADC0809CLOCKSTARTEOCOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT81067212019188151417d7d6d5d4d3d2d1d0clkale_stU319XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617s1s2s3s4dpd0d1d2d3d4d5d6d718XTAL29RSTALE293031PSENALEEAOE9abcdefgdp12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51abcdefgdps1s2s3s4U5:A3ale_st127402U5:B6457402数码管显示说明最后一位为通道号程序中已用两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论