单片机实验PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)用鼠标点击菜单的project,选 择open project。如图
(2)选择keil\c51\examples\hello\hello, 点击打开,如图:
(3)选择菜单的Project->Option for Target‘Simulator’,如图:
(3.1)选择C51栏的设置如图:删掉define: 里的MONITOR51这几个字母,如果define栏 是空的,可以跳过这一步:
《单片机原理及应用》实验
盐城工学院信息学院
第一部分 51系统部分及仿真器使用说明
一、51单片机仿真部分使用说明 系统专配的仿真器是一个支持keil c51设计软件的软件断点仿真机。该仿真 器使用一片SST89C58单片机和一片 AT90S8515单片机来实现仿真功能(主CPU 和用户CPU),两片CPU之间通过一根I/O 引脚通讯(通讯速率在33兆晶振时约 100KBPS),主CPU负责跟keil c51通讯, 用户CPU只跟 主CPU通讯,仿真器结构框 图如下:
INT1PRO:
SETB P2.7 ;int1中断服务程序(蜂鸣器响) ACALL DELAY CLR P2.7 ACALL DELAY JNB P3.3 , INT1PRO RETI
MOV R1,#199 MOV R2, #250 DJNZ R2,DL1 DJNZ R1,DL2 RET ;延时子程序 ;内循环 ;外循环
5 9 4 8 3 7 2 6 1
GND C1 9 0 .1
VCC
A _ 4 85 B_ 48 5
TLIN RSOT TLOT RSIN TLIN RSOT TLOT RSIN RS23 2
GND
2 32 /48 5
//串口调试程序 //功能比较简单,PC发送一个字符,单片机收到 后将收到的字符的下一个字符发送给PC, 如PC发一个"A",单片机将发还一个"B"。通信参 数为9600,8N1。*/
(4)选择debug栏的设置项目: Use: Keil Monitor-51 Driver 。 Load Application at Start:选择这项之 后,keil才会自动装载你的程序代码。 Go till main:调试c语言程序时可以选择 这一项,pc会自动运行到main程序处。
(5)点击上图的Settings,打开新的窗口: Port:设置你的串口号,在“使用USB接口 的仿真器特别说明”中的第四点里确认的 串口号。 Baudrate:设置为57600,仿真机固定使用 57600bps跟keil通讯。 Serial Interrupt: 选中它。 Cache Options: 可以选也可以不选,推荐 选它,这样仿真机会运行的快一点。 最后点击ok后确定,再关闭你的设置窗口。
Baidu Nhomakorabea
实验五 并行I/O接口8255应用实验
一、实验原理 用8255的PA口做输入口,PB口做输出口, 控制PA口状态从PB 通过PA口接8个开关K1~K8,PB口接8个 发光二极管,从PA口读入8位开关的状态 送PB口显示,拨动K1~K8,PB口上接的8 个发光二极管L0~L7对应显示K1~K8的 状态。
//接收中断
;汇编查询方式 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SCON,#50H MOV TMOD,#21H MOV TH1,#0fdH MOV TL1,#0fdH SETB TR1
LOOP: JNB RI,LOOP CLR RI MOV R0,SBUF INC R0 MOV SBUF,R0 JNB TI,$ CLR TI SJMP LOOP END
思考题:流水灯程序设计 ORG 0000H MOV A,#0FEH ;点亮第1个LED的初值 LOOP: MOV P1,A ;点亮一位LED ACALL DELAY_100MS ;延时100ms RL A ;左移一位,为下次显示作准备 AJMP LOOP ;跳回去循环 DELAY_100MS: MOV R1,#199 ;延时子程序 DL2: MOV R2, #250 DL1: DJNZ R2,DL1 ;内循环 DJNZ R1,DL2 ;外循环 RET END
2、实验电路图
修改程序:
ORG 0000H AJMP MAIN ORG 0013H ;INT1中断入口 LJMP INT1PRO ORG 0030H MAIN: SETB EA ;INT1中断初始化 SETB EX1 SETB IT1 JB P3.4 ,$ ;当K1为低电平时运行 MOV A,#0FEH ;点亮第1个LED的初值 LOOP: MOV P1,A ;点亮一位LED ACALL DELAY_100MS ;延时100ms RL A ;左移一位,为下次显示作准备 AJMP LOOP ;跳回去循环
#include <reg51.h> #include <intrins.h> sbit LED=P1^3; void INIT_SCI() { SCON=0X50; ES=1; EA=1; }
void INIT_TMR() { TMOD=0X21; TH1=0xfd; /* 4800bps=0xfa, 9600=0xfd, 1200=0xe8, 2400=0xf4*/ TL1=0xfd; TR1=1; }
附:参考程序 ORG 0000H AJMP START ORG 0030H START: SETB P1.0 LCALL DELAY CLR P1.0 LCALL DELAY SJMP START DELAY: MOV R7,#0FFH DELAY1: MOV R6,#0FFH DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END
实验二
单片机I/O口应用实验 (工业顺序控制)
1、 实验内容 8031的P1.0~P1.6控制注塑机的七道工 序,现模拟控制七只发光二极管的点亮, 高电平有效,设定每道工序时间转换为 延时,P3.4为开工启动开关,低电平启 动。P3.3为外故障输入模拟开关,P3.3 为0时不断告警,P1.7为报警声音输出。
VCC JZ R D3 4 1K DD3 1 IN40 0 1 JDQ1 VCC
JK JB P1 .0 JIN 9 0 13 QD3 1
L1 L2
GND
二、实验内容与步骤 利用P1口输出高低电平,控制继电器的 1、把8031的P1.0插孔接到JIN端。 2、把继电器的JZ(中心轴头)接VCC,JB 常闭开关接L1,JK常开开关接L2。 3、编制程序,使P1.0电平变化,低电平时 继电器吸合,常开触点接上L1熄灭,L2 点亮,高电平时继电器不工作,常闭触 点闭合,L1点亮,L2 4、调试运行程序中的JDQ.ASM,L1、L2交 替亮灭。
1、仿真机的连接 1)将随机配备的专用仿真器按标志字符向 上的方向插到51CPU仿真区的JFZ位置; 2)仿真器上的8位开关1和8在ON位置,其 余在OFF位置。
2、使用USB接口的仿真器特别说明 1)先运行 USB_DRV.EXE程序,以安装 USB驱动; 2)打开电源; 3)将随机配备的USB通信线一头连仿真 器,另一头连电脑; 4)电脑显示找到新设备,让系统自己找 驱动并且安装。 5)安装完成后,到控制面板->系统->硬 件->设备管理器->端口 里面确认一下 USB转串口的COM端口号,以备在KEIL C 软件中做相应的设置。
Y0
8 25 5CS
VCC
附:参考程序 org 0000h ajmp main org 0030h main: mov sp,#60h mov dptr,#8003h mov a, #90h movx @dptr,a m: mov dptr,#8000h movx a,@dptr lcall delay mov dptr,#8001h movx @dptr,a lcall delay ajmp m delay: mov r6,#00h djnz r6,$ ret
第二部分 实验指导
实验一 单片机I/O口应用实验
( P3.3口输入 P1口输出)
1、 实验原理图
2、实验步骤 1)P3.3用插针连至K1,JU2(P1.0~P1.7) 用8芯线连至JL(L0~L7)。 2)调试、运行程序test1中的MCUIO.ASM。 3)开关K1每拨动一次,L0~L7发光二极管 按16进制方式加一点亮。
实验接线图:
UB3 1 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RST 34 33 32 31 30 29 28 27 5 36 9 8 35 6 RB3 1 4 . 7K D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RE SE T CS PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 8 25 5 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 K1 K2 K3 K4 K5 K6 K7 K8 L0 L1 L2 L3 L4 L5 L6 L7
(6)编译你的程序,选择Project -> Rebuild all target files
(7)编译完毕之后,选择Debug>Start/Stop Debug Session,就进入仿真了。
(8)装载代码之后,在左下角显示如图: Connected to Monitor-51 V1.0 表示连接到仿真机,仿真机的版本号为1.0 。
DELAY_100MS: DL2: DL1:
DELAY:
MOV R1,#50 ;短延时子程序 D2: MOV R2, #50 D1: DJNZ R2,D1 ;内循环 DJNZ R1,D2 ;外循环 RET
实验三 继电器控制实验 一、 实验原理 本实验采用JZC—23F型继电器,其控制 电压为5V。继电器电路中一般要在继电 器的线圈两头加一个二极管以吸收继电 器线圈断电时产生的反电势,防止干扰。
5、Keil C 软件的使用 1)设置Keil C51仿真机的工作参数 这里拿keil c51 V6.14来说明(keil c51 v6.02,v6.10,v6.12的设置跟v6.14是一 样的)。. 打开一个工程文件。如果你没有工程文件 就要先建立一个。这里拿keil c51提供的 hello.prj为例子说明。
;实现按键控制继电器通断 ORG 0000H AJMP START ORG 0030H START: JNB P1.7, JZD ;P1.7-K1 SETB P1.0 ;高电平常闭 SJMP START JZD: CLR P1.0 ;低电平常开 SJMP START END
void serial_int(void) interrupt 4 { unsigned char data c; if (_testbit_(TI)) { LED=1; } if (_testbit_(RI)) { c=SBUF; LED=0; SBUF=c+1; } } void main(void) { INIT_TMR(); INIT_SCI(); while(1); }
实验四 8051串行接口与PC机通信实验 一、实验原理 实验时需将8051串行接收信号线P3.0 (RXD)连到RS232通信区的RXD_232插 孔,8051的P3.1(TXD)连到RS232通信 区的TXD_232插孔上。
CC8 1 2 24 UC8 1 3 4 5 11 12 10 9 RPC P3. 0 RXD_2 3 2 C1 + C1 C2 C2 + C3 + C3 C4 C4 + CC8 2 2 24 TPC P3. 1 CPU TXD_2 3 2 SWt C1 7 6 2 24 15 16 2 C1 8 1 4 2 24 13 7 8