技术文档

51单片机课件 云龙51单片机视频教程全套包含案例课件及资料

小编 2024-10-12 技术文档 23 0

云龙51单片机视频教程全套包含案例课件及资料

视频加载中...

课程简介:

视频教程从开发的角度来讲述单片机开发的整个流程;原理部分从最基本的电子元器件的认识进行讲解,讲述电路工作原理及如何进行电路设计;编程部分从零开始讲解,讲述C语言的基础知识、C语言如何同实际电路发生联系,每一条语句坚持现场在电脑逐字输入、现场编写代码、现场调式程序、把相关知识点及时讲解;让大家在这一过程中,慢慢积累、转化为自身发现问题和解决问题的能力。无论你基础如何,只要你认真看、认真听,保证让你学会单片机和C语言。

课程目录:

第一课 如何学好单片机 单片机能做什么,学习单片机需要什么,如何学好单片机技术。

第二课 预备知识 点亮一个发光管 认识单片机由来及内部结构,单片机最小工作单元组成;单片机开发软件操作:KEIL软件开发环境认识、单片机烧录软件使用。

第三课 预备知识 C51基础知识及流水灯设计 简单延时程序、子程序调用、、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用。

第四课 数码管显示的原理,数码管的静态显示 共阳、共阴数码管显示原理、带参数子程序设计。

第五课 中断和定时器原理 定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、定时器中断应用

第六课 数码管的动态显示原理及应用实现 动态扫描概念及定时器、中断加深

第七课 按键学习:独立按键和矩阵按键 键盘检测、消抖、键盘编码、 带返回值函数写法及应用

第八课 数模转换(DA)工作原理及应用 数字电压与模拟电压的关系、 如何使用DAC0832的实成DA转换

第九课 模数转换(AD)工作原理及应用 模拟电压与数字电压的关系 ,如何使用ADC0804的实成AD转换

第十课 1602液晶显示原理及实现 最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作

第十一课 串口原理及应用 串口通讯工作方式、重点讲述最常用的10位数据通讯、波特率概念及如何根据波特率计算定时器初值

第十二课 IIC总线原理和模块化编程方法 IIC总线工作原理、目前非常通用的一种通信机制;项目开发模块化编程方法。

第十三课 红外通信原理及应用 红外通信是目前应用最为广泛的通信和遥控手段。在本课程中以红外遥控为代表,具体讲解红外通信的具体过程。

第十四课 DS18B20温度传感器的原理及应用 目前应用最为广泛的温度传感器件当属DS18B20。在本课程中以DS18B20为代表,具体讲解单总线通信原理,从且撑握单总线器件的用法。

第十五课 步进电机原理及应用 在本课程中以28BYJ-48步进电机为代表,具体讲解步进电机的驱动原理及使用方法,从而撑握步进电机的相关知识。

第十六课 LED点阵原理及取模软件应用 具体讲解LED点阵的驱动原理及驱动方法;怎样使用点阵取模软件来处理相关数据,从而简化程序设计工作量。

第十七课 DS1302实时时钟与SPI接口通信原理 目前应用最为广泛的实时时钟器件当属DS1302。在本课程中以DS1302为代表,具体讲解SPI总线通信原理,及日历时钟的应用。

第十八课 蜂鸣器与继电器驱动原理及应用举例 蜂鸣器与继电器驱动原理及应用举例。比如用红外遥控器实现对继电器进行吸合或断开控制,同时蜂鸣器发出按键提示音。

第十九课 PWM基础知识与智能小车直流电机调速 PWM脉冲宽度调制原理与智能小车PWM直流电机调速应用。

第二十课 扩展视频:altium designer绘制全程 最顶级电路板设计软件Altium Designer使用、元件库、封装库设计、绘制原理图、错误检查、生成PCB、手动、自动布线、送去加工。

下载地址:https://chuanke.baidu.com/v2844297-112176-235940.html?statistics_channel_id=1699&statistics_uid=17

基于51单片机的电子时钟!内附开题报告模板、论文模板

基于单片机的数字式电子时钟设计

设计要求

1)设计AT89S51的最小系统;

2)LED显示电路及与AT89S51接口,LED数码块显示时、分、秒;

3)时钟调整电路及与AT89S51接口;

4)电子时钟程序设计;

5)基于Proteus的电子时钟原理及仿真实现;

6)电子时钟实物制作;

2 总体方案设计

2.1 实现时钟计时的基本方法

利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。

(1) 计数初值计算:

把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。

假设使用T/C0,方式1,50ms定时,fosc=12MHz。

