微控制器技术
——实验报告
班级:fly347646198
姓名:fly347646198
学号:fly347646198
微控制器技术实验报告
目录:
一:实验目的及要求……………………………………(2)
二:实验基本内容(TD-51 单片机实验系统实现)……(2)
三:实验报告基本内容要求……………………………(3)
四:实验系统简介………………………………………(4)
实验一到实验三 …………………………(6)
实验四…………………………………… (11)
实验五…………………………………… (14)
实验六…………………………………… (15)
实验七…………………………………… (16)
实验八…………………………………… (18)
1
微控制器技术实验报告
微控制器技术实验说明
一、 实验目的及要求:
1、学习 Keil C51 集成开发工具的操作及调试程序的方法,包括:仿真调试
与脱机运行间的切换方法;
2、熟悉 TD-51 单片机系统板及实验系统的结构及使用;
3、进行 MCS51 单片机指令系统软件编程设计与硬件接口功能设计;
4、学习并掌握 Keil C51 与 Proteus 仿真软件联机进行单片机接口电路的设
计与编程调试;
5、完成指定 MCS51 单片机综合设计题
二、 实验基本内容(TD-51 单片机实验系统实现)
实验一 清零程序与拆字程序设计
根据实验指导书之“第二章 单片机原理实验”(P17~P23 页)内容,熟悉实验
环境及方法,完成思考题 1、2(P23)基础实验项目。
实验二 拼字程序与数据传送程序设计
汇编语言完成实验指导书 P24 思考题 3、4 题的基础实验项目。
实验三 排序程序与散转程序设计
汇编语言完成实验指导书 P24 思考题 5、6 题的基础实验项目。
实验四 静态存储器扩展实验
基本部分:阅读、验证 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“4.1 静态存储器扩展实验”基本实验项目(P57)。
提高部分:阅读、验证 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“4.2 FLASH 存储器扩展实验”实验项目(P60)。
实验五 数字量输入输出实验
基本部分:阅读、验证 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“3.1 数字量输入输出实验”基本实验项目(P36),。
提高部分:(任选一题)
题目一:LED 交通灯控制(使用 8255 接口芯片)
要求:使用汇编语言编程,功能为:通过开关实现 LED 灯工作方式即时控
制,完成 LED 交通灯的开关控制显示功能和 LED 交通灯自动循环显示功能。
题目二:LED 灯控制(使用 8255 接口芯片)
要求:使用汇编语言编程,功能为:通过 KK1 实现 LED 灯工作方式即时控
制,完成 LED 开关控制显示和 LED 灯左循环、右循环、间隔闪烁功能。
题目三:键盘扫描与数码管显示设计(
要求:阅读、验证 P69 上的 C
语言参考程序功能。使用汇编语言完成编程与功能调试。
2
微控制器技术实验报告
实验六 定时器/计数器实验
基本部分:阅读、验证 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“3.3 定时/计数器实验”基本实验项目(P40)。
提高部分:(任选一题完成)
题目一:定时器控制 LED 灯
要求:由单片机内部定时器 1,按方式 1 工作,即作为 16 位定时器使用
每 0.05 秒钟 T1 溢出中断一次。P1 口的 P1.0-P1.7 分别接八个发光二极管。
编写程序模拟时序控制装置。开机后第一秒钟 L1,L3 亮,第二秒钟 L2,L4
亮,第三秒钟 L5,L7 亮,第四秒钟 L6,L8 亮,第五秒钟 L1,L3,L5,L7 亮,
第六秒钟 L2,L4,L6,L8 亮,第七秒钟八个 LED 灯全亮,第八秒钟全灭,以
后又从头开始,L1,L3 亮,然后 L2,L4 亮……一直循环下去。
题目二:计数器实验
要求:单片机内部定时计数器,按计数器模式和方式 1 工作,对 P3.4(T0)
引脚进行计数。使用 T1 作定时器,50ms 中断一次,看 T0 内每 0.50 来了多少
脉冲,将其数值按二进制在 LED 灯上显示出来,5 秒后再次测试。
题目三:急救车与交通灯(外部中断实验)
要求:完成交通灯基本功能基础上,当有急救车到达时,两向交通信号为
全红,以便让急救车通过。假定急救车通过路口时间为 10 秒,急救车通过后,
交通灯恢复中断前状态。本实验题以按键为中断申请,表示有急救车通过。
实验七 A/D、D/A转换实验
基本部分:阅读、验证 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“4.3 A/D 转换实验”项目(P64)和“4.4 D/A 转换实验”项目(P67)。
提高部分:(要求:Proteus 环境下完成)
小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A
转换方式),经过 A/D 采样后,将采样数据用 LED 灯,显示当前模拟信
号值大小及变化状态。
实验八 串行通讯实验
基本部分:阅读、调试 C 语言程序功能。使用汇编语言编程,完成实验指导书
之“3.7 串口通讯实验”项目。(要求:实验仪器上完成)
提高部分:(要求:Proteus 环境下完成)
题目一:利用单片机实验系统,实现与 PC 机通讯。功能要求:将从实验
系统键盘上键入的数字,字母显示到 PC 机显示器上,将 PC 机键盘输入
的字符(0-F)显示到单片机实验系统的数码管上。
题目二:进行实验七、实验八实验内容综合。
三、 实验报告基本内容要求
1、 实验题设计内容、目的和要求;2、软件、硬件环境要求; 3、给出硬件电路原理
图并分析; 4、程序设计框图及程序清单; 5 、实验调试步骤及结果分析;6、结
论
3
微控制器技术实验报告
实验系统简介:
随着单片机技术的发展,八位单片机的功能发生了很大的变化。由简单的MCS-51 向
嵌入式、增强型51 内核单片机发展,使用在系统可编程(ISP)技术、在应用可编程技
术(IAP)以及内嵌仿真功能的单片机层出不穷。先进技术的发展使得单片机调试、开
发的手段发生了天翻地覆的变化。TD-51 系统板是西安唐都科教仪器公司为TD 系列微
机接口教学平台配套推出的扩展件,使用该系统板配合接口教学实验平台可以完成单片
机原理及应用的学习。TD-51 系统板的出现为广大师生用户提供了一套廉价、实用的单
片机实验教学方案。
TD-51 系统板的构成及特点:
1、 系统构成
TD-51 系统板为开放的最小单片机系统,采用具有在系统可编程和在应用可编程技术
的增强型51 单片机,单片机内置仿真程序,可以实现调试、仿真功能,配合TD 系列微机接
口教学 实验平台可开展单片机原理及应用的实验教学。
2 系统功能特点
1. 取代硬件仿真器的增强型单片机
系统采用具有在系统可编程(ISP)和在应用可编程(IAP)技术的增强型51 单片机,
单片机内置仿真程序,完全取代传统的硬件仿真器和编程器。这种先进的单片机将仿真
系统和应用系统合二为一,大大降低了应用开发成本,极大地提高了研发效率。把单片
机的仿真开发和应用设计提高到一个崭新的技术领域。
2. 先进的集成开发调试环境
使用业界著名的Keil C51 集成开发环境作为实验设计、调试的工具。Keil C51 提供了
强大的调试功能,可单步、断点、全速运行程序,可观察寄存器区、ROM 变量区、RAM 变
量区等的内容。支持汇编语言和C 语言的源语言调试。
3. 灵活的组合方式
采用开放的系统板结构,可以灵活地配合各型号接口实验平台开展单片机的应用教学。
4. 丰富的实验内容
提供了丰富的原理及接口应用实验。配合接口实验平台可完成数字量输入/输出、中断、
4
微控制器技术实验报告
定时器/计数器、看门狗、低功耗、PCA、串口通讯、静态存储器、FLASH、A/D、D/A、
键盘及数码显示、电子音响、点阵LED、LCD、步进电机、直流电机、温度控制等实验内
容。
通过TD-51 系统板可以开展各种单片机实验,具体包括:
1. 单片机原理原
(1)系统认识实验
(2)数码转换实验
(3)运算程序设计实验
(4)查表程序设计实验
(5)数据排序实验
(6)位操作实验
2. 单片机集成功能模块模
(1)数字量输入/输出实验
(2)中断系统实验
(3)定时器/计数器实验
(4)看门狗实验
(5)低功耗实验
(6)PCA 实验
(7)串口通讯实验
3. 单片机系统扩展扩
(1)静态存储器扩展实验
(2)FLASH 扩展实验
(3)A/D 转换实验
(4)D/A 转换实验
(5)8255 键盘及数码显示实验
(6)电子发声实验
(7)点阵LED 实验
(8)LCD 图形液晶实验(选配)
4. 单片机控制应用应
(1)步进电机实验(选配)
(2)直流电机实验
(3)温度闭环控制实验
5
微控制器技术实验报告
实验一到实验三:
(1) 清零程序:把 7000H –7FFFH 的内容清零。
(2) 折字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。
7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
(3) 拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示
缓冲区的数据取出拼装成个字节。
(4) 数据传输子程序:把(R2,R3)源 RAM 区首址内的(R6,R7)个字节数据,传送
到(R4,R5)目的 RAM 区。
(5) 编写散转程序,根据 8032 片内 20H 中的内容(00 或 01 或 02 或 03)进行
散转。
6) 编写并调试一个排序子程序,其功能为用冒泡法将内部 RAM 中几个单元字节无符
号的正整数,按从小到大的次序重新排列。
(1): 清零程序:把 7000H –7FFFH 的内容清零。
程序清单:
ORG 00H
AJMP MAIN
ORG 30H
MAIN: MOV SP,#5FH
MOV R1,#00H
MOV DPTR,#7000H
LOOP: CLR A
MOVX @DPTR,A
INC DPTR
INC R1
6
微控制器技术实验报告
CJNE R1,#0FFFH,LOOP
MOV DPTR,#7000H
MOV R1,#00H
SJMP $
END
(2)拆字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。
7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
程序清单:
ORG 0000H
AJMP START
ORG 000BH
START:MOV A,#26H
MOV DPTR,#7000H
MOVX @DPTR,A
MOVX A,@DPTR
MOV R0,A
ANL A,#0F0H
SWAP A
MOV DPTR,#7001H
MOVX @DPTR,A
MOV A,R0
ANL A,#0FH
MOV DPTR,#7002H
MOVX @DPTR,A
END
;给累加器 a 赋值
;数据指针指向片外 7000h 单元
;将 a 中的数送给 7000h 单元
;将 7000h 单元中的内容取出
;将内容保存起来
;将低四位清零
;高低位转换
;数据指针指向 7001h 单元
;将高四位存入 7001h 中
;取出 7000h 单元中的内容
;将高四位清零
;数据指针指向 7002h 单元
7