当前位置:文档之家› 基于MCS-51单片机的

基于MCS-51单片机的

基于MCS-51单片机的
基于MCS-51单片机的

毕业设计(论文)任务书

目录

摘要 (1)

Abstract (1)

前言 (2)

第一章绪论 (3)

1.1电子钟的发展 (3)

1.2常用电子钟系统及模式 (3)

1.3电子钟的系统原理 (3)

第二章 Proteus简介 (4)

2.1P ROTEUS SP3软件介绍 (4)

2.2P ROTEUS SP3仿真步骤 (5)

2.3P ROTEUS SP3特点 (5)

第三章电子钟系统原理及设计 (7)

3.1设计原理 (7)

3.2电子钟的方案选择 (7)

3.3电子钟系统硬件设计 (8)

3.3.1单片机的最小系统 (8)

3.3.2电子钟的显示电路 (9)

3.3.3按键控制 (9)

3.3.4时钟信号产生电路设计 (10)

3.3.4.1 DS1302时钟芯片 (10)

3.3.4.1 DS1302与单片机连接 (10)

3.3.5电子钟系统整体电路的设计 (11)

3.4电子钟系统软件设计 (12)

3.5电子钟系统的调试 (13)

3.5仿真结果分析与展望 (14)

总结 (15)

致谢 (16)

参考文献 (17)

摘要

电子钟是目前应用非常广泛的一种电子装置,本文利用AT89S52设计了一种电子钟。本设计由硬件和软件相配合使用。硬件由主控器、时钟电路、温度检测电路、显示电路、键盘接口5个模块组成。主控模块用AT89S52、时钟电路用时钟芯片DS1302、显示模块用LCD1602液晶屏、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键完成;单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送给单片机处理,单片机再把时间数据和温度数据送给LCD液晶屏显示闹钟标志、阳历年、月、日、时、分、秒、星期、温度。软件利用C语言编程实现单片机程序控制。最后用Proteus软件进行仿真并验证其正确性。

关键字:电子钟、LCD1602、Proteus、DS1302、DS18B20

Abstract

Clock is the application of a very wide range of an electronic device, this paper AT89S52 designed an electronic clock.The electronic device has hardware and soft ware.The hardware from the master, the clock circuitry, temperature detection circuit, display circuit, keyboard interface 5 modules. Main control module with the

AT89S52, clock circuit with the clock chip DS1302, with the LCD1602 LCD display module, the temperature detected by DS18B20 temperature sensors, keyboard interface circuit with ordinary buttons to complete; microcontroller through the clock chip DS1302-time data acquisition, DS18B20 collecting temperature signal sent to the microcontroller processing,SCM time data and temperature data then sent to LCD liquid crystal screen display alarm signs, Gregorian year, month, day, hour, minute, seconds, weeks, temperature. Software programming using C language SCM process control.Finally Proteus simulation software and verify its correctness. Keywords:electronic clock, LCD1602, Proteus, DS1302, DS18B20

前言

随着微电子技术和超大规模集成电路技术的不断发展,家用电子产品不但种类日益丰富,而且变得更加经济实用,单片微型计算机体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域得到了广泛的应用。电子钟是一种应用非常广泛的日常计时工具,数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用。LCD数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。

电子钟在现今社会已得到了广泛的运用,例如在商场、街道等地方大多都采用电子钟来显示时间,一些智能小家电上也利用电子钟进行时钟显示和控制。通过对各种电子钟表、历的不断观察总结发现目前市场的电子钟都存在一些不足之处,比如:时钟不精确、产品成本太高、无环境温度显示等,这都给人们的使用带来了某些不便。为此设计了一种功能全面、计时准确、成本低廉的基于MCS-51单片机的电子钟。本设计主控模块用AT89S52、时钟电路用时钟芯片DS1302、显示模块用LCD1602液晶屏、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键完成;单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送给单片机处理,单片机再把时间数据和温度数据送给LCD液晶屏显示。本设计具有功耗小、显示清晰直观、走时准确、可以进行夜视等优点。

实现时间显示,并做到年、月、日、时、分、秒可调;闹钟功能,能做到掉电后闹钟信息不丢失;温度的实时显示,能显示负温度。

第一章绪论

1.1 电子钟的发展

电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。

1.2 常用电子钟系统及模式

目前市场上各式各样的数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大,而且目前市场上的电子钟一般都用LED显示,显示界面不友好。市场上还有一些老式的机械式电子钟,机械式的电子钟使用寿命较短,一般只能使用一年时间,机械式电子钟出现故障后很难修复,这样很浪费资源。因此有必要对机械式电子钟进行淘汰,对数字电子钟进行改进。

本文设计的数字电子钟,设计的电路成本较低,可靠性高,运用简单方便,正常环境下能使用五年。出现元器件老化故障,可以只更换元器件,便可正常使用,节省资源,保护环境。

1.3 电子钟的系统原理

本文设计的电子钟是单片机系统的一个应用,由硬件和软件相配合使用。硬件由主控器、时钟电路、温度检测电路、显示电路、键盘接口5个模块组成。主控模块用AT89S52、时钟电路用时钟芯片DS1302、显示模块用LCD1602液晶屏、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键完成;软件利用C 语言编程实现单片机程序控制。单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送该给单片机处理,单片机再把时间数据和温度数据送给LCD液晶屏显示闹钟标志、阳历年、月、日、时、分、秒、星期、温度。

第二章 Proteus简介

2.1 Proteus SP3软件介绍

Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。

除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。

Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。Proteus包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。

Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。本文章基于ProteusPRO6.7SP3

和KEIL uVision3 软件。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

proteus 的工作过程

运行proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。软件的编写可以在Keil C51 环境下进行,芯片的型号选择AT89S52,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex 文件。

2.2 Proteus SP3仿真步骤

Proteus本身是无法仿真的,要配合上keil,因为需要将程序写入芯片。

首先,你要下载安装这两个软件了。

第二步,安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的 VDM51.dll文件复制到 C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。) 第三步,用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在[C51] 栏目下加入 TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的“3”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV4, 所以我用的是TDRV5)

第四步,keil的设置。为了让读者更好的了解这个过程,笔者以Proteus 自带的例子来说明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89S52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。

再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。