则初值X满足(216-X)×1/12MHz×12μs =50000μs

X=15536→0011110010110000→3CB0H

(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);

(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。

2.2 电子钟的时间显示

电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。

LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1

37H 36H 35H 34H 33H 32H 31H 30H

时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位

2.3 电子钟的时间调整

电子钟设置3个按键通过程序控制来完成电子钟的时间调整。

reset键复位

hour键调整时;

min键调整分;

2.4 总体方案介绍

2.4.1 计时方案

利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。

2.4.2 控制方案

AT89S51的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键reset、hour、min构成键盘电路。

3 系统硬件电路设计

根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块

3.1单片机模块设计

3.1.1 芯片分析

AT89C51单片机引脚图如下:

MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:

VCC:+5V电源。

VSS:接地。

RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。

XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。

P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。

P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。

3.1.2 晶振电路

右图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

3.1.3 复位电路

单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。

3.2 数码显示模块设计

系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。

3.3 按键模块

下图为按键模块电路原理图,reset为复位键,hour为时钟调控键,min为分钟调控键。

4、系统软件设计

4.1 软件设计分析

在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图7:

图 7 系统总体流程图

4.2 源程序清单

ORG 0000H

MOV 30H,#1 设置时钟的起始时间12.00.00,分配显示数据内存

MOV 31H,#2

MOV 32H,#0

MOV 33H,#0

MOV 34H,#0

MOV 35H,#0

MOV TMOD,#01 启动计数器

XS0: SETB TR0 使 TRO位置1

MOV TH0,#00H 计数器置零

MOV TL0,#00H

XS:

MOV 40H,#0FEH 扫描控制字初值

MOV DPTR,#TAB 取段码表地址

MOV P2,40H 从P2口输出

MOV A,30H 取显示数据到A

MOVC A,@A+DPTR 查显示数据对应段码

MOV P0,A 段码放入P0中

LCALL YS1MS 显示1MS

MOV P0,#0FFH PO端口清零

MOV A,40H 取扫描控制字放入A中

RL A A中数据循环左移

MOV 40H,A 放回40H地址段内

MOV P2,40H

MOV A,31H

ADD A,#10 进位显示

MOVC A,@A+DPTR

MOV P0,A

LCALL YS1MS

MOV P0,#0FFH

MOV A,40H

RL A

MOV 40H,A

MOV P2,40H

MOV A,32H

MOVC A,@A+DPTR

MOV P0,A

LCALL YS1MS

MOV P0,#0FFH

MOV A,40H

RL A

MOV 40H,A

MOV P2,40H

MOV A,33H

ADD A,#10

MOVC A,@A+DPTR

MOV P0,A

LCALL YS1MS

MOV P0,#0FFH

MOV A,40H

RL A

MOV 40H,A

MOV P2,40H

MOV A,34H

MOVC A,@A+DPTR

MOV P0,A

LCALL YS1MS

MOV P0,#0FFH

MOV A,40H

RL A

MOV 40H,A

MOV P2,40H

MOV A,35H

MOVC A,@A+DPTR

MOV P0,A

LCALL YS1MS

MOV P0,#0FFH

MOV A,40H

RL A

MOV 40H,A

JB TF0,JIA 如果TF0为1时,则执行JIA,否则顺序执行

JNB P1.0,P100 为0则 转移到P100

JNB P1.1,P1000 为0则 转移到P1000

JNB P1.2,P10000 为0则 转移到P10000

AJMP XS 跳转到 XS

P100: MOV 30H,#0 清零程序

MOV 31H,#0

MOV 32H,#0

MOV 33H,#0

MOV 34H,#0

MOV 35H,#0

JIA: CLR TF0 TF0清零

MOV A,35H 秒单位数据到A

CJNE A,#9,JIA1 与 9进行比较,大于9就转移到JIA1

MOV 35H,0 秒个位清零

MOV A,34H 秒十位数据到A

CJNE A,#5,JIA10 与5进行比较,大于5就转移到JIA10

MOV 34H,#0 秒十位清零

P10000: JNB P1.2,P10000 为0则 转移到P10000

MOV A,33H 取分的个位到A

CJNE A,#9,JIA100 与 9进行比较,大于9就转移到JIA100

MOV 33H,#0 分的个位清零

MOV A,32H 分十位数据到A

CJNE A,#5,JIA1000 与5进行比较,大于5就转移到JIA1000

MOV 32H,#0 分的十位清零

P1000: JNB P1.1,P1000 为0则 转移到P1000

MOV A,31H 时个位数据到A

CJNE A,#9,JIA10000 与 9进行比较,大于9就转移到JIA10000

MOV 31H,#0 时的个位清零

MOV A,30H 时十位数据到A

CJNE A,#2,JIA100000 与2进行比较,大于5就转移到JIA100000

MOV 30H,#0 时的十位清零

AJMP XS0 转移到 XSO

JIA100000:

INC 30H 加1

AJMP XS0 跳转到 XS0

JIA10000:

CJNE A,#3,JIAJIA 与3进行比较,大于则转移到JIAJIA

MOV A,30H 将时的十位放到 A

CJNE A,#02,JIAJIA 与2进行比较,大于则转移到JIAJIA

MOV 30H,#0 时段清零

MOV 31H,#0

AJMP XS0 跳转到XSO

JIAJIA:

INC 31H 加一

AJMP XS0

JIA1000:INC 32H

AJMP XS0

JIA100: INC 33H

AJMP XS0

JIA10: INC 34H

AJMP XS0

JIA1: INC 35H

AJMP XS0

RET 返回

YS1MS: MOV R6,#9H 延时程序

YL1: MOV R7,#19H

DJNZ R7,$

DJNZ R6,YL1

RET

TAB:

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 共阳段码表

DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H

END

5 系统仿真与实验测试

5.1 系统仿真

运用proteus软件进行仿真现在proteus软件中建立一个新的文件,再根据自己的要求选择所需的器件,把器件进行适当的排位后进行连接,连接后运行软件进行仿真。

5.2 实验测试

电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。

6 心得体会

单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。但当拿到题目时,确实不知道怎么着手,有些迷茫,上网查资料,问老师,在老师的帮助下,历时两个星期,解决一个又一个的困难,终于完成任务。

在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。另外,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不能灵活运用。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。另外,要非常感谢我的指导老师,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。

我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。

附录

附录1 硬件电路总图

相关问答

51单片机 做电子钟,自动校时方面最简单的能用什么方法?

[回答]数字电子钟的时间跟你晶振频率有密切关系,秒钟走慢原因是晶振频率太小;电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计...

想学习电子电路,请问各位大神们哪里有模拟软件学习呢?

我这里使用过很多电子模拟软件。至于选择哪一个,这个要看你对这个软件的期望了。说一下我使用过的电子模拟软件:Proteus、multisim、Tina和iCircuit。接下...

帮个忙盆友们 楼主请问! 51单片机 最小系统(跑马灯)不工作?,...

[回答]usb有四根线,四种颜色,印像中是红色是+5V黑色是0,具体的你可以用电压表测一下。实力摆在这里,但是我还是要去看看,哈哈自主研发的多个软件通过g家...

零基础如何自学电脑?

让自己的心,朝着春天的方向眺望……姓名:郝培林报读专业:新媒体UI精英设计师今天的早起伴有起床气,可能是昨晚有些失眠,也可能是我的惰性在复发。想勤奋...学...

互联网技校都教什么?

单片机应用设计师、控制系统设计师、逻辑控制芯片编辑员、数据自动采集与分析员。7、应用系统开发类专业嵌入式系统开发师、网站开发师、游戏程序开发师、...

霍尼韦尔PPT智能压力传感器及其应用-盖德问答-化工人互助问答...

由于其内部压力敏感器件的重复性非常好并可利用单片机进行数字补偿,因而可获得...Psi和其它单位之间的换算关系如下:1psi=27.68英寸水柱(在0℃)1psi=51.714...

,有谁能回答一下吗! 51单片机 最小系统(跑马灯)不工作?,视频...

[回答]1.能看懂电路图。2.认识并知道芯片和电子元件的引脚及功能。3.可以熟练的使用电烙铁、松香助焊剂。强烈推荐你去找深圳品阔信息技术有限公司,这家...

什么是 单片机 封装-ZOL问答

4条回答:【推荐答案】封装通俗的说就是一个东西焊的形状,大小。不是说单片机封装,是每个元件都有封装。比如一个元器件有两个引脚,相隔1cm,你就可以设计一个封装...

零基础学电脑,好入门吗?

学电脑很简单,看你入门学什么了只要有一台电脑。你很快就可以学会了,比如简单的word文档多看看书,或者背下快捷键都可以,EXCEL表格也还好,多接触接触就好...

什么是嵌入式教育活动实施策略?

入式培养是近年来国家提出来的。面对庞大的市场人才需求。使得这专业越来越火,嵌入式教学的难点是,以MCU和嵌入式处理器为代表的嵌入式技术发展很快,而教...

猜你喜欢