南昌大学单片机实验报告DOC

合集下载

单片机实验报告一 单片机软件实验

单片机实验报告一 单片机软件实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.9 实验成绩:实验一单片机软件实验(一)实验目的1.掌握51单片机keil软件集成开发环境,能够使用汇编语言编写应用程序。

2.掌握使用集成开发环境Keil进行单片机程序开发的方法3.掌握使用集成开发环境Keil进行单片机程序跟踪调试的方法。

(二)设计要求熟悉51单片机的keil软件集成开发环境,使用汇编语言编写“1+2+3+…+100”的程序。

(三)实验原理KeilC51软件使用:在KeilC51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

(四)实验设备PC机,Keil C51集成开发环境。

(五)实验结果对汇编程序进行编译、链接、调试,在Keil C51软件中运行仿真结果如下图所示,由于“1+2+……100”运行结果超过8位二进制所能表示的范围,计算结果将存放于两个8位工作寄存器单元R2、R3中。

其中,低八位存放于R2中,高八位存放于R3中,R4中存放计算数。

下图中的寄存器窗口中可以显示计算结果为0x13ba。

调出存储器窗口Memory:选择菜单命令View →Memory Window →Memory 1:可见计算结果存放于当前工作寄存器R2(02H)与R3(03H)中,为0x13BA。

(六)结果讨论与心得体会第一次使用Keil C51软件,初步了解了软件:Keil uVision4的使用方法,初步了解了Keil软件中程序的编辑,新工程的建立运行,初步对单片机实验进行了解,加强了实验动手操作能力。

第一次尝试单步调试,能观察到内存中每一个单元的变化,感到单片机系统复杂中的严谨,收获颇丰。

(七)附录:实验源代码实验源代码如下:ORG 0000HLJMP MAINORG 0050H MAIN:MOV R2,#00HMOV R3,#00HMOV R4,#64HMOV A,#00HCLR C LOOP:MOV A,R2ADD A,R4MOV R2,AMOV A,#00HADDC A,R3MOV R3,ADJNZ R4,LOOPSJMP $END。

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

单片机实验报告

单片机实验报告

单片机实验报告引言:单片机是一种集成了处理器、存储器和输入输出设备的微型计算机,广泛应用于电子设备中。

本实验通过对单片机的学习和实践,探索了其原理和应用。

一、实验目的本次实验的目的是熟悉单片机的基本原理和操作方法,掌握单片机的编程语言和开发工具,实现简单的实时控制和数据采集。

二、实验装置及材料1. 单片机:我们选择了常用的51系列单片机,拥有较好的性能和兼容性。

2. 开发板:用于实验中运行和调试所写的程序。

3. 传感器:温度传感器、光照传感器等,用于实现数据采集。

4. LED灯和蜂鸣器:用于实现实时控制和输出。

5. 连接线:将单片机与传感器、开发板等连接起来。

三、实验过程和结果1. 单片机的编程语言:单片机主要使用汇编语言和C语言进行编程。

汇编语言能够直接操作硬件资源,灵活性较高;而C语言则更易于理解和编写,可提高开发效率。

我们选择了C语言进行编程。

2. 开发工具:为了编写和调试单片机程序,我们使用了KeilC51和Proteus软件进行开发。

Keil C51提供了编译器和调试器,可对程序进行编译和调试;Proteus能够模拟开发板的运行情况,方便我们验证程序的正确性。

3. LED控制实验:我们首先进行了LED控制实验,通过单片机的I/O口来控制LED的开灭。

编写程序后,在开发工具中进行仿真,确保程序和电路无误后,将程序下载到单片机上进行实际运行。

实验结果显示,当程序指定LED灯为高电平时,LED灯亮起;当程序指定为低电平时,LED灯熄灭。

4. 数据采集实验:接下来,我们进行了数据采集实验,利用温度传感器和光照传感器采集环境温度和光照强度。

将传感器与单片机连接后,编写相应程序进行数据读取。

实验结果显示,我们能够通过单片机读取到精确的温度和光照数值。

5. 实时控制实验:为了验证单片机的实时控制能力,我们使用蜂鸣器进行了实时报警实验。

通过编写程序,设置蜂鸣器的开关状态,当某个条件满足时,蜂鸣器会发出警报声。

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel 99 se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。