第五步,Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。下面我们用鼠标左键点击菜单"File",再点击"Load Design",导入"8051 LCD Driver"文件夹下的LCDDEMO.design文件。调试注意点:

1. 一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil 的工程指工程的目录,即Proteus的工程Design文件(后缀名.DSN)要和包含了Keil工程文件的那个文件夹在同一层目录下)。(经过操作发现:Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清楚,且Keil工程名与Proteus工程名相同),否则proteus报错:Unable to open HEX file 'Keil\DS130

2.hex'. keil报错: target dll has been cancelled debugger aborted!)

2. 必须生成烧写文件即 *.hex文件。

3. proteus的debug菜单下选定"use romote debuger monitor

2.3 Proteus SP3特点

采用 Proteus仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、实验过程中损耗小、与工程实践最为接近等。当然其存在的缺点也是有的。

(1)内容全面

内容全面包括其能实验的内容包括软件部分的汇编、C51 等语言的调试过

程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,因此采用 Proteus 仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。

(2)硬件投入少,经济优势明显

对于传统的采用单片机实验教学板的教学实验,由于硬件电路的固定,也就将单片机的 CPU和具体的接口电路固定了下来。在单片机的实际教学中,如果要涉及到 51 系列,也要涉及到 PIC16 系列,那么为了教学必然要投入两种单片机的实验教学板;同时在教学过程中所涉及到的接口电路,也需要有较大的投入和储备,以利于实验的进行和在实验过程中元件损毁后的更换。Proteus 所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。

(3)实验过程中损耗小,基本没有元器件的损耗问题

在传统的实验教学过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用 Proteus仿真软件进行的实验教学,则不存在上述的问题,其在实验的

过程中是比较安全的。

(4)与工程实践最为接近,可以了解实际问题的解决过程

在进行课程设计或进行大实验的时候,可以具体的在 Proteus中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。

(5)大量的范例,可供学生参考处理

在系统的设计时,存在对已有资源的借鉴和引用处理,而该仿真系统所提供的较多的比较完善的系统设计方法和设计范例,可供学生参考和借鉴。同时也可以在原设计上进行修改处理。

(6)协作能力的培养和锻炼

一个比较大的工程设计项目,是由一个开发小组协作完成的。了解和把握别人的设计意图和思维模式,是团结协作的基础。在 Proteus 中进行仿真实验时,所涉及到的内容并不全是学生独立设计完成的,因此对于锻炼学生的团结协作意识,是有好处的。

第三章电子钟系统原理及设计

3.1设计原理

本设计主要是利用时钟芯片DS1302 产生时间\日期信号。通过时钟芯片和单片机的简单串行口(P0)通信,单片机读取信号,并将读取到的信号写入LCD1602。设计中还增添了附加温度实时显示功能,通过DS18B20采集温度,并通过P1.4口将信号输入单片机进行数据处理和显示。最后利用proteus进行仿真,验证其正确性。

3.2电子钟的方案选择

方案一:利用数字电子电路的知识制作时钟:利用74LS160计数的简易数字控制电路,由NE555产生频率为1HZ的输入信号,经过74LS48译码由数码管显示。当数字大于100时有指示灯显示,大于300时返回。

方案二:基于AT89S52单片机来制作电子时钟:其最大的好处就是可最大的调整时钟使其的准确度更高。所以根据课题要求为了得到更好的最确度所以决定选择方案二作为本设计的方案。其可归结如下:

方案比较及选用依据:

显然方案二比方案一经济成本相对低廉,技术指标更优越,产品更适合家庭使用,而且方案二更能锻炼我们的动手能力。由此可见,选择方案二才是最佳的选择。

3.3电子钟系统硬件设计

3.3.1单片机的最小系统

在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控。监控的重要组成部分。本设计中采用AT89S52为处理器。最小系统如图3-1所示。

图3-1 AT89S52单片机最小系统

1、时钟电路

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89S52单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。

2、复位电路

复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图所示。当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。

3.3.2电子钟的显示电路

显示部分采用LCD1602液晶显示屏显示。数据口连接单片机AT89S52的P0口,控制部分连接单片机AT89S52的P1.0—P1.2口,10K的排阻用作于上拉电阻。如图3-2所示。

图3-2 电子钟的显示电路

3.3.3按键控制

主界面时按键的功能:

1.设置时间

2.设置闹钟;

3.开启闹钟(开启后LCD第一行第一个有个特殊标志);

4.当闹钟触发的时候按4号键停止(否则闹钟会在1分钟后自动停止)

设置时间和闹钟界面时的按键功能:

1.切换光标;

2.光标对应处的信息加1;

3.保存设置的信息返回主界面;

4.不保存设置的信息返回主界面;

按键与单片机连接如图3-3所示。

图3-3 按键控制

3.3.4时钟信号产生电路设计

3.3.

4.1 DS1302时钟芯片

DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有单的串行接口与单片机进行通信实时时钟/日历电路提供秒数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决间能简单地采用同步串行的方式进行通信仅需用到三个口线串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个低保持数据和时钟信息时功率小于1mW。

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作是写入时写入数据。

DS1302 是由DS1202 改进而来增加了以下的特性双编程涓流充电电源附加七个字节存储器它广泛应用于电话产品领域下面将主要的性能指标作一综合:实时时钟具有能计算2100 年之前的秒分时日日;31 8 位暂存数据存储RAM;

串行I/O 口方式使得管脚数量最少;宽范围工作电压 2.0 5.5V;工作电流2.0V 时,小于300nA;读/写时钟或RAM 数据时有两种传送方式单字节传送;8 脚DIP 封装或可选的8 脚SOIC封装根据表面装配;简单 3 线接口;与TTL兼容Vcc=5V;可选工业级温度范围-40~+85;与DS1202 兼容;在DS1202 基础上增加的特性;对Vcc1 有可选的涓流充电能力;双电源管用于主电源和备份电源供应;备份电源管脚可由电池或大容量电容输入;附加的7 字节暂存存储器。

3.3.

4.1 DS1302与单片机连接

时钟芯片与单片机连接如图3-4所示。

AT89S52的P3.4口进行数据传输,P3.3,P3.4口作为控制端,对DS1302进行控制。

图3-4 DS1302时钟芯片

3.3.5电子钟系统整体电路的设计

