当前位置:文档之家› 简易单片机实验系统设计

简易单片机实验系统设计

简易单片机实验系统设计
简易单片机实验系统设计

黑龙江东方学院

《单片机与应用课程设计》报告简易单片机实验系统设计

第1章系统概述 (1)

1.1 系统研究的目的和意义 (1)

1.2 系统研究的主要内容 (1)

第2章研究方案 (2)

2.1系统方案设计 (2)

2.2 方案实施所需的条件 (2)

2.2.1 软件条件 (2)

2.2.2 硬件条件 (2)

2.3 存在的主要问题和技术关键 (2)

2.3.1 存在的主要问题及解决方案 (2)

2.3.2 技术关键 (3)

第3章系统硬件设计 (4)

3.1 系统功能框图 (4)

3.2 硬件各组成部分简介 (4)

3.2.1 芯片STC89C52RC (4)

3.2.2 芯片MAX232CPE (5)

3.3 各组成部分功能及作用 (5)

3.3.1 芯片STC89C52RC功能及作用 (5)

3.3.2 芯片MAX232CPE功能及作用 (5)

3.4电路原理图设计与生成PCB文件 (6)

3.4.1电路原理图设计 (6)

3.4.2生成PCB文件 (6)

3.4.3 此过程中遇到的主要问题? (7)

3.4.4 如何解决出现的问题? (7)

第4章系统软件设计 (8)

4.1 系统软件功能模块划分 (8)

4.2 各模块程序流程 (8)

4.3各模块程序代码 (9)

第5章目标系统 (12)

5.1 目标系统介绍 (12)

5.2简要操作或使用说明 (12)

5.2 实验心得 (12)

参考文献 (14)

第1章系统概述

1.1 系统研究的目的和意义

一、设计目的

课程设计教学环节突出实践能力的培养,提高学生综合运用理论知识解决实际问题的能力,使学生全面加深与掌握数字电路、单片机原理、PCB(印刷电路板)设计与制作、嵌入式C程序设计课程的开发主旨与能力培养目标,树立严谨的科学作风,学生通过搜集资料、分析、设计、焊接、安装、调试等环节,初步了解电子类工程设计的一半方法和步骤,掌握工程实践的基本技能。

二、设计要求

1、根据目标系统的要求,初步掌握总体结构设计的方法和构思,从中选

择一种最佳设计方案(自顶向下或自底向上)。

2、根据系统结构规模的要求,掌握单片机外部扩充系统硬件设计的基本

过程。

3、根据任务要求和硬件设计要求,首先画出系统功能框图和系统结构草

图,然后进行各控制模块的电路原理图设计。

4、熟练掌握Protel99或Protel DXP软件使用方法和一些使用技巧,能够

保证所设计的原理图符合电器规则和PCB符合相应设计规则。

5、熟练掌握Keil等如阿奴见或开发平台的使用方法,能够通过会变或C

语言编程编写出符合控制要求的单片机固件程序。

6、最终按要求完成课程设计报告

1.2 系统研究的主要内容

简易单片机实验系统主要由单片机最小系统、基本外围接口电路、扩展外围接口电路构成,通过MAX232CPE将单片机与计算机连接,通过下载数据可以实现控制发光二极管的亮灭、外触发中断控制、控制七段数码管的显示。

第2章研究方案

2.2 方案实施所需的条件

2.2.1 软件条件

Protel 99SE、Proteus 7 Professional、Keil等。

2.2.2 硬件条件

电路板、实验所需元器件、电烙铁、焊台等。

2.3 存在的主要问题和技术关键

2.3.1 存在的主要问题及解决方案

在用Protel99软件画完电路原理图之后,创建网络表,在生成PCB的时候出现了一些错误,有些元件没有封装有些电路接口没有连接好。有些封装系统无法找到。

在生成网络表的时候系统提示错误,前面一列使系统元件的名称,后一列是封装错误的原因,找到电路原理图点左上角Browse选择Primitives一项找到错误封装元件的名称并且双击该错误封装元件的名称,将错误的封装改正再

重新创建网络表,点击PCB模块并且重新生成网络表。

2.3.2 技术关键

1、掌握Protel99软件,熟练的画出电路原理图,并且可以画出系统中没有的信元件,并且封装电路原理图上的所有原件,掌握独立制作封装元件,创建网络表,生成PCB文件,学会修改错误封装,手动布局,自动布线。

