单片机实验报告.docx

上传人:b****4 文档编号:11695503 上传时间:2023-03-30 格式:DOCX 页数:10 大小:683.01KB
下载 相关 举报
单片机实验报告.docx_第1页
第1页 / 共10页
单片机实验报告.docx_第2页
第2页 / 共10页
单片机实验报告.docx_第3页
第3页 / 共10页
单片机实验报告.docx_第4页
第4页 / 共10页
单片机实验报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机实验报告.docx

《单片机实验报告.docx》由会员分享,可在线阅读,更多相关《单片机实验报告.docx(10页珍藏版)》请在冰豆网上搜索。

单片机实验报告.docx

单片机实验报告

 

题目:

单片机组成原理实验报告

学院:

计算机科学与工程学院

专业:

信息安全

姓名:

学号:

 

2012年12月8日

实验一、输入输出接口编程

一、实验目的

1、掌握Keil软件的基本使用。

2、掌握单片机汇编语言基本编程。

二、实验内容

1、学习用Keil软件进行51单片机的软件开发;

学习Keil软件的一般操作,步骤为:

项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。

(见参考程序一)

2、霓虹灯控制程序设计

用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。

将生成的HEX文件下载到实验板上验证。

(见参考程序二)

三、实验原理

1、Keil软件使用练习

设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,