本设计主控模块用AT89S52、时钟电路用时钟芯片DS1302、显示模块用LCD1602液晶屏、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键完成;单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送给单片机处理,单片机再把时间数据和温度数据送给LCD液晶屏显示。

图3-5 基于1602液晶显示的可调式电子钟的设计仿真电路原理图

3.4电子钟系统软件设计

本系统程序按功能模块编写,结构清晰,可读性强,主要流程图如图3-8。在按键中断程序中识别按键并设置相应的标志作为以后功能选择的依据,同时由LCD显示测量值。在中断程序中根据键值分别完成时钟调整和闹钟调整两种功能。

图3-8系统软件流程图

通过Keil软件进行编程,首先建立工程,然后创建LCD日历.C文件,在进行编程。程序设计如图3-5。程序见附录

图3-5 Keil软件编程

程序设计完成后进行编译,程序编译成功。

编译结果如图3-6所示。

图3-6 编译结果

经过多次对程序进行修改、完善,程序编译成功。为了对程序的进一步调试,进行单步运行。程序执行正常。如图3-7

图3-7 程序单步执行

程序经过多次编译和单步调试,证明程序可靠性。最终生成LCD日历.Hex 文件,将该文件烧录到单片机。用于制作硬件实物。实物的制作也是对程序的进一步的验证。

3.5 电子钟系统的调试

图3-8 基于1602液晶显示的可调式电子钟的设计仿真电路原理图如上图所示,该电子钟系统共由四部分组成:开关调时电路、时钟芯片电路、

报警电路、LCD1602电路。各部分的工作简单明了:

主界面按键功能:

1.在主界面时,按“1”键设置时间

具体,如图3-6所示

图3-6 主界面

在图3-6界面时,此时再按“1”键切换光标,按“2”键光标对应处信息加1,按“3”键保存设置的信息返回主界面,按“4”键不保存设置的信息返回主界面

2. 在主界面时,按“2”键设置闹钟;

具体,如图3-7 所示

图3-7 设置闹钟界面

在图3-4-1界面时,此时再按“1”键切换光标,按“2”键光标对应处信息加1,按“3”键保存设置的信息返回主界面,按“4”键不保存设置的信息返回主界面.

3. 在主界面时,按“3”键开启/关闭闹钟;

开启闹钟(开启后LCD第一行第一个有个特殊标志); 如图3-8所示

图3-8 闹钟开启

4.当闹钟触发的时候按“4”号键停止(否则闹钟会在1分钟后自动停止)。

3.5 仿真结果分析与展望

用该系统多次测量得到的参数和平均值如表1所示,从表1中可以看出该系统测得的数据比较集中。

表1 基于1602液晶显示的可调式电子钟的测试值

越性,但由于本人水平和开发时间有限,离一个完全实用的,能够完全符合市场需求的可调式电子钟还有一定的差距。因此,在以后的研制过程中,还需要在系统抗干扰方面、增强显示效果、提高其灵敏度及功能上做大量工作,以满足更高使用要求。

总结

经过一个多月的努力,我基本上完成了基于AT89S52微处理器控制的基于LCD1602液晶显示的可调式电子钟的设计。所完成的工作主要包括以下几个方面:

1 准备阶段的工作

准备阶段的工作主要包括:查阅国内外相关文献,了解微控制器的发展过程及发展趋势,了解LCD1602显示屏的工作原理、主要作用。

2 对显示系统的硬件设计

本文采用单片机与液晶显示模块(LCD1602)模拟口线方式。该模拟口线方式简单,比较容易控制液晶显示模块(LCD1602)。

3 系统软件设计

软件主要包含时钟判断和显示程序,调用不同指令来完成相应的功能。本可调式电子钟系统的实现采用单片机C语言来编写,在其编写过程当中比较方便的调用单片机内部的资源,从而比较容易控制与单片机相联系的外围电路。

本文设计了基于1602液晶显示的可调式电子钟系统,并运用Proteus软件完成了电路设计并仿真实现了该系统的功能。通过仿真数据,可以验证本电路的正确性,简单并且易于实现。

这次实验,运用DS1302时钟芯片、单片机AT89S52、DS18B20温度传感器以及开关控制电路实现整个系统的功能,虽然达到了基本的电子钟设计要求,达到了预期的效果,但因为只涉及最基本的电路,所以在现实中很多部分都可以进行扩充,而且由于收集数据的有限性,只能结合书本上的理论知识。由于本人知识有限,时间紧促,存在不足之处敬请老师批评指正。

致谢

在毕业设计期间,我得到了许多热心的教师、同学的帮助,在此表示深深的谢意。

首先,我衷心地感谢我的指导老师张庆芳老师。她耐心的教诲和严谨的态度使我受益匪浅,正是她在各方面的精心指导才使我最终完成了课题。

同时,我也要感申乐同学。在整个毕业设计期间,正是我们积极的讨论及他的全力协助,才使我的课题以较快的速度完成。

最后,我不能不对在百忙之中抽出宝贵时间来参加论文评阅的各位教师表示由衷的谢意。

MCS-51系列单片机实验设备存在的缺陷及设计方案

MCS-51系列单片机实验设备存在的缺陷及设计方案 摘要:本文讨论了国内几款MCS-51 系列单片机实验设备存在的缺陷,同时也提出了自己的设计方案,为新一代设备的问世提供参考,单片机实验设备中以MCS-51 为核心的产品最多。 关键词:单片机实验设备缺陷设计 引言 目前,虽然单片机家族的成员种类繁多,但MCS-51 系列单片机依旧占领着工业测控和自动化工程应用的主要市场,是国内单片机应用领域中的主流,这一客观事实决定了全国各大高校的单片机类教材仍以MCS-51系列单片机为主, 同时MCS-51 单片机教学和实验设备也得到了相当迅速的发展。 一、现有实验设备状况和特点 1、上海杭虹公司生产的ADEK单片机实验系统价格十分 昂贵,约为五千元左右,且需外接一个稳压电源,体积也相当庞大。开发环境仅支持汇编语言编程,不支持C语言。 2、浙江启东计算机有限公司生产的DAIS80958B+实验系统,技术相对比较成熟,功能也较多,但价格仍要在三千元以上,体积也比较庞大。开发环境也存在局限性。使用时灵活性差。

