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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实验指导书终稿.docx

1、单片机实验指导书终稿实验一 清零、移数、判断一、实验目的1、 掌握汇编语言程序设计和调试方法。2、 掌握RAM存储器读写及存储块操作方法3、熟悉分支结构程序的设计。二、实验内容将片内30H40H及片外0010H0100H清零,然后将片内41H47H的内容移到片外0041H0047H,判断:若(0041H)15,则求其平方存到0050H中,并将位00H置1。(0041H)=15, 则加15存到0050H中,并将位01H置1。(0041H)15, 则减15存到0050H中,并将位02H置1。#include#includemain()char a,b,c;char data *p;char xda

2、ta *q;char *p=&a;char *q=&b;a=0x30;b=0x10;*p=0;*q=0;for(a=0x30;a=0x40;a+) for (b=0010;b=0100;b+)main()char data *p;char xdata *q;char *p=&a;char *q=&b;a=0x41,b=0041;*q=*P;for (a=0x41;a=0x47;a+)for (b=0041;b=0047,b+) b=0041; a=0050; c=0x00; if(b15)b=b-15,a=b,c=c+2,c=1; 3、实验说明4、通过本实验,学生可以了解单片机读写存储器的读写

3、方法,同时也可以了解单片机编程,调试方法。四、实验框图 片内外RAM清零流程图 移数流程图判断流程图五、思考题1、如果平方数超过255,怎样将数放到片内RAM 30H和31H单元内,写出指令。2、位的表示方法有哪些,举例说明?将01H位清零的方法有几种,写出指令。实验二 排序、加法一、实验目的1、 进一步掌握汇编语言程序设计和调试方法。2、掌握数据排序的算法及加法运算。二、实验内容1、有两个长度为10个字节的无符号数分别放在片内30H和40H为首的存储单元中(低字节),求其和(带进位位),放在50H为首的单元中。2、将50H为首单元中的数按升序排列放在60H为首的单元中。三、实验说明通过本实验

4、,学生可以了解单片机排序的算法,本程序采用“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。四、实验框图加法运算流程图 排序流程图五、思考题1、-125与-9相加,PSW中OV、AC、CY的值是多少?各表示什么含义?2、两个压缩BCD码59和22相加,结果放到片内RAM 30H单元中,写出程序。实验三 查表、多分支一、实验目的1、 掌握查表指令。2、 掌握多分支结构程序的设计。二、实验内容设有一表格,表中数为:00H、11H、22H、33H、44H、55H、66H、

5、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根据片外0000H单元的低4位的数,取出表中相应的值存到片内30H中;根据片外0000H单元的高4位的数,将片内RAM区中可位寻址的相应的位置1(从位00H位0FH,只可有一个位地址为1)三、实验说明通过本实验,学生可以掌握多分支结构程序的设计,本程序采用查表指令和散转指令进行程序设计。四、实验框图 查表指令查数流程图 散转指令位操作流程图五、思考题1、如果表中对应的数是一个字,该如何操作,例如:根据片内RAM 50H单元中的数,给出的数在00-05H之间,数据表存放在片内ROM 20H开始的单元中,数据表存放在20H开始

6、的片内ROM中,查表所得数据字(双字节,高位字节在后)高位字节存于52H、低位字节存于51H。写出程序。50H单元中的数据:00 01 02 03 04 05H对应的数: 1011H 1234H 3456H 4578H AA10H FF89H2、写出远程查表和近程查表指令的查表范围。实验四 外部中断实验一、实验目的1、学习外部中断技术的基本使用方法。2、学习中断处理程序的编程方法。二、实验要求1、用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。2、用单次脉冲申请中断,在中断处理程序中对输出信号进行处理,使8个发光二极管依次点亮。3、 利用两个按键分别接INT0、INT1,作为加1和减1