(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。

(6)制板。

首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。

将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。

先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的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灯、按键控制、数码管显示等。

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

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

单片机实验报告

单片机实验报告

一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。

2. 掌握单片机最小系统的搭建方法。

3. 学习使用单片机编程软件进行程序编写和调试。

4. 通过实际操作,加深对单片机应用的理解。

二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。

2. 软件环境:Keil uVision5、Proteus仿真软件。

三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。

(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。

② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。

2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。

(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。

② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。

3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。

(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。

② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。

单片机实训实验报告

单片机实训实验报告

一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。

2. 掌握单片机编程语言C的基本语法和编程技巧。

3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。

4. 提高动手实践能力,培养团队合作精神。

三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。

2. 电脑:用于编程和仿真。

3. 编程软件:Keil uVision5或IAR EWARM等。

四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。

本实验以51单片机为例,介绍其基本原理和编程方法。

51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。

2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。

3. 输入/输出接口:用于与外部设备进行数据交换。

4. 定时器/计数器:用于实现定时和计数功能。

5. 中断系统:用于处理中断事件。

本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。

2. 单片机编程语言C的基本语法和编程技巧。

3. 单片机I/O口的使用和驱动能力。

4. 定时器/计数器的使用和编程。

5. 中断系统的使用和编程。

五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。

(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。

(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。

② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。

③在电脑上编译、下载程序,观察实验效果。

2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。

(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。

南昌大学单片机实验二 交通灯控制实验

南昌大学单片机实验二 交通灯控制实验

实验二交通灯控制实验一、实验目的掌握十字路口交通灯控制方法。

二、实验内容利用系统提供的双色LED 显示电路,和四位静态数码管显示电路模拟十字路口交通信号灯。

4 位LED 数码管显示时间,LED 显示红绿灯状态。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向。

开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20 秒),东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。

双色LED 是由一个红色LED 管芯和一个绿色LED 管芯封装在一起,共用负极,当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

本实验需要用到CPU 模块(F3 区)、静态数码管/双色LED 显示模块(B4 区)。

双色LED显示电路原理参见图2-1。

图 2-1 双色LED 显示电路五、实验程序参考框图实验示例程序参考框图如图2-2。

图2-2 程序流程图六、实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。

七、实验步骤1)系统各跳线器处在初始设置状态。

P10 同时接G1、G3;P11 同时接R1、R3;P1.2 同时接G2、G4;P1.3 同时接R2、R4;P1.6、P1.7 分别接静态数码显示的DIN、CLK。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

2018-单片机实验报告 (1000字)-优秀word范文 (15页)

2018-单片机实验报告 (1000字)-优秀word范文 (15页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==单片机实验报告 (1000字)单片机实验报告实验二并行口输入输出实验——循环彩灯控制任务一1. 实现的功能:P1 口接 8 个开关,P0 口接 8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。

开关断开时,灯灭。

2. 硬件原理图:3. 流程图:4. 程序:ORG 0000H //程序入口AJMP MAIN //跳转到主程序ORG 0040H //主程序初始地址MAIN: MOV P1,#0FFH //将P1口设置成输入状态MOV P0,P1 //将P1口输入的状态传输给P0口输出AJMP MAIN //返回主程序,循环执行主程序,保证实时 END //结束任务二1.实现的功能:用 5 个开关 K0-K4,控制 P2 口所接 8 个灯的循环,各开关的功能要求如下:(1)K1,K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方式(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度(4)K0 用于引发外部中断,在外部中断子程序中,读取通过 K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

2.硬件原理图:3.流程图:4.程序:ORGLJMPORGLJMPORGMAIN: MOVSETBSETBSETBMOVJBJB 0000H MAIN 0003H PINT0 0100H SP,#40H EA EX0 IT0 P1,#0FFH P1.0,MP1.1,M2 //外部中断0入口 //设置栈底 //打开中断允许位 //打开外部中断0允许位 // //将P1口设置成输入状态 //判断P1.0(K1)和P1.1(K2)状态选择闪动方式 //M1: MOVAJMPM2: MOVAJMPM: JBM3: MOV AJMPM4: MOV NEXT1: MOV MOVMOVMOVNEXT2: JB L: MOVRLMOVAJMPR: MOVRRMOVNEXT3: JB LCALLS2: LCALL SJMPORGPINT0: JB JBMO1: MOVAJMPMO2: MOVAJMPMO: JBMO3: MOVAJMPMO4: MOVNEXT4: MOVMOVMOVMOVRETIDELAY: MOVLOOP1: MOVLOOP2: MOVLOOP3: NOP P2,#01H NEXT1 P2,#03H NEXT1 P1.1,M4 P2,#07H NEXT1 P2,#0FH C,P1.2 PSW.2,C C,P1.3 PSW.6,C PSW.2,R A,P2 A P2,A NEXT3 A,P2 A P2,A PSW.6,S2 DELAY DELAY NEXT2 0200H P1.0,MO P1.1,MO2 P2,#01H NEXT4P2,#03H NEXT4 P1.1,MO4 P2,#07H NEXT4 P2,#0FH C,P1.2 PSW.2,C C,P1.3 PSW.6,CR5,#05H R6,#64H R7,#0FFH //闪动方式1,1个灯循环移动 // //闪动方式2,2个灯循环移动 // // //闪动方式3,3个灯循环移动 // //闪动方式4,4个灯循环移动 // //将P1.2(K3)的状态送给PSW.2 // //将P1.3(K4)的状态送给PSW.6 //判断PSW.2(K3)状态选择循环方向 // // // // // // // //判断开关PSW.6(K4)状态选择闪动速度 // // //循环执行闪动程序 //中断程序 //判断P1.0(K1)和P1.1(K2)状态选择闪动方式// //闪动方式1,1个灯循环移动 // //闪动方式2,2个灯循环移动 // // //闪动方式3,3个灯循环移动// //闪动方式4,4个灯循环移动 // //将P1.2(K3)的状态送给PSW.2 // //将P1.3(K4)的状态送给PSW.6 //返回主程序 //延时程序,延时0.5sNOP DJNZ DJNZ DJNZ RET END R7,LOOP3 R6,LOOP2 R5,LOOP1 //返回实验三七段LED数码管控制实验1.实现的功能:实验采用 4 位一体的数码管,用 P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线,自主选择驱动芯片,设计实现电路,并实现以下功能:(1)当开关 K0 接低电平时,第一位依次显示 0~F,然后第二位、第三位、第四位,再循环回第一位。

南昌大学单片机课程设计报告

南昌大学单片机课程设计报告

课程设计报告课程名称:微机原理课程设计题目:基于单片机的电子时钟设计学院:环境与化学工程系:过程装备与测控工程专业:测控技术与仪器班级:测仪091班学号:学生姓名:起讫日期:2011-12-19~2011-12-26指导教师:杨俊清、杨大勇摘要20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的,研究数字钟及扩大其应用,有着非常现实的意义。

单片机数字时钟就是其中的一款设计。

它具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号,单片机数字钟是单片机为核心。

时钟,本设计是以单片机STC89C52配备LCD1602显示,数字钟采用24小时制方式显示时间,带有日期和时间的设置功能。

关键词:单片机电子时钟C语言目录一、设计任务、要求 (1)二、方案总体设计与论证 (1)三、硬件设计 (2)四、系统仿真与调试 (5)五、设计总结、心得体会等 (14)六、参考文献 (14)一、设计任务、要求1、设计任务:利用单片机的C语言、STC89C52单片机及独立按键和LCD1602设计出电子时钟,且完成课程设计报告。

2、设计要求:○1、用LCD1602液晶显示。

○2、可以分别设定小时,分钟和秒,复位后时间为:00:00:00○3、能实现日期的设置,年、月、日3.创新部分:具有显示星期功能。

南昌大学单片机实验报告DOC

南昌大学单片机实验报告DOC

实验一I/O口输入输出实验一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。

以P3口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0到CP U模块的RXD(P3.0 口); 用8 位数据线连接八位逻辑电平显示模块的JD4B到CPU 模块JD8(P1 口)。

2)启动PC 机,打开THGMW-51软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

五、实验参考程序;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

;//******************************************************************DIR BIT P3.0ORG 0000HLJMP STARTORG 0100HSTART:OUTPUT1:MOV A, #0FEHMOV R5,#8LOOP1: CLRCMOV C,DIRJC OUTPUT2MOV P1, ARL AACALL DELAYDJNZR5, LOOP1SJMP OUTPUT1OUTPUT2:MOV A, #07FHMOV R5, #8LOOP2:CLR CMOV C,DIRJNCOUTPUT1MOV P1, ARR AACALL DELAYDJNZ R5,LOOP2SJMP OUTPUT2DELAY:MOV R6,#0DELAYLOOP1:MOV R7,#0DELAYLOOP2:NOPNOPDJNZ R7,DELAYLOOP2DJNZ R6,DELAYLOOP1RETEND六、实验结果当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。

单片机实训报告范文通用(2篇)

单片机实训报告范文通用(2篇)

单片机实训报告范文通用(2篇)精选单片机实训报告范文通用一本人从事单片机程序设计将近有一年了,下面我想来谈谈我个人的几点体会,以便与大家沟通共同提高.1.在设计程序之前,务必要对所用单片机的内部构造有一个系统的了解,知道该单片机片内有哪些资源.2.设计程序采纳什么编程语言并不是特别重要,关键要有一个清楚的思路和一个完整的软件流程图.3.在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改良“是程序设计的必经之路.4.要养成解释程序的好习惯,一个程序的完善与否不仅仅是实现功能,而应当让人一看就能明白你的思路,这样也为资料的保存和沟通供应了便利.5.在设计程序过程中遇到问题是很正常的,但我们应当将每次遇到的问题记录下来,并分析清晰,以免下次再遇到同样的问题.我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最终辩论的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。

我佩服他们的士气,艳羡他们的运气(我见到的许多做了10天的人最终的成绩都有不如他们的),但是鄙视他们的做法。

所幸的是,我得到了许多同学的帮忙。

我想没有他们我可能都要放弃了,由于我本人对单片机也并不是很熟识,学的东西似乎它是它,我是我似的,理论联系不了实际。

以前的汇编语言没学好,一开头的程序这块儿就要令我抓狂了。

后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。

最终在开发机上做出来的时候,虽然不是我自己写的,但看他那么快乐,我也有一种共享到的成就感。

后来我们组就用了他写的程序,他自己又抽空做了些拓展。

接下来就是做硬件方面的焊接工作了。

没想到这项看起来不需要多少技术的工作却是特别的劳心劳力。

许多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。

我看到有许多人跟我一样,不同的是他们是三三两两,而我大局部时间都是一个人做。

单片机实习报告(精选8篇)

单片机实习报告(精选8篇)

单片机实习报告(精选8篇)单片机篇1这次实习我们使用控制电路的单片机是AT89S51型号的。

透过它实现对八盏双色灯发光二极管的控制P0和《单片机实习报告总结》正文开始》这次实习我们使用控制电路的单片机是AT89S51型号的。

透过它实现对八盏双色灯发光二极管的控制P0和P2口控制四盏灯。

在AT89S51的9引脚接复位电路,对电路实现复位控制。

在电路中接入74S164译码器和共阴极数码管,透过AT89S51的P3口数据的输入对共阴极数码管的控制。

同时也可实现双色发光的二极管与共阴极数码管的共同作用。

在AT89S51的P3。

2口接上中断控制电路,P3。

5口接入蜂鸣器,使电路实现中断作用,也使电路便于检测。

尽量朝“单片”方向设计硬件系统。

系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。

系统中的相关器件要尽可能做到性能匹配。

如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。

硬件电路设计:1)确保硬件结构和应用软件方案相结合。

硬件结构与软件方案会相互影响,软件能实现的功能尽可能由软件实现,以简化硬件结构。

务必注意,由软件实现的硬件功能,一般响应时光比硬件实现长,且占用CPU时光;2)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选取、去耦滤波、印刷电路板的合理布线、各元器相互隔离等;3)尽量朝“MCS-51单片”方向设计硬件系统。

系统器件越多,器件之间相互干扰也越强,所消耗功耗也增大,也不可避免地降低了系统的稳定性;4)系统中的相关器件要尽可能做到性能匹配。

如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。

1。

1单片机型号及特性单片机型号是AT89S51。

特性是:⑴8031CPU与MCS-51⑵兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环)⑶全静态工作:0Hz-24KHz⑷三级程序存储器保密锁定⑸128*8位内部RAM⑹32条可编程I/O线⑺两个16位定时器/计数器⑻6个中断源⑼可编程串行通道⑽低功耗的闲置和掉电模式⑾片内振荡器和时钟电路1。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文单片机(Microcontroller)是指一种封装了微处理器(Microprocessor)、存储器和各种输入输出接口电路功能的集成电路。