但它们只有仿真功能,是真正意义上的仿真设备,没有任何外围电路,而且每台价格在一千八百元左右,相对比较昂贵。 二、各种实验设备的共同问题 1、功能接口陈旧且价格昂贵实验系统上只是由一些传统的与教材同步的实验项目,一些综合性的、设计性的实验项目过于古老而失去的实际价值。在功能接口的数量上也相对较少,不利于系统结构的简化和扩展。在此种情况下,系统设备的整体价格仍旧保持在几千元以上,可以说其性价比很差。对于高校一般设备单位价值在500 元以上,专用设备单位价值在800 元以上,使用期限在一年以上,并在使用过程中基本保持原有物质形态的资产被称为固定资产。据统计,多数高校的单片机实验设备作为固定资产,使用期限一般为5-10 年之间,其中期限为8 年的占50%以上。对于当今电子行业的飞速发展可想而知,实验设备的经济价值与实用价值已经产生了矛盾,而且随着时间的推移正在逐步加深。 2、体积庞大 设备体积庞大意味着实验台面积要跟着增加,保存和管理均需占用很大空间,且在外观上也会失去美观。几大厂商的产品占用实验台面积基本上远超过一张A3 纸,每台设备的保存空间大约也要在 0.05 立方米左右(按长*宽*高=0.6米*0.4 米*0.2 米=0.048 立方米计算),如果一间实验室按配置40 套实验设备计算,保存空间

完整word版,C语言期末大作业

伊犁师范学院计算机科学系 实验训项目报告 一、小组成员及分工: 姓名:张雁 学号:0908******* 二、指导老师:王慧玲 三、说明程序编制要点,以及自己在项目制作中的难 点及解决办法: 编写的要点:编写N个函数分别用来求平均分;总分按降许序排列;按姓名查找学生的成绩;找出各科 最高分的学生姓名,学号等。编写主函数提供不 同的选择途径。 难点:函数之间的调用,姓名的比较和交换。 解决办法:通过参数的传递;用字符串处理函数。 四、说明项目中所涉及的知识点及难点: 知识点:基础知识,结构体,选择结构程序设计,循环结构程序设计,数组,字符数组,常用的字符串处理函数,函数的调用。 难点:函数的调用,循环程序设计。

五、附录源程序: 注:必须有一定的注释,说明函数功能以及主要语句所起的作用 #include "stdio.h" #include "string.h" #define m 5 void search(); /*声明按姓名查找学生的信息*/ void ave(); /*声明turn out average*/ void paixu(); /* 声明score pai mingci*/ void maxandmin(); /*声明maxandmin score student's number,name and every course score*/ struct student /*声明define a struct*/ { int num; /*student’s number */ char name[10]; int math,english,chinese; /*three course score*/ int no; /* student mingci*/ float sum; float ave; }stu[m]; main() { int i; int q=0,p;

大工18秋《单片机原理及应用》大作业题目及要求【标准答案】

网络教育学院 《单片机原理及应用》大作业 题目:交通灯控制系统设计 学习中心: XXX 层次: XXX 专业: XXX 年级: XXX 学号: XXX 学生姓名: XXX

交通灯控制系统设计 一、课题背景 由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 二、交通灯的发展 1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。 1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 中国最早的马路红绿灯,是于1928年出现在上海的英租界。 三、交通灯控制系统工作原理 本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生

单片机实验二、MCS-51单片机并行端口实验

大连理工大学实验报告 实验时间:2014年6月30日星期1时间:10:00~ 11 :40 实验室(房间号):420实验台号码:班级:姓名: 指导教师签字:成绩: 实验二 MCS-51单片机并行端口实验 一、实验目的和要求 1.目的:进一步熟悉、掌握KEIL软件和DP-51PROC综合试验系统的使用。掌握单片机并行端口的编程和使用方法。 2.要求:编制简单的程序,利用P1口的8位端口使用排线与LED1~LED8按顺序连接,使用一条单独连线将P 3.2与SW1连接,编制一个P1口的输出程序,实现8个LED灯依次点亮的流水灯效果。 二、实验算法 本程序属于无限循环结构,循环中通过判断P3.2的电平来决定彩灯的右移还是左移。主程序中主要变量是A,P3.2,P1,其中A作为数据移动寄存器,P3.2作为按键输入口,为高电平右移A,低电平则左移A,P1由A传送数据,外接LED1~8,实现彩灯移动现象。由于不加延时的循环在时钟频率作用下是很快的,现象是所有的灯一直是亮的状态。,解决这个问题就是在程序里面加延时函数。 三、实验流程图

四、程序清单 ORG 8000H LJMP START ORG 8100H START: MOV SP,#60H SETB P3.2 MOV A,#0FEH LED: JB P3.2,RIGHT RL A AJMP RUN RIGHT: RR A RUN: MOV P1,A CALL DELAY AJMP LED DELAY: PUSH 01H PUSH 02H MOV R1,#00H DELAY1: MOV R2,#00H DJNZ R2,$ DJNZ R1,DELAY1 POP 02H POP 01H RET END 五、实验结果与分析 实验现象:拨动开关闭合,彩灯左移;拨动开关断开,彩灯右移。无问题。 实验中,我们通过控制开关SW1能够控制彩灯移位的方向,SW1=1,即将P3.2口置一,理论上使小灯循环右移;SW1=0,即将P3.2口置零,理论上小灯应循环左移,但是由于实验仿真系统中的LED灯的高位和低位位置刚好相反,导致我们操作时看到的结果正好相反,但实际上实验是成功的。 六、实验体会和建议 通过本次单片机的并行输入输出端口实验,我对Keil仿真调试软件的操作更为熟练;也对单片机的P1等端口的应用有了更清楚的认识,同时学会了分支程序的设计,JB指令的方便和实用性。 七、主要仪器设备

单片机大作业

大连理工大学本科设计报告(单片机原理综合设计) 题目: 课程名称:单片机实验 学院(系):信通学院 专业:通信工程 班级:电通1202 学号:201201203 学生姓名:牛玉博 成绩: 20 15 年 5 月8 日

