51单片机
文章平均质量分 59
流年_cth
因为热爱,所以奋不顾身...
展开
-
定时器初值计算
51单片机定时器初值计算步骤原创 2023-01-13 10:17:55 · 1635 阅读 · 4 评论 -
Keil界面优化
global.prop源文件:# properties for all file typesindent.automatic=1virtual.space=0view.whitespace=0view.endofline=0code.page=936caretline.visible=1highlight.matchingbraces=1print.syntax.coloring=1use.tab.color=1create.backup.files=0auto.load.ext原创 2022-05-01 19:36:02 · 2198 阅读 · 1 评论 -
PCtolLCD生成OLED汉字的方法
1.打开记事本,写入要转换的汉字:2.点击“文件”->“另存为”,然后将编码改为ANSI:3.打开PCtolLCD,更改模式为字符模式,然后进入设置进行以下操作:4.点击“导入大量文本”图标,进行以下操作就生成了汉字的16进制编码...原创 2021-10-30 12:23:02 · 1317 阅读 · 0 评论 -
51单片机定时器
1.原理:CPU 时序的有关知识: 1.振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡 周期)。 2.状态周期:2 个振荡周期为 1 个状态周期,用 S 表示。振荡周期又称 S 周 期或时钟周期。 3.机器周期:1 个机器周期含 6 个状态周期,12 个振荡周期。 4.指令周期:完成 1 条指令所占用的全部时间,它以机器周期为单位2.电路图(普中A2):3.程序说明:实现的功能是:通过定时器 0 中断控制 D1 指示灯间隔 1 秒闪烁4..原创 2021-08-30 17:55:33 · 14648 阅读 · 2 评论 -
51单片机LCD1602显示
1.原理:1602 液晶也叫 1602 字符型液晶,它能显示 2 行字符信息,每行又能显示 16 个字符。它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若 干个 5x7 或者5x10 的点阵字符位组成,每个点阵字符位都可以用显示一个字符, 每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作 用,正因为如此,所以它不能很好的显示图片 (1)引脚:(2)其地址 和屏幕的对应关系如下: 要显示字符时 要先输入显示字...原创 2021-08-28 11:04:38 · 12182 阅读 · 3 评论 -
51单片机中断
1.原理:1.中断:当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求, 要求 CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后, 再回到原来被中 断的地方,继续原来的工作,这样的过程称为中断。2.51单片机的中断源:外部中断0、定时计数器中断0、外部中断1、定时计数器中断1、串口中断。3.与中断相关的寄存器:IE(中断允许控制寄存器)、TCON(控制寄存器)、IP(中断优先级控制寄存器) SCON(串行口控制寄存器)、TMOD(定时器/计数器模原创 2021-08-27 18:28:48 · 9409 阅读 · 5 评论 -
51单片机独立按键
1.原理:1.按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时, 开关断开。2.由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时 也不会一下 子断开,因而在闭合和断开的瞬间均伴随着一连串的抖动。3.为了确保 CPU 对按键的一次闭合仅作一次处理,必须进行消抖。...原创 2021-08-25 11:35:29 · 1921 阅读 · 0 评论 -
51单片机蜂鸣器实验
1.原理: 1.我们先要了解什么是有源蜂鸣器/无源蜂鸣器: 有源蜂鸣器内部自带振荡电路,只需提供电源即可发声。 无源蜂鸣器则需提供一 定频率的脉冲信号才能发声, 频率大小通常在 1.5-5KHz 之间。2.要实现蜂鸣器的控制,我们能否 直接使用 STC89CXX 的 IO 口驱动呢?答案是否定的, 因为51单片机 IO 口的驱 动能力较弱(即使外接上拉电阻),而蜂鸣器驱动需要约 30mA, 所以非常困难,即使可以驱动,那对于整个芯片的其 IO 剩下驱动能力就更加弱甚至无法工..原创 2021-08-24 21:23:37 · 6726 阅读 · 1 评论 -
51单片机数码管显示数字及小数点
51单片机数码管显示(共阴极)1.先看一下显示的结果:源代码:#include <reg51.h>typedef unsigned int u16;typedef unsigned char u8;u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极u16 num=2021;//要显示的数字/*延时函数*/void delay(u16 i){ while(i--);}/*原创 2021-03-17 18:00:44 · 42230 阅读 · 6 评论 -
利用外部中断0实现数码管按键加减
利用外部中断0实现数码管按键加减实现的结果:#源程序:/*程序功能:在单片机的INT0,INT1引脚分别接两个按钮,通过按扭向单片机申请中断 中断一次实现变量加1或减1,并将结果显示在数码管*/#include <reg51.h>typedef unsigned char u8;typedef unsigned int u16;char number;u8 code smgData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,原创 2021-03-24 09:48:42 · 13254 阅读 · 14 评论 -
51单片机的系统扩展之8255A
8255:8255芯片是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。1.8255内部结构和引脚功能:RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许825原创 2021-05-04 22:05:51 · 12835 阅读 · 2 评论 -
8255A仿真实例
8255A仿真实例:如果对8255A还不了解,请转到51单片机的系统扩展之8255A(点击转到该文章)。本实例要求: 开始运行时,按钮S可以控制D1点亮。按钮S不能控制灯点亮,PC0能输出方波。 按[灯控制]按钮,PC0停止输出方波,按钮S能控制D1点亮。【方波】和【灯控制】的功能通过中断服务程序实现。1.仿真测试:2.实验源程序:/*要求:1.按下'灯控制'键,按下S键LED可以点亮 2.按下'方波'键,S键不起作用,产生方波...原创 2021-05-23 11:47:59 · 1657 阅读 · 2 评论 -
利用51单片机演奏《猪猪侠》
今天的目标很明确,那就是我们如何使用51单片机演奏一首音乐。1.有一个很重要的问题,那就是如何将乐谱转换51单片机的16进制或十进制呢?然而我们不可能为了编一首乐谱再去学音乐知识,这样太费劲了但是我们有一个编辑软件,直接将乐谱转换51单片机的16进制或十进制。https://pan.baidu.com/s/1X_3bESwv831psG2tBL7yJw提取码:sr7i2.但是有了乐谱编辑软件,你会用吗?下面我以《猪猪侠》乐谱 为例,简单的教大家如何使用这个软件由于本人较懒只编了这么一段原创 2021-04-03 12:16:43 · 9415 阅读 · 14 评论