单片机实验报告_第1页
单片机实验报告_第2页
单片机实验报告_第3页
单片机实验报告_第4页
单片机实验报告_第5页
已阅读5页,还剩5页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE1题目:单片机组成原理实验报告学院:计算机科学与工程学院专业:信息安全姓名:学号: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种模式。实验程序框图如下:子程序入口读取输入模式子程序入口读取输入模式根据输入模式选择表格查表输出延时返回开始P1、P3初始化调循环计数程序调转换输出程序图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-计数初值)*机器周期=定时时间有关定时计数器的特殊功能寄存器,请参考课本。四、实验步骤:用KEIL软件编写、汇编、调试给定内容的有关程序,并生成HEX文件;用Proteus对单片机硬件电路图进行仿真;下载到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转换器,对电位器提供的模拟电压信号进行采样,结果送数码管模块进行显示。三、实验线路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变化,记录数码管的显示数值。记录到表中。输入电压V00.511.522.533.544.55TLC549A/D仿真结果013253851637689101114127实验五、数模转换一、实验目的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变化,记录数码管的显示数值。记录到表中。输入数据00H33H66H9AH0CDH100H133H166H19AH1CDH输出电压V00.511.522.533.544.552、将编译好的三角波程序下载到实验板上,用示波器观察波形。五、与显示编程一、实验目的1、掌握数码管显示程序的设计;2、掌握键盘扫描程序的设计。二、实验内容设计单片机程序,读取键盘的按键值(键值为1~16),送数码管显示。(选做:用10进制显示键值)。三、实验原理数码管动态扫描显示的基本原理是,单片机依次向每个数码管发出段选码和对应的位选码,对数码管逐个循环点亮,选择适当的扫描速度,利用人眼的视觉暂留效应,使得虽然每个时刻只有一个数码管在显示,但得看上去好像同时显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论