MCS-51单片机实验指导书
单片机51实验指导书

第一章系统概述1.1 系统组成Dais系列单片机微机仿真实验系统的MCS-51单片机实验与仿真由管理CPU 89C52系统单元、目标CPU 8032或仿真CPU438单元、接口实验单元和稳压电源(外接或内置)组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下:1.2 系统功能与特点(1)自带键盘、显示器,能独立运行,也可以PC机为操作平台。
两种工作方式任意选择,均全面支持《单片机原理与应用》等课程的实验教学。
(2)系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8032或仿真CPU438作为目标机仿真与实验CPU,其软硬件资源100%出借。
(3)目标CPU8032/438采用主频为6MHz,向用户提供实验方式和两种仿真方式(RAM 方式和EPROM方式)。
(4)配有一片RAM 61C256构成系统的32K程序空间,地址范围为0000H~7FFFH,还配一片61C256(32K)作为用户设置的断点区(BPRAM)。
(5)实验项目完整丰富,与课程教学紧密结合,同时配有电机、温压、音响等实验对象,可支持控制应用类综合实验。
(6)系统接口实验电路为单元电路方式,电路简捷明快,一体机的8位数据总线以排线形式引出,这样既减轻繁琐的连线工作,又提高学生的实验工作能力。
(7)通过RS232通信接口,在Windows/DOS集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的编辑、编译、调试运行,提高实验效率。
(8)具有最丰富的调试手段,系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100%保护用户现场,返回监控。
(9)自带EPROM编程器,可对2764/27128快速读出(软硬件实验所需的代码文件)。
1.3 系统资源分配实验系统寻址范围定义如下:系统已定义的I/O地址如下:第二章安装使用2.1硬件安装(1)对卡式结构的机型而言应把8032/8789CPU卡更换到主机板的CPU-SUB(36)总线接口位置。
51单片机实验指导书

MCS-51单片机基础综合实验板实验指导书李家庆2009年2月目录第1章实验箱功能简介1.1 实验箱外观 (1)1.2 实验箱配置 (2)1.3 仿真下载使用说明 (3)1.4 电路图 (4)第2章实验箱使用快速入门2.1 KEIL C51 简介 (5)2.2 uVision使用入门 (5)2.3 实验箱的仿真 (10)2.4 实验箱的下载 (13)第3章单片机实验3.1 基本实验 (23)实验一熟悉Keil C51开发环境 (23)实验二熟悉实验箱的仿真与下载 (26)实验三 I/O口延时实现流水灯 (27)实验四蜂鸣器驱动实验 (29)实验五定时器中断实验 (32)实验六外部中断实验 (33)实验七数码管显示123456 (34)实验八 8155扩展实验 (35)实验九 ADC0809实验 (37)实验十 DAC0832实验 (41)实验十一串口通信实验 (42)3.2 高级实验 (51)实验十二 100位计数器实验 (51)实验十三矩阵键盘实验 (53)实验十四实时时钟实验 (56)实验十五数字温度计实验 (64)实验十六 I2C总线实验 (68)实验十七单片机实钟实验 (74)注:实验书只是提供了部分参考实验,供用户初次使用时熟悉各模块电路,更多实验源代码详见光盘,另外,您也可根据自己的思路编写各种各样的实验代码,均可以非常方便的在此实验箱上运行。
其它相关资料,请参考光盘第1章 实验板功能简介1.1 单片机实验板概览实物图如图1.1所示:1.2 实验箱配置 基础板配置:1、STC89C51支持在线下载程序。
.2、8位LED 发光二极管(可做流水灯实验)。
3、4位数码管(可做动态扫描及静态显示实验)。
图1.1 单片机实验板实物图图1.2 单片机实验板功能组成4、4 *4矩阵键盘。
(也可将其中的行或列接地,将独立按键实验)。
5、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口,同时也可做为STC单片机下载程序的接口,SST单片机仿真接口)6、USB供电系统,直接插接到电脑USB口即可提供电源,此时不需另接直流电源。
MCS-51单片机实验指导书

