单片机实验报告第四

合集下载

单片机实验报告

单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。

2 熟悉循环结构程序的编写。

3 熟悉编程环境和程序的调试。

二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。

例如将4000H开始的10个字节内容清零或全部赋值为33H。

注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。

(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。

3、运行和调试过程。

外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。

同时,学习掌握汇编程序的编写和调试过程。

实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。

2 熟悉循环结构程序的编写,进一步熟悉指令系统。

3 熟悉编程环境和程序的调试。

二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。

单片机定时器实验报告

单片机定时器实验报告

单片机定时器实验报告篇一:单片机实验报告——定时器实验四定时器实验自动化121班 36 张礼一.实验目的掌握定时器的工作原理及四种工作方式,掌握定时器计数初始值的计算,掌握如何对定时器进行初始化,以及程序中如何使用定时器进行定时。

二.实验仪器单片机开发板一套,计算机一台。

三.实验任务编写程序,使用单片机开发板上8位共阴极数码管的其中一位来显示0~9这九个字符,先从“0”开始显示,数字依次递增,当显示完“9”这个字符后,又从“0”开始显示,循环往复,每1秒钟变换一个字符,1秒钟的定时时间必须由定时器T0(或T1)提供。

开发板上的8位共阴极数码管与单片机的输入输出端口P1的硬件接线如图4-1所示,单片机P1口的8条数据线通过J3端子同时连接到 2片74HC573D锁存器的输入端,数码管的各个同名端分别连接后再与锁存器U2的8个输出端相连,每一位数码管的位选端分别与锁存器U3的8个输出端相连。

两片锁存器的输出使能端OE都恒接地,使得锁存器的内部数据保持器输出端与锁存器的输出端保持接通。

而U2的锁存使能端LE由P2.1控制,所以P2.1是段锁存;U3的锁存使能端LE由P2.0控制,所以P2.0是位锁存。

当锁存使能端为“1”时,则锁存器输入端的数据传送到输出端;当锁存使能端为“0”时,锁存器输入端的数据则不能传送到输出端;因此段码和位码通过锁存器分时输出。

汇编语言程序流程如图4-2:四.实验步骤:1.数码管的0~9的字型码表如下:2.参考图4-2所给的程序流程图编写实验程序。

(注:以下程序为两位60秒计数程序)#include sbit wei=P2^0; sbit duan=P2^1;char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};int i,j,k,num,shi,ge; void delay(int a) {for(i=0;i void display(int shi,int ge){wei=1;P1=0xfe;wei=0;duan=1;P1=table[shi];duan=0;wei=1; delay(5);P1=0xfd;wei=0; duan=1;P1=table[ge];duan=0; }void main() {TMOD=0x01;TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; num=0; while(1) {delay(5);display(shi,ge); } }void T0_time() interrupt 1 {TH0=(65536-45872)/256; TL0=(65536-45872)%256; k++; if(k==20) { k=0; num++;if(num==60)num=0; shi=num/10; ge=num%10; } }3.实验接线,如图4-1。

单片机实验报告四 外部中断实验

单片机实验报告四 外部中断实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019. 4.30 实验成绩:实验四外部中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。

(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。

(三)实验原理1.中断:计算机执行主程序过程中,由于临时重要事件,需要暂停当前程序的运行,转到中断服务程序去处理临时事件,处理完后又返回原程序的断点处继续运行。

图1STC15单片机的中断系统包含21个中断源,2个中断优先级,二级中断服务嵌套,中断允许寄存器IE、IE2和INT_CLKO控制中断允许。

中断优先级寄存器IP、IP2管理中断优先级。

同优先级中断同时提出中断请求时,由内部的查询逻辑确定响应次序。

中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下:1)外部中断0(INT0):中断信号由P3.2引脚输入。

通过IT0来设置中断请求的触发方式。

当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。

2)外部中断1(INT1):中断信号由P3.3引脚输入。

通过IT1来设置中断请求的触发方式。

当IT1为“1”时,外部中断0为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。