单片机在电子设计与开发中有广泛应用,可以用于控制和监测各种系统和设备。

本实验报告将介绍在实验中使用单片机所进行的实验步骤和实验结果。

实验目的:1.理解单片机的基本工作原理和功能。

2.掌握单片机的编程和调试方法。

3.应用单片机实现简单的控制功能。

实验仪器和材料:1.单片机开发板2.计算机B数据线4.电源适配器5.LED灯6.麦克风模块7.温度传感器实验步骤:1.准备工作:将单片机开发板与计算机连接,接通电源适配器。

2.熟悉开发工具:安装单片机开发软件,并了解软件的基本功能。

3.学习编程语言:了解单片机的编程语言,例如C语言或汇编语言,并编写简单的程序。

4.硬件连接:将LED灯、麦克风模块和温度传感器连接至开发板的相应引脚。

5.编程实现:根据实验要求,编写相应的程序,控制LED灯、获取麦克风模块的声音信号或获取温度传感器的温度值。

7.实验结果:根据实验要求,记录LED灯的亮灭状态、麦克风模块的声音信号强度或温度传感器的温度数值。

实验结果:通过实验,我们成功地控制了LED灯的亮灭状态,获取了麦克风模块的声音信号强度和温度传感器的温度数值。

在编程实现过程中,我们学会了使用单片机编程语言,了解了一些常用的语法和函数。

