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

下载本文档

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

文档简介

1、单片微机原理及应用实验指导书课程中文名称:单片微机原理及应用课程代码:36607课程英文名称: Principles and Applications of Micro-controller课程性质:学科基础必修课总学时:48学时(其中讲课36学时,实验12学时)实验地点:15号楼202室实验课时间:第8、10、12、14周浙江理工大学 机控学院 概述实验设备:深圳市学林电子有限公司XL600单片机实验仪()所属部份端口名简要说明 通信下载部份JP17编程/仿真方式选择,注意编程,实验时为弹起状态!仿真时为按下状态。K16 复位键。按此键程序重新运行(仅对实验/仿真部份有效)JP2 USB 端

2、口。用于系统供电和usb通信。JP23 ISP下载头。可对其他芯片进行下载 电源部份JP33电源开关。按下电源开,电源指示灯D100亮。 Cpu仿真部份IC16实验卡座。实验时, 插入AT89S51实验,仿真时,插入SST89E564进行仿真JP44P1口输出(P1.0P1.7)JP53P3口输出(P3.0P3.7)JP51P0口输出(P0.0P0.7)JP52P2口输出(P2.0P2.7)JP5940PIN外接仿真头,和标准8051的引脚排列一致,请注意其引脚排列的方向。 AD转换部份ADC0804J3 ADC0804控制端。本套件例子中, WR,RD 分别接P36,P37。JP35ADC0

3、804数据端。本套件例子中,接CPU的P1口。JP30外部模拟信号输入端。JP60 AD跳线。默认为闭合状态,如果需要外接信号则跳开,从AD输入口JP30输入。ADJ13Ad试验。用于AD试验时模拟信号,10K的可调整电阻。 DA转换部份DAC0832JP24DAC0832控制端。本套件例子中, WR,CS 分别接P36,P27。JP27DAC0832数据端。本套件例子中,接CPU的P0口。J2DAC0832输出端。接示波器看输出波形。 液晶显示部份12864LCD1602LCDJP41液晶实验时。闭合此跳线, 以接入液晶部份电源。注意:从上到下本套件一共设计了2组液晶插口,分别是 12864

4、液晶, 1602液晶 8位数码管部份JP5数码管数据端,本套件例子中,接CPU的P0口。JP8数码管显示位控制,控制1-8位数码管的亮灭。本套件例子中,接CPU的P2口。 数码管译码部份(74LS47)JP1974LS47数据输入端 可以直接实现在LED2单位数码管上解码显示数字。JP8874LS47数据输出端。 并入串出部份(74LS165)JP2874LS165数据输入端.JP2174LS165数据输出端. 三八译码部份(74LS138)JP2274LS138数据输入端.JP2574LS138数据输出端。本套件例子中,接JP32八路指示灯观察输出情况。 串入并出部份(74LS164)JP2

5、074LS164数据输入端, 本套件例子中, A/B CLK分别接CPU的P3.0, P3.1。JP2674LS164数据输出端,本套件例子中,接JP32八路指示灯观察输出情况。 反向器部份(74LS14)JP2974LS14数据输入端。JP3474LS14数据输出端,信号由此处理后,高电平变低点平,低电平变高电平。 步进电机部份JP31步进电机控制信号输入端JP36步进电机输出。 93C46部分JP4693C46控制。本套件例子中,DO,DI,SK,CS分别接单片机的P34,P35,P36,P37 24C02部分JP3824C02控制。本套件例子中,SLC,SDA 分别接CPU的P36,P3

6、7 小喇叭部份JP16JP16是小喇叭信号输入。本套件例子中,接单片机的P3.3口 遥控部份JP45JP45是红外线接收头的信号输入。本套件例子中,接单片机的P3.7口 18B20部分JP39本套件例子中,接单片机的P3.0口(xl600此为选购件) 拨动开关部份JP40JP40分别对应J00-J07八个拨动开关。 八路指示灯部份JP32JP32分别对应D00-D07八个指示灯。灯亮时,表示对应端口状态为低电平。 矩阵按键部份JP50JP50对应4*4键盘的4行和4列。本套件例子中,接在CPU的P1口。 继电器 JP18 可以引出信号控制其它的电器 JP83 实时时钟芯片 JP80 这里是一个

7、硬件的震荡器,用于提供脉冲信号做相关试验 键盘 可以做PC机电脑键盘的解码试验 晶体选择 S1 可以用来选择用户晶体,只要插上您想要的晶体即可 独立按键 JP37 4个独立的按键开关按下为低电平!实验一 定时器、中断、IO口综合实验LED灯闪烁实验一、实验目的熟悉MCS-51定时器、中断初始化编程方法;了解定时器应用实时程序的设计与调试技巧;二、实验内容实现4个LED按一定规律闪烁三、程序框图 四、实验步骤1、 硬件连接:8PIN数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。2、 输入源程序,编译3、 在中断入口矢量处设置断点,来观察中断时PC、堆栈指针SP的值。4、