MCS-51单片机实验指导书黄惟公邓成中编写西华大学机械工程与自动化系机械电子工程教研室目录单片机实验板原理图与零件布置图---------------------------2 说明---------------------------------------------------------------------5 实验1 红绿灯控制--------------------------------------------6 实验2 LED显示-----------------------------------------------9 实验3 键盘的应用-------------------------------------------11 实验4 定时、中断的应用---------------------------------13 四位LED显示参考程序--------------------------------15 实验5 计数器实验-------------------------------------------18 实验6 A/D转换器-------------------------------------------19 实验7 D/A转换器-------------------------------------------24 实验8 PC机与单片机的串行通讯实验----------------26 附:ISP下载程序使用说明--------------------------------29 MedWin集成开发环境用户手册-----------------------33-74 Practice is a best way to learnig “实践”是学习单片机的最好方法。
说明1 每次实验学生必须进行预习。
2 实验提供的参考程序只是为学生提供了一个参考样本,学生必须按实验报告的要求完成的思考题中的有关实验。
MCS51单片机原理及应用实验指导书

《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。
三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。
2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。
4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。
字迹要清楚,结论要明确。
爱护实验设备,遵守实验室纪律。
*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。
目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。
MCS-51单片机实验指导书

MCS-51单片机实验指导书主编陈永健编者林建华魏有法闽南理工学院实践教学中心二0一0年九月前言单片机实验是掌握编程应用的一门重要实践课程,为今后开展电子科技制作、创新设计以及研发打下坚实基础。
学习本实验课程对巩固和加深课堂教学内容,提高学生实际工作技能,培养科学作风,为学习后续课程和从事实践技术工作奠定基础具有重要作用。
为适应电子科学技术的迅猛发展和教学改革不断深入的需要,实验中心购置了新型单片机、微机接口一体化仿真实验箱,并编写了这本相应的实验指导书。
本书以《单片机原理及应用课程教学基本要求》中确定的教学实验要求为基础,包括了《单片机原理与接口技术》课程全部实验内容。
实验系统采用达爱思DAIS仿真集成开发环境、基于8032CPU的51单片机。
MCS-51单片机实验是基于汇编语言(助记符语言)的编程语言、是一门面向计算机的硬件的语言,学好本实验课程对今后学习KLC编程、VHDL、C++等高级语言打下扎实基础,为后继单片机课程的学习提供程序编程的基础。
实验内容的安排遵循由浅到深,由易到难的规律。
考虑不同层次需要,既有测试、验证的内容,也有设计、研究的内容。
实验只提供设计要求及程序思路(流程图),由学生自己完成方案选择、实验步骤及程序编写等,充分发挥学生的创造性和主动性。
在编写本书中,闽南理工学院实践中心主任李梅审阅并提出许多宝贵意见,同时得到电子教研室林建华等老师的帮助与支持。
在此表示中心感谢。
编者:陈永健 2010年9月闽南理工学院MCS-51单片机实验指导MCS-51单片机实验指导本实验指导是为适应各大专、本科院校开设单片机原理与应用方面的课程设置需要而编写,供学生编程用。
完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、程序框图和实验步骤。
免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约宝贵的时间。
一、实验指导书中所列的实验程序已经固化到系统管理CPU中,在“P.”状态下,按动“0”键→再按“EV/UN”键,将程序传送到以0000H为起始地址的RAM中。
中北大学MCS51单片机实验指导书