2、掌握Keil软件,创建新项目工程,熟练掌握实验所需要的程序代码,从而实现实验要求和内容。

第3章系统硬件设计

3.1 系统功能框图

图3-1 系统功能框图

3.2 硬件各组成部分简介

3.2.1 芯片STC89C52RC

8位CPU;片内振荡器及时钟电路;32根I/O线;外部存储器ROM和RAM寻址范围各64KB;2个16位的定时器/计数器;5个中断源,2个中断优先级;全双工串行口;布尔处理器。

引脚功能介绍:

Vcc(40):电源+5V。Vss(20):接地。XTAL1(19)HE XTAL1(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。P0口(39~32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。

P1口(1~8):准双向通用I/O口。P2口(21~28):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。P3口(10~17):多用途端口,既可作普通I/O口用,也可按每位定义的第二功能操作。ALE/PROG(30):地址锁存信号输出端。在访问片外存储器时,若ALE为有效高电平则P0口输出地址低8位,可以用ALE信号作外部地址锁存器的锁存信号。f ALE=1/6fos,可以作系统中其他芯片的时钟源。第二功能PROGshi dui 8751de EPROM编程时的编程脉冲输入端。RST/V PD(9):复位信号输入端。8051接通电源后,在时钟电路作用下,该教上出现两个机器周期(24个振荡周期)以上的高电平,使内部复位。第二功能使V PD,即备用电源输入端。当主电源VCC发生故障,降低到低电平规定值时,V PD将为RAM提供备用电源,以保证存储在RAM中的信号不丢失。EA/V PP(31):内部和外部程序存储器选择线。EA=0时访问

外部ROM 0000H~FFFFH;EA=1时,地址0000H~0FFFH空间访问内部ROM,地址1000H~FFFFH空间访问外部ROM。在对8751的EPROM编程时,此引脚接编程电压12.5V。PSEN(29):片外程序存储器选通信号,低电平有效。

MAX232CPE

3.2.2 芯片

这款单片机是我设计的电子系统的可信控制器

3.3.2 芯片MAX232CPE功能及作用

功能:可以将电压转变成所需要的电压值

作用:可以实现单片机与计算机的链接,实现计算机与单片机之间的数据传输。

3.4电路原理图设计与生成PCB文件

3.4.1电路原理图设计

图3-4电路原理图

3.4.2生成PCB文件

图3-5 生成PCB图

3.4.3 此过程中遇到的主要问题?

在用Protel99软件画完电路原理图之后,创建网络表,在生成PCB的时候出现了一些错误,有些元件没有封装有些电路接口没有连接好。有些封装系统无法找到。

3.4.4 如何解决出现的问题?

在生成网络表的时候系统提示错误,前面一列使系统元件的名称,后一列是封装错误的原因,找到电路原理图点左上角Browse选择Primitives一项找到错误封装元件的名称并且双击该错误封装元件的名称,将错误的封装改正再重新创建网络表,点击PCB模块并且重新生成网络表。

第4章 系统软件设计

4.1 系统软件功能模块划分

功能1:基本输入/输出(I/O )。 功能2:按键的识别(KEY )。 功能3:数码管的控制。

功能4:中断程序的编写(INT )。 功能5:控制发光而接管(LED )。

4.2 各模块程序流程

1.模块1程序流程

图4-1 模块1程序流程图

2.模块2程序流程

图4-2 模块2程序流程图

4.3各模块程序代码

1.模块1代码

#include

void delay()

{

unsigned long i,j;

for(i=0;i<10;i++)

for(j=0;j<10;j++){;}

}

main()

{

unsigned char k;

for(k=0;k<8;k++)

{

P0=~s[k];

delay();

}

}

2.模块2代码

#include

unsigned char wm[4]={0xf7,0xfb,0xfd,0xfe};

unsigned char s[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned char tab[10]={

0x3f, /*0*/

0x06, /*1*/

0x5b, /*2*/

0x4f, /*3*/

0x66, /*4*/

0x6d, /*5*/

0x7d, /*6*/

0x07, /*7*/

0x7f, /*8*/

0x6f /*9*/};

void delay()

{

unsigned long i,j;

for(i=0;i<10;i++)

for(j=0;j<10;j++){;}

}

void int1(void) interrupt 2

{

EX1=0;

flag+=1;

EX1=1;

}

main()

{

unsigned char k;

while(1)

{

if(flag&0x01)

{

for(k=0;k<4;k++)

{

P2=tab[k]; P1=wm[k]; delay();

P2=0x00; }

}

}

第5章目标系统

5.1 目标系统介绍

图5-1 目标系统

1.发光二极管流水方式亮

2.数码管显示1234

5.2简要操作或使用说明

1.将简易单片机试验系统接通电源

2.将简易单片机试验系统的串口与计算接连接

3.加载程序

4.打开开关

5.3 心得体会

通过这次课程设计,学到了很多东西,在简易单片机实验系统设计的过程中,遇到了很多问题,有软件的硬件的,在软件应用过程中共熟练的掌握Protel 99 SE、Proteus 7 Professional、Keil等软件、在程序编程的过程中由于思维角度有误差导致运行程序结果与所需不符合,在老师的指导下,改正了思维角度,得到了正确的实验现象,在简易单片机实验系统课程设计的过程中,由于以前没接触过Proteus

7 Professional软件,由于课程设计所需,学会了该软件的相关应用,在焊电路版的过程中也积累了一些硬件方面的经验。

参考文献

[1] 鲁荣江,王立丰.《Visual Basic 项目案例导航》.北京:科学出版社,2002年6月。

[2] 甘仞初,颜志军,杜晖,龙虹.《信息系统分析与设计》.北京:高等教育出版社,2003年6月。

[3] 京辉热点工作室.《Visual Basic 6.0 中文版编程指南》.北京:人民邮电出版社,1999年9月。

[4] 吴洁明,袁山龙.《软件工程应用实践教程》北京:清华大学出版社,2003年8月。

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

单片机课程设计报告实验报告

课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月

摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01

目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)

多模块单片机实验系统设计

多模块单片机实验系统设计 设计一种单片机实验系统,针对单片机实验系统的应用要求,采用模块化的设计方法,使得实验系统能够支持多种不同的应用,扩展方便,同时能够与多种实验系统兼容,在日常的教学实验和研发中应用广泛。 标签:单片机实验系统多模块 单片机作为一门实践性很强的专业课程,平时的实验练习不可缺少。因此作为实验载体的实验系统非常重要。常规的单片机实验系统,其功能比较单一,与别的实验系统之间也毫无联系,能够完成的实验都是单一的单片机实验。当前实验室中一般都有多种实验设备,如EDA实验箱、模电实验箱、数电实验箱、信号处理实验箱等。如何使得单片机实验系统在现有的实验条件下,能够进行更多、更复杂的实验,利用更多的实验设备,多模块实验系统为我们指出了一种设计思路。 针对实验室的条件,设计了一种模块化的单片机实验系统,可以利用现有的多种实验设备,提高单片机实验系统的灵活性和利用率。其主要模块有电源模块、核心模块、功能模块、下载模块等,下面分别介绍。 1 电源模块 作为单片机实验系统的供电部分,电源模块非常重要,直接关系到系统的稳定,为了便于扩展,同时方便实验,电源模块采用多种方式供电。利用跳线或者开关进行选择,其电路图如图1所示。利用外部供电时电源通过J1输入,当电压大于5V时,一般常见的有9V和12V,需要将J2跳线拔掉;当电源为5V时,将跳线闭合,直接供电。同时实验系统还可以通过USB直接供电,外部供电和USB供电的切换通过开关S1来实现,为了保护电脑,在USB供电中增加了保险丝。 2 CPU模块 CPU模块是单片机实验系统的中心,也即芯片所在的部分,为了能够最大限度的利用实验系统的资源,本核心模块采用锁紧卡座设计,便于芯片的安装与卸载,并且将卡座的40个引脚全部引出,便于进行二次开发。同时设计了两种不同的复位电路,以适应普通的51单片机和A VR单片机,使得实验系统能够支持两种不同的单片机进行实验。在设计时,主要通过一个跳线实现不同的复位电平,如图2所示。可以通过跳帽来选择51单片机的高电平复位和A VR单片机的低电平复位,而芯片本身的引脚差异可以通过一个小转换板子来实现,主要将I/0口对应起来,一些功能引脚进行转换即可,通过这种处理方式,可以在一个实验平台上调试两种不同的单片机系统,大大提高了外设的利用率。 3 功能模块

单片机综合实验报告51电子时钟

一、实验内容: 设计一个数字时钟,显示范围为00:00:00~23:59:59。通过5个开关进行控制,其中开关K1用于切换时间设置(调节时钟)和时钟运行(正常运行)状态;开关K2用于切换修改时、分、秒数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定闹钟,闹钟同样可以设定初值,并且设定好后到时间通过蜂鸣器发声作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能。 二、实验电路及功能说明 1602显示器电路(不需接线) 电子音响电路 按键说明: 按键键名功能说明 K1 切换键进入设定状态 K2 校时依次进入闹钟功能是否启用,闹钟时,分秒, 年,月,日及时间时,分,秒的设置,直到退出 设置状态 K3 加1键调整是否起用闹钟和调节闹钟时,分,秒, 年,月,日,时间的时,分,秒的数字三、实验程序流程图:

四、实验结果分析 定时程序设计: 单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/

计数器两种工作模式和4种工作方式。 定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX. 当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。 实时时钟实现的基本方法: 这次设计通过对单片机的学习、应用,以A T89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它主要通过51单片机综合仿真实验仪实现,通过1602能够准确显示时间,调整时间,它的计时周期为24小时,从而到达学习、设计、开发软、硬件的能力。主要实现功能为显示时间,时间校准调时(采用手动按键调时),闹铃功能(设置定时时间,到点后闹铃发出响声)。通过键盘可以进行校时、定时。闹铃功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。本文主要介绍了工作原理及调试实现。 四个按键K1、K2、K3、K4、一个蜂鸣器。 1602显示时钟、跑表。 时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。 秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。 实时时钟程序设计步骤: 先对系统进行初始化,如:LCD1602初始化,DS1302初始化等,然后才能进入主显示模块,即可在LCD1602上看到相应的信息。对于LCD1602的初始化,主要是对开启显示屏,清屏,设置显示初始行等操作。DS1302的初始化主要是先开启写功能,然后写入一个初始值。 本系统采用的是LCD1602液晶显示器,由于其是本身带有驱动模块的液晶屏,所以对于LCD1602操作程序可分为开显示、设置显示初始行、写数据和清屏等部分。LCD1602的写命令程序和写数据程序分别以子程序的形式写在程序里,以便主程序中的调用。 (1)选择工作方式,计算初值; (2)采用中断方式进行溢出次数累计; (3)计时是通过累加和数值比较实现的; (4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值; (5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来; (6)中断服务程序:进行计时操作; (7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 程序说明: 按K1按键进入设定状态 按K2,依次进入闹钟功能是否启用,闹钟时,分秒,年,月,日及时间时,分,秒的设置,直到退出设置状态按K3,调整是否起用闹钟和调节闹钟时,分,秒,年,月,日,时间的时,分,秒的数字 LCD第二排中间显示小喇叭,表示启用闹钟功能,无则禁止闹钟功能(可在调整状态进行设置)正常状态,LCD上排最前面显示自定义字符,LCD下排最前面闪动"_" 设置状态,LCD上排最前面显示"P",下排最前面在设置闹钟时间时显示"alarm_",其它状态显示

单片机流水灯实验报告

流水灯实习报告 一、实验原理 单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。 二、硬件原理图 三、实验程序 ORG 0000H AJMP START ORG 001BH AJMP INT

ORG 0100H START:MOV SP,#60H MOV TMOD,#10H MOV TL1,#00H MOV TH1,#4CH MOV R0,#00H MOV R1,#20 SETB TR1 SETB ET1 SETB EA SJMP $ INT:PUSH ACC PUSH PSW PUSH DPL PUSH DPH CLR TR1 MOV TL1,#B0H MOV TH1,#3CH SETB TR1 DJNZ R1,EXIT MOV R1,#20 MOV DPTR,#DATA

MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H Movx @DPTR,A INC R0 ANL 00,#07H EXIT:POP DPH POP DPL POP PSW POP ACC RETI DATA:DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H END 四、实验功能 以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去. 五、实验总结 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论

单片机课程设计51实验报告DOC

福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告

目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)

1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

单片机实验箱的使用

前言 本实验教材是根据教育部《关于加强高等学校本科教育工作提高教学质量的若干意见》文件精神和《高等学校国家级实验教学示范中心建设标准》,并考虑到精品课建设要求编写的一套适应21 世纪教学改革要求的实验教材。 由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生和广大的工程技术人员,配合《单片机原理及应用》课程的教学,结合一种单片机仿真开发型实验系统编写了这本实验指导书。 《单片机原理及应用》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。本实验指导书提供10个实验的指导性材料,有些实验还有一些有一定难度的选做项目,可以根据课时的安排和教学要求进行取舍。为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。 本实验指导书由朱斌老师编写,并由王玉平老师、谭勇老师等协助上机验证程序的正确性,2006级的部分同学也协助做了一些工作,特此致谢。 由于编者水平有限,加上编者学识有限,书中如有不妥之处,敬请读者批评指正。 编者 2007.3编写

目录 第一章DVCC单片机实验系统简介 (1) 1.1 系统的性能指标 (1) 1.2 系统性能指标 (2) 1.3 系统提供的主要实验项目 (3) 1.4 系统的连接 (4) 1.5 键盘显示简介 (5) 1.6 系统资源的使用 (6) 第二章DVCC单片机实验系统安装与启动 (16) 2.1 系统硬件安装............................................................................................................................ 2.2 系统软件的安装........................................................................................................................ 2.3 系统启动.................................................................................................................................... 第三章实验系统软件使用说明. (18) 3.1主界面......................................................................................................................................... 3.2文件编辑部分............................................................................................................................. 3.3 调试部分.................................................................................................................................... 3.4 窗口部分.................................................................................................................................... 3.5 工具栏........................................................................................................................................ 实验一单片机开发系统的使用................................................................. 错误!未定义书签。实验二MCS-51单片机I/O口实验........................................................... 错误!未定义书签。实验三数据排序实验................................................................................. 错误!未定义书签。实验四字符串查找实验............................................................................. 错误!未定义书签。实验五交通灯控制实验............................................................................. 错误!未定义书签。实验六D/A转换实验................................................................................. 错误!未定义书签。实验七流水灯设计..................................................................................... 错误!未定义书签。实验八小直流电机调速实验..................................................................... 错误!未定义书签。实验九继电器控制实验............................................................................. 错误!未定义书签。

51单片机汇编程序范例

16位二进制数转换成BCD码的的快速算法-51单片机2010-02-18 00:43在做而论道上篇博文中,回答了一个16位二进制数转换成BCD码的问题,给出了一个网上广泛流传的经典转换程序。 程序可见: http: 32.html中的HEX2BCD子程序。 .说它经典,不仅是因为它已经流传已久,重要的是它的编程思路十分清晰,十分易于延伸推广。做而论道曾经利用它的思路,很容易的编写出了48位二进制数变换成16位BCD码的程序。 但是这个程序有个明显的缺点,就是执行时间太长,转换16位二进制数,就必须循环16遍,转换48位二进制数,就必须循环48遍。 上述的HEX2BCD子程序,虽然长度仅仅为26字节,执行时间却要用331个机器周期。.单片机系统多半是用于各种类型的控制场合,很多时候都是需要“争分夺秒”的,在低功耗系统设计中,也必须考虑因为运算时间长而增加系统耗电量的问题。 为了提高整机运行的速度,在多年前,做而论道就另外编写了一个转换程序,程序的长度为81字节,执行时间是81个机器周期,(这两个数字怎么这么巧!)执行时间仅仅是经典程序的!.近来,在网上发现了一个链接: ,也对这个经典转换程序进行了改进,话是说了不少,只是没有实质性的东西。这篇文章提到的程序,一直也没有找到,也难辩真假。 这篇文章好像是选自某个著名杂志,但是在术语的使用上,有着明显的漏洞,不像是专业人员的手笔。比如说文中提到的:

“使用51条指令代码,但执行这段程序却要耗费312个指令周期”,就是败笔。51条指令代码,真不知道说的是什么,指令周期是因各种机型和指令而异的,也不能表示确切的时间。 .下面说说做而论道的编程思路。;----------------------------------------------------------------------- ;已知16位二进制整数n以b15~b0表示,取值范围为0~65535。 ;那么可以写成: ; n = [b15 ~ b0] ;把16位数分解成高8位、低8位来写,也是常见的形式: ; n = [b15~b8] * 256 + [b7~b0] ;那么,写成下列形式,也就可以理解了: ; n = [b15~b12] * 4096 + [b11~b0] ;式中高4位[b15~b12]取值范围为0~15,代表了4096的个数; ;上式可以变形为: ; n = [b15~b12] * 4000 + {[b15~b12] * (100 - 4) + [b11~b0]} ;用x代表[b15~b12],有: ; n =x * 4000 + {x * (100 - 4) + [b11~b0]} ;即: ; n =4*x (千位) + x (百位) + [b11~b0] - 4*x ;写到这里,就可以看出一点BCD码变换的意思来了。 ;;上式中后面的位:

51单片机流水灯实验报告单片机实验报告流水灯

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示: 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图 五、通过仿真实验正确性

代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOP DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1

DJNZ R1,DEL2 RET End 实验结果: 六、实验参考程序 #include #define uchar unsigned char #define uint unsigned int uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i

基于单片机的CAN实验系统设计

基本单片机的CAN实验系统设计(CAN教学案例设计) 邵健2014秋季学期

目录 摘要......................................................... 错误!未定义书签。前言......................................................... 错误!未定义书签。 1 总体设计方案 (3) 1.1设计任务 (3) 1.2总体CAN网络设计框图 (4) 1.3 CAN节点结构 (4) 2 系统的硬件设计 (5) 2.1 电源模块设计 (6) 2.2 单片机最小系统 (7) 2.3 MAX232组成的单片机和PC机通信电路 (8) 2.4 看门狗电路设计 (9) 2.5 键盘输入电路模块 (10) 2.6 显示电路模块 (11) 2.7 扩展ROM功能模块 (12) 2.8 CAN通信模块 (12) 3 系统的软件设计 (15) 3.1 CAN控制器初始化函数CANINI (15) 3.2 CAN接收函数CANREC (16) 3.3 CAN发送函数TDATA (16) 3.4 主程序流程图 (17) 3.5 总程序清单........................................... 错误!未定义书签。 4 总结....................................................... 错误!未定义书签。 4.1 结束语............................................... 错误!未定义书签。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

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--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

《单片机系统设计》实验报告

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

51单片机实用汇编程序库(word)

51 单片机实用程序库 4.1 流水灯 程序介绍:利用P1 口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如:广告灯箱彩灯、霓虹灯闪烁。 程序实例(LAMP.ASM) ORG 0000H AJMP MAIN ORG 0030H MAIN: 9 MOV A,#00H MOV P1,A ;灭所有的灯 MOV A,#11111110B MAIN1: MOV P1,A ;开最左边的灯 ACALL DELAY ;延时 RL A ;将开的灯向右边移 AJMP MAIN ;循环 DELAY: MOV 30H,#0FFH D1: MOV 31H,#0FFH D2: DJNZ 31H,D2 DJNZ 30H,D1 RET END 4.2 方波输出 程序介绍:P1.0 口输出高电平,延时后再输出低电 平,循环输出产生方波。实际应用中例如:波形发生器。 程序实例(FAN.ASM): ORG 0000H MAIN: ;直接利用P1.0 口产生高低电平地形成方波////////////// ACALL DELAY SETB P1.0 ACALL DELAY 10 CLR P1.0 AJMP MAIN ;////////////////////////////////////////////////// DELAY: MOV R1,#0FFH DJNZ R1,$ RET

五、定时器功能实例 5.1 定时1 秒报警 程序介绍:定时器1 每隔1 秒钟将p1.o 的输出状态改变1 次,以达到定时报警的目的。实际应用例如:定时报警器。程序实例(DIN1.ASM): ORG 0000H AJMP MAIN ORG 000BH AJMP DIN0 ;定时器0 入口 MAIN: TFLA G EQU 34H ;时间秒标志,判是否到50 个 0.2 秒,即50*0.2=1 秒 MOV TMOD,#00000001B;定时器0 工作于方式 1 MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 11 SETB EA ;开总中断 SETB ET0 ;开定时器0 中断允许 SETB TR0 ;开定时0 运行 SETB P1.0 LOOP: AJMP LOOP DIN0: ;是否到一秒//////////////////////////////////////// INCC: INC TFLAG MOV A,TFLAG CJNE A,#20,RE MOV TFLAG,#00H CPL P1.0 ;////////////////////////////////////////////////// RE: MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 RETI END 5.2 频率输出公式 介绍:f=1/t s51 使用12M 晶振,一个周期是1 微秒使用定时器1 工作于方式0,最大值为65535,以产生200HZ 的频率为例: 200=1/t:推出t=0.005 秒,即5000 微秒,即一个高电

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

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