单片机实验指导书
更新时间:2024-07-06 01:07:01 阅读量: 综合文库 文档下载
单片机原理及应用实验指导书
谢明华 刘辉 张文希 编写
2010.6
目 录
实验一 Keil C51集成开发环境的使用练习 ................................................................................. 1 实验二 Keil C51集成开发环境的使用练习 ................................................................................. 2 实验三 单片机I/O口控制实验 ..................................................................................................... 4 实验四 中断实验 ............................................................................................................................. 6 实验五 定时/计数器实验 ................................................................................................................ 9 实验六 串转并的I/O口实验 ....................................................................................................... 11 实验七 74HC138译码器实验 ...................................................................................................... 13 实验八 并行的模数转换实验 ....................................................................................................... 15 实验九 RS232串行通信实验 ....................................................................................................... 18 实验十 步进电机控制实验 ........................................................................................................... 21 实验十一 继电器控制实验 ........................................................................................................... 23 实验十二 键盘与显示接口程序设计 ......................................................................................... 235
2
实验一 Keil C51集成开发环境的使用练习
一.实验目的
熟悉Keil C51集成开发环境的使用方法。 二.实验设备及器件
PC机 一台 三.实验内容
进行Keil C51集成开发环境的安装和使用练习。然后按照以下内容建立文件并编译产生HEX文件。 ORG LJMP ORG Main: MOV Loop: MOV DJNZ DJNZ DJNZ DJNZ DJNZ CPL CPL CPL CPL CPL CPL CPL CPL SJMP END
0000H
Main 00F0H R7, #0
R6, #0 R6, $ R6, $ R6, $ R6, $ R7, Loop P1.0 ; P 1 .0 取反 P1.1 ; P 1 .1 取反 P1.2 ; P 1 .2 取反 P1.3 ; P 1 .3 取反 P1.4 ; P 1 .4 取反 P1.5 ; P 1 .5 取反 P1.6 ; P 1 .6 取反 P1.7 ; P 1 .7 取反 Main
四.实验要求:
熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。 五.实验思考题:
①试写一条把片内RAM 50H~59H单元清零的程序。 ②试写一条把片内 RAM 50~59H单元写入01H的程序。
1
实验二 Keil C51集成开发环境的仿真与调试
一. 实验目的
熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。 二. 实验设备及器件
IBM PC 机 一台
DP-51PROC 单片机综合仿真实验仪 一台 三. 实验内容
进行Keil C51 集成开发环境的仿真调试练习。然后按照以下内容建立文件并编译仿真调试。 ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop CPL P1.0 ; P 1 .0 取反 CPL P1.1 ; P 1 .1 取反 CPL P1.2 ; P 1 .2 取反 CPL P1.3 ; P 1 .3 取反 CPL P1.4 ; P 1 .4 取反 CPL P1.5 ; P 1 .5 取反 CPL P1.6 ; P 1 .6 取反 CPL P1.7 ; P 1 .7 取反 SJMP Main END 四. 实验要求
熟练掌握结合DP-51PROC 单片机综合仿真实验仪和Keil C51 集成开发环境进 行仿真调试。 五. 实验步骤
2
1. 用40 针排线把DP-51PROC 实验仪上的A1 区J76 接口和A2 区J79 接口相连,然后使用排线把A2 区的J61 接口与D1 区的 J52 接口相连。如图1 所示。
图1 实验2 原理图
2. 对DP-51PROC 实验仪上电,然后按照本书的第2 章的2.5.1 小节设置TKSMonitor51 仿真器和使用软件DPFLASH 把MON51 监控程序下载到TKSMonitor51 仿真器。 3. 关闭DPFlash 软件。把TKSMonitor51 仿真器的工作模式选择开关切换到RUN处,然后按一下复位键(RST),MON51 程序就开始运行了。此时,TKSMonitor51 仿真器进入调试状态。
4. 用户使用Keil C51 集成开发环境建立工程、编辑与编译“实验内容”所列的程序。然后按照本书的第2 章2.5.3 节的第2 点(软件调试环境的设置)设置好,然后再编译一次。 5. 此时用户就可以按照本书的第2 章2.5.4 节所讲述的方法进行仿真调试。如果用户在退出仿真调试模式后想再次进入仿真调试,可以先按一下TKSMonitor51 仿真器的复位键(RST)。用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中用户可以看见D1 区的LED 的亮灭是由用户程序来控制的。 六. 实验预习要求
认真阅读本书的第2 章的2.5 节内容。如果还有时间,可以把本书的第2 章的2.6节、2.7 节内容也看一下。 七. 实验思考题
(1) 如何仿真和调试C51 程序呢?(用户可以把上面的例子改为C51 程序然后再编译调试)
3
实验二 单片机I/O口控制实验
一.实验目的
利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口. 二.实验设备和器件
IBM PC机 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台 三.实验内容
1. 编写程序,用P1口作为控制端口,使D1区的LED轮流亮.从D1到D8,再从D8回到D1,不断循环。 四.实验要求
学会使用单片机的P1口作为IO口.也可以利用P3口完成该实验.完成实验报告. 五.实验步骤
1.用导线把A2区的J61接口与D1区的J52接口相连. 2.先编写一个延时程序.
3.将LED轮流亮的程序编写完整并使用TKStudy ICE 调试运行.
4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连.
5.编写P1.7控制LED的程序,并调试运行.(按下K1看是否全亮)
6. A2区J61接口的P1.7与D1区的J54的SW1相连.然后再使用TKStudy ICE运行程序,查看结果. 六.实验原理图:
4
七.实验参考程序
程序1如下: ORG 8000H ;此为硬件仿真调试程序,如果用户使用软件仿真或直接运行,应改为0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,如果用户使用软件仿真或直接运行,应改为0100H
Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A SJMP MainLoop
Delay: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET END
八.实验思考
1.试用本节知识,用P1口完成流水灯,左移,右移,闪烁,全亮的程序。
5
实验四 中断实验
一.实验目的
利用单片机的中断INT0控制8个LED,进而熟练掌握单片机中断的应用. 二.实验设备及器件
IBM PC机 一台
示波器 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台
三.实验内容
编写主程序,用P1口作为控制端口,使D1区的LED轮流亮.从D1到D8,再从D8回到D1,不断循环。编写中断服务程序,中断时(按INT0时)使P1的8个LED有依次显示三种不同的花样(花样自定义),循环三次后返回主程序。 四.实验要求
通过实验熟练地掌握单片机系统中断在应用开发过程中的各种应用。
五.实验步骤
1. 用导线连接A2区的J61接口P1与D1区的J52接口的LED. 2. 用导线连接A2区的J58接口INT0与D1区的KEY1相连.
3. 运行程序,观察实验现象.并随机地按KEY1,使主程序进入中断服务程序.
六.实验原理如图
七.实验参考程序
ORG 0000H ;起始地址
JMP START ;跳到主程序START
ORG 0003H ;INT0中断子程序起始地址
6
JMP EXT0 ;中断子程序 START: MOV IE,#10000001B ;INT0中断使能 MOV IP, #00000001B ;INT0中断优先 MOV TCON, #00000000B ;INT0为电平触发 MOV SP, #70H ;;设定堆栈指针 LOOP: MOV A, #0FFH ;左移初值
CLR C MOV R2, #08 LOOP1: RLC A MOV P1, A CALL DELAY DJNZ R2, LOOP1 MOV R2, #07 LOOP2:
RRC A MOV P1, A CALL DELAY DJNZ R2, LOOP2 JMP LOOP EXT0:
PUSH ACC PUSH PSW SETB RS0 CLR RS1 MOV A, #0 MOV R2, #10 LOOP3:
MOV P1, A CALL DELAY CPL A DJNZ R2, LOOP3 POP PSW POP ACC RETI DELAY: MOV R5, #20 D1: MOV R6, #20 D2: MOV R7, #248 DJNZ R7,$ DJNZ R6, D2
;C=0
;设定左移8次 ;含C左移一位 ;输出至P1 ;延时0.2秒 ;左移8次
;设定右移7次 ;含C右移一位 ;输出至P1 ;延时0.2秒 ;左移7次 ;重复 ;将累加器的值压入堆栈保存 ;将PSW的值压入堆栈保存 ;设定工作寄存器组1 ;为使P1全亮 ;闪烁5次(全亮,全减10次) ;将A输出至P1 ;延时0.2秒 ;将A的值取反 ;闪烁5次(亮减10次)? ;从堆栈取回PSW的值 ;从堆栈取回A的值 ;返回主程序 ;0.2秒 ;10毫秒 ;0.5毫秒
7
DJNZ R5, D1
RET END
八.实验思考
通过修改程序,怎样可以使中断程序改为8个LED的流水灯。
8
实验五 定时/计数器实验
一.实验目的
利用单片机的定时/计数器控制LED,进而熟练掌握定时计数器的应用. 二.实验设备及器件
IBM PC机 一台
示波器 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台
三.实验内容
利用单片机的定时/计数器编写程序,用P1.0口输出频率为1KHZ和5KHZ的方波,使B5区的蜂鸣器发出不同频率的声音,并用示波器观察波形。
四.实验要求
学会使用单片机的定时器产生各种频率的波形。
五.实验步骤
1.用导线连接A2区的J61接口P1与B5区的BUZZ; 2.将示波器的探针连接到接口P1.0; 3.用示波器观测P1.0口的PWM波形.
六.实验原理图
七.实验参考程序
ORG 0030H ;起始地址 MOV TMOD,#00H ;设定TIMER0工作在MODE0 START: CLR C ;C=0 MOV A, #0FFH ;ACC=FFH,左移初值
9
MOV R2,#08 ;R2=08,设左移8次 LOOP: RLC A ;左移一位 MOV P1, A ;输出至P1口 MOV R3, #100 ;0.2秒 CALL DELAY ;2000微秒 DJNZ R2, LOOP ;左移8次 MOV R2, #07 LOOP1: RRC A MOV P1, A MOV R3,#100 CALL DELAY DJNZ R2,LOOP1 JMP START DELAY: SETB TR0 AGAIN: MOV TL0,#(8192-2000) MOV TH0,#(8192-2000) LOOP2: JBC TF0,LOOP JMP LOOP2 LOOP3: DJNZ R3,AGAIN CLR TR0 RET END
;R2=07,设右移7次 ;右移一位 ;输出至P1 ;0.2秒 ;2000微秒 ;右移7次 ;启动TEMER0开如计时 ;设定TL0的值 ;设定TH0的值 ;TF0为1时,是则跳至LOOP3,并清除TF0 ;不是则跳到LOOP2 ;R3是否为0?不是则跳到AGAIN ;是则停止TIMR0计数 10
实验六 串转并的I/O口实验
一.实验目的
熟悉并掌握串转并的I/O口扩展方法 二.实验设备及器件 IBM PC机 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台 三.实验内容
1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换. 2. 验证串并转换的正确性. 四.实验要求
熟悉串转并的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源.74HC164真值表见表1。
表1 74HC164真值表
五. 实验步骤
1.短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10~P13对应相连(CLK对P10等)。
2.运行编写好的软件程序,完成一次串并转换.
3.使用C2区的逻辑笔或D1区的J52接口(LED指示灯)测试并行输出数据Q0~Q7数据的正确性. 六. 实验原理
11
七.实验参考程序
CLK EQU P1.0 DINA EQU P1.1 DINB EQU P1.2 CLR164 EQU P1.3 ORG 8000H LJMP MAIN ORG 8100H MAIN: MOV SP,#60H ;设置堆栈向量 NOP ;设置以下端口初始化 CLR CLK ;CLK=0 SETB DINB ;DINB=1 CLR CLR164 ;CLR=0输出端口清零 SETB CLR164 ;CLR=1 MOV A,#0AAH ;用户输出数据初始化 MOV R4,#08H SLCHG: RLC A MOV DINA,C ;串行输出一位数据 SETB CLK ;移位时钟 NOP CLR CLK NOP DJNZ R4,SLCHG SJMP $ ;程序结束,完成一次串并转换 END 八.实验思考
尝试编写程序,实现8位LED流水灯的控制。原理图同上。
12
实验七 74HC138译码器实验
一.实验目的
熟悉译码器的使用方法,灵活应用74HC138进行电路设计。 二.实验设备及器件
IBM PC机 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台 三.实验内容
1.写程序,通过单片机的P1口控制74HC138的数据输入端,从而选通相应的数据输出位。 2.将译码数据输出端口连接到8个LED指示灯,验证译码的正确性。 四.实验要求
通过实验掌握译码器的工作原理和实际应用方法。74HC138真值表见表1;图1所示为其引脚图。
表1 74HC138真值表
图1 74HC138引脚图
五.实验步骤
1.短接A3区JP4接口上的短路帽,将A3区A、B、C、G1、G2A、G2B与A2区的P10~P15相连。74HC138译码器实验原理图如图2所示。
13
图2 实验原理图
2.将D1区的LED1、LED2、LED3分别连接到A3区译码数据输出接口Y0~Y7。 3.打开程序调试软件,下载运行编写好的软件程序,查看程序运行结果是否正确。 六、实验参考程序
ORG 8000H JMP MAIN ORG 8100H
MAIN: MOV SP,#60H MOV R4,#0 DJNZ R4,$ CLR P1.5 ;设置译码器使能 CLR P1.4 SETB P1.3 ;译码数据输入 CLR P1.0 ;A=0 CLR P1.1 ;B=0 SETB P1.2 ;C=1 SJMP $ END 七.实验思考题
在单片机电路里,74HC138是如何产生片选信号的?
14
实验八 并行的模数转换实验
一.实验目的
掌握A/D芯片ADC0809与单片机的接口方法,及ADC0809芯片性能,了解单片机实现
数据采集的方法。 二.实验设备及器件
IBM PC机 一台
DP-51PRO.NET单片机仿真器,编程器,实验仪三合一综合开发平台 一台
三.实验内容
编写程序,通过ADC0809实现单片机对电位器模拟电压的采集,使用采集到的数据控制蜂
鸣器的声调。 四.实验要求
使用DP—51PRO.NET上的ADC0809做AD转换,实验仪上的电位器提供模拟量输入,
编写程序将ADC0809采集到的模拟量转换成数字量改变蜂鸣器的声调. 五.实验步骤
1. 使用导线将A2区的J66接口与B4区的J1接口从A0~A2到ADDA~ADDC分别对应相连. 2. 使用导线将A2区的J63接口的A15与B4区J1接口的/CS相连. 3. 使用导线将A2区的J58接口的INT0与B4区J1接口的/EOC相连. 4. 使用导线将A2区的J58接口的T1与D4区的J8接口的BUZZ相连. 5. 使用导线将B4区的J1接口的+VREF,--VREF分别与VCC,GND相连. 6. 使用导线将B4区的J44接口的IN0与D2区的J18中间接口相连.
7. B2区J112的1/32分频与B4区J1的CLK连接,短接B2区JP20,X2上接上晶振. 8. 使用短路片把W2电位器与VCC,GND相连,原理如图所示: 9. 编写程序,实现本实验要求. 10. 使用TKStudy仿真器调试程序.
六.实验原理
15
七.实验参考程序
AD0809 TIME0H TIME0L DAT0809
ORG AJMP ORG AJMP ORG
EQU EQU EQU DATA
7000H 0H 0H 30H
;存放采集到的数据
;A/D转换通道0的地址
0000H MAIN 0003H EXINT1
;外部中断0的入口地址
000BH ;定时器0入口地址
AJMP TIME0 ORG
0100H
MOV
SP,#60H
;设置外部中断0为边沿触发 ;中断INT0开放 ;总中断允许
;启动AD0809
MAIN:
SETB SETB SETB MOV
IT0 EX0 EA
DPTR,#AD0809
MOVX @DPTR,A MOV MOV MOV SETB
TMOD,#1
;设置定时器1为16位定时器 ;赋初值
TH0,#TIME0H TL0,#TIME0L ET0
16
;开定时器中断
SETB TR0 BUZZ:
MOV R7,DAT0809 SETB P3.5 MOV R6,3 DJNZ
R6,$
DJNZ R7,$ MOV R7,DAT0809 CLR
P3.5
MOV R6,3 DJNZ
R6,$
DJNZ R7,$
AJMP
BUZZ
EXINT1:
PUSH PSW
PUSH
ACC
CLR EX0 MOV
DPTR,#AD0809
MOVX A,@DPTR
MOV DAT0809,A SETB
EX0
POP ACC POP PSW
RETI
TIME0:
CLR TR0 MOV TH0, #TIME0H MOV TL0, #TIME0L MOV
DPTR, #AD0809
MOVX @DPTR, A
SETB TR0
RETI;
END
;定时器运行
;采样到的电压数据量,控制P3.5的翻转
;外部中断1服务子程序
;读取A/D转换的结果
;存放数据
;定时器0中断时间,为模数采样频率
;赋初值
;重新启动A/D转换
17
实验九 RS232串行通信实验
一.实验目的
利用单片机的TXD、RXD口,使用学会单片机串行口的使用。
二.实验设备及器件
IBM PC 机
一台 一台 2根
DP-51PRO.NET单片机综合仿真实验仪 串口线
三.实验内容
1. 编写一段程序,利用单片机的串行口向PC机发送0x55。
2. 编写一段程序,接收PC机向串行口发送的0x55(ASCII码为字母U),在单片机接收到
0x55的时候返回一个0x41(ASCII码为字母A)。在PC机一端,以接收到0x41(ASCII码为字母A)为完成。
四.实验要求
深刻理解SP232芯片的作用,学会使用单片机的串行口,如果有时间用户可以做一下单片机之间的串行通讯。 五.实验步骤
1. 用串口线连接PC机和DP-51PRO.NET。 ? 将TKStudy ICE仿真器与PC机的COM1连接 ? 将TKStudy ICE仿真器的仿真头插到A2区的U37;
? 将A2区J58的RXD与A1区JP15的第4脚连接,如图5.17; ? 将A2区J58的TXD与A1区JP15的第2脚连接,如图5.17; ? 再通过1根串口线,将PC区的COM2与A1区的串行口连接。 实验1
2. 编写一段程序,设置仿真器使用内部11.0592MHz晶振,利用单片机的串行口发送0x55,
波特率为9600 bps。
3. 设置PC机的串口软件使用COM2口,以9600bps通信。
4. 程序下载运行后,可以在PC的接收软件上看见接收到“UUUUU?”。
实验2
18
七.实验参考程序
ORG 0000H LJMP MAIN ORG 00F0H MAIN: MOV R7,#0 LOOP: MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,LOOP
CPL P1.0 SJMP MAIN END 八.实验思考
改由OPEN2,CLOSE2,COM2完成本实验。
24
25
正在阅读:
单片机实验指导书07-06
水利设备维修或项目可行性研究报告(发改立项备案+2013年最新案03-14
市公安局年度工作总结报告08-04
精编高中心理素质展示(100字)3篇心理素质展示100字07-30
人代会简报编写学习资料10-01
四个覆盖07-02
我是一颗小小的石子作文600字07-01
环境保护论文05-26
自来水厂安全施工组织设计07-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 指导书
- 单片机
- 实验
- 执业医师注册表大纲2012最新版
- 人力资源管理职业生涯规划书
- 第二章 化学反应的一般原理习题
- 瑞安市方圆泡沫塑料厂年产3500吨聚氨酯软泡迁建项目环境影响报告
- 000 - -Linux LVM逻辑卷管理笔记
- Visual - FoxPro第7章学案 程序设计
- 学生食堂项目可行性研究报告
- 森林防火宣传资料
- 从业资格《会计基础》考点:财产清查种类每日一练(2014.1.9)
- 一注知识点--建筑设计知识
- 四年级三位数乘二位数竖式计算
- 2016-2021年防水接头市场前景预测及投资规划分析报告(目录)
- 2018年龙岩市初中质检化学参考答案
- 浙江省导游基础第一章至第四章练习题
- 2018年纪念建党97周年党史党章知识竞赛试题库及答案(共100题)
- 悬挑脚手架专项方案
- 无人机飞行原理题库
- 高速铁路先张法预应力混凝土简支箱梁试制项目研究
- 医院工作人员分工及岗位职责
- 华师版七年级下册数学知识点总结