MCS 51 单片机实验指导书一. 实验系统: 1 系统硬件2 实验系统软件:Keil uVision4 51单片机仿真开发集成开发软件 二. 实验步骤:1、 双击桌面图标---启动2、 录入程序(1)建立新文件PC 机北京精仪达盛科技 EL-EMCU-I 实验箱串行通信电缆(2)录入程序(3)保存文件注意:汇编程序保存为*.Asm C语言程序保存为*.C 2、建立新Project3、保存新建Project4、选择仿真单片机型号5、将文件加入Project用鼠标选中Target 中的Source Group, 点击鼠标右键,选择6、设置仿真参数7、工程编译(汇编)(1)7、调试(1)单步运行(2)断点运行(3)全速运行三.实验内容:实验一:实验系统认知实验一、实验目的1. 学习P1口的使用方法(输入/输出方式)。
2. 学习指令的功能3.学习实验系统。
二、实验内容(1)编写一个16位除以16位数的子程序,并进行调试。
(2)P1口做输入口:读取四个开关的状态并将其在发光二极管上显示,编写程序,调试。
三、硬件原理图设计四、软件流程设计五、程序设计实验二:定时计数器实验一、实验目的1. 学习定时计数器的功能和应用2. 学习指令的功能二、实验内容用MCS 51单片机内部定时计数器控制一个发光二极管闪烁,周期为1秒,要求利用一个按键控制发光二极管闪烁的启停。
三、硬件原理图设计四、软件流程设计五、程序设计实验三:7段LED显示块实验一、实验目的1. 学习LED显示块的控制方法2. 学习指令的功能二、实验内容用MCS 51单片机控制7段LED显示块连续显示0-9999(循环)。
三、硬件原理图设计四、软件流程设计五、程序设计实验四:外部中断实验一、实验目的1. 学习外部中断的用法2. 学习指令的功能二、实验内容用MCS 51单片机外部中断对外部脉冲进行计数,并用7段LED显示块显示计数值。
三、硬件原理图设计四、软件流程设计五、程序设计四.实验相关电路:1、实验箱接头标号与单片机引脚对照表接头标号单片机引脚接头标号单片机引脚IO1 P0.0 CAP0 P1.0IO2 P0.1 SDA P1.1IO3 P0.2 SCL P1.2IO4 P0.3 PWM0 P1.3IO5 P0.4 CADC0 P1.4IO6 P0.5 CDAC0 P1.5IO7 P0.6 SPICLK P1.6IO9 P0.7 SPISTE P1.7IO10 NC RXD P3.0IO11 NC TXD P3.1IO19 NC INT0 P3.2INT1 P3.3T0 P3.4T1 P3.52、相关电路原理图(1)发光二极管电路(2)拨动开关电路(3)七段LED显示块电路(其中7段LED显示块为共阴极)(4)单脉冲发生电路实验一:实验系统认知实验(1)编写一个16位除以16位数的子程序,并进行调试。
MCS-51单片机实验指导书

目录第一部分前言 (1)第二部分调试软件LCA51快速入门 (3)1.启动运行环境 (3)2.程序编写 (5)3.程序编译 (6)4.加载 (6)5.运行 (6)第三部分实验一P1口输入、输出实验 (7)一.实验目的 (7)二.实验要求 (7)三.实验原理 (7)四.实验原理与连线 (7)五.实验程序及框图 (8)六.实验收报告 (8)实验二 P3口输出控制实验 (9)一.实验目的 (9)二.实验要求 (9)三.实验原理 (9)四.实验电路及连线 (9)五.实验框图 (10)六.实验报告 (10)实验三简单I/O实验(交通灯控制) (11)一.实验目的 (11)二.实验要求 (11)三.实验原理 (11)四.实验电路及连线 (11)五.实验框图 (12)六.实验报告 (12)实验四外部中断实验 (13)一.实验目的 (13)二.实验要求 (13)三.实验原理 (13)四.实验连线 (13)五.实验程序及框图 (13)六.实验报告 (13)实验五定时器实验 (14)一.实验目的 (14)二.实验要求 (14)三.实验原理 (14)四.实验电路及连线 (14)五.实验框图 (15)六.实验报告 (15)实验六计数器实验 (16)一.实验目的 (16)二.实验要求 (16)三.实验说明 (16)四.实验电路及连线 (16)五.实验框图 (17)六.实验报告 (17)实验七扩展存储器读写实验 (18)一.实验目的 (18)二.实验要求 (18)三.实验原理 (18)四.实验电路及连线 (18)五.实验程序框图 (18)六.实验报告 (19)实验八单片机串行口与PC机通讯实验 (20)一.实验目的 (20)二.实验要求 (20)三.实验说明 (20)四.实验电路及连线 (20)五.实验程序框图 (20)六.实验报告 (21)实验九 8255输入、输出实验 (22)一.实验目的 (22)二.实验要求 (22)三.实验原理 (22)四.实验电路及连线 (22)五.实验程序及框图 (23)六.实验报告 (23)第四部分选做实验实验十 D/A转换实验 (24)一.实验目的 (24)二.实验要求 (24)三.实验说明 (24)四.实验电路及连线 (24)五.实验程序框图 (25)六.实验报告 (25)实验十一 A/D转换实验 (26)一.实验目的 (26)二.实验要求 (26)三.实验电路及连线 (26)四.实验原理 (26)五.实验程序及框图 (27)六.实验报告 (27)第五部分附录第一节实验箱结构与安装使用 (28)一.实验箱结构图 (28)二.安装使用 (28)第二节高级语言编译器安装 (29)第三节实验箱部分电路模块与开关插座说明 (30)一.开关与插座说明 (30)二.实验模块原理图 (31)第四节汇编错误码原因说明 (33)第五节MCS51实验箱自检测方法 (33)一.实验接口模块检测 (34)二.扩展实验模块测试 (34)第一部分绪言一、课程性质、目的和任务本课程主要讲述当前国内外广泛应用的系列单片机的结构、原理、接口技术、扩展应用等知识。
MCS51 单片机实验指导书2