(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。

(见参考程序一)

2、霓虹灯控制程序设计

电路原理图如下,所需元件为:

AT89C51、SW-SPST、LED-RED

图中用单片机的P1口作输出口接8个LED,8个LED按共阳极连接,端口逻辑值为0点亮LED;P3口作输入口接2个SW-SPST开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。

本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。

本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。

输出表格确定发光模式,实验中定义表格如下:

TAB1:

DB01H,02H,04H,08H,10H,20H,40H,80H(SW3,SW4为:

00)

TAB2:

DB03H,06H,0CH,18H,30H,60H,0CH,81H(SW3,SW4为:

01)

TAB3:

DB80H,40H,20H,10H,08H,04H,02H,01H(SW3,SW4为:

10)

TAB4:

DB用户自己定义(SW3,SW4为:

11)

输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。

实验程序框图如下:

 

图1.1主程序图1.2转换输出子程序

 

实验二、定时器/计数器编程

一、实验目的

1、掌握定时器的基本编程方法。

2、掌握计数器的基本编程方法。

二、实验内容

1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P1口输出到发光二极管显示。

(计算机仿真)

2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。

(实验台验证)

三、实验原理

当晶振为22.1184M时,一个机器周期为0.54251微秒,要实现500毫秒的定时,需要921659个机器周期,对于51单片机内部定时器来说,最大只能定时65536个机器周期,定时35.535毫秒,不能满足要求,为此必须借助软件循环进行扩展。

实现的方法是:

用定时器中断定时10毫秒,再用软件扩展50倍即可得到500毫秒的定时。

当到达500毫秒时,对P3.7输出取反,可得到周期为1秒的方波。

选择模式1,每个10ms中断一次,设初值为X,根据下面公式,可求得X的值。

(216-计数初值)*机器周期=定时时间

有关定时计数器的特殊功能寄存器,请参考课本。

四、实验步骤:

1、用KEIL软件编写、汇编、调试给定内容的有关程序,并生成HEX文件;

2、用Proteus对单片机硬件电路图进行仿真;

3、下载到ZKSYS单片机实验板上验证有关程序。

实验三、外部中断的编程

一、实验目的

1、掌握外部中断的基本编程方法。

2、掌握计数器的扩展编程。

二、实验内容

设计单片机程序实现秒表功能;用一个开关对秒表进行启动和停止控制,用另一个开关对秒表进行清零。

用T0定时中断设计秒表计时,秒计数结果通过P1口及4094芯片送数码管显示(T0定时中断时间为10毫秒,秒表的显示间隔为1秒,即必须用软件和硬件结合使用实现)。

用外部中断INT0(边沿触发方式)对秒计数结果进行清零,用P3.5对秒计数进行启动和停止控制。

1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;

2、程序下载到单片机实验板上验证;

(实验板数码管的驱动程序见附件)。

三、实验原理

T0定时中断10毫秒,进行100次中断得到1秒的定时,秒计数结果送P1口进行LED显示,将外部中断设置成边沿触发方式。

实验四、模数转换

一、实验目的

1、掌握A/D转换与单片机的接口方法;

2、掌握A/D芯片TLC549、TLC1549的编程方法;

3、掌握数据采集程序的设计方法;

二、实验内容

1、在PROTEUS软件仿真环境下,采用TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果送数码管模块显示;(仿真电路图如图4.1所示):

2、利用单片机实验板上的TLC1549做A/D转换器,对电位器提供的模拟电压信号进行采样,结果送数码管模块进行显示。

三、实验线路

1、TLC549实验电路原理图4.1如下:

图4.1实验电路原理图

2、TLC549是CMOS8位A/D转换器。

该芯片有一个模拟输入端口,3态的数据串行输出接口可以方便的和微处理器或外围设备连接。

TLC549仅仅使用输入/输出时钟(I/OCLOCK)和芯片选择(/CS)信号控制数据。

最大的输入输出时钟(I/OCLOCK)为1.1MHz。

CLK时钟位

DAT数据位

CS选片位

VCC电源(5V)

REF+正基准电压输入端

REF-负基准电压输入端

电位器RX1的首位两端分别接VCC、GND。

四、实验步骤

1、在KILL51软件下编辑TLC549的A/D转换源程序并汇编,运用PROTEUS软件仿真调试。

仿真步骤:

将TLC549的CLK接P1.0、DAT接P1.1、CS接P1.2,将模拟电压输入端连到电位器的电压输出端,并接电压表测量输入电压。

2、调节电位器,电压从0V到5V变化,记录数码管的显示数值。

记录到表中。

输入电压V

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

TLC549

A/D仿真结果

0

13

25

38

51

63

76

89

101

114

127

 

实验五、数模转换

一、实验目的

1、掌握模数转换芯片TLC5615的接口技术。

2、掌握模数转换芯片TLC5615的编程方法。

二、实验内容

TLC5615是一个串行10位的DAC芯片,只需通过3根串行总线就可以完成10位数据的串行输入。

要求:

1、编写程序实现下列要求:

通过DIP开关输入0~3FF位数值,由TLC5615变为模拟电压输出,记录数值与对应的对应关系。

2、利用TLC5615输出一个幅值从0V开始逐渐升至5V再降至0V、周期为1秒的三角波。

用示波器观察该波形。

三、实验线路

1、TLC5615引脚排列:

2、TLC5615的时序图:

从图中可以看出,TLC5615的16位移位寄存器分为高4位虚拟位,低2位填充位以及10位有效位。

如果选择12位数据序列工作方式,则向16位移位寄存器按先后输入10位有效位和地2位填充位,2位填充位数据任意。

四、实验步骤

1、用Proteus软件仿真,改变输入数据,使D/A输出电压从0V到5V变化,记录数码管的显示数值。

记录到表中。

输入数据

00H

33H

66H

9AH

0CDH

100H

133H

166H

19AH

1CDH

输出电压V

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

2、将编译好的三角波程序下载到实验板上,用示波器观察波形。

五、与显示编程

一、实验目的

1、掌握数码管显示程序的设计;

2、掌握键盘扫描程序的设计。

二、实验内容

设计单片机程序,读取键盘的按键值(键值为1~16),送数码管显示。

(选做:

用10进制显示键值)。

三、实验原理

数码管动态扫描显示的基本原理是,单片机依次向每个数码管发出段选码和对应的位选码,对数码管逐个循环点亮,选择适当的扫描速度,利用人眼的视觉暂留效应,使得虽然每个时刻只有一个数码管在显示,但得看上去好像同时显示,动态扫描在定时中断中调用,以保证准确的扫描速度。

需要显示的数字必须先进行译码变成能显示的段码才能进行显示,译码可以通过查表来实现。

键盘扫描的基本原理是,列线逐列输出低电平,同时检测行线的电平,如其中有低电平时,表明当位于前行列位置上的键被按下,然后由行和列确定键值。

在按键处理操作中,键被按下再被释放为一次按键操作,另外还进行键盘去抖动处理,用软件延时方法解决。

4、电路图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1