dickus单片机实验
单片机实验报告

unsigned int count;
void display(unsigned int d);
void delay(unsigned int n);
main()
{
second=0;
count=0;
TMOD=0x61; //T0定时器方式1 T1计数器方式2
TH1=255; TL1=255; //T2计数初值计一次即中断
}
else
{TR1=0;TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;} //满一分钟停止TR1
}
void time1(void)interrupt 3 using 2
{
second++;
}
void int_1() interrupt 0 using 3 //0号中断(外中断0),使用3号寄存器组
{
display(second);
}
}
void time0(void) interrupt 1 using 1
{
count++; //中断一次计一次数
if(count<1200)
{
TH0=(65536-50000)/256; //T1计数初值(65535-50000)/fosc/12 50ms
TL0=(65536-50000)%256;
outdata[2]=10; //不显示
outdata[3]=d/10000; //取最高位
outdata[4]=d/1000%10; //取次高位
outdata[5]=d/100%10; //取次次高位
outdata[6]=ቤተ መጻሕፍቲ ባይዱ/10%10; //取次低位
单片机实验总结

单片机实验总结引言单片机是一种集成电路,具有计算、存储和控制功能,并可编程。
在学习单片机的过程中,进行了一系列的实验。
本文旨在总结我在单片机实验中的经验和收获,并对实验中遇到的问题和解决方法进行归纳。
实验一:LED闪烁在第一个实验中,我们学习了如何通过单片机控制LED实现闪烁效果。
这个实验使我对单片机的基本结构和工作原理有了更深的理解。
通过编写简单的程序,我成功实现了LED的闪烁,并通过修改程序中的参数实现了不同频率和节奏的闪烁效果。
实验二:数码管显示计数器实验二是在实验一的基础上进一步学习了数码管的控制。
通过编写程序,我们能够将实验一中的计数器的结果显示在数码管上。
在这个实验中,我学会了如何控制多个数码管的显示,以及如何实现数字的动态显示效果。
这个实验提高了我对单片机编程的熟练程度。
实验三:蜂鸣器发声实验三是学习如何通过单片机控制蜂鸣器发声。
通过对蜂鸣器的控制,我们可以发出不同的音调和节奏。
在这个实验中,我学会了如何使用单片机的PWM功能控制蜂鸣器,以及如何编写程序实现不同的音调和节奏。
这个实验加深了我对单片机的理论与实践的联系。
实验四:温度传感器数据采集实验四是学习如何通过单片机采集温度传感器的数据。
通过编写程序,我们可以获取温度传感器的输出值,并将其显示在数码管上。
在这个实验中,我学会了如何接口温度传感器,以及如何读取和处理传感器的输出值。
这个实验让我更深入地了解了单片机在数据采集方面的应用。
实验五:红外遥控器实验五是学习如何通过单片机接收红外遥控器的信号,并解析出其中的指令。
通过编写程序,我们可以控制LED的亮灭,实现对电器的遥控。
在这个实验中,我学会了如何接口红外接收头,并如何解析红外遥控器发送的信号。
这个实验为我进一步了解单片机在无线通信方面的应用提供了基础。
实验六:电机控制实验六是学习如何通过单片机控制电机的转速和方向。
通过编写程序,我们可以实现电机的正转、反转和调速功能。
在这个实验中,我学会了如何接口电机驱动器,并使用PWM信号控制电机的转速。
单片机实验指导书

μVision2 支持所有的Keil 80C51 的工具软件,包括C51 编译器、宏汇编器、链接器/定位器、软硬件调试器和目标文件到HEX 格式文件转换器等,μVision2 可以自动完成编译、汇编、链接程序等操作。
μVision2 具有强大的软件环境、友好的操作界面和简单快捷的操作方法。
双击桌面上的Keil μVision2 快捷图标,可以进入如图1-1 所示的集成开发调试环境,各种调试工具、命令菜单都集成在此开发环境中。
菜单栏提供了各种操作菜单,如编辑器操作、工程维护、程序调试、窗体选择以及操作帮助等。
工具栏按钮和快捷键可以快速执行μVision2命令。
常用的菜单栏及相对应的工具栏按钮与快捷键介绍如表1-1~表1-6所列。
图1-1μVision2 集成环境界面表1-1 文件菜单和文件命令(File)表1-2 编辑菜单和编辑器命令(Edit)表1-3视图菜单(View)表1-4工程菜单和工程命令(Project)表1-5 调试菜单和调试命令(Debug)表1-6外围器件菜单(Peripheral)第2章单片机原理实验通过本章的实验,旨在使学生掌握Keil C51 的操作方法,学习80C51 的指令系统及汇编语言的程序设计方法。
2.1系统认识实验2.1.1实验目的1. 学习Keil C51 集成开发环境的操作;2. 熟悉TD-51 系统板的结构及使用。
2.1.2实验设备PC机一台2.1.3实验内容编写实验程序,将00H~0FH共16个数写入单片机内部RAM的30H~3FH空间。
通过本实验,学生需要掌握Keil C51软件的基本操作,便于后面的学习。
2.1.4实验步骤1. 创建Keil C51 应用程序在Keil C51 集成开发环境下使用工程的方法来管理文件,所有的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。
下面创建一个新的工程文件C51.Uv2,以此详细介绍如何创建一个Keil C51 应用程序。
单片机实验指导书

《单片机应用实验》实验指导书目录实验一Keil µVision的使用 (1)实验二汇编语言程序设计 (5)实验三C51程序设计与Proteus仿真 (9)实验四中断与定时/计数器 (13)实验一 Keil µVision 的使用一、实验目的掌握Keil µVision 的使用; 掌握单片机汇编程序的调试方法。
二、实验原理Keil µVision 是美国Keil Software 公司出品的单片机集成开发环境,具有单片机C 语言或汇编语言程序编辑、编译或汇编、连接、调试等功能,允许设置断点,查看程序存储器、数据存储器和SFR 的内容,以图形的方式显示SFR 或变量内容随时间的变化,是目前单片机开发最常用的软件工具。
运行Keil µVision 后,程序窗口如图1-1所示。
其中项目窗口用于管理工程项目所包含的文件,源程序窗口用于程序编辑,编译信息窗口输出编译或汇编的状态信息。
各个窗口可以悬浮(Floating )在主窗口之上,也可以停泊(Docking )在主窗口中,单击程序主窗口Window 菜单的Rest View to Defaults 命令,将窗口恢复成默认状态。
图1-1 Keil µVision 程序窗口三、实验环境Windows XP ; Keil µVision 4;四、实验内容1.建立项目双击桌面Keil µVision 图标或单击开始菜单的Keil µVision 命令运行程序,出现图1-1所示的程序窗口。
在主程序菜单栏单击Project 菜单的New µVision Project 命令,出现创建新文件对话框,为项目文件命名并选择存放路径(建议为每一个项目建立独立的文件夹)。
单击保存按钮,出现图1-2所示器件选择对话框,在Data base 列表中选择Atmel 公司的A T89C52,作为项项目窗口源程序窗口编译信息窗口目使用的单片机。
单片机原理应用实验指导书

《单片机原理与应用》课程实验指导书电子、机电及电气项目与自动化专业适用吴茂屈莉莉王飞编佛山科学技术学院二00 九年十月前言以往我校的单片机实验教案通常是使用启东DAIS 系列单片机微机仿真实验系统进行单片机实验教案的,DAIS 系统可以做二十多项实验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个: 厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。
根据我校学生对单片机课程学习的需求, 我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51 学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
目录系统介绍 (2)软件实验:实验一清零程序............. (4)实验二拆字程序.................... .. (5)实验三拼字程序.................... .. (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 (8)实验一P1 口输出流水灯实验 (11)实验二P1 口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验.................. . (12)实验五遥控解码实验 ............. .. (12)实验六计数器实验..................... .. (13)实验七继电器控制实验 .................... (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验<急救车与交通灯) (15)实验十二AT24C02读写实验...... .......... . (15)实验十三93C46读写实验....... ........... (16)实验十四LCD1602字符型液晶控制显示实验 (16)实验十五LCD12864点阵型液晶控制显示实验 (17)实验十六A/D转换(数字电压表>实验 (17)实验十七D/A转换(波形发生器>实验 (18)实验十八计算机温度数据采集与处理 ............... . (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教案的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教案大纲的要求,基于简单、使用的原则,开发了FD-51 单片机实验板。
北航单片机实验

1.实验目的(1)了解单片机的原理及其应用,加强对单片机的I/O口控制及中断原理的理解,掌握单片机的最小系统设计及扩展技术,掌握单片机的C51语言。
(2)了解I2C总线结构的原理及51系统中对I2C器件的使用和控制原理,了解带有I2C总线接口的字符液晶驱动芯片PCF8576的工作原理,掌握其使用和编程方法。
(3)通过编程仿真熟悉Keil软件的使用,掌握其使用方法,并学会运用Protues等仿真软件进行单片机控制系统的仿真。
(4)通过上机调试,熟悉程序调试过程,培养调试程序的能力,学习摸索调试程序的各种技巧。
2.实验设备单片机综合仿真实验仪一台,PC机一台。
3.实验要求实验一学会使用KEIL C51的仿真调试环境以及仿真器的使用,并能使4个灯全亮。
实验二I/O口实验:循环定时(用定时器做)点亮8个灯,即每2秒闪烁点亮(亮1秒,灭1秒)一个灯,循环往复(或叫跑马灯实验)。
实验三选作其中任意一个实验:(1)PCF8576驱动的字符液晶上显示“BENG”;(2)能对TLC549芯片的内部寄存器进行操作,输入电压变化是给出相应的值。
本组选择的是第一个即PCF8576驱动的字符液晶上显示“BENG”。
4.实验原理4.1 51单片机的最小工作系统单片机最小系统“最小”就是指一个单片机能开始独立工作所需的最基本的外部电路连接。
具体是指Vcc脚接电源,GND接地,接好晶振,连上RC复位电路,另外勿忘EA脚接高电平。
最直观的理解最小系统就是,当把上述这些连好后,单片机烧上程序,单片机程序就可以跑起来了。
下图为51单片机的最小工作系统接线图:图一 LED最小系统接线示意图4.2 点亮LED实验和跑马灯实验的原理P1口作为准双向口,每一位可独立定义为输入输出。
CPU对P1口的操作可以是字节操作,也可以是位操作。
实验中P1.0-P1.7接发光二极管,编写程序,通过P1口控制LED 状态,熟悉CPU对P1口操作指令。
4.2.1 单片机接口控制LED导通原理如图一在单片机的P1.0口接上LED灯D1 ,串联上200欧姆电阻R1,再接到高电平+5V上(最小工作系统已省略)。
单片机实训报告书范文

一、前言随着电子技术的飞速发展,单片机作为嵌入式系统的核心,已经广泛应用于各个领域。
为了提高我们的实践能力和对单片机技术的深入理解,我们进行了为期两周的单片机实训。
通过本次实训,我们不仅巩固了理论知识,还学会了单片机的实际应用,为今后的学习和工作打下了坚实的基础。
二、实训目的1. 熟悉单片机的硬件结构和基本原理。
2. 掌握Keil C51集成开发环境的使用方法。
3. 学会编写简单的单片机程序,实现基本的功能。
4. 培养团队合作精神和解决实际问题的能力。
三、实训内容1. 单片机硬件认识- 认识单片机的各个引脚及其功能。
- 了解单片机的内部结构,如CPU、存储器、定时器、中断系统等。
2. Keil C51集成开发环境的使用- 安装Keil C51集成开发环境。
- 创建新项目,编写源程序。
- 编译、调试和下载程序到单片机。
3. 基本程序设计- 编写简单的单片机程序,实现LED灯的闪烁、按键控制等基本功能。
- 学习子程序、中断程序的设计方法。
4. 综合应用- 设计并实现一个基于单片机的交通信号灯控制系统。
- 设计并实现一个基于单片机的温度控制系统。
四、实训过程1. 第一阶段:理论学习- 首先我们学习了单片机的基本原理和硬件结构,了解了单片机的各个引脚及其功能。
- 接着学习了Keil C51集成开发环境的使用方法,包括创建项目、编写源程序、编译和调试等。
2. 第二阶段:实践操作- 我们开始编写简单的单片机程序,实现LED灯的闪烁、按键控制等功能。
- 通过实际操作,我们熟悉了单片机的编程方法,掌握了程序调试技巧。
3. 第三阶段:综合应用- 我们设计并实现了基于单片机的交通信号灯控制系统和温度控制系统。
- 在这个过程中,我们学会了如何将理论知识应用到实际项目中,提高了解决实际问题的能力。
五、实训成果1. 交通信号灯控制系统- 该系统通过单片机控制红、黄、绿三个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次。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据传送实验 实验项目类型:设计型 实验时间:2012.10.15 一、实验目的 1、掌握单片机的汇编指令系统及汇编语言程序设计方法。 2、掌握单片机的存储器体系结构。 3、熟悉Keil软件的功能和使用方法。 4、掌握单片机应用程序的调试方法。
二、设计要求 1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH单元中。 2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。 3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。 4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。 5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH单元中。
三、实验程序流程框图和程序清单。
流程图
程序一 程序二 程序三 程序四 程序五 程序清单 ORG 0000H
MAIN: MOV R0, #30H MOV A, #00H T1: MOV @R0, A INC R0 INC A CJNE A, #10H, T1
MOV R0, #3FH MOV R2, #10H MOV R1, #4FH T2: MOV A, @R0 MOV @R1, A DEC R0 DEC R1 DJNZ R2, T2
MOV R2, #10H MOV R1, #4FH MOV DPTR, #480FH T3: MOV A, @R1 MOVX @DPTR, A DEC R1 DEC A MOV DPL, A DJNZ R2, T3
MOV DPL, #00H MOV R2, #10H T4: MOV DPH, #48H MOVX A, @DPTR MOV DPH, #58H MOVX @DPTR, A INC DPTR DJNZ R2, T4
MOV R0, #50H MOV DPTR, #5800H MOV R2, #10H T5: MOVX A, @DPTR MOV @R0, A INC R0 INC A MOV DPL, A DJNZ R2, T5 END
四、实验总结 通过此次实验,熟悉了kille开发软件的使用,对单片机理解更深刻。 学会了设计简单的程序,把课堂上的理论内容与实践相结合,学习起来更加有效率。 五、实验思考 1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式? 答: 片内RAM存储器的寻址方式:1、寄存器寻址 2、直接寻址 3、寄存器间接寻址 4、位寻址方式 片外只能通过累加器A使用间接寻址 2、说明指令MOV A,20H和MOV C,20H中的20H含义有什么不同?传送指令中的助记符 MOV,MOVX,MOVC各适用于访问哪个存储器空间? 答:1、MOV A, 20H 把20H单元中的内容送往累加器A中, MOV C, 20H 把20H位的状态送往进位C MOV 适用于内部的RAM存储空间 MOVX 适用于外部的RAM存储空间 MOVC 适用于程序存储空间 实验名称:单片机并行I/O口的应用实验 实验类型:设计型 时间:2012年11月6日 设计性实验 一、实验目的 1、熟悉Proteus软件和Keil软件的使用方法。 2、熟悉单片机应用电路的设计方法。 3、掌握单片机并行I/O口的直接应用方法。 4、掌握单片机应用程序的设计和调试方法 二、设计要求 1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警 三、电路原理图 4、实验程序流程框图和程序清单 一、循环右移
ORG 0000H MAIN: MOV P1, #0FFH MOV A, #7FH LOOP: MOV P1, A CLR P3.0 LCALL DELAY CPL P3.0 LCALL DELAY RR A LJMP LOOP DELAY: MOV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END
开始初始化给P1送7FH将P3.0口置零延时0.5s将P3.0口置1延时0.5sP1右移 二、循环左移 ORG 00H MAIN: MOV P1, #0FFH MOV A , #0FEH LOOP: MOV P1, A CLR P3.0 LCALL DELAY SETB P3.0 LCALL DELAY RL A LJMP LOOP DELAY: MOV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END
开始初始化给P1送0FEH将P3.0口置零延时0.5s将P3.0口置1延时0.5sP1左移 四、实验总结 通过本次试验,加深了对延时程序的理解,熟练了对keil和protues的使用。更加熟悉了单片机实验课的节奏,加强了自己的动手能力,收获很多.
五、思考题 1、编程实现LED0至LED7以十六进制计数规律亮灯? ORG 0000H
MOV P1, #0FFH MOV A, #0FFH
MOV R7, #16 LOOP: MOV P1, A LCALL DELAY1S DEC A DJNZ R7, LOOP LJMP MAIN DELAY1S: MOV R7, #0A7H DL1: MOV R6, #0ABH DL0: MOV R5, #10H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 NOP RET END
开始将P1初始化给A赋初值0FFH
延时1s设立循环判断数R1为16
将A的值传送给P1口
将R1自减判断是否为零Y
将A自减N 实验三、定时器/计数器应用实验一 实验性质、设计性实验 一、实验目的 1、掌握中断系统外部中断源的使用方法。 2、掌握延时程序的编程及使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法 二、设计要求 1、用Proteus软件画出电路原理图,在单片机的P1.0口线上接按键K0 ,作为外部中断源0使用,用于开启波形,在单片机的 P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。 2、在单片机的P1.2口线上产生周期50mS的连续方波,在P1.2口线上接示波器观察波形。 3、电路原理图。
三、实验程序流程框图和程序清单 ` ORG 0000H START: LJMP MAIN ORG 0030H MAIN: MOV TMOD, #10H MOV TH1, #0FFH MOV TL1, #9CH MOV IE, #00H SETB TR1 LOOP: JNB TF1, LOOP MOV TH1, #0FFH MOV TL1, #9CH CLR TF1 CPL P1.0 LJMP LOOP END
ORG 0000H LJMP MAIN ORG 001BH LJMP LOOP1 ORG 0030H MAIN: MOV SP, #3FH MOV TMOD, #20H MOV TH1 , #88H MOV TL1, #88H SETB EA SETB ET1 SETB TR1 HERES: LJMP $ LOOP1: CPL P1.1 RETI END
开始TMOD初始化计数初值初始化中断初始化启动定时器
定时重置计数初值清计数溢出标志P1.0口线取反
YN
开始TMOD初始化计数初值初始化中断初始化启动定时器等待中断
开始计数初值初始化
中断返回输出取反