在调试测试中,我们可以通过相关的输出或显示结果来判断程序的正确性,及时发现和修复错误。

实验总结:本实验通过单片机开发板和相应的硬件以及编程实现了简单的控制和监测功能。

通过实验,我们深入了解了单片机的基本工作原理和功能,并掌握了一些基本的编程和调试方法。

实验结果表明,我们成功实现了实验要求,并对单片机的应用有了更加深入的理解。

通过这次实验,我们不仅提高了动手实践能力,也增加了对科技发展的看法。

南昌大学单片机实验

南昌大学单片机实验

南昌大学实验一清零实验(基础实验)一、实验目的1. 掌握存储器读写方法。

2. 了解存储器的块操作方法。

二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。

2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。

3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。

三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。

四、实验仪器和设备PC机、W A VE软件。

五、参考程序框图设置块起始地址设置块长度当前地址内容清零地址加1否是否清除完?是结束存储器块清零参考程序框图六、参考程序(略)实验二拆字程序(基础实验)一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。

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

三、实验说明通过本实验,屏蔽半字节及拆字的方法,同时也可以了解单片机编程、调试方法。

四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图六、参考程序(略)开始7000内容送A高低位交换屏蔽高位后送7001H 7000H内容送A屏蔽高位后送7002H结束实验三拼字程序(基础实验)一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。