8、 全速执行,观察LED灯的变化情况五、实验报告1、进入中断程序时,SP及(SP-1)两单元内的值代表什么?2、上机实验程序。汇编语言参考程序 ORG 0 LJMP STA ORG 000BH LJMP TIME0T ORG 0030HSTA: MOV SP,#70H/初始化 MOV TMOD,#01H/T0方式1,16位 MOV TH0,#00H/设置初值 MOV TL0,#01H SETB EA SETB ET0 SETB TR0/启动定时器 MOV P1,#08H/0000 1000 亮后三个LOOP: INC R1 LJMP LOOP TIME0T: MOV TH0,#00H MOV T

9、L0,#01H MOV A,P1 JB ACC.0, TT1/如果直接寻址位=1,则转移,否则顺序执行 RR A LJMP TT2TT1: MOV A,#08HTT2: MOV P1,A RETI END   实验二 并口实验数码管动态扫描显示一、实验目的1学习并口的应用 2掌握数码管动态扫描显示的硬件接线和编程方法二、实验内容1、硬件接线;原理图:8个数码管(共阳)它的数据线并联接到JP5, 位控制由8个PNP型三级管驱动后由JP8引出。(1) 接8位数码管的数据线:将数码管部份的数据口 JP5接到CPU部份的P0口JP51.(2) 接8位数码管的显示位线:将数码管部份的显示位口

10、JP8接到CPU部份的P2口JP52. 0010 10002、编程与调试数码管动态扫描显示01234567的参考程序汇编语言参考程序:ORG 0000H AJMP MAIN ORG 0080HMAIN: CLR P2.0 ;选中第一个数码管 MOV P0,#28H ;显示0LCALL DELAY ; 调用延时MOV P0,#0FFH ;关显示SETB P2.0CLR P2.1 ;选中第二个数码管MOV P0,#7EH ;显示1LCALL DELAYMOV P0,#0FFHSETB P2.1CLR P2.2 ;选中第三个数码管MOV P0,#0A2H ;显示2LCALL DELAYMOV P0,

11、#0FFHSETB P2.2CLR P2.3 ;选中第四个数码管MOV P0,#62H ;显示3LCALL DELAYMOV P0,#0FFHSETB P2.3CLR P2.4 ;选中第五个数码管MOV P0,#74H ;显示4LCALL DELAYMOV P0,#0FFHSETB P2.4CLR P2.5 ;选中第六个数码管MOV P0,#61H ; 显示5LCALL DELAYMOV P0,#0FFHSETB P2.5CLR P2.6 ;选中第七个数码管MOV P0,#21H ; 显示6LCALL DELAYMOV P0,#0FFHSETB P2.6CLR P2.7 ;选中第八个数码管MO

12、V P0,#7AH ; 显示7LCALL DELAYSETB P2.7MOV P0,#0FFHAJMP MAIN ;重新开始DELAY: ;延时子程序MOV R7,#2D1: MOV R6,#25D2: DJNZ R6,D2DJNZ R7,D1RETENDc语言参考程序:#include<reg51.h> /头文件#define uchar unsigned char /宏定义,为方便编程#define uint unsigned int#define DIGI P0 /宏定义,将P1口定义为数码管#define SELECT P0 /宏定义,将P2定义为数码管选择口uchar d

13、igivalue=0x28,0x7e,0x0a2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60;/显示的数字数组,依次为0,1,.,9uchar select=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /选择数码管数组,依次选择1,2,.,8void delay() /延迟函数,决定数码管跳变的间隔时间 uchar ii=200; /若发现数码管闪烁,调节这里即可while(ii-);char code SST5163 _at_ 0x003b; /仿真器插入代码main() /主函数uchar i=0;while(1) for(i

14、=0;i<8;i+) /8个数码管轮流显示SELECT=selecti; /选择第i个数码管DIGI=digivaluei; /显示idelay(); 三、实验报告1.如何使LED显示自己的学号?写出操作过程。实验三(1) 模拟/数字转换器实验一、实验目的1学习接口芯片的扩展方法2掌握模拟量数字量接口芯片的应用方法二、实验内容1、ADC0804的硬件接线; ADC0804的规格及引脚图试验原理图:/CS:芯片选择信号。VREF:辅助参考电压。/WR:用来启动转换的控制当/WR自HI变为LO时,转换器被清除;当/WR回到HI时,转换正式启动;/RD:外部读取转换结果的控制脚输出信号。DB0

15、DB7:8位数字输出。/INTR:中断请求信号输出,低电平动AGND,DGND:模拟信号以及数字信号接地。CLK IN,CLK R:时钟输入或接振荡元件(R,C),频率约限制在100KHz1460KHzVIN(+),VIN(-):差动模拟电压输入。输入单端正电压时,VIN(-)接地;2、ADC芯片的编程与调试把输入的电压值读入到A中去 -参考程序-;/定义ADC的连接端口ad_cs equ P3.6ad_wr equ P2.0ad_rd equ P3.7ad_input_port equ p1ORG 0000hLJMP mainorg 0030hmain:LCALL adc_demo