目录 1.题目及内容 (2) 2.设计思路 (2) 2.1数码管显示 (2) 2.2显示内容转换 (2) 2.3闪烁报警 (2) 2.4温度上下限的设置 (2) 2.5中断程序 (2) 3.相关资料 (3) 4.电路图 (3) 5.程序框图 (4) 5.1中断程序流程图 (4) 5.2主程序流程图 (6) 6.源程序 (6) 7.调试中所遇到的问题 (14) 8.调试解决了的问题. (14) 9.个人体会(总结) (14)

一、题目及内容 用汇编语言模拟电梯运动系统设计程序,要求有完成如下要求:利用zlg7290和pcf8563t以及A/D转换实现下述功能。 1.利用键盘改变显示内容(能读A/D转换值、读取时间), 并且闪烁显示3秒,变成稳定显示。 2.键盘设定温度上限值和下限制,当温度达到上限值后, 显示闪烁;同样,当温度达到下限值后,同样发出报警, 并闪烁。 3.当时间设定值达到设定值后,同样发出报警,并闪烁。 4.时间闪烁与温度闪烁时间长短有区别。 二、设计思路 1.数码管显示 通过ZLG7290B的数码管显示,将数据转换成BCD码,然后通过字形码的对应关系显示,通过中断程序每秒读取一次数据。 2.显示内容转换 通过开关控制显示的内容, SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限 3.闪烁报警 当条件满足报警时,通过调用显示程序,通过控制闪烁控制字,控制数码管相应的位置闪烁。时间报警闪烁一分钟,温度报警一直闪烁。 4.温度上下限的设置 通过键值设置上下限,通过不同按键对应于上限和下限的设置,然后的键值通过一定计算赋给上下限的存储空间。 5.中断程序 两个中断,其中中断0用于每秒显示,中断1用于键值的读取。

大工19《单片机原理及应用》大作业题目及要求答案

网络教育学院《单片机原理及应用》大作业 题目: 学习中心: 层次: 专业: 年级:年春/秋季 学号: 学生姓名:

单片机电子时钟设计 一、引言 单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 三、时钟设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

MCS-51单片机实验

当前位置:网络教学综合平台 > 电子科学与信息技术学院 > <<微机原理与接口技术>> 《微机原理与接口技术》 《微机原理与接口技术》课程教学大纲 (通信工程05级) 课程中文名称:微机原理与接口技术 课程英文名称:Principles of Microcomputer and Interfacing Technology 课程类别:专业课,必修 课程编号: 071210T202 课程归属单位:贵州大学电子科学与信息技术学院 修定时间:2005 年8月 一、课程的性质、任务 1、课程的性质 本课是电子、通信工程类专业的专业基础课限选课程。 本课程以单片机系统为主线,使学生获得单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统接口设计、软件编码、调试方法,了解单片机在通信、测控等电子技术应用领域的应用,培养学生的动手能力,初步具备应用单片机系统开发产品的能力。 2、课程要求 通过本课程的学习使学生: 1)熟悉MCS-51单片机的硬件基本原理 2)掌握MCS-51系列单片机的指令系统和汇编语言的程序的编写调试方法。3)掌握MCS-51系列单片机扩展RAM、ROM和I/O的方法,掌握MCS-51单片机常用接口的设计和应用。 3、课程适用专业与学时、学分 授课对象:通信工程05级。 授课学时:总学时72,其中理论教学54,实验18学时。 学分:4 4、先修课程 计算机概论,电路分析,电子技术,数字逻辑,高级语言程序设计等。

5、推荐教材及主要教学参考用书 推荐教材: 胡汉才.单片机原理及其接口技术(第2版),清华大学出版社,2004年。书号:978730207737-4 教学参考书: 1、何立民. 单片机初级教程—原理与应用,北京航空航天大学出版 社,2000年。 2、何立民. 单片机中级教程—原理与应用,北京航空航天大学出版 社,2000年。 3、李朝青. 单片机原理及接口技术,北京航空航天大学出版社,1994 年。 4、薛均义. MCS51/96系列单片微型计算机及其应用,西安交通大学 出版社,2001年。 5、刘乐善. 微型计算机接口技术及应用,华中科技大出版社,书号:7560922104 6、周佩玲等. 16位微型计算机原理.接口及其应用(修订版),中国科学技术大学出版社,2005 7、姚凯学、孟传良.单片机原理与应用,重庆大学出版社,2000年 6、教学方法 ●教学方式:以课堂讲授为主,实验为辅;以多媒体课件为主, 板书为辅。 ●考核方式:期末总成绩=期末考试成绩(70%)+学习表现和平 时成绩(20%)+实验考查成绩(10%)。 二、各章教学内容和要求 第1章、单片机概述 1. 基本要求 了解:单片机的结构特点、发展历史、应用领域以及系列产品。 熟悉:MCS-51单片机的内部组成及信号引脚,8051的存储器结构,并行输入、输出口电路结构,时钟电路、时序及指令序列以及MCS-51单片机的工作方式。 2.重点和难点: 难点:(1)MCS-51单片机的内部结构原理; (2)MCS-51单片机的引脚功能; (3)内部存储器的组成和特殊功能寄存器的功能。 第2章 MCS-51指令系统与汇编语言程序设计 1. 基本要求: 了解:MCS-51指令格式、寻址方式以及指令的执行过程。 熟悉:MCS-51的指令系统――数据传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令和布尔变量操作类指令。 掌握:MCS-51汇编语言程序设计步骤;要求具备独立设计简单程序、分支程序、循环程序和子程序能力。 2.重点和难点: 重点:MCS-51的指令系统、常用指令的用法;汇编语言程序设计和调试。

单片机应用系统设计工程实践报告

2016-2017学年第1学期 单片机应用系统设计/工程实践 (课号:103G06B/D/E) 实验报告 项目名称:基于AT89C51单片机温度报警系统 学号 姓名 班级 学院信息科学与工程学院 完成时间

目录 一、项目功能及要求 (3) 1.1、课程设计的性质和目的 (3) 1.3、项目设计要求 (3) 二、系统方案设计及原理 (3) 2.1、设计主要内容 (3) 2.2 、AT89C51单片机简介 (3) 2.3 、DS18B20简介 (4) 2.4 、数码管显示 (5) 2.5、报警电路 (6) 三、系统结构及硬件实现 (7) 3.1、总电路图 (7) 3.2、单片机控制流程图 (8) 四、软件设计过程 (8) 五、实验结果及分析 (8) 5.1 、Proteus仿真 (8) 5.2 、C程序调试 (9) 六、收获及自我评价 (14) 七、参考文献 (15)