实验1 汇编语言简单试验---Keil C51的使用一、实验目的:熟悉Keil C51 集成开发环境的使用方法,初步掌握Keil C51基本的操作和使用,能够输入、编译和仿真调试简单的程序。
二、实验内容:在Keil C51 集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在Keil C51 集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作。
三、实验设备:安装Keil C51的计算机一台。
四、实验步骤:(参考教材第11章)1)建立一个工程项目选择芯片确定选项。
执行Keil C51软件的菜单“Project | New Project…”,弹出一个名为“Create New Project”的对话框。
先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。
如图1-1所示,紧接着,Keil C51提示您选择CPU器件。
在这里可以选择Atmel公司的AT89S52。
图1-1 Keil C51 工程的建立2)编写(或加入)汇编源文件或C 源文件,并添加到工程中。
执行菜单“File | New…”,出现一个名为“Text n”(其中n表示序号)的文档。
如图1-2所示。
执行菜单“File | Save”,弹出一个名为“Save As”的对话框。
将文件名改为你事先起好的名称,如:led.asm然后保存。
注意:扩展名“.ASM或.c”不可省略。
单击Keil C51软件左边项目工作窗口“Target 1”上的“+”,将其展开。
然后右击“Source Group 1”文件夹,会弹出如图 1.7所示的选择菜单。
单击其中的“Add Files to Group 'Source Group 1'”项,将源程序文件添加到工程中。
然后编写如下程序源文件,并再次保存。
ORG 0000HMAIN: CLR P1.0 ;(1)点亮LEDMOV 30H,#255LCALL DELAY ;(2)调用延时子程序SETB P1.0 ;(3)熄灭LEDMOV 30H,#200LCALL DELAY ;(4)调用延时子程序AJMP MAIN ;(5)返回MAIN处执行DELAY:MOV R7,30H ;(6)延时程序D1:MOV R6,#250 ;(7)D2:DJNZ R6,D2 ;(8)R6存放内循环次数DJNZ R7,D1 ;(9)R7存放外循环次数RET ;(10)END3)设置参数单击“Project”菜单“Option…”选项(可能需要选择两次),在“Output”标签页,选中“Create HEX File”项,然后“确定”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51单片机实验指导书目录1. 实验板使用说明 (2)1.1 单片机实验板简介 (2)1.2 实验板电路原理图 (2)1.3 USB转串口驱动的安装 (4)1.4 下载软件的使用 (5)2. 单片机实验 (6)实验1 红黄绿灯控制 (6)实验2 键盘LED数码管显示 (7)实验3 定时器中断实验 (10)实验4 计数器实验 (12)实验5 AD转换实验 (18)实验6 PC机与单片机串口通信实验 (20)实验7 温度测量实验 (22)实验8 数模转换实验 (25)实验9 IIC和EEPROM存储实验 (27)实验10 频率测量实验 (34)1.实验板使用说明1.1 单片机实验板简介单片机实验板是西华大学机械工程与自动化学院在长期教学实践中设计的,非常适合单片机教学的一种实验装置。
它有以下特点:不需要其他附件,即可以在任何一台有USB接口的PC机或笔记本电脑上使用;价格便宜,解决了许多院校经费不足的问题;可以开设LED,LCD,键盘,蜂鸣器,AD转换,DA 转换,温度测量,光电计数,压频转换,IIC总线,PC与下位机串口通信,RS485通信等各种实验,满足教学需要。
图1.1 实验板各部分名称及功能实验板与PC机通过公对公USB线连接,实验板上USB接口给实验板提供电源的同时,且可以通过USB转串口芯片给实验板下载程序和与PC机进行串口通信。
本实验板采用的是宏晶公司的STC89C52RC单片机,可以通过串口烧录程序,无需仿真器。
1.2 实验板电路原理图实验板电路图如图1.2所示。
为了满足多种实验的需求和入门编程的便捷,单片机的引脚许多复用,但没有使用锁存器来扩展IO口。
实验板上引出了DA输出,P0口,P1口,P2口,P3口,电源扩展口,485通信口,方便外接实验。
为了满足单片机的冷启动(下载程序时先断电再通电)要求,电源按钮采用自锁开关。
无论在PC机还是笔记本电脑上都有USB 接口,所以实验板直接由USB接口供电,实验板上CH340G将USB转换为串口为单片机下载程序。
图1.2 实验板电路原理图1.3 USB转串口驱动的安装安装步骤如下:(1)双击如图1.3所示的可执行文件图1.3 驱动安装图标(2)双击后会弹出如图1.4所示的对话框,所有值保持默认值,鼠标单击INSTALL按钮,此时对话框会变成如图1.5所示,INSTALL和UNINSTALL变为灰色。
这时我们需要等待一段时间,等两个按钮变成和图4一样(即INSTALL和UNINSTALL不为灰色),驱动安装完毕。
图1.4 驱动安装窗口图1.5 驱动正在安装窗口(3)在我的电脑图标上单击右键,选择管理,在弹出的对话框中单击设备管理器,展开端口即可以看到实验板对应的串口号,如图1.6所示。
图1.6 驱动正确安装1.4下载软件的使用在windows下运行STC_ISP.EXE,界面和操作步骤如图1.7所示图1.7 ISP界面2.单片机实验实验1 红黄绿灯控制1.实验目的(1)学习Keil C51集成编译软件的使用和调试程序方法。
(2)学习将用户程序下载到应用系统的方法。
(3)掌握STC89C52单片机的I/O端口的控制和使用方法。
2.实验内容(1)编写程序要求:利用单片机的P1.0, P1.1, P1.2控制3个LED灯,模仿控制交通灯(红灯亮4秒,黄灯亮2秒,,黄灯和绿灯同时亮1秒,绿灯亮4秒,如此循环)。
3.实验电路见图1.24.实验参考程序(1)程序流程图(2)C语言参考程序#include"reg52.h"#define uchar unsigned char#define uint unsigned int/*定义红黄绿灯对应的单片机引脚*/sbit Green_LED = P1^0;sbit Yellow_LED = P1^1;sbit Red_LED = P1^2;/*毫秒延时函数*/void delay_ms(uint num){uchar i;while(num--)for(i = 0 ; i < 123; i++);}/*主函数*/void main(){while(1){Red_LED = 0;Yellow_LED = 1;Green_LED = 1;delay_ms(4000);Red_LED = 1;Yellow_LED = 0;Green_LED = 1;delay_ms(2000);Red_LED = 1;Yellow_LED = 0;Green_LED = 0;delay_ms(1000);Red_LED = 1;Yellow_LED = 1;Green_LED = 0;delay_ms(4000);}}(3)汇编语言参考程序ORG 0000HSJMP MAINORG 0030HMAIN: CLR P1.2 ;红灯亮4SSETB P1.0 ;绿灯灭SETB P1.1 ;黄灯灭MOV R0,#40ACALL DELAY;自己编写DELAY: MOV A,R0 ;延时程序,R0=10,延时1SMOV R5,ADELAY3: MOV R6,#XXH ;XX的数值自己计算填写DELAY2: MOV R7,#XXH ;XX的数值自己计算填写DELAY1: DJNZ R7,DELAY1DJNZ R6,DELAY2DJNZ R5,DELAY3RETEND5.实验步骤(1)根据实验原理图编写程序,用“Keil uVision4”编译软件进行编译,如未通过,则修改程序,直至通过。
(2)用STC-ISP.EXE软件将所编写程序生成的“HEX”文件下载到实验板STC89C52芯片中(3)运行程序,观察实验板上的红,黄,绿三个LED灯的亮灭次序和时间是否符合实验内容要求,如果不符合要求,改写程序,按照步骤(1)开始重新做实验,直至成功。
6.思考题(1)怎样计算延时子程序的延时时间?(2)如何计算与LED连接的电阻阻值?(3)如何用89C52单片机的I/O口控制继电器?画出电路原理图。
(4)根据实验板原理图,编写一段8个LED循环闪烁的流水灯程序。
7.实验报告要求(1)画出本实验相关的原理图。
(2)回答思考题中的题目。
(3)总结本次实验,简述自己的感想。
实验2 键盘LED数码管显示1.实验目的掌握独立键盘,LED数码管的电路连接方法和编程方法。
2.实验内容(1)编写程序,按下S2,S3,S4,S4任何一个按键的时候,蜂鸣器都鸣叫,松开按键的时候蜂鸣器停止鸣叫。
(2)开始的时候,数码管左边位不显示,右边位数码管显示数值0,每按一次S4按键,数码管显示值加1,直至9,再循环从0显示到9。
3.实验电路见图1.24.实验参考程序(1)C语言参考程序#include"reg52.h"#define uchar unsigned char#define uint unsigned int/*蜂鸣器引脚定义*/sbit Beep = P2^7;/*数码管位选引脚定义*/sbit S2 = P2^6;sbit S1 = P2^5;/*按键引脚定义*/sbit Key1 = P2^0;sbit Key2 = P2^1;sbit Key3 = P2^2;sbit Key4 = P2^3;/*数码管数字0~9段码*/uchar code Num[10] = {0x30,/*0*/0xFC,/*1*/0xA2,/*2*/0xA4,/*3*/0x6C,/*4*/0x25,/*5*/0x21,/*6*/0xBC,/*7*/0x20,/*8*/0x24,/*9*/};/*毫秒延时函数*/void delay_ms(uint num){uchar i;while(num--)for(i = 0 ; i < 123; i++);}/*LED数码管显示*/void LED_DispNum(uchar num){S1 = 0;S2 = 1;P0 = Num[num];}/*按键扫描*/uchar KeyScan(){uchar keyval;if( (Key1 == 0) || (Key2 == 0) || (Key3 == 0) || (Key4 == 0) ){delay_ms(10);if( (Key1 == 0) || (Key2 == 0) || (Key3 == 0) || (Key4 == 0) ){if(Key1 == 0)keyval = 1;else if(Key2 == 0)keyval = 2;else if(Key3 == 0)keyval = 3;else if(Key4 == 0)keyval = 4;Beep = 0;while( (Key1 == 0) || (Key2 == 0) || (Key3 == 0) || (Key4 == 0) );Beep = 1;}}elsekeyval = 0;return keyval;}/*主函数*/void main(){uchar DispNum = 0;uchar Keyval;while(1){Keyval = KeyScan();if(Keyval == 4){if(DispNum < 9)DispNum++;elseDispNum = 0;}LED_DispNum(DispNum);}}(2)汇编语言参考程序BEEP EQU P2.7 ;蜂鸣器S1 EQU P2.5 ;数码管位个位S2 EQU P2.6 ;数码管位十位KEY1 EQU P2.0 ;按键1KEY2 EQU P2.1 ;按键2KEY3 EQU P2.2 ;按键3KEY4 EQU P2.3 ;按键4ORG 0000HSJMP MAINORG 0030HMAIN: MOV R0,#00HCLR FO ;按键4按下标志位F0=1CLR S1SETB S2ACALL DISNUM ;数码管显示子程序LOOP: ACALL KEYSCAN ;按键扫描JNB F0,LOOPINC R0CLR F0CJNE R0,#10,LOOP1MOV R0,#00LOOP1: ACALL DISNUMSJMP LOOPDISNUM:MOV DPTR,#TAB ;数码管显示子程序MOV A,R0MOVC A,@A+DPTRMOV P0,ARETKEYSCAN:JB KEY1,K2 ;按键扫描子程序ACALL DELAY ;延时防止抖动JB KEY1,K2CLR BEEPJNB KEY1,$SETB BEEPK2: ..........K3: ..........K4: JB KEY4,K5ACALL DELAYJB KEY1,K5CLR BEEPSETB F0JNB KEY1,$SETB BEEPK5: RETDELAY: ....... ;延时10毫秒子程序.......TAB: DB 30H,0FCH,0A2H,0A4H,6CH,25H,21H,0BCH,20H,24HEND5.实验步骤(1)根据实验原理图编写程序,用“Keil uVision4”编译软件进行编译,如未通过,则修改程序,直至通过。