三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。

四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图开始7001H内容送A,A-〉30H,7000H内容送AA中低四位和30H低四位相拼,存AA-〉7002H结束六、参考程序(略)实验四数据块移动(基础实验)一、实验目的1.了解内存的移动方法。

2.加深对存储器读写的认识。

单片机实验报告实验总结模板(3篇)

单片机实验报告实验总结模板(3篇)

第1篇一、实验概述本次实验以【实验名称】为主题,通过【实验目的】的学习,掌握了【实验内容】的相关知识和技能。

以下是本次实验的总结与反思。

二、实验目的与要求1. 实验目的:- 理解【实验目的1】;- 掌握【实验目的2】;- 深入了解【实验目的3】。

2. 实验要求:- 熟悉【实验要求1】;- 熟练运用【实验要求2】;- 独立完成【实验要求3】。

三、实验原理与步骤1. 实验原理:- 介绍【实验原理1】;- 阐述【实验原理2】;- 分析【实验原理3】。

2. 实验步骤:- 【步骤1】:【步骤1描述】;- 【步骤2】:【步骤2描述】;- 【步骤3】:【步骤3描述】;- (以此类推)四、实验结果与分析1. 实验结果:- 【实验结果1】:【结果描述】;- 【实验结果2】:【结果描述】;- 【实验结果3】:【结果描述】。

2. 结果分析:- 对【实验结果1】进行分析,得出【分析结论1】; - 对【实验结果2】进行分析,得出【分析结论2】; - 对【实验结果3】进行分析,得出【分析结论3】。

五、实验过程中遇到的问题及解决方法1. 问题1:【问题描述】;- 解决方法:【解决方法描述】。

2. 问题2:【问题描述】;- 解决方法:【解决方法描述】。

3. 问题3:【问题描述】;- 解决方法:【解决方法描述】。

六、实验心得与体会1. 心得体会1:- 通过本次实验,我深刻体会到【心得体会1】。

2. 心得体会2:- 本次实验让我认识到【心得体会2】。

3. 心得体会3:- 在实验过程中,我学会了【心得体会3】。

七、实验总结本次实验使我掌握了【实验名称】的相关知识和技能,提高了我的动手能力和解决问题的能力。

在实验过程中,我学会了如何分析问题、解决问题,同时也认识到了自己的不足之处。

在今后的学习和工作中,我将继续努力,不断提高自己的综合素质。

八、参考文献1. 【参考文献1】;2. 【参考文献2】;3. 【参考文献3】。

九、附录1. 【实验电路图】;2. 【程序代码】;3. 【实验数据】。