2.LED数码管是显示数字和字母的常见显示器件,由8个发光二极管构成,结构如图2:图2段码:a、b、c、d、e、f、g、dp段的二进制代码(a为最低位),控制显示字型。

位选:公共端com,控制数码管是否显示。

3.数码管动态显示原理:任何时刻只有一个数码管处于显示状态,单片机采用“扫描”方式控制各个数码管轮流显示,通常将所有数码管段码线的相应段并联在一起,由一个8位I/O 端口控制。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。

二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。

2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。

通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。

三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,点亮LED灯。

2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将按键和LED灯与单片机相连。

(3)编写程序,实现按下按键控制LED灯亮灭。

3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将数码管与单片机相连。

(3)编写程序,将数字输出到数码管上显示。

4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,实现定时器功能。

四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。

2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。

3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。

通过程序设计,可以实现数码管显示不同的数字。

4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。

通过调节定时器的参数,可以实现不同的定时功能。

五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。

通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。

这些技能对于日常生活和工程设计都具有很大的实用性。

在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。

单片机原理与应用实验报告

单片机原理与应用实验报告

单片机原理实验报告实验一计数显示[目的]熟悉Proteus仿真软件,掌握单片机原理图的绘制方法【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何使用ISIS模块,学习设置图纸、选择元件、画线、修改属性等基本操作(3)了解如何加载可执行文件和运行程序仿真(4)了解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制[实验步骤](1)观察Proteus软件的基本结构,如菜单、工具栏、对话框等。

(2)Proteus中绘制电路原理图,并根据表A.1将组件添加到编辑环境中(3)在Proteus中,观察仿真结果,检查电路图绘制的正确性【实验示意图】【实验源程序】#include <reg51.h>位 P3_7=P3^7;无符号字符 x1=0;x2=0 ;无符号字符数=0;无符号字符 idata buf[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};无效延迟(int时间){整数 k,j;for(;time<0;time--)for(k=200;k>0;k--)for(j=500;j<0;j--);}无效初始化(){P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);}无效的主要(){在里面();而(1){x1=计数/10;x2=计数%10;P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);如果(P3_7==0)// {延迟(10);而(!P3_7);如果(计数==99)计数=0;别的计数=计数+1;}}}[实验结果]阐明计数器的作用是按下K1后,数码管LED1和LED2会显示按键的按下次数, LED1代表一位, LED2代表十位。

当计数器达到99时,再次按下K1键,显示值再次从0开始。

实验2指示灯开关控制器[目的]学习如何编程和调试汇编语言【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何用汇编语言编程(3)ISIS 模块中输入、编译和调试汇编程序(4)了解MCU程序控制原理,实现指示灯/开关控制器的预期功能[实验步骤]( 1 ) 在ISIS中画出电路原理图, 并在编辑环境中添加相应的元器件 .( 2 )在ISIS中编写汇编语言程序( 3 ) 利用ISIS 的汇编调试功能检查程序的语法和逻辑错误( 4 )观察仿真结果,检查程序和电路的正确性【实验示意图】【实验源程序】#include <reg51.h> 无效延迟(int时间){整数 k,j;for(;time<0;time--) {for(k=100;k<0;j--) for(j=500;j<0;j--); }}无效初始化(){P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);}无效的主要(){在里面();P1=0x00;延迟(20);P1=0xff;延迟(20);而(1){P1=P2 ;}}[实验结果]阐明点击运行,8个LED 一起闪烁3次。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

实验四中断系统实验报告格式(PDF)

实验四中断系统实验报告格式(PDF)

实验四中断系统一、实验目的1.掌握单片机中断系统的结构;2.掌握单片机的5个中断源、中断过程及中断源编号;3.掌握C51中断服务函数的编写。

二、实验设备PC机(含Proteus和Keil软件)三、实验原理中断是一个过程,当CPU在处理某件事情时,外部又发生了另一紧急事件,请求CPU 暂停当前的工作而去迅速处理该紧急事件。