7、键使用,实现上电时8个发光二极管全灭,每按加1键一次,亮的灯多一盏,按8次后重复开始状态,每按减1键一次,亮的灯少一盏,按8次后重复开始状态。三、实验电路及连线连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35P1.4L46P1.5L57P1.6L68P1.7L79单脉冲输出INT0 (51 系列)10单脉冲输出INT1 (51 系列)11单脉冲输出EINT (96 系列)单次脉冲四、实验说明中断服务程序的关键是:1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置 EXO 位。3对于 80C196,要选择相应

8、的中断源,并设置中断屏蔽寄存器的相应位。中断程序使用了 INT0、INT1 中断(80C196 为 EXTINT 中断),一般中断程序进入时应保护 PSW、ACC 以及中断程序使用但非其专用的寄存器,实验中要注意保护用到的寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。五、实验框图下图为实验要求1对应的实验框图外部中断子程序框图主程序框图中断入口中断返回恢复现场状态位输出状态位取反保护现场等待中断中断允许设置中断控制寄存器设置初始状态开始:六、思考题1、利用软件延时的方法,修改程序改变发光二极管的发光时间,写出延时程序实验五 定时器实验一、实验目的1、学习 8031

9、内部定时计数器的使用和编程方法。2、进一步掌握中断处理程序的编程方法。二、实验要求1、用 CPU 内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转。2、单片机P1.0、P1.1接两个发光二极管,INT0接一启动按键,利用定时器实现启动后两个发光二极管一亮一灭,亮灭时间均为1s,再按按键发光二极管停止工作。3、单片机P1.0、P1.1接两个发光二极管,利用定时器产生两个控制信号,分别控制两个发光二极管实现一个每隔200s状态发生一次反转,另一个每隔400s状态发生一次反转。三、实验电路及连线连线连接孔1连接孔21P1.0L02P1.1L13单脉冲输出INT0 (51 系列)4单脉冲输出I

10、NT0 (51 系列)5单脉冲输出EINT (96 系列)单次脉冲四、实验说明1、关于内部定时计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部定时计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。2、定时器有关的寄存器有工作方式寄存器 TMOD 和控制寄存器 TCON。TMOD 用于设置定时器/计数器的工作方式 0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是 12 个振荡器周期。因为实验系统的晶振是 6MHZ,本程序工作于方式 2,即

11、 8 位自动重装方式定时器,定时器 100us 中断一次, 所以定时常数的设置可按以下方法计算:机器周期=126MHZ=2uS(256-定时常数)2uS=100us定时常数=206。然后对 100us 中断次数计数 10000 次,就是 1 秒钟。4、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。5、对于 80C196,与定时器有关的寄存器为 IOC1.2 和 INT-MASK。IOC1.2 为定时器 1溢出中断允许/禁止位。INT-MASK 的第 0 位为定时器溢出屏蔽位。6、对于 80C196,在设置中断定时

12、常数时,要注意先设置窗口寄存器 WSR,设置完常数后,再恢复原 WSR 值。五、实验框图下图为实验要求1对应的实验框图:中断子程序框图主程序框图是否保护现场恢复现场重新设置秒计数值是否到一秒定时中断入口中断返回状态位取反秒计数值减1设置初始状态位设置定时常数置T0中断工作方式等待中断输出状态位中断允许开始六、思考题1、若定时时间超过定时器的最大定时时间,如何处理?若需要定时2s,定时器怎样设定?实验六 定时器计数器实验一、实验目的1、学习 80C51 内部定时/计数器使用方法。二、实验要求1、利用80C51内部定时计数器 T0,按计数器模式和方式 1 工作,对 P3.4(T0)引脚进行计数。将

13、其数值按二进制数在 P1 口驱动 LED 灯上显示出来。2、利用80C51内部定时计数器T0和T1,T0作为计数器使用,T1作为定时器使用,计数次数达到10次时,控制P1.0连接的发光二极管点亮100s(由定时器T1实现),计数次数再增加10次,发光二极管灭100s,如此循环。3、利用80C51内部定时计数器 T0,采用工作方式3,TL0设置为计数器,实现外部中断功能,TH0设置为定时器,实现中断响应过程中控制P1.0连接的发光二极管点亮100s。三、实验电路及连线 连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35单脉冲输出T0四、实验说明本实验中内部计数器起计数