单片机实验报告(学期全部实验)

单片机实验报告(学期全部实验)

单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。

二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。

四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。

实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。

二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。

时间间隔简单的用了一个延时的语句。

因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。

四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。

实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。

二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。

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

实验一I/O口输入输出实验一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。

以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

五、实验参考程序;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

;//******************************************************************DIR BIT P3.0ORG 0000HLJMP STARTORG 0100HSTART:OUTPUT1:MOV A, #0FEHMOV R5, #8LOOP1: CLR CMOV C,DIRJC OUTPUT2MOV P1, ARL AACALL DELAYDJNZ R5, LOOP1SJMP OUTPUT1OUTPUT2:MOV A, #07FHMOV R5, #8LOOP2:CLR CMOV C,DIRJNC OUTPUT1MOV P1, ARR AACALL DELAYDJNZ R5,LOOP2SJMP OUTPUT2DELAY:MOV R6,#0DELAYLOOP1:MOV R7,#0DELAYLOOP2:NOPNOPDJNZ R7,DELAYLOOP2DJNZ R6,DELAYLOOP1RETEND六、实验结果当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。

七、结果分析程序通过查询方式不断检测P3.0口的输入状态,当P3.0输入为0时,由P1口通过左移指令RL轮流输出低电平驱动LED发光,在左移时通过软件延时控制LED 亮的时间;当P3.0输入为1时,由P1口通过右移指令RR轮流输出低电平驱动LED发光,在右移时同样通过软件延时控制LED 亮的时间,如此循环扫描查询,便可实现流水灯的效果。

实验二外部中断实验一、实验目的学习外部中断技术的基本使用方法。

二、实验内容INT0 端接单次脉冲发生器。

按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接LED 灯,以查看信号反转。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到CPU 模块的P32;CPU 模块的P10 接八位逻辑电平显示模块的灯。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)连续按动单次脉冲产生电路的按键,发光二极管L0 每按一次状态取反,即隔一次点亮。

五、实验参考程序;//*************************************************;文件名: EXint for MCU51;功能: 外部中断实验;接线: 导线连接单次脉冲模块的输出端到CPU模块的P32,; CPU模块的P10接八位逻辑电平显示模块的L0灯。

;//*************************************************LED BIT P1.0LEDBUF BIT 20HORG 0LJMP STARTORG 3INTERRUPT0:PUSH PSW ; 保护现场CPL LEDBUF ; 取反LEDMOV C, LEDBUFMOV LED, CPOP PSW ; 恢复现场RETISTART:CLR LEDBUFCLR LEDMOV TCON, #01H ; 外部中断0下降沿触发MOV IE, #81H ; 打开外部中断允许位(EX0)及总中断允许位(EA)OK: LJMP OKEND六、实验结果每按下E3区的单次脉冲触发按钮时,B5区的发光二极管状态取反一次,即原来是亮按下时灭,原来是灭则按下时亮。

七、结果分析程序由外部中断0实现,外部中断0由下降沿触发,外部输入由单次脉冲触发器输入,每次按下按钮时会触发单次脉冲,产生一个下降沿,从而使程序产生中断,在中断服务函数的程序里面对P1.0取反,由P1.0驱动LED,就可实现本实验的功能。

实验三定时/计数器实验一、实验目的学习MCS-51 内部计数器的使用和编程方法。

二、实验内容使用MCS-51 内部定时/计数器,定时一秒钟,CPU 运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态,用导线连接CPU 模块P10 到八位逻辑电平显示模块的L0。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。

五、实验参考程序;//*************************************************;文件名: TIMER FOR MCU51;功能: 定时/计数器实验;接线: 导线连接CPU模块P10到八位逻辑电平显示模块的L0.;//*************************************************TICK EQU 10000 ; 10000 X 100US = 1ST100US EQU 156 ; 100US时间常数(6M)C100US EQU 30H ; 100US记数单元LEDBUF BIT 20HORG 0LJMP STARTORG 000BHT0INT:PUSH PSWMOV A, C100US+1JNZ GOONDEC C100USGOON:DEC C100US+1MOV A, C100USORL A, C100US+1JNZ EXIT ; 100US 记数器不为0, 返回MOV C100US, #27H ; #HIGH(TICK)MOV C100US+1, #10H ; #LOW(TICK)CPL LEDBUF ; 100US 记数器为0, 重置记数器; 取反LEDEXIT:POP PSWRETISTART:MOV TMOD, #02H ; 方式2, 定时器MOV TH0, #T100USMOV TL0, #T100USMOV IE, #10000010B ; EA=1, IT0 = 1SETB TR0 ; 开始定时CLR LEDBUFCLR P1.0MOV C100US, #27H ;#HIGH(TICK)MOV C100US+1, #10H ;#LOW(TICK)LOOP:MOV C, LEDBUFMOV P1.0, CLJMP LOOPEND六、实验结果运行程序之后,B5区的发光二极管L0隔一秒点亮一次,每次点亮时间为一秒。

