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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实验指导书.docx

1、单片机实验指导书实验一、输入输出接口编程一、实验目的1、掌握Keil软件的基本使用。2、掌握单片机汇编语言基本编程。二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。将生成的HEX文件下载到实验板上验证。(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0

2、A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED,8个LED按共阳极连接,端口逻辑值为0点亮LED;P3口作输入口接2个SW-SPST开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。本实验中的

3、延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H(SW3,SW4为:00)TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H(SW3,SW4为:01)TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H(SW3,SW4为:10)TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。实验程序框图如下: 图 1.1 主程序 图1.2

4、 转换输出子程序四、实验预习1、学习汇编语言编程的有关知识。2、提前预习KEIL软件的使用方法,写出预习报告。五、实验报告1、总结出实验的详细步骤。2、写出调试正确的程序及运行结果。六、参考程序:参考程序一 ORG 0000H MOV R0,#20H MOV R1,#25H MOV 20H,#80H MOV 21H,#90H MOV 22H,#0A0H MOV 25H,#0A0H MOV 26H,#6FH MOV 27H,#76H CLR C MOV R2,#3 LOOP: MOV A,R0 ADDC A,R1 MOV R0,ACLR C INC R0 INC R1 DJNZ R2,LOOP

5、JNC NEXT MOV R0,#01H SJMP $ NEXT: DEC R0 SJMP $ END参考程序二:ORG 0000H MOV P1,#0FFH SETB P3.2 SETB P3.3LOOP0: MOV R7,#08 MOV R6,#0LOOP3: LCALL FLASH MOV A,R6 MOVC A,A+DPTR ;CPL A MOV P1,A INC R6 LCALL DELAY1 DJNZ R7,LOOP3 SJMP LOOP0DELAY1: MOV R5,250LOOP1: LCALL DELAY0 LCALL DELAY0 LCALL DELAY0 LCALL DE

6、LAY0 DJNZ R5,LOOP1 RETDELAY0: MOV R4,#0FFHLOOP2: NOP NOP DJNZ R4,LOOP2 RETFLASH: JB P3.2,L0 JB P3.3,L1 MOV DPTR,#TAB1 RETL0: JB P3.3,L2 MOV DPTR,#TAB2 RETL1: JB P3.2,L2 MOV DPTR,#TAB3 RETL2: MOV DPTR,#TAB4 RETTAB1:DB 01H,02H,04H,08H,10H,20H,40H,80HTAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81HTAB3:DB 80H,4

7、0H,20H,10H,08H,04H,02H,01HTAB4:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FHEND 实验二、定时器/计数器编程一、实验目的1、掌握定时器的基本编程方法。2、掌握计数器的基本编程方法。二、实验内容 1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P口输出到发光二极管显示。(计算机仿真)2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出

8、,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。(单片机实验板)三、实验原理 电路原理图如下,所需元件为:AT89C52、7SEG-BCD、LED-YELLOW当晶振为22.1184M时,一个机器周期为0.54251微秒,要实现500毫秒的定时,需要921659个机器周期,对于51单片机内部定时器来说,最大只能定时65536个机器周期,定时35.535毫秒,不能满足要求,为此必须借助软件循环进行扩展。实现的方法是:用定时器中断定时10毫秒,再用软件扩展50倍即可得到500毫秒的定时。当到达500毫秒时,对P3.7输出

9、取反,可得到周期为1秒的方波。选择模式1,每个10ms中断一次,设初值为X,根据下面公式,可求得X的值。(216-计数初值)*机器周期=定时时间有关定时计数器的特殊功能寄存器,请参考课本。四、实验步骤: 1、 用KEIL 软件编写、汇编、调试给定内容的有关程序,并生成HEX文件;2、 用Proteus对单片机硬件电路图进行仿真;3、 下载到ZKSYS单片机实验板上验证有关程序。五、实验接线1、从J2插座将IC1芯片的P3.7引出接示波器的信号输入端,示波器的接地端接J10插针。(sw1sw4开关拨到1的位置)2、将单片机芯片的P3.6和P3. 5相连(J2插座), 六、实验预习1、学习有关定时

10、器和计数器的知识。2、提前编写程序,写出预习报告。七、实验报告要求1、总结出实验的详细步骤。4、 写出调试正确的程序及框图。实验三、外部中断的编程一、实验目的1、掌握外部中断的基本编程方法。2、掌握计数器的扩展编程。二、实验内容设计单片机程序实现秒表功能;用一个开关对秒表进行启动和停止控制,用另一个开关对秒表进行清零。用T0定时中断设计秒表计时,秒计数结果通过P1口及4094芯片送数码管显示(T0定时中断时间为10毫秒,秒表的显示间隔为1秒,用软件和硬件结合使用实现)。用外部中断INT0(边沿触发方式)对秒计数结果进行清零,用P3.5对秒计数进行启动和停止控制。1、在生成HEX文件后,用Pro

11、teus软件对电路图进行计算机仿真;2、程序下载到单片机实验板上验证;(实验板数码管的驱动程序见附件)。三、实验原理 电路原理图如下,所需元件为:AT89C52、7SEG-BCD、SW-SPST、BUTTON T0定时中断10毫秒,进行100次中断得到1秒的定时,秒计数结果送P1口进行LED显示,将外部中断设置成边沿触发方式。四、实验预习1、学习外部中断的有关知识。2、提前编写程序,写出预习报告。五、实验报告1、总结出实验的详细步骤。2、写出调试正确的程序及框图。实验四、模数转换一、实验目的1、掌握A/D转换与单片机的接口方法;2、掌握A/D芯片TLC549、TLC1549的编程方法;3、掌握

12、数据采集程序的设计方法;二、实验内容1、在PROTEUS软件仿真环境下,采用TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果送数码管模块显示;(仿真电路图如图4.1所示):2、利用单片机实验板上的TLC1549做A/D转换器,对电位器提供的模拟电压信号进行采样,结果送数码管模块进行显示。三、实验线路1、 TLC549实验电路原理图4.1如下:电路器件:AT89C52、TLC549 、POT-HG、7SEG-MPX4-CA、SW-SPST、4094、BUTTON、RESPACK-8、7404 图4.1 实验电路原理图2、TLC549是CMOS 8位A/D转换器。该芯片有一

13、个模拟输入端口,3态的数据串行输出接口可以方便的和微处理器或外围设备连接。TLC549仅仅使用输入输出时钟(I/O CLOCK)和芯片选择(CS)信号控制数据。最大的输入输出时钟(I/O CLOCK)为1.1MHz。CLK 时钟位DAT 数据位CS 选片位VCC 电源(5V)REF+ 正基准电压输入端REF- 负基准电压输入端实验接线:CLK-P1.0 REF+-VCCDAT-P1.1CS -P1.2电位器RX1的首位两端分别接VCC、GND。四、实验步骤1、在KILL51软件下编辑TLC549的A/D转换源程序并汇编,运用PROTEUS软件仿真调试。仿真步骤:将TLC549的CLK接P1.0

14、、DAT接P1.1、CS接P1.2,将模拟电压输入端连到电位器的电压输出端,并接电压表测量输入电压。 2、调节电位器,电压从0V到5V变化,记录数码管的显示数值。记录到表中。输入电压V00.511.522.533.544.55TLC549A/D仿真结果TLC549A/D实验板测量结果2、 在KILL51软件下编辑TLC1549的A/D转换源程序,汇编通过后下载到单片机实验板:实验接线:CLK-P1.0 REF+-VCCDAT-P1.1CS -P1.2TLC549模拟电压输入端ANIN,连到电位器的电压输出端ADC(J6插针的1脚)。调节电位器,输入电压从0V到5V变化,用万用表进行测量,对应读

15、取数码管上A/D转换后的数值,记录到上表中。五、实验报告(1) 整理好实验程序和实验记录,进行数据处理分析并做图。(2) 数据采集中,如何实现精确的定时数据采集?实验五、数模转换一、实验目的1、掌握模数转换芯片TLC5615的接口技术。2、掌握模数转换芯片TLC5615的编程方法。二、实验内容TLC5615是一个串行10位的DAC芯片,只需通过3根串行总线就可以完成10位数据的串行输入。要求:1、编写程序实现下列要求:通过DIP开关输入03FF位数值,由TLC5615变为模拟电压输出,记录数值与对应的对应关系。2、 利用TLC5615输出一个幅值从0V开始逐渐升至5V再降至0V、周期为1秒的三

16、角波。用示波器观察该波形。三、实验线路 电路原理图如下,所需元件为:AT89C51、7SEG-BCD、TLC5615、DIPSW。1、TLC5615引脚排列:2、TLC5615的时序图:从图中可以看出,TLC5615的16位移位寄存器分为高4位虚拟位,低2位填充位以及10位有效位。如果选择12位数据序列工作方式,则向16位移位寄存器按先后输入10位有效位和地2位填充位,2位填充位数据任意。3、软件编程4、TLC5615接线将TLC5615的信号线接到相应的端口:DIN 接P2.5; CS 接P2.6SCLK 接P2.7; REFIN 接 +5VDIN SW1 接P1口 对数值进行给定DIN S

17、W2 接P3.7,P3.6 对数值进行给定OUT 接万用表(或示波器) 四、实验预习1、学习模数转换的原理与编程2、提前编写程序,写出预习报告。五、实验步骤1、用Proteus软件仿真,改变输入数据,使D/A输出电压从0V到5V变化,记录数码管的显示数值。记录到表中。输入数据输出电压V00.511.522.533.544.552、将编译好的三角波程序下载到实验板上,用示波器观察波形。五、实验报告1、总结出实验的详细步骤。2、写出调试正确的程序及框图。实验六、键盘与显示编程一、实验目的1、掌握数码管显示程序的设计;2、掌握键盘扫描程序的设计。二、实验内容设计单片机程序,读取键盘的按键值(键值为1

18、16),送数码管显示。(选做:用10进制显示键值)。三、实验原理数码管动态扫描显示的基本原理是,单片机依次向每个数码管发出段选码和对应的位选码,对数码管逐个循环点亮,选择适当的扫描速度,利用人眼的视觉暂留效应,使得虽然每个时刻只有一个数码管在显示,但得看上去好像同时显示,动态扫描在定时中断中调用,以保证准确的扫描速度。需要显示的数字必须先进行译码变成能显示的段码才能进行显示,译码可以通过查表来实现。键盘扫描的基本原理是,列线逐列输出低电平,同时检测行线的电平,如其中有低电平时,表明当位于前行列位置上的键被按下,然后由行和列确定键值。在按键处理操作中,键被按下再被释放为一次按键操作,另外还进行键

19、盘去抖动处理,用软件延时方法解决。 四、电路图: 主要元器件:AT89C52,7SEG-MPX4CA,7404,4094,BUTTON图6.1键盘与显示电路图在电路图中,显示功能是由4094串并转换芯片与四位数码管相联实现,4094的DAT与P0.1相联;CLK与P0.0相联,STR与P0.2相联, P2.4-P2.7控制数码管的位选信号和键盘的列扫描线(输出), P2.3-P2.0用于键盘的行检测(输入)。五、实验预习1、学习有关数码管扫描显示和键盘扫描的知识。2、提前编写程序,写出预习报告。六、实验报告1、总结出实验的详细步骤。2、写出调试正确的程序及框图。参考程序附录:TIM EQU -

20、2000 DISP DATA 30H ; 30-34H DIS DATA 35H KEY DATA 36H CLK BIT P0.0 DAT BIT P0.1 STR BIT P0.2 S4 BIT P2.7 S3 BIT P2.6 S2 BIT P2.5 S1 BIT P2.4 K1 BIT P2.3 K2 BIT P2.2 K3 BIT P2.1 K4 BIT P2.0 ORG 0000H LJMP MAIN ORG 000BH LJMP TIM0MAIN: MOV SP,#60H MOV IE,#82H MOV TMOD,#11H MOV TH0,#HIGH(TIM) MOV TL0,#

21、LOW(TIM) SETB TR0 MOV DISP+0,#1 MOV DISP+1,#2 MOV DISP+2,#5 MOV DISP+3,#6 MOV KEY,#0DELAY: MOV A,KEY JZ DELAY MOV B,#10 DIV AB MOV DISP,A MOV DISP+1,B LCALL DLYTIM LJMP DELAYTIM0: PUSH ACC PUSH PSW MOV TH0,#HIGH(TIM) MOV TL0,#LOW(TIM) MOV A,DIS LCALL GETDIS MOV A,DIS ADD A,#DISP MOV R1,A MOV A,R1 LC

22、ALL GETSEGKEY0P: JB K1,KEY1P MOV A,DIS ADD A,#1 MOV KEY,AKEY1P: JB K2,KEY2P MOV A,DIS ADD A,#5 MOV KEY,AKEY2P: JB K3,KEY3P MOV A,DIS ADD A,#9 MOV KEY,AKEY3P: JB K4,KEYP MOV A,DIS ADD A,#13 MOV KEY,AKEYP: INC DIS MOV A,DIS CJNE A,#4,TIME MOV DIS,#0TIME: POP PSW POP ACC RETI DLYTIM: MOV R6,#200DLYR7:

23、MOV R7,#200 DJNZ R7,$ DJNZ R6,DLYR7 RETGETSEG: MOV R1,A LCALL DISPLAY RETGETDIS: MOV DPTR,#NUMTAB MOVC A,A+DPTR CPL A MOV P2,A RETDISPLAY:MOV A,R1 MOV DPTR,#TABLE MOVC A,A+DPTR CPL A MOV R2,#8 CLR CLKDLP: RRC A MOV DAT,C CLR CLK SETB CLK DJNZ R2,DLP SETB STR CLR STR RETTABLE: DB 0F5H,05H,0E3H,67H,17H,76H,0F6H,25H DB 0F7H,77H,0B7H,0D6H,0F0H,0C7H,0F2H,0B2HNUMTAB: DB 10H,20H,40H,80H END

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

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