努力成为焦耳定律鸭
电子信息专业
展开
-
触摸屏实验(触摸屏介绍+硬件设计+软件设计。注:软件部分代码过长,理解即可)
触摸屏实验(触摸屏介绍+硬件设计+软件设计。注:软件部分代码过长,理解即可)原创 2022-08-01 09:37:31 · 388 阅读 · 2 评论 -
单片机:LCD12864显示屏实验(内含LCD12864介绍+硬件设计+软件设计+原始代码)
单片机:LCD12864显示屏实验(内含LCD12864介绍+硬件设计+软件设计+原始代码)原创 2022-07-12 16:41:41 · 5485 阅读 · 0 评论 -
单片机:LCD1602显示屏(内含LCD1602介绍+硬件设计+软件设计+原始代码)
单片机:LCD1602显示屏(内含LCD1602介绍+硬件设计+软件设计+原始代码)原创 2022-07-10 17:11:45 · 10728 阅读 · 1 评论 -
单片机:DAC数模转换实验(内含DAC介绍+PWM介绍+硬件设计+软件设计+原始代码)
单片机:DAC数模转换实验(内含DAC介绍+PWM介绍+硬件设计+软件设计)原创 2022-07-09 11:06:22 · 1922 阅读 · 0 评论 -
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计)原创 2022-07-08 16:44:47 · 2198 阅读 · 0 评论 -
单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)原创 2022-06-17 11:54:56 · 3811 阅读 · 0 评论 -
单片机:DS18B20温度传感器(内含芯片介绍+硬件设计+软件设计+配置环境)
单片机:DS18B20温度传感器(内含芯片介绍+硬件设计+软件设计+配置环境)原创 2022-06-15 21:03:40 · 3120 阅读 · 0 评论 -
单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)
单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程)原创 2022-06-04 16:22:34 · 1052 阅读 · 0 评论 -
单片机:串口通信(内含硬件解析+软件编程)
单片机:串口通信原创 2022-06-02 12:32:59 · 648 阅读 · 0 评论 -
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
定时器0/1中断控制12MHz的P2.0的LED原创 2022-06-01 17:07:18 · 5427 阅读 · 0 评论 -
单片机:外部中断(通过K3按下产生下降沿触发,模拟程序运行时突然外部中断的场景)
1-2在中断系统已讲过,不再赘述左上角:K3为外部中断0,连接GND,低电平有效,P3.2有上拉电阻,为1,高电平。当按下K3,使P32和K33连接后,高电平1变为低电平0,仿真外部中断左下角:P20控制D1作为显示思路:通过K3按下产生下降沿触发,模拟程序运行时突然外部中断的场景#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit LED1=P2^0;sbit KE...原创 2022-05-29 10:44:54 · 1144 阅读 · 0 评论 -
单片机:中断系统内容详解(内含解释和原理图)
响应处 若有多个中断响应,需要先执行中断优先级高的中断嵌套:A程序执行,中断服务程序B打断A,执行B,执行B时又有中断服务程序C打断C,先执行C,再执行B,再执行A下图最重要!共八个中断端口:外部中断(0 1 2 3)+定时器(0 1 2 )+串口8051或8052等较低级单片机有5个:外部中断(0 1)定时器(0 1)+串口优先级问题:外部中断优先级排列:(从上到下,优先级依次降低)INTO(外部中断0)>TO(定时器0)>IN...原创 2022-05-28 10:53:35 · 1784 阅读 · 0 评论 -
单片机:步进电机(内含硬件原理及解析,软件编程及注释)
改变绕组方向,改变电机转动方向图左,公共线处连接VCC,3和4,1和2为同一方向,电流单向图右,1和2处都可以做VCC和GND,电流方向可更改,是双向双极性步进电机工作原理:(改变电流方向,从而改变磁场方向)图左为单向激励,图右为双向激励:图左(步进角为90°):1-2-3-4(注:1为高电平,0为低电平)1图中A+为1,A-为0,B+,B-不工作2图中B+为1,B-为0,A+,A-不工作,转子旋转90°3图中A-为1,A+为...原创 2022-05-27 18:49:28 · 978 阅读 · 0 评论 -
单片机:直流电机(内含ULN2003芯片,硬件原理及解析,软件编程及注释)
注:1-7引脚分别对应的16-10引脚依次为7个输入输出,中间依次用非门连接。如1号引脚输入端输入为0,为假,16脚输出为1,为真,若VCC连接24V,则输出为24V8脚为GND9脚为VCC以下此种方式连接直流电机是错误的!因为输出无法直接输出高电平,输出的均为低电平,只有在1和16脚对应连接时才为一端为高电平,一端为低电平(外部连接上拉电阻可以实现某一管脚为高电平)连接直流电机正确方法VCC端连接直流电机一端,,,另一端连接10-16...原创 2022-05-27 16:06:07 · 2539 阅读 · 0 评论 -
led点阵---显示数字或汉字(内含代码+注释+图片)
#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit SER=P3^4;sbit rCLK=P3^5;sbit SRCLK=P3^6;#define LEDDZ_COL_PORT P0 u8 gled_row[8]={0xFF,0xAA,0xEE,0x00,0x7E,0x52,0x52,0x7E};//LED点阵显示数字0的行数据-----想要什么内容就改对应的16进制u8 g...原创 2022-05-24 16:55:18 · 6356 阅读 · 0 评论 -
点阵---点亮一个点(内含硬件设计+软件编程+思路)
8*8可以点亮汉字,但是不太规范 16*16可以规范点亮任意一个汉字硬件部分:A2-A4点阵电路图注意事项:若使用点阵,需要J24的OE和GND连接A5点阵电路图若用A5-A6代替A2-A4时:点阵的行通过245芯片的管脚控制(图右)DPa,DPb等连接在图右,等价于J6单独管脚,又等价于5995的J27各个管脚点阵的列通过595芯片的管脚控制(图下)RE1K1,RE2K2等连接在J34,此时也等价于P00-P07注:595芯片可以级联操作:将上一个芯..原创 2022-05-24 10:11:40 · 528 阅读 · 0 评论 -
74HC595芯片的IO扩展(串转并)实验(包含硬件原理和软件编程解析和代码)
#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;//特殊管脚寄存器的对应一般不可变sbit rCLK=P3^5;//移位寄存器时钟输入---注:RCLK已被reg52.h定义使用,需要重新定义sbit SRCLK=P3^6;//存储寄存器时钟输入sbit SER=P3^4;//串行数据输入#define LEDDZ_COL_PORT P0 //点阵列控制端口//使用矩阵控制点阵LED点...原创 2022-05-23 18:07:07 · 800 阅读 · 0 评论 -
IO口扩展 74HC595芯片
74HC595芯片目的:扩展IO口数量(一个芯片扩展8个IO口)上面是A2-A4的芯片,下面是A5-A6的芯片,其中右端的QA--->QH'连接LED8*8点阵的A1-A8A2-A4 上半部分13脚--->OE:输出低电平有效,为了控制是否要使用LED点阵部分J24的作用:实物图是条形帽选择连接,如果是VCC+OE,则为高电平,高电平无效,起到不使用LED点阵的作用如果是OE+GND,则为低电平(低电平有效),使用LED点阵12脚--->RCLK:.原创 2022-05-22 20:42:41 · 2086 阅读 · 0 评论 -
单片机:矩阵按键(行列法和线翻转法都有)
硬件部分(A2-A4和A5-A7芯片有所不同)A2-A4A5-A7(考虑兼容性,推荐8-1端口依次使用P10-P17)软件部分:行列法#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;#define SMG_A_DP_PORT P0//数码管对应端口定义#define KEY_MATRIX_PORT P1//矩阵按键函数端口定义//共阴数码...原创 2022-05-21 10:38:29 · 859 阅读 · 0 评论 -
单片机:独立按键---硬件介绍和软件编程
按动按钮,1-2 3-4导通,延时程序:5-10ms抖动需要延时消除抖动 (软件消抖)RC电路充放电(硬件消抖)#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit KEY1=P3^1;//定义特殊位置按键用sbitsbit KEY2=P3^0;sbit KEY3=P3^2;sbit KEY4=P3^3;sbit LED1=P2^0;#define KEY1_...原创 2022-05-19 11:15:32 · 982 阅读 · 0 评论 -
单片机:学完C语言想学单片机需复习C的知识点
^ 表示寄存器的某一个端口,如 sbit=LED P2^0表示LED的P2.0处端口(P2有8个端口)sbit TI=SCON^1;表示SCON的1处寄存器char-->int 需要注意强制类型转换字符'a' :字符串不包括\0,有几就是几字符串"a":字符串不包括\0,有几就是几+1,遇到\0才停止,且计算长度时,\0占一个字节重定义 typedef(用新定义的名字指代刚开始定义的名字,达到替换效果,目的是简化代码长度)存储种类ext...原创 2022-05-10 11:08:59 · 244 阅读 · 0 评论 -
单片机:学完C语言需要学到的部分数电知识
数字门电路——掌握与门、或门、非门与门:或门:非门:与非门:或非门:原创 2022-05-10 11:01:35 · 423 阅读 · 0 评论 -
单片机:51最小单片机系统
51单片机最小系统由以下内容构成:晶振电路,复位电路电源电路+下载电路---烧录程序(可以没有,但尽量有) 晶振电路原理图:保证单片机的正常时钟周期运行18-19脚接晶振为0-40MB,接51单片机时为2MB或11.05MB(建议),直若接添加晶振,晶振起振瞬间会产生电感,所以应加电感(无极性),如C12 C13 复...原创 2022-05-10 10:56:25 · 2069 阅读 · 0 评论 -
单片机:Keil的安装教程
2种方法:1.官方下载,比较麻烦,不建议使用2.搜索我本人的git,可直接下载使用,如下:qq1483078351a第一个鼠标右键(以管理员身份运行),第二个是对应的破解工具(没有该工具,编译超过2kb就报错,无法正常使用)推荐专门创建个文件夹,来总结自己的收获(注:此处文件夹名字不能有中文)内容随便写,但不能空白去掉勾选如下接下来就是破解鼠标右击,以管理员身份打开点击复...原创 2022-05-10 10:28:34 · 424 阅读 · 0 评论 -
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit BEEP=P2^5;//P2.5端口连接的是蜂鸣器void delay_time(time_delay){ while(time_delay--);}void main(){ u16 i=1000;//1000作为发声时间差不多 while(1) { while(i--) { ...原创 2022-05-10 10:02:58 · 8404 阅读 · 0 评论 -
单片机:单灯闪烁(包含keil的使用和PZ烧录)
源代码如下:#include"reg52.h"typedef unsigned int u16;typedef unsigned char u8;sbit LED1=P2^0;void time_dely(u16 time)//有一定延时,大约10us { while(time--); } void main() { while(1) { ...原创 2022-05-09 17:09:25 · 1097 阅读 · 0 评论 -
单片机:点亮一盏灯(如何使用keil和PZ软件对板子烧录)
#include"reg52.h"#include"intrins.h"typedef unsigned int u16;typedef unsigned char u8;sbit LED1=P2^0;void main(){ LED1=0;}原创 2022-05-09 16:49:08 · 384 阅读 · 0 评论 -
单片机:实现流水灯(用库函数控制LED左移和右移)
#include"reg52.h"#include"intrins.h"//_corl_ _cror_都是intrins函数#define LED_PROT P2typedef unsigned char u8;typedef unsigned int u16;void delay_time(u16 time_delay)//延时函数{ while(time_delay);//形参接受参并使用}void main(){ u8 i=0; LED_PR...原创 2022-05-09 12:27:38 · 6285 阅读 · 0 评论 -
keil的使用 普中的isp stc-isp的使用 板子的烧录方
创建一个用来存放的文件夹,(如05.06(矩形按键))提示:最好专门创建一个文件夹用来存放,并取好名字,方便且高效选择刚刚创建(如05.06(矩阵按键))的地方,填写文件名(最好和刚刚创建的名字一致),点击确定再次创建名字,保存鼠标左键点我圈的地方的小+号,打开,最后鼠标右击点Source Group1保持文件名和创建在电脑的文件名一致接下来就是写代码然后是编译画圈的地方逐个点击,左...原创 2022-05-06 14:32:07 · 1266 阅读 · 0 评论