14、器的作用。外部事件计数脉冲由 P3.4 引入定时器 T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。五、 实验框图计数,输出计数值开始计数设置工作方式开始下图为实验要求1对应的实验框图:六、思考题如何设置计数10次发生中断?设计的依据是什么?实验七 8255 输入、输出实验一、实验目的1、掌握8255 芯片结构及编程方法。2、掌握8255 输入/输出实验方法。二、实验内容利用 8255 可编程并行口芯片,实现输入/输出实验,

15、实验中用 8255PA 口作输出,PB口作输入。1、按下开关,并用发光极管显示开关的状态。2、让发光二极管循环左移点亮,延时时间为1S。三、实验电路及连线8255 的 CS/接地址译码/CS0,则命令字地址为 8003H,PA 口地址为 8000H,PB 口地 址 为 8001H , PC 口 地 址 为 8002H 。PA0-PA7(PA 口)接 LED0-LED7(LED)PB0-PB7(PB 口)接 K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。连线连接孔 1连接孔 21CS08255CS2L08255-PA03L18255-PA14L28255-PA25L382

16、55-PA36L48255-PA47L58255-PA58L68255-PA69L78255-PA710K08255-PB011K18255-PB112K28255-PB013K38255-PB214K48255-PB315K58255-PB416K68255-PB617K78255-PB7四、实验说明可编程通用接口芯片 8255A 有三个八位的并行 I/O口,它有三种工作方式。本实验采用的是方式 0:PA,PC 口输出,PB 口输入。很多 I/O 实验都可以通过 8255来实现。五、实验步骤用插针按接线图接好线,运行程序,发光二极管按下开关的状态,调整开关的状态,发光二极管跟开关的变化而变化

17、。延时六、实验框图置8255PB口发光二极管循环左移点亮流程图用发光极管显示开关状态流程图七、思考题若延时1S用定时器实现,程序应如何改?实验八 单片机串行口通讯实验一、 实验目的1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。二、 实验内容主机:每隔1秒读一次P0口并将读数发给从机,同时接收从机的信号,若与所发数相同,则P1.0的灯亮,若不同或不回答则P1.1的灯亮。从机:将接收的数据从P1口送出,并回发此数据。三、实验电路及连线连线连接孔 1连接孔 21P0。0K02P0。1K13P0。2乙方 甲方 K24P0。

18、3K35P0。4K46P0。5K57P0。6K68P0。7K79P1。0LED010P1。1LED1主机接线图从机接线:P1口接8只发光二极管。四、实验说明1、8051、80C196 的 RXD、TXD 接线柱在 POD51/96 仿真板上,8088/86 的 TXD、RXD在 POD8086 仿真板上的 8251 芯片旁边。2、通讯双方的 RXD、TXD 信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的 RXD、TXD 直接交叉连接。也可以将本机的 TXD接到 RXD 上,这样按下的键,就会在本机 LED 上显示出来。3、若想与标准的 RS232 设备通

19、信,就要做电平转换,输出时要将 TTL 电平换成 RS232电平,输入时要将 RS232 电平换成 TTL 电平。可以将仿真板上的 RXD、TXD 信号接到实验板上的“用户串口接线”的相应 RXD 和 TXD 端,经过电平转换,通过“用户串口”接到外部的 RS232 设备。可以用实验仪上的逻辑分析仪采样串口通信的波形。五、实验步骤按要求接好线,运行程序,改变开关状态,看主机和从机发光二极管的变化情况。六、实验框图1、甲机程序流程图清接收中断标志RI发送中断标志TI1? 接收中断标志RI1?与所发数据同? 2、乙机程序流程图清发送中断标志TI接收中断标志RI1? 发送中断标志TI1?七、思考题1

