当前位置:文档之家› 微控制器实验报告

微控制器实验报告

微控制器技术实验报告班级:姓名:学号:微控制器技术实验说明一、实验目的及要求: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语言参考程序功能。

使用汇编语言完成编程与功能调试。

实验六定时器/计数器实验基本部分:阅读、验证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、结论实验系统简介:随着单片机技术的发展,八位单片机的功能发生了很大的变化。

由简单的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. 丰富的实验内容提供了丰富的原理及接口应用实验。

配合接口实验平台可完成数字量输入/输出、中断、定时器/计数器、看门狗、低功耗、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)温度闭环控制实验实验一到实验三:(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 00HAJMP MAINORG 30HMAIN: MOV SP,#5FHMOV R1,#00HMOV DPTR,#7000HLOOP: CLR AMOVX @DPTR,AINC DPTRINC R1CJNE R1,#0FFFH,LOOPMOV DPTR,#7000HMOV R1,#00HSJMP $END(2)拆字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。

7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。

程序清单:ORG 0000HAJMP STARTORG 000BHSTART:MOV A,#26H ;给累加器a赋值MOV DPTR,#7000H ;数据指针指向片外7000h单元MOVX @DPTR,A ;将a中的数送给7000h单元MOVX A,@DPTR ;将7000h单元中的内容取出MOV R0,A ;将内容保存起来ANL A,#0F0H ;将低四位清零SWAP A ;高低位转换MOV DPTR,#7001H ;数据指针指向7001h单元MOVX @DPTR,A ;将高四位存入7001h中MOV A,R0 ;取出7000h单元中的内容ANL A,#0FH ;将高四位清零MOV DPTR,#7002H ;数据指针指向7002h单元MOVX @DPTR,AEND(3)拼字程序:把 7000H,7001H 的低位相拼后送入 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。

程序清单:ORG 0000HAJMP MAINORG 0100HMAIN:MOV DPTR,#7000HMOV A,#26HMOVX @DPTR,AMOV DPTR,#7001HMOV A,#5FHMOVX @DPTR,A ;给7000h7001h赋初值MOV DPTR,#7000HMOVX A,@DPTRSWAP AANL A,#0F0HMOV R1,A ;取出7000h的低四位放入r1中,并作为高四位MOV DPTR,#7001HMOVX A,@DPTRANL A,#0FH ;取出7001h的低四位作为低四位放入A中ORL A,R1 ;将r1和A内容相或拼起来MOV DPTR,#7002HMOVX @DPTR,A ;拼好后的内容放于7002中END(4)数据传输子程序:把(R2,R3)源 RAM 区首址内的(R6,R7)个字节数据,传送到(R4,R5)目的 RAM 区。

相关主题