16、AJMP main;/ 启动AD转换Adc_Start:CLR ad_csNOPCLR ad_wrNOPSETB ad_wrNOPSETB ad_csNOPRETAdc_Read: ;/ 读AD转换mov ad_input_port,#0ffhclr ad_csnopclr ad_rdnopnopmov a,AD_INPUT_PORTnopsetb ad_rdnopsetb ad_csret;/ AD转换读取延时程序,显示读到的数值Adc_Demo:lcall Adc_Startlcall delay1mslcall adc_readclr p2.0clr p2.3mov p0,aretdel

17、ay1ms:mov r7,#10tt1:mov r6,#50djnz r6,$ ;2usdjnz r7,tt1retend三、实验步骤1ADC0804硬件连接: (1)数据线:用一根8PIN的数据排线, 一端插入ADC0804部分的数据输入端JP35, 另一端插入CPU部分JP44(P1口); (2)控制线:用一个2PIN数据线插入CPU部分JP53(P3口)的P3.6,P3.7另一端插入ADC0804部分的输入端J3.2LED指示灯连接:3用一根8PIN的数据排线,一端插入八路指示灯部分的JP32, 另一端插入CPU部分JP51(P0口)3编程及程序调试4观察及记录(1)用一个小螺丝刀调整A

18、D转换部分的ADJ3 可以看到P0口引出的8个LED逐次变化。(2)用压,通过小螺丝刀调整出10种输入电压(用万用表测量),分别运行程序记录读入的数字量,并列表格,计算与理论分析的误差。三、实验报告1、根据10种输入电压及对应读入的数字量,列表格,计算与理论数字量之间的误差。实验三(2) DA转换与拨码和指示灯综合实验一、实验目的1学习接口芯片的扩展方法2掌握数字量模拟量接口芯片的应用方法3综合人机接口对模拟量输出的控制4示波器的使用二、实验内容1、ADC0832的硬件接线;DI0DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。

19、WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线 (+5v+15v)Vref:基准电压输入线 (-10v+10v)AGND:模拟地,摸拟信号和基准电源的参考地.DGND:数字地,两种地线在基准电源处共地比较好. DAC0832的实验原理图:2 8路拨动开关一端接地,另外一端8路通过JP40引出。 3参考程序产生周期可以通过拨码值改变的方波

20、(或另外的波形)#include <reg51.h>unsigned char led;char code SST5163 _at_ 0x003b;sbit cs1=P27;sbit wr1=P26;/函数声明void delay(unsigned char m);void DA(unsigned char d); void main()unsigned char pwm;pwm=0x0;while(1)led=P3; /读取P3口的拨码开关值P1=led; /仅对低位有效delay(led);DA(pwm);pwm=pwm;void delay(unsigned char m)

21、while(m-) unsigned char i=255; while(i-); /DA转换void DA(unsigned char d)wr1=1;cs1=0;P0=d;wr1=0;wr1=0;wr1=0;wr1=0; /后面几个用于延时wr1=1;cs1=0;三、实验步骤1拨码开关和指示灯的连接把八路拨动开关的JP40用一条8PIN的数据排线引入到CPU的P3口JP53,然后用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。2DAC0832连接 (1) 用一个1PIN数据线一端插入CPU部分JP52(P2口)的P2.6,另外一端插入DAC0832部

22、分的输入端JP24的WR端。(2) 用一个1PIN数据线一端插入CPU部分JP52(P2口)的P2.7,另外一端插入DAC0832部分的输入端JP24的CS端。(3) 用一根8PIN的数据排线, 一端插入DAC0832部分的数据输入端JP27, 另一端插入CPU部分JP51(P0口)3用一台示波器,在J2口观察DA转换后的输出信号。 建议调整到Y轴0.2V/格 X轴1MS/格.  三、实验报告1记录二张不同拨码值时的示波器输出图2编写输出方波的高低电压分别为2.5V和0时的程序。实验四 综合实验步进电机一、实验目的1学习步进电机的工作原理2掌握步进电机速度和位移的控制二、实验内容1.

23、了解步进电机的工作原理和特性    (1)步进电机必须加驱动才可以运转, 驱动型号必须为脉冲信号,没有脉冲的时候, 步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。    (2)本实验中步进电机的步进角度为7.5度,一圈360度, 需要48个脉冲完成。    (3)改变脉冲的顺序, 可以改变转动的方向。2.硬件连线(1)本套件采用的是12v步进电机,为了演示的方便, 实验套件为他提供了5v的电源,此时转动力矩较小,读者也可自行把

24、他应用为12v。(2)该步进电机的耗电流为200ma左右, 采用 uln2003驱动,驱动端口为p1.0,p1.1,p1.2,p1.3. 由于uln2003本身是一个反向器,因此在实际应用中我们在他前面设计了一个74ls14的反向器。使他最终的结果还是同相。相关原理:接线方法:用一根4PIN排线一端插入P1.0-1.3,另一端插入步进电机JP31口 正转  步数p1.0p1.1p1.2p1.303h1110009h210010ch3001106h40110反转  步数p1.0p1.1p1.2p1.303h1110006h201100ch3001109h41001程序流程图:汇编语言参考程序:ORG 0080HX1: MOV R3,#250start: MOV R0,#00Hstart1:MOV P1,#0F

温馨提示

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

评论

0/150

提交评论