草庐IT

十一、51单片机之串口通信

1、通信的关键(1)事先约定。通信之前规定好的,如通信速率,起始信号,结束信号等。(2)通信传输的基本信息单元。(3)信息的编码、传输、解码。2、通信相关的概念2.1、同步和异步(1)同步通信要求接收端时钟频率与发送端时钟频率一致,发送端发送连续比特流;(2)异步通信时,接收端时钟和发送端时钟不需要同步。发送端发送一个字节后,下一个字节可以在任何长时间内发送。2.2、单工、半双工、全双工(1)单工即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信。(2)半双工传输方向可以切换,允许数据在两个方向上传输。但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信。像RS485属于半双工

51单片机——定时器中断

新版51单片机内部有3个16位可编程的定时器/计数器,即定时器T0,T1,T2。他们既有定时功能又有计数功能,我们可以通过配置与它们相关的特殊功能寄存器可以选择启用定时功能或计数功能;其中需要注意的是,这个定时器系统是单片机内部的一个独立的硬件部分,它与CPU和晶振通过内部某些控制线连接并起作用,CPU一旦设置开启定时器功能后,定时器便在晶振的作用下自动开始计时,当定时器的计数器计满后,会产生中断,即通知CPU该如何处理。定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0和T1

利用51单片机定时器模拟输出PWM波

PWM即为“脉冲宽度调制”脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中 使用定时器0做为PWM波的一个周期,然后改变一个周期的高电平和低电平时间,高低电平时间加起来就是一个周期,周期一旦固定好是恒定不变的,改变脉宽宽度(占空比) GPIO初始化,单片机系统时钟为11.0592MHZ#include//系统时钟为11.0

C51单片机密码锁课程设计

提示:文章写完后,目录可以自动加粗样式生成,如何生成可参考右边的帮助文档文章目录设计要求一、系统模型设计二、基础实现2.1程序结构2.24×4键盘扫描2.3处理函数(数据处理函数)2.4主函数和中断定时函数三、提高实现说明AT24C02读写代码总结设计要求微机原理及单片机应用技术的课程设计,C51设计一个密码锁;要求:键盘上有0-9个数字按键,功能键:确认和取消等,可设置复合键。密码的位数及密码可以任意设定,,当输入数字和设置的密码相同的时候,锁打开,否则无法打开。基本实现:掉电以后密码不保存,回复初始密码;提高实现:掉电以后密码不丢失,可由键盘输入任意密码一、系统模型设计Proteus仿真图

基于51单片机的电机(L298芯片,PWM调速,可加速、减速、正转、反转)

        电机是我们日常生活中比较常用的一个工具,我们经常需要使用电机来转动和拖动,完成一些任务。本次设计便用基于51单片机完成的电机转动与调速,使得电机可以正常启停、加速、减速以及正反转。        文章末尾提供资源免费下载,包括proteus仿真文件与源码。    51单片机的最大电压为5V,最大输出电流为10mA。可想而知,我们不可能依靠单片机引脚去驱动电机,因此我们需要借助电机驱动芯片来完成这项艰难的任务。L289芯片在protues中长这个样子:                    乍一看,这东西看着挺复杂,这么多引脚。其实,仔细研究过就会知道,这东西很简单。其他博主有很

51单片机定时器基础知识

定时器初值计算经验总结:定时器0工作方式1的溢出中断初始值计算1.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。65536-46080=19456(4c00)TH0=0x4c,TL0=0x002.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。50ms=50000次机器周期。65536-50000=15536(3cb0)TH0=0x3c,TL0=0xb03.晶振22M22MHz除12为1,833,333Hz,也就是说一秒=1833333次机器周期。50ms=91666次机器周期(超

[图像识别]关于cv2库无法安装的故障问题解决,全网最全解决方案!本人亲身测试,参考了stackoverflow、51CTO等博客文章总结而成

本文范畴:故障排查cv2技术库安装Linux/Unix笔记本系统:win10python版本:3.10故障问题:无法安装cv2库适应对象:程序员新手、运维程序员、大学生、青少年对系统感兴趣的爱好者等等文章目录前言一、cv2库是什么?二、多种解决方式,看哪种适合你!!!1.(普通,正常情况下)引入库cv2,采用cmd安装2.(权限不足问题)采用超级(管理员)WindowsPowershell3.(版本问题!!!)这个的话需要采取多种方式了方法一:安装了pycharm,在库管理中安装方法二:如果上述方法仍然不奏效方法三:(终结散花版本)所有问题都可以采用这个方法来解决总结前言        随着电

16、基于51单片机智能浇花自动浇水灌溉土壤湿度检测报警系统设计

毕设帮助、开题指导、技术解答(有偿)见文末。目录摘要一、硬件方案二、设计功能三、实物图四、原理图  五、PCB图六、Proteus仿真七、程序源码八、资料包括摘要本次盆栽植物自动浇灌系统,系统是用AT89C51单片机作为控制中心,使用YL-69作为土壤湿度传感模块,LCD1602作为显示数据的模块,蜂鸣器作为通知模块,按键是用来设定报警的数值。通过YL-69湿度传感器进行土壤湿度的采集,单片机AT89C51进行信息处理,输出控制信号,控制信号通过控制继电器控制水泵电源是否通断,从而完成自动浇水,浇水的同时蜂鸣器会发出声音提示。关键词:YL-69;湿度;AT89C51单片机;水泵;LCD1602

利用51单片机进行LED 跑马灯设计

题目:     使用单片机驱动8个LED,2个按键并实现跑马灯功能。        当按下按键1时,LED 从左至右依次点亮,全亮后再从右至左依次熄灭,全灭后再从左至右依次点亮,依次循环下去。       当按下按键2时,LED 从右至左依次点亮,全亮后再从左至右依次熄灭,全灭后再从右至左依次点亮,依次循环下去。电路部分:利用Proteus软件搭建的电路图如下:部分一:AT89C51最小系统电路。AT89C51最小系统电路其中包括时钟电路和复位电路。时钟电路:产生像时钟一样准确运动的振荡电路。复位电路:按键按下可以使程序重新运行。部分二:从LED-0到LED7接入P2口的八个LED灯电路。发光

八、51单片机之蜂鸣器

1、蜂鸣器的原理蜂鸣器分为有源蜂鸣器和无源蜂鸣器。这里的“源”不是指电源,而是指震荡源。1.1、无源蜂鸣器(1)早期蜂鸣器都是无源的。(2)内部没有震荡电路,无源蜂鸣器比有源蜂鸣器更便宜。(3)无源蜂鸣器内部没有震荡源,需要采用一定频率的方波才可以驱动发声。(4)通过控制方波频率可以控制蜂鸣器的音调。(5)声音大小由硬件决定,不能通过单片机程序改变。(6)物体振动越快,频率越高,音调越高尖。1.2、有源蜂鸣器(1)内部有震荡电路,有源蜂鸣器比无源蜂鸣器贵。(2)只要供电就会发出声音。(3)不能改音调。2、原理图(1)上图为无源蜂鸣器。(2)三极管的作用是因为单片机引脚驱动能力不够,通过J8引脚