七、结果分析本实验通过定时器0的方式2实现精确定时,但定时器的最长定时时间达不到一秒,所以通过一个时间变量实现,总的定时时间等于定时器定时时间乘以时间变量初值,这样就可实现一秒的定时,程序通过扫描不断检测时间变量的值,当定时时间一秒到时,对P1.0的状态取反,实现L0每隔一秒亮一次。

实验四交通灯控制实验一、实验目的掌握十字路口交通灯控制方法。

二、实验内容利用系统提供的双色LED 显示电路,和四位静态数码管显示电路模拟十字路口交通信号灯。

4 位LED 数码管显示时间,LED 显示红绿灯状态。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态。

P10 同时接G1、G3;P11 同时接R1、R3;P1.2 同时接G2、G4;P1.3 同时接R2、R4;P1.6、P1.7 分别接静态数码显示的DIN、CLK。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察十字路口交通灯效果。

五、实验参考程序;//*******************************************************************;文件名:交通灯程序 FOR MCU51;功能:双色LED模拟交通灯信号,并通过调用静态数码显示状态时间。

;接线:P1.0同时接G1、G3,P1.1接R1、R3,P1.2接G2、G4,P1.3同时接R2、R4,;P1.6、P1.7接静态数码显示的DIN、CLK。

;//*******************************************************************SECOND1 EQU 30H ;东西秒寄存器SECOND2 EQU 31H ;南北秒寄存器DBUF EQU 40H ;显示缓冲1TEMP EQU 44H ;显示缓冲2LED_G1 BIT P1.0 ;东西绿灯LED_R1 BIT P1.1 ;东西红灯LED_G2 BIT P1.2 ;南北绿灯LED_R2 BIT P1.3 ;南北红灯DIN BIT P1.6 ;串行显示数据CLK BIT P1.7 ;串行显示时钟ORG 0000HLJMP STARTORG 0100HSTART:LCALL STATE0 ;调用状态0LCALL DELAY ;调用延时MOV TMOD,#01H ;置T0工作方式1MOV TH0, #3CH ;置T0定时初值50MSMOV TL0, #0B0HSETB TR0 ;启动T0 CLR EALOOP: MOV R2,#20 ;置1S计数初值 50MS*20=1SMOV R3,#20 ;红灯20SMOV SECOND1,#25 ;东西秒显示初值25SMOV SECOND2,#25 ;南北秒显示初值25SLCALL DISPLAYLCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值50MSMOV TL0, #0B0HSETB TR0 ;启动T0DJNZ R2,WAIT1 ;判1S到否?未到继续状态1MOV R2,#20 ;置50MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT1 ;状态1维持20SMOV R2,#5 ;置50MS计数初值 5*4=20MOV R3,#3 ;绿灯闪3SMOV R4,#4 ;闪烁间隔200MSMOV SECOND1,#5 ;东西秒显示初值5SMOV SECOND2,#5 ;南北秒显示初值5SLCALL DISPLAYWAIT2: LCALL STATE2 ;调用状态2JNB TF0,WAIT2 ;查询50MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值50MSMOV TL0, #0B0HDJNZ R4,WAIT2 ;判200MS到否?未到继续状态2CPL LED_G1 ;东西绿灯闪MOV R4,#4 ;闪烁间隔200MSDJNZ R2,WAIT2 ;判1S到否?未到继续状态2MOV R2,#5 ;置50MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT2 ;状态2维持3SMOV R2,#20 ;置50MS计数初值MOV R3,#2 ;黄灯2SMOV SECOND1,#2 ;东西秒显示初值2SMOV SECOND2,#2 ;南北秒显示初值2SLCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3JNB TF0,WAIT3 ;查询30MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值50MSMOV TL0, #0B0HDJNZ R2,WAIT3 ;判1S到否?未到继续状态3 MOV R2,#20 ;置50MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT3 ;状态3维持2SMOV R2,#20 ;置50MS计数初值MOV R3,#20 ;红灯20SMOV SECOND1,#25 ;东西秒显示初值25SMOV SECOND2,#25 ;南北秒显示初值25SLCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4JNB TF0,WAIT4 ;查询50MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值50MSMOV TL0, #0B0HDJNZ R2,WAIT4 ;判1S到否?未到继续状态4 MOV R2,#20 ;置50MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT4 ;状态4维持20SMOV R2,#5 ;置50MS计数初值 5*4=20 MOV R4,#4 ;闪烁间隔200MSMOV R3,#3 ;绿灯闪3SMOV SECOND1,#5 ;东西秒显示初值5SMOV SECOND2,#5 ;南北秒显示初值5SLCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5JNB TF0,WAIT5 ;查询50MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值100MSMOV TL0, #0B0HDJNZ R4,WAIT5 ;判200MS到否?未到继续状态5CPL LED_G2 ;南北绿灯闪MOV R4,#4 ;闪烁200MSDJNZ R2,WAIT5 ;判1S到否?未到继续状态5MOV R2,#5 ;置100MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT5 ;状态5维持3SMOV R2,#20 ;置50MS计数初值MOV R3,#2 ;黄灯2SMOV SECOND1,#2 ;东西秒显示初值2SMOV SECOND2,#2 ;南北秒显示初值2SLCALL DISPLAYWAIT6: LCALL STATE6 ;调用状态6JNB TF0,WAIT6 ;查询100MS到否CLR TF0MOV TH0, #3CH ;恢复T0定时初值100MSMOV TL0, #0B0HDJNZ R2,WAIT6 ;判1S到否?未到继续状态6MOV R2,#20 ;置100MS计数初值DEC SECOND1 ;东西秒显示减一DEC SECOND2 ;南北秒显示减一LCALL DISPLAYDJNZ R3,WAIT6 ;状态6维持2SLJMP LOOP ;大循环STATE0: ;状态0MOV P1,#0CLR LED_G1SETB LED_R1 ;东西红灯亮CLR LED_G2SETB LED_R2 ;南北红灯亮RETSTATE1: ;状态1SETB LED_G1 ;东西绿灯亮CLR LED_R1CLR LED_G2SETB LED_R2 ;南北红灯亮RETSTATE2: ;状态2CLR LED_R1CLR LED_G2 SETB LED_R2 ;南北红灯亮RETSTATE3: ;状态3SETB LED_G1SETB LED_R1 ;东西黄灯亮CLR LED_G2SETB LED_R2 ;南北红灯亮RETSTATE4: ;状态4CLR LED_G1SETB LED_R1 ;东西红灯亮SETB LED_G2 ;南北绿灯亮CLR LED_R2RETSTATE5: ;状态5CLR LED_G1SETB LED_R1 ;东西红灯亮CLR LED_R2RETSTATE6: ;状态6CLR LED_G1SETB LED_R1 ;东西红灯亮SETB LED_G2SETB LED_R2 ;南北黄灯亮RETDISPLAY: ;数码显示MOV A, SECOND1 ;东西秒寄存器MOV B, #10 ;16进制数拆成两个10进制数DIV ABMOV DBUF+1,AMOV A,BMOV DBUF, AMOV A, SECOND2 ;南北秒寄存器MOV B, #10 ;16进制数拆成两个10进制数DIV ABMOV DBUF+3, AMOV A,BMOV DBUF+2, A MOV R0,#DBUFMOV R1,#TEMPMOV R7,#4DP10: MOV DPTR,#LEDMAPMOV A,@R0MOVC A,@A+DPTRMOV @R1,AINC R0INC R1DJNZ R7,DP10MOV R0,#TEMPMOV R1,#4DP12: MOV R7,#8MOV A,@R0DP13: RLC AMOV DIN,CCLR CLKSETB CLKDJNZ R7,DP13INC R0DJNZ R1,DP12RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,BDB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -DELAY: MOV R5, #5DLOOP0:MOV R6, #0DLOOP1:MOV R7, #0DLOOP2:NOPNOPDJNZ R7, DLOOP2DJNZ R6, DLOOP1DJNZ R5, DLOOP0RETEND六、实验结果程序开始运行后,B5区模拟的东西红灯亮,南北绿灯亮,同时两个方向的数码管分别从25秒开始倒计时,当倒计时到5秒时,南北绿灯闪亮3秒后变黄,再过2秒,即倒计时到0时,变为东西绿灯亮,南北红灯亮,同时两个方向的数码管分别同时从25秒开始倒计时,但倒计时到5秒时,东西绿灯闪亮3秒后变黄,再过2秒之后又回到初始状态,继续循环运行。

相关文档
最新文档