处理结束后,再回到原来被中断的地方,继续原来的工作。

引起中断的原因或发出中断请求的来源,称为中断源。

MCS-51单片机有5个中断源,分为2个中断优先级,每个中断源的优先级都可以由软件来设定,可实现两级中断嵌套。

5个中断源分别是:1.外部中断请求源:即外部中断0和1,由外部引脚INT0(P3.2)/INT1(P3.3)引入。

2.内部中断请求源TF0/TF1:定时/计数器T0/T1的溢出中断标志。

3.内部中断请求源TI、RI:串行口发送、接收中断标志。

MCS-51单片机有4个与中断有关的特殊功能寄存器:中断允许寄存器IE、中断优先级寄存器IP、TCON、SCON(TCON、SCON的相关位作中断源的标志位)。

在TCON中有四位是与外部中断有关的。

IT0/IT1:INT0/INT1触发方式控制位,可由软件进和置位和复位,IT0/IT1,INT0/INT1为低电平触发方式,IT0/IT1,INT0/INT1为负跳变触发方式。

IE0/IE1:INT0/INT1中断请求标志位。

当有外部的中断请求时,该就会置1(由硬件来完成),在CPU 响应中断后,由硬件将IE0/IE1清0。

四、实验内容1.编程实现:8个LED一直熄灭,每按一次按键,LED闪烁6次。

2.编程实现:8个LED一直闪烁,每按一次按键,8个LED流水一次。

3.编程实现:按一次单脉冲,8个LED闪烁;再按一次按键,8个LED流水;以此循环往复。

硬件连接:外设单片机引脚8个LED P1按键外部0中断P3.2五、实验结果1.画出单片机与8个LED、按键的连接电路原理图。

单片机课程设计报告

单片机课程设计报告

单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明1.1 设计目的 (3)1.2 设计内容及要求 (3)第二章硬件电路仿真实现2.1 硬件结构分析 (5)2.2基本功能仿真电图 (6)2.3扩展功能仿真电路图 (10)2.4 实物电路图 (15)第三章软件设计实现3.1软件程序内容 (16)3.2模块分析 (16)3.3 程序流程图 (17)第四章系统测试4.1 软件调试 (19)4.2硬件调试 (19)第五章心得体会 (20)第六章参考文献 (21)附录 (21)第一章设计说明1.1 设计目的单片机在许多领域使用十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。

各科任老师们经常说“学好单片机,工作就不成问题了。

”可见学好单片意义之重大。

单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。

本次课程设计通过基础部分,拓展功能以及整体电路的实现能很好地锻炼我们的动手及编程能力。

1.2 设计内容及要求内容:1.设计并实现具有复位功能的单片机小系统。

2.利用单片机进行灯光的场景开关控制、循环点亮控制、花样变化控制及速度变化控制(如:左右循环、扩散收缩式移动、流星雨、舞台灯光综合效果、名曲名句跟随显示等。

至少应做两项:前两项选一并有速度变化控制功能,后三项选一或自创特色花样)。

3. 炫彩音乐显示(依据3秒以上某名曲名句,模拟高、中、低音三分频,彩色LED随音频变化而起伏显示的效果,进一步地,LED 亮度跟随音乐响度闪烁)。

4.利用单片机进行灯光的色彩连续变化效果控制。

5.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。

(说明:3、4中二选一,1、2、5必选)6. 配合2至5项中功能,实现液晶屏输出功能或状态信息。

7. 以调节5或4项中的时间为例实现基于4X4键盘的输入功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验四
实验报告
课程名称:单片机原理及应用实验姓名:刘江
系别:信息系
专业:电气工程及其自动化年级:2012级
学号:120712039
指导教师:李莉
2015 年 6 月 30 日
一、实验目的和要求
1)熟悉Keil 软件界面,以及编辑、编译、运行程序的步骤;
2)熟悉Proteus软件界面,掌握用Proteus画仿真图的方法。