20、、51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯,进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,如何实现?实验九 A/D 转换实验一、实验目的1、 掌握 A/D 转换与单片机的接口方法。2、 掌握 A/D 芯片 ADC0809 转换性能及编程。3、 通过实验掌握单片机如何进行数据采集。二、实验内容 利用实验板上的 ADC0809 做 A/D 转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,采用查询方式读入A/D转换结果,用 8255 的 PA 口输出到发光二极管显示。三、实验电路及连

21、线连线连接孔1连接孔21IN0电位器输出2AD_CSCS03EOCINT048255_CSCS15PA0L06PA1L17PA2L28PA3L39PA4L410PA5L511PA6L612PA7L7四、实验说明A/D 转换器大致有三类:一是双积分 A/D 转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近 A/D 转换器,精度,速度,价格适中;三是并行 A/D 转换器,速度快,价格也昂贵。实验用的 ADC0809 属第二类,是八位 A/D 转换器。每采集一次一般需100us。本实验采用延时查询方式读入 A/D 转换结果,也可以用中断方式读入结果。在中断方式下,A/D 转换结束后

22、会自动产生 EOC 信号,将其与 CPU 的外部中断相接,在中断服务程序中读取转换结果。有兴趣的同学可以试试编程用中断方式读回 A/D 结果。 五、实验步骤把0809的0通道IN0用插针接至电位器输出,按接线图接好线(查询方式下,EOC和INT0之间不用连接)。运行程序,发光二极管显示转换后的数字量,调整电位器输出值,发光二极管跟随电位器电压的变化而变化。六、实验框图开始初始化0809和8255选择通道号,启动A/D转换N延时时间到?吗?读取转换结果将转换结果从8255输出查询方式进行A/D转换时程序流程图七、思考题1、修改程序,能对IN0IN7 这8个通道轮流采样,把转换结果依次存入数据存储

23、器中20H27H单元。2、画出采用中断方式进行A/D转换的程序流程图。实验十 键盘扫描、显示实验一、实验目的1、了解数码管动态显示的原理。2、了解用总线方式控制数码管显示的方法。3、掌握键盘扫描和 LED 八段码显示器的工作原理。4、掌握键盘和显示器的接口方法和编程方法。三、 实验内容1、利用实验仪提供的显示电路,动态显示一行数据。2、利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。三、实验电路及连线 D5 D4 D3 D2 D1 D0 段码输出 位选通信号 (0x004H) (0x002H) D3 D2 D1 D0 读回行码 列码

24、 (0X001H) (0X002H)七段数码管的字型代码表(共阴极)如下表:显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111017fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h连线连接孔1连接孔21KEY/LED_CSCS0四、实验说明1、实验仪提供了6位8段码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的

25、控制。显示共有6位,用动态方式显示。8 位段码、6 位位码是由两片74LS374 输出。位码经 MC1413 或 ULN2003 倒相驱动后,选择相应显示位。本实验仪中8位段码输出地址为0X004H,位码输出地址为0X002H。此处 X 是由KEY/LED CS 决定。做键盘和LED实验时,需将 KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将 KEY/LED CS 接到 CS0 上,则段码地址为08004H,位码地址为 08002H。2、本实验仪提供了一个 64 的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按

26、下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X是由KEY/LED CS 决定,参见地址译码。例如将 KEY/LED CS 信号接 CS0 上,则列扫描地址为 08002H,行码地址为 08001H。列扫描码还可以分时用作LED的位选通信号。3、实验2的实验程序可分成三个模块。键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。显示模块:将显示单元的内容在显示器上动态显示。主程序:调用键输入模块和显示模块。五、实验步骤1、按要求接好线,运行程序,在数码管上动态显示一行数据,调整动态扫描时间看显示的变化情况。2、按要求接好线,运行程序,按动小键盘,数码管显示对应的数字或字符。六、实验框图1、显示程序流程图Y 显示程序流程图2、键盘扫描、显示程序流程图 N 主程序流程图返回 读取键值子程序流程图七、思考题1、对于LED显示程序,如果数码管采用共阳极接法,程序该怎样修改?

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

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