一、项目功能及要求 1.1、课程设计的性质和目的 本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设范围则发出警报,且精度高。 利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。 1.2、课程设计的要求 1、遵循硬件设计模块化。 2、要求程序设计结构化。 3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。 5、适当追求编程技巧和程序运行效率。 1.3、项目设计要求 1、基于AT89C51单片机温度报警系统; 2、设计3个按键分别为:设置按钮、温度加、温度减; 3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别; 二、系统方案设计及原理 2.1、设计主要内容 本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。 2.2 、AT89C51单片机简介 AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。

单片机大作业

单片机大作业 物流卓 1.LED闪烁实例 LED闪烁实例中使用51单片机控制8个LED间隔亮灭,形成闪烁效果,在实例中51单片机通过一个延时程序控制P1端口轮流输出高电平和低电平,驱动发光二极管的发光和熄灭。 程序代码使用两个嵌套的for循环语句来控制延时,当到达延时之后使P1输出电平翻转。 下图为电路设计图 以下为控制代码

2.流水数字 流水数字是一个51单片机使用I/O引脚驱动8段数码管,数码管轮流显示“0”~”F”数字或者字符。单位8段共阳数码管的公共端连接到VCC上,数码管的8位数据引脚则连接到P1的八个引脚上,使用1K欧姆的电阻限流,51单片机通过P1引脚将对应字符的字形编码送出供数码管显示。 下图为电路设计图 以下为程序代码

3.多位数字显示 本实例使用51单片机驱动6位数码管显示”123456”6位数字,51单片机用P1给6个8段数码管提供字形编码,而用P2.0~P2.5共6个引脚通过PNP三极管来选通对应的数码管显示。在控制程序中,为了精确的控制延时时间的时间以便造成“扫描”效果,使用Delayms 和Delayus两个函数来控制精确延时。 下图为电路设计图 以下为程序代码

4.轮流加热显示系统 轮流加热显示系统是一个用51单片机控制3个继电器轮流接通,给3个设备加热5s并且使用一位数码管来显示当前加热设备的编号。 51单片机用P2端口通过ULU2803驱动3个工作电压为5V的继电器,用P1口驱动一个数码管用于显示当前接通的继电器的编号。 下图为电路设计图

以下为程序代码

5.定时报警实例 本实例是让51单片机没隔10min控制蜂鸣器报警,51单片机使用P2.7引脚通过一个NPN三极管驱动蜂鸣器,当P2. 7输出高电平时三极管导通,蜂鸣器发声。 51单片机使用P2. 7通过三极管控制蜂鸣器,当输出高电平时三极管导通蜂鸣器发声,使用Delayms函数来进行毫秒级延时,使用Delayus函数来进行微秒级延时,当10min延时到达,蜂鸣器打开100ms 下图为电路设计图 以下为程序代码

MCS-51单片机实验基础知识介绍

MCS-51单片机实验基础知识介绍 一、MCS-51单片机(51子系列) (2) 1.基本结构 (2) DIP封装管脚描述 (2) 存储器 (3) 输入/输出口 (4) 中断系统 (4) 定时器/计数器(T/C) (5) 2.寻址方式 (5) 3.指令系统(3大类共111条) (6) 指令系统介绍要点 (7) 助记符、操作数形式,对标志位的影响 (7) 数据传送(两个操作数、源操作数不变) (8) 数据传送(堆栈操作) (8) 数据传送(交换) (9) 算术运算 (9) 逻辑运算 (10) 控制程序转移 (10) 4.汇编语言程序编程 (11) 简单例程 (11) 伪指令 (12) 指令格式 (13) 程序基本格式 (13) 中断服务子程序格式 (14) 5.源程序编译→机器语言目标程序 (14) 二.EXP-51实验板 (15) 三. 接口方法 (16) 实验2 ADC/DAC (17) 实验3 键盘与数码显示接口 (17) 实验4 串行口通信 (18) 四. 单片机开发系统 (19) 1.单片机的开发 (19) 2.单片机开发工具、AEDK (19) 3.单片机开发系统组成 (20) 4.AEDK使用方法简介 (21) 5.程序编辑/调试主要步骤 (21)

一、MCS-51单片机(51子系列) 1.基本结构 DIP封装管脚描述

存储器 包括程序存储器(内/外64K)、内RAM和专用寄存器(SFR) 内部RAM128字节 工作寄存器区1-3,由程序状态字(PSW)的RS1/RS0两位定义。 专用寄存器(不包括PC) 专用寄存器复位状态:除Pn(n=0,3)寄存器和SP寄存器外,其它皆为00H

单片机期末总结材料 最完整版

单片机期末复习总结 1.MCS-51单片机芯片包含哪些主要功能? 8051单片机是个完整的单片微型计算机。芯片部包括下列主要功能部件: 1)8位CPU; 2)4KB的片程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器; 3)128B部RAM; 4)21个SFR; 5)4个8位并行I/O口(共32位I/O线); 6)一个全双工的异步串行口; 7)两个16位定时器/计数器;0 8)5个中断源,两个中断优先级; 9)部时钟发生器。 2.MCS-51单片机的4个I/O口在使用上各有什么功能? 1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。 2)P1口:8位准双向I/O端口,作为通用I/O口。 3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。 4)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能。实际应用中常使用P3口的第二功能。 P3的第二功能:

【注】:P0口必须接上拉电阻; I/O口准双向:MCS-51单片机I/O口做输入之前要先输出1.这种输入之前要先输出1的I/O口线叫做准双向I/O口,以区别真正的输入,输出的双向I/O口。 3. MCS-51单片机的存储器分为哪几个空间?是描述各空间作用? 8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间: 1)64KB片片外统一编址的程序存储器地址空间,地址围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH围为4KB的片ROM地址空间,1000H ~ FFFFH为片外ROM 地址空间; 2)256B的部数据存储器地址空间,地址围为00H~FFH,对于8051单片机,部RAM分为两部分,其中地址围00H ~ 7FH(共128B单元)为部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址围为80H~FFH的高128B的静态RAM。 3)64KB的外部数据存储器地址空间:地址围为0000H~FFFFH,包括扩展I/O端口地址空间。