二、主要仪器设备
Keil 软件与Proteus仿真软件
三、实验设计要求
这次试验我通过Proteus仿真实现对流水灯功能的实现。

受益匪浅,对80C51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解C51还有一定距离,但我会一如既往的同困难作斗争。

在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。

这些错误令我明白以后在试验中要步步细心,避免出错。

四、操作方法与实验步骤
1、Keil C51软件使用
在Keil C51集成开发环境下,建立一个工程并编辑以下源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

#include<reg52.h>
unsigned char code table[]={0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80};
void delay(unsigned char delay_time)
{
unsigned char i,j;
for(i=0;i<=delay_time;i++)
{
for(j=0;j<=200;j++);
}
}
void init_tx()
{
EA=1;
EX0=1;
IP=0x00;
}
void main()
{
unsigned char i;
init_tx();
while(1)
{
for(i=0;i<8;i++)
{
P1=table[i];
delay(200);
}
}
}
void tx0() interrupt 0
{
unsigned char i;
P1=0x00;
delay(200);
for(i=0;i<=15;i++)
{
P1=~P1;
delay(200);
}
}
2、建立新文件
进入Proteus ISIS界面,单机主菜单项【文件】→“新建设计”选项,就会弹出“新建设计”窗口,窗口中提供了多种模版选择。

其中横向图纸为Landscape,纵向图纸为Portrait,DEFAULT为默认模版。

单击选择的模版图标,再单击“确定”按钮,即建立一个该模版的空白文件。

如果直接单击“确定”按钮,即选用系统默认的DEAFAUILT 模版。

单击保存按钮,在弹出的对话框“保存ISIS设计文件”中输入文件名再单击“保存”,则完成新建设计文件的保存操作,其后缀自动为“.DSN”。

3、设定绘图纸大小
单击菜单中的【系统】→“设置图纸大小”,选择所需图纸的尺寸位A4。

4、选取元器件并添加到对象选择窗口中
单击器件选择按钮,弹出选取元器件对话框。

在其左上角“关键字”一栏中输入元器件名称“AT89C51”,则出现关键字匹配的元器件列表。

选中AT89C51所在行或单击AT89C51所在行后,再单击“确定”按钮,便将元器件AT89C51加入到ISIS对象选择窗口中。

按此操作方法逐一完成其他元器件的选取。

本设计中使用的各元器件的关键字相应为“AT89C51”、“CAP、CAP-ELEC”(电容与电解电容)、“7SEG-COM-CAT-GRN”(LED数码管)、“BUTTLE”(按键)等。

被选取的元器件加入到ISIS对象选择窗口中。

5、放置、移动、旋转元器件
单击ISIS对象选择窗口中的元器件名,蓝色条出现在该元器件名上。

把鼠标指针移到编辑区某位置后,单击就可放置元器件于该位置,每单击一次,就放置一个元器件。

如果要移动元器件,先右击元器件使其处于选中状态,再按住鼠标左键进行拖动,达到目标处后,松开鼠标即可。

如要调整元器件方向,先将指针指在元器件上单击鼠标右键选中,再单击相应的旋转按钮。

若多个对象一起移动或转向,可选择相应的块操作命令。

6、放置电源、地(终端)
单击工具箱的终端模式按钮,然后在对象选择窗口中单击POWER 来选中电源,然后使用元器件调整工具按钮进行方向调整,最后在编辑区中单击放置电源。

7、电路图布线
单击元器件引脚间、线间等接线处,自动生成连线。

8、电气检测
单击电器检查快捷键按钮,根据电气检查列表的指示修改设计中
的错误,完成实验。

五、实验内容及实验数据记录
六、心得体会
经过课堂上的学习,我们对单片机有了更进一步的了解。

在实验课上,通过老师的指导,我们完成了实验任务,也进一步的了解了单片机的使用和编程,虽然还停留在比较初级的阶段,希望在以后的学习和工作中能利用好现在学习的内容。

在实验过程中我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。

这些错误让我明白以后在试验中要更加细心,避免各种不必要的错误。

相关文档
最新文档