MCS51单片机软件实验题

MCS51单片机软件实验 一、数据传送 1.实验目的 (1)熟悉51单片机的开发环境Keil C51 (2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用(3)掌握MOV, MOVX和MOVC类指令的用法及区别 2.实验内容 (1)将内部数据存储器20H为首地址的十六个字节传送到30H为首地址的数据区,即:20H~2FH送30H~3FH。 (2)将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器的30H~3FH。 (3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区首址为1000H 的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B 中,注意R0中的内容不在0~9范围时的处理。 二、加减法运算 1.实验目的 (1)正确使用单片机的加减运算指令 (2)掌握不同指令对于程序状态字的影响及程序状态字的意义、用处 (3)掌握ADD,ADDC,SUBB和DA A等指令的用法 (4)学习模块化程序设计方案 2.实验内容 (1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。需考虑有进位和无进位情况。 程序入口为:加数:22H,21H,20H三字节,22H为最高位 被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位 (2)编写3字节二进制减法子程序,用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。 入口:被减数:52H,51H,50H,50H为最低位 减数:42H,41H,40H,40H为最低位 出口:差:外部数据存贮器2003H~2000H(2003H为最高位)

单片机大作业 - 马强

《单片机原理与应用》 大作业 班级:1411电科 姓名:马强 学号:2016511010

《单片机原理与应用》大作业(一)作业内容: 基于STC89C51单片机设计一个流水灯项目。实现功能:(1)实现LED灯的点亮和熄灭。 (2)实现LED灯的依次点亮。 (3)实现LED灯的循环点亮。 基于以上要实现的目标我进行了设计和分析,代码如下:#include #include #define uchar unsigned char #define uint unsigned int void delay(uint); uchar tmp,i; void main() { tmp=0x7f; P0=tmp; for(i=0;i<7;i++) { tmp=_cror_(tmp,1); delay(500); P0=tmp; } P0=0xfe; for(i=0;i<7;i++) { tmp=_crol_(tmp,1); delay(500); P0=tmp; }

} void delay(z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 仿真结果: 点亮一个LED 依次点亮

循环点亮结论:

《单片机原理与应用》大作业(二) 作业内容: 基于STC89C51单片机设计一个按键控制数码管项目。实现功能: (1)数码管的点亮。 (2)按键按下检测。 (3)按键“K1”按下数码管以2Hz的频率循环显示0 ~ F,按键“K2”按下则数码管停止自动循环显示并以当前值为基础按下加一。 基于以上要实现的目标我进行了设计和分析,代码如下:、 /***************************************************************** *****/ #include #define uchar unsigned char uchar code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46 ,0x21,0x06,0x0e}; void k1(); void k2(); sbit key1=P3^0; sbit key2=P3^1; unsigned int i; void delay(unsigned int xms) { unsigned int x, y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } void delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--);

单片机期末考试试题(答案)

单片机期末考试试题(答案) 01、单片机就是将微处理器、一定容量得 RAM与ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成得微型计算机. 2、单片机89C51片内集成了 4 KB得FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51就是以下哪个公司得产品?(C) A、INTEL B、AMD C、ATMEL D、PHILIPS 5、在89C51中,只有当EA引脚接高电平时,CPU才访问片内得Flash ROM. 6、就是非题:当89C51得EA引脚接低电平时,CPU只能访问片外ROM,而不管片内就是否有程序存储器。T 7、就是非题:当89C51得EA引脚接高电平时,CPU只能访问片内得4KB空间。F 8、当CPU访问片外得存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由 P0 口提供。 9、在I/O口中,P0口在接LED时,必须提供上拉电阻, P3 口具有第二功能。 10、就是非题:MCS-51系列单片机直接读端口与读端口锁存器得结果永远就是相同得。F 11、就是非题:就是读端口还就是读锁存器就是用指令来区别得。T 12、就是非题:在89C51得片内RAM区中,位地址与部分字节地址就是冲突得。F 13、就是非题:中断得矢量地址位于RAM区中。F 14、MCS-51系列单片机就是属于( B )体系结构. A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 15、89C51具有64 KB得字节寻址能力。 16、就是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令.T 17、在89C51中,片内RAM分为地址为 00H~7FH得真正RAM区,与地址为80H~FFH 得特殊功能寄存器(SFR)区两个部分。 18、在89C51中,通用寄存器区共分为 4 组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前得工作寄存器. 19、就是非题:工作寄存器区不允许做普通得RAM单元来使用。F

单片机大作业

单片机原理与应用 学号: 学生所在学院: 学生姓名: 任课教师: 教师所在学院:航空制造工程学院 2014年6月 13y8

基于单片机控制的可调电子数字钟 陈成龙 南昌航空大学航制学院 摘要:单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最普遍的应用手段。设计单片机应用系统时,在完成硬件系统设计之 后,必须配备相应的应用软件。Proteus软件的应用使单片机可以直接在基于原理图进 行虚拟模拟上,并和μVision共同编程,编译,仿真调试,使单片机学习的学习过程 变得直观形象。 关键词:单片机ProteusμVision仿真调试 1.功能要求 利用89C51单片机内的定时器,设计一台可调数字钟,能通过按键进行时、分、秒的调整,采用8位LED数码管以24小时方式进行显示。 2.硬件电路设计 可调数字钟的硬件电路如图1所示。89C51单片机的P0口通过三态总线收发器74LS245接到8位共阴极LED数码管的数字输入端,单片机的P3作为数码管的数位控制,从P0口输出显示字符段码,从P3口输出循环扫描控制位,利用人眼的视觉暂留功能,达到8位数码管同时显示的效果。单片机的P1.0-P1.2引脚通过三个按钮开关接地,通过判断P1.0-P1.2引脚电平的高低,决定是否进行数字钟的时、分、秒调整。 3.软件程序设计 本设计利用89C51单片机内定时器T0中断来实现数字钟功能,T0定时时间设为50ms,每隔50ms产生一次中断,如果中断20次即到达1秒。程序设计时预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元到达60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时单元清零,又从头开始计时。可调数字钟的程序流程图如下图2、图3.

基于MCS-51单片机的流水灯实验

实验一基于MCS-51单片机的流水灯实验 一、支撑课程目标 目标1:掌握微机和单片机的基本原理、编程技术、中断技术、系统扩展、定时器、串行接口和其他输入/输出接口技术,并且了解典型的单片机应用系统的设计思想和实现方法。 目标2:初步具备自行拟定实验步骤、检查和故障排除、分析和综合实验结果以及撰写实验报告的能力。 目标4:掌握MCS-51单片机/STM32F103单片机系统仿真工具和仿真流程,了解常用实验仪器、设备的基本工作原理,了解其正确使用方法,具备利用电子仪器设备和专业仿真软件对复杂工程问题进行分析和设计的能力。 二、实验类型:验证型( )、设计型(√)、研究创新型() 三、预期学生学习的成果 1、对本课程的作用、地位和学习方法有明确认知。 2、理解keil、Proteus软件安装及基本应用。 3、对实验用启东计算机厂51单片机实验箱资源及提供的实验案例有较好认知。 4、掌握MCS-51单片机的工程开发流程及Proteus软件虚拟仿真流程。 5、具有MCS-51单片机最小系统及对应I/O口控制的应用能力。 6、具有基于Keil的C51编程综合能力。 四、实验原理 LED发光二极管核心为PN结,单向导电,有阴极和阳极,两极均可以控制,需要亮起来,电流不能过大和过小,过大,烧坏二极管,过小,电光效应弱,发光不明显,引入“限流电路”。为减少I/O引脚的消耗,一般控制一极,有阳极控制法和阴极控制法。阳极控制法:阴极接地(GND),阳极I/O口高电平亮,阳极低电平不亮;阴极控制法:阳极接高电平(+5V),阴极I/O口低电平亮,高电平不亮。8个同样LED灯阳极接一起,连接+5V,就是共阳极接法。8个同样LED灯阴极接一起,连接GND,就是共阴极接法。 闪烁如何实现?一会亮,一会灭。怎么样眼睛能分辨出来?亮灭间隔超过20ms以上,人眼视觉残留现象。编程实现方案:端口电平维持想要的时间。延时不切换,CPU空操作耗时不改变端口来实现。 如何依次亮灭:从左到右,8个LED灯亮,8种状态,如何实现,数组形式?移位形式? 参考共阳极接法: Char s[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

16位单片机大作业

上海电力学院 《16位单片机应用》大作业 课程名称16位单片机应用 课程编号260717001 院(系)电子与信息工程学院 专业电子科学与技术 任课教师杨芳 班级2013142 姓名DANGDANG 学号 2013000

题目:十六位单片机----密码锁 一、设计目的及要求 运用C语言,MC9S12XS128的知识,对实现密码锁进行软件和硬件的设计和调试,掌握如何使用CodeWarrior来整合各种驱动模块,例如本实验运用到的键盘中断、LCD、PWM以及小灯模块,将这些模块整合在一起再通过算法实现硬件上的运行,达到密码锁的功能。 密码锁主要功能: 利用键盘中断、LCD、小灯、PWM模块,按下按键,在LCD可以显示对应值,并将其与预设密码进行比对。若正确,则LCD显示right,小灯由暗变亮;否则,LCD显示wrong,小灯一直保持流水灯状态,直至输入的密码正确。二、设计内容与实现过程 本次用到了相对还是比较多的模块,主要有SCI串口通信模块,LED显示模块,LCD显示模块,Timer定时器模块和中断模块,主要采用了定时器和中断的方式去控制整个系统的工作,能在超级终端以及LCD上实时显示时分秒的数据,主要是在Timer的样例程序中对当中的一些驱动以及主函数中数据的定义进行一定量的修改,来保证控制功能的实现。 具体功能和实现过程如下: 1、Main 函数 (1)全局变量定义

2、实验采用的模块 ①LCD 显示模块 运行程序后,LCD上会显示“password: r/w: ”,在对应位置还会显示按下的键位对应的定义值。 ②键盘中断模块 按下键位后,键值存入valve,调用KBDef函数,将valve键值转为定义值,存入num数组中。

MCS-51单片机实验指导书

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)具有行车里程计费,等候时间计费及起价三部分,用4位数码管显示总金额,最大值为99.99元; (2)行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价),均能通过人工输入; (3)行车里程的计费电路将汽车行驶的里程数转换成与之成正比的的脉冲数,然后由计数译码电路转换成收费金额,试验中以一个脉冲模拟汽车前进10米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲数乘以每公里单价的比例系数,比例系数可以由开关预置。例如单价是 1.0元/公里,则脉冲当量位0.01元/脉冲。 (4)用LED显示行驶公里数,2个数码管显示收费金额。 二、电子密码锁 设计要求 (1)设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯灭表示关锁,用绿灯亮、红灯灭表示开锁;(2)在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6~8位,其中4位实际有效,其余为虚设)的输入代码等于储存代码时,开锁; (3)在触动第一个按钮后的5s内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并有扬声器发出持续20s的报警信号。 三、脉冲按键电话显示器 设计要求 (1)能准确显示按键数字; (2)显示器显示内容从低位向高位前移,逐位显示按键数字,最低位为当前输入位;

(3)设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;(4)挂机2秒后,熄灭显示器的显示内容。 四、电话计费器 设计要求 (1)能够通过选择增减的方式设置卡内余额(最大显示为200元)。 (2)能够设置通话种类(1-4),并能够根据电话的种类和通话时间进行金额的扣除:1为市话(0.1元/分钟),2为国内长途(1元/分钟),3为国际长途(2元/分钟),4为特殊电话(1.6元/分钟); (3)能够进行余额不足的报警:市话低于0.5元报警,国内长途低于5元报警,国际长途低于10元报警,特殊电话低于8元报警。 五、数字钟 设计要求: (1)显示当前时间,6个数码管分别显示时(2位)、分(2位)、秒(2位); (2)校时功能; (3)闹钟功能; (4)秒表功能; (5)安排4个按键:1个用于复位、1个用于切换功能(时钟功能、校时功能、闹钟功能、秒表功能)、1个用于加1、一个用于校时确认。 六、十字路口交通灯管理控制 设计要求: 一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。设计要求: (1)有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG (乡绿)六盏交通灯需要控制; (2)交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;

相关主题
文本预览
相关文档 最新文档