单片机实验
柳家山头号矿工
如果你喜欢数学,那我们就是朋友!!!
展开
-
51单片机_17-2 红外遥控控制电机转速
文章目录要求效果资源main函数要求1、接收红外遥控指令2、通过指令控制直流电机转速3、将转速等级显示在数码管上提示:红外模块需要一个定时器(无需中断函数)直流电机也需要一个定时器(需要中断函数)效果资源工程文件压缩包链接:https://pan.baidu.com/s/1Mj9yek156DhBQ6YqWyThrQ提取码:8xltmain函数#include <REGX52.H>#include "Nixie.h"#include "Motor.h"#inc原创 2022-05-02 20:29:16 · 1895 阅读 · 6 评论 -
51单片机_17-1 红外遥控
文章目录要求资料遥控对应命令键码数据帧描述模块编写提示效果资源main函数要求1、在LCD1602上显示发送红外信号的设备的地址编号2、在LCD1602上显示红外信号命令3、通过红外信号命令修改Num,并在LCD1602上显示资料遥控对应命令键码数据帧描述模块编写提示效果资源工程文件压缩包链接:https://pan.baidu.com/s/1HPtTadBWsLAukKR86ATvhA提取码:xbfrmain函数#include <REGX52.H>#i原创 2022-05-02 20:25:33 · 1009 阅读 · 1 评论 -
51单片机_16-2 DA数模转换
文章目录要求资源main函数要求1、数字量转模拟量此处用的是Counter, Compare以及Compare的变换模拟PWM控制LED灯的亮度,达到呼吸灯的效果资源工程文件压缩包链接:https://pan.baidu.com/s/11uhXupOcKZ9ABS-EOIBpew提取码:2zbamain函数#include <REGX52.H>#include "Delay.H"#include "Timer0.H"//呼吸灯模拟DA过程sbit DA=P2^1;原创 2022-05-02 11:22:42 · 522 阅读 · 0 评论 -
51单片机_16-1 AD模数转换
文章目录要求效果资源main函数要求1、从XPT2046芯片中读取可调电阻,热敏电阻,光敏电阻的值2、将读取到的值显示在LCD1602上效果资源工程文件压缩包链接:https://pan.baidu.com/s/1lIQLyixFTDJ9IrnA34x5rw提取码:kpzgmain函数#include <REGX52.H>#include "Delay.H"#include "LCD1602.H"#include "XPT2046.H"void main(){原创 2022-05-02 11:16:12 · 1261 阅读 · 0 评论 -
51单片机_15-2 直流电机速度调节
文章目录要求效果资源main函数要求1、驱动直流电机2、通过K1按键调节直流电机转速,并将转速等级显示在数码管上效果资源工程文件压缩包链接:https://pan.baidu.com/s/1kIA6OU1SniVyTORJPXJQsw提取码:92pamain函数#include <REGX52.H>#include "Key.H"#include "Nixie.H"#include "Timer0.H"sbit Motor=P1^0; //电机速度调节接口原创 2022-05-01 21:08:25 · 1010 阅读 · 7 评论 -
51单片机_15-1 LED亮度调节
文章目录要求资源main函数要求通过独立按键调节LED灯亮度资源工程文件压缩包链接:https://pan.baidu.com/s/1wF4UhANu4yHbSXCM7_ugKA提取码:kwksmain函数#include <REGX52.H>#include "Key.H"#include "Timer0.H"sbit LED=P2^0;unsigned char Counter,Compare; //占空比调节unsigned char KeyNum,Speed原创 2022-05-01 21:05:05 · 4867 阅读 · 4 评论 -
51单片机_14-1 LCD1602液晶显示屏
文章目录LCD1602相关指令要求效果资源main函数LCD1602相关指令要求1、显示字符2、显示字符串3、显示无符号整数十进制形式4、显示有符号整数十进制形式5、显示无符号整数十六进制形式6、显示无符号整数二进制形式效果资源工程文件压缩包链接:https://pan.baidu.com/s/16U9ISHOQbPyFIiWQ_kW0KQ提取码:q1ahmain函数#include <REGX52.H>#include "LCD1602.H"void原创 2022-05-01 11:40:27 · 579 阅读 · 0 评论 -
51单片机_13-2 DS18B20温度报警器
文章目录要求效果资源main函数要求1、利用总线OneWire与DS18B20通信2、从DS18B20中将温度读出并显示在LCD上3、显示温度警报界限,并在温度超过界限时,在LCD右上角给出警告4、K1、K2负责调节温度下界,K3、K4负责调节温度上界5、开机时从AT24C02中读取温度界限,并在温度界限调节时,将调节后的温度界限存储到AT24C02,以便断电后下次开机不用再次调节温度界限效果资源工程文件压缩包链接:https://pan.baidu.com/s/1n5Zpnr8Koh原创 2022-04-30 18:49:06 · 2028 阅读 · 4 评论 -
51单片机_13-1 DS18B20温度读取
文章目录要求效果资源main函数要求效果资源工程文件压缩包链接:https://pan.baidu.com/s/1As-XqlKpRosJcoErors_cw提取码:qeymmain函数#include <REGX52.H>#include "Delay.H"#include "LCD1602.H"#include "DS18B20.H"void main(){ float T; DS18B20_ConvertT(); //延时1s,等待温度转换完毕,避免读出默认原创 2022-04-30 18:41:20 · 425 阅读 · 0 评论 -
51单片机_12-2 秒表(定时器扫描数码管)
文章目录要求效果资源main函数要求1、秒表计数,秒表显示,独立按键获取三个模块写到中断函数中2、K1暂停秒表,K2秒表清零,K3将秒表数据存到AT24C02,K4将秒表数据从AT24C02读取出来效果资源链接:https://pan.baidu.com/s/18VQZk_vG8-7sk1e4jLCJLA提取码:oqv4main函数#include <REGX52.H>#include "Timer0.H"#include "Nixie.H"#include "Key.原创 2022-04-29 17:25:29 · 923 阅读 · 0 评论 -
51单片机_12-1 AT24C02 数据存储
文章目录要求效果资源main函数要求1、在LCD1602上显示数字2、按下K1对数字加1,按下K2对数字减13、按下K3将数字存到AT24C02中,按下K4将数字从AT24C02中取出来并在LCD上显示效果资源工程文件压缩包链接:https://pan.baidu.com/s/1EdI2_KE5v8NaU3Wk89ipig提取码:foi0main函数#include <REGX52.H>#include <INTRINS.H>#include "LCD16原创 2022-04-29 17:20:50 · 1000 阅读 · 0 评论 -
51单片机_11-2 蜂鸣器播放音乐
文章目录要求资源main函数要求控制蜂鸣器播放音乐资源工程文件压缩包链接:https://pan.baidu.com/s/1hA-aa0JRP33IlOYFNzKf7A提取码:0idamain函数#include <REGX52.H>#include "Key.h"#include "Delay.h"#include "Nixie.h"#include "MATRIXLED.H"#include "Buzzer.h"void main(){ //8x8点阵模块原创 2022-04-28 14:39:21 · 2168 阅读 · 0 评论 -
51单片机_11-1 蜂鸣器播放按键提示音
文章目录要求资源main函数要求用户按下独立按键时,蜂鸣器发出提示音资源工程文件压缩包链接:https://pan.baidu.com/s/1UJ274rOUKCzuOxOnbZDK3g提取码:hywtmain函数#include <REGX52.H>#include "Key.h"#include "Delay.h"#include "Nixie.h"#include "Buzzer.h"sbit beep=P2^5;void main(){ unsigned原创 2022-04-28 14:37:04 · 1140 阅读 · 0 评论 -
51单片机_10-2 DS1302可调时钟
文章目录要求效果资源main函数要求1、设置DS1302时钟芯片时间2、读取DS1302时钟芯片时间并显示在LCD1602上3、通过独立按键可修改当前时间K1:进入/退出修改模式K2:选择修改的具体属性K3:选中属性值加1K4:选中属性值减1效果资源工程文件压缩包链接:https://pan.baidu.com/s/1EapEC862yxjL8rWxXXnX4w提取码:9mmmmain函数#include <REGX52.H>#include "Delay.H"原创 2022-04-27 18:05:53 · 2727 阅读 · 0 评论 -
51单片机_10-1 DS1302时钟显示
文章目录要求效果资源main函数要求1、设置DS1302时钟芯片时间2、读取DS1302时钟芯片时间并显示在LCD1602上效果资源工程文件压缩包链接:https://pan.baidu.com/s/1cwrWe4hCzltUZhyA16Z4hQ提取码:0jpnmain函数#include <REGX52.H>#include "LCD1602.H"#include "DS1302.H"void main(){ unsigned char time[]={22,4原创 2022-04-27 18:00:31 · 1218 阅读 · 2 评论 -
51单片机_9-2 8x8点阵动画显示
文章目录要求效果资源main函数要求1、动态显示字符串"Hello!"效果资源工程文件压缩包链接:https://pan.baidu.com/s/1FP58oMx6heVpkk-mGlEtRg提取码:yj22main函数#include <REGX52.H>#include "Delay.H"#include "MATRIXLED.H"void main(){ //加上code(加上之后不可更改内容),表示将数据放在flash中(空间更大,不容易溢出) unsi原创 2022-04-26 11:54:54 · 1602 阅读 · 0 评论 -
51单片机_9-1 8x8点阵静态显示
文章目录要求效果资源main函数要求1、8x8点阵显示图形效果资源工程文件压缩包链接:https://pan.baidu.com/s/1WM8Yl2xe2_ncs1drcy6aOw提取码:5572main函数#include <REGX52.H>#include <INTRINS.H>#include "Delay.H"sbit RCK=P3^5;sbit SCK=P3^6;sbit SER=P3^4; //数据接收(1bit/次)#define原创 2022-04-26 11:52:11 · 720 阅读 · 0 评论 -
51单片机_7-1独立按键控制流水灯方向
文章目录要求资源效果main函数要求1、使用单片机内部定时器做为延时函数2、独立按键K1控制流水灯左移3、独立按键K2控制流水灯右移资源工程文件压缩包链接:https://pan.baidu.com/s/1W9YeW8SumYk5bm530i4mKQ提取码:uppa效果main函数#include <REGX52.H>#include <INTRINS.H>#include "Delay.h"#include "Timer0.h"#include "原创 2022-04-24 19:15:43 · 9893 阅读 · 6 评论 -
51单片机_8-2 电脑通过串口控制单片机LED灯
文章目录要求效果资源main函数要求1、配置单片机串口读写2、从串口接收数据,根据具体数据更改LED的状态,并将接收的数据发送到串口效果我这里直接将接收到的值赋给P2,0xf0=1111 0000于是低4位LED点亮(我这个单片机LED低位在左)资源工程文件压缩包链接:https://pan.baidu.com/s/1vW2fIM-biNKZLAXHMsDAgw提取码:nmnkmain函数#include <REGX52.H>#include <INTRINS原创 2022-04-25 21:45:20 · 1829 阅读 · 2 评论 -
51单片机_8-1 串口向电脑发送数据
文章目录要求效果资源main函数要求1、配置单片机串口,向电脑发送数据效果资源工程文件压缩包链接:https://pan.baidu.com/s/1bmbReFGNStYbg45F4kcj0g提取码:iwk5main函数#include <REGX52.H>#include <INTRINS.H>#include "Delay.H"#include "UART.H"unsigned char Sec=0;void main(){ UART_In原创 2022-04-25 21:38:55 · 748 阅读 · 0 评论 -
51单片机_7-2 使用内部计时器实现时钟显示
文章目录要求资源效果main函数要求1、使用内部定时器实现时钟效果资源工程文件压缩包链接:https://pan.baidu.com/s/1kKYAxZDYQOPHRHnnZwUT3g提取码:o9sl效果main函数#include <REGX52.H>#include "LCD1602.h"#include "Timer0.h"void adjust(unsigned char *time){ time[0]%=24; time[1]%=60; time[2]原创 2022-04-24 19:20:52 · 680 阅读 · 1 评论 -
51 单片机学习_6-1 获取矩阵键盘输入
文章目录资源原理图效果main函数资源工程文件压缩包:链接:https://pan.baidu.com/s/1-AO-0t4Vyi8zmOrzDv3fEQ提取码:ztgl原理图效果main函数#include <REGX52.H>#include "Delay.h"#include "LCD1602.h"//获取键盘输入unsigned char get_matrix(){ unsigned char ret=-1; P1=0xff; while(1){原创 2022-04-24 07:03:33 · 408 阅读 · 0 评论 -
51 单片机学习_6-2 矩阵键盘密码锁
文章目录资源效果密码不匹配输入溢出密码正确main函数资源工程文件压缩包链接:https://pan.baidu.com/s/1zTLkDFnQD21Dyc9uZyeOew提取码:otin效果密码不匹配输入溢出密码正确main函数#include <REGX52.H>#include "Delay.h"#include "LCD1602.h"//初始化输入void Init(unsigned char *s,unsigned char len){ unsig原创 2022-04-23 22:31:12 · 875 阅读 · 0 评论 -
51 单片机学习_5-2 1602LCD调试
原创 2022-04-23 20:28:21 · 287 阅读 · 0 评论 -
51 单片机学习_5-1模块化编程(有示例)
文章目录说明资源说明资源图中示例的工程文件压缩包链接:https://pan.baidu.com/s/1kM0tuZnUBrBY0vh-lwJN5g提取码:ejty原创 2022-04-23 18:57:11 · 1480 阅读 · 0 评论 -
51 单片机学习_4-2 数码管动态显示
文章目录解释效果代码解释效果代码#include <REGX52.H>void Delay(unsigned int xms) //@11.0592MHz{ unsigned char i, j; while(xms--){ i = 2; j = 239; do { while (--j); } while (--i); }}void main(){ //片选对照表 1~8个数码管 P2口 unsigned char chip_ta原创 2022-04-22 19:58:21 · 525 阅读 · 0 评论 -
51 单片机学习_4-1 数码管显示
文章目录解释效果代码解释效果代码#include <REGX52.H>void Delay(unsigned int xms) //@11.0592MHz{ unsigned char i, j; while(xms--){ i = 2; j = 239; do { while (--j); } while (--i); }}void main(){ //选中第5个数码管 //显示6 0111 1101 unsigned char原创 2022-04-22 19:56:15 · 190 阅读 · 0 评论 -
51 单片机学习_3-4 独立按键控制发光LED左移&右移
文章目录解释代码解释代码#include <REGX52.H>void Delay(unsigned int xms) //@11.0592MHz{ unsigned char i, j; while(xms--){ i = 2; j = 239; do { while (--j); } while (--i); }}void main(){ unsigned char flag=0x01; P2=~flag; while(1){原创 2022-04-21 21:47:33 · 2542 阅读 · 0 评论 -
51 单片机学习_3-3 独立按键控制LED二进制显示
文章目录解释代码解释F = 1111 1111flag = 0P_2 = F = 1111 1111按一次K1,flag加1P_2 = 1111 1110 //表示1,第一个LED发光按一次K1,flag加1P_2 = 1111 1110 //表示2,第二个LED发光按一次K1,flag加1P_2 = 1111 1100 //表示3,第一个和第二光LED同时发光……代码#include <REGX52.H>void Delay(unsigned i原创 2022-04-21 21:40:49 · 1257 阅读 · 1 评论 -
51 单片机学习_3-2 独立按键控制LED状态
文章目录解释代码解释按键K1连接到P3_1,按一下K1,P3_1变为低电平,P2_0取反P2_0连接到第一个LED的负极,P2_0为1时LED熄灭,为0时发光每次按一下K1就能将P2_0取反,实现K1控制LED的状态延时函数的作用我们按一下按键的时间与cpu执行这几条指令的时间比起来差了几个数量级,可能我们按一下 这段代码已经执行成千上百轮,在我们按下的过程中,P3_1始终为低电平,所以P2_0不断取反,LED不停地亮灭,延时函数的作用就在于我们手松开但P3_1仍为低电平的过程中,使得cpu暂缓原创 2022-04-21 21:40:00 · 855 阅读 · 0 评论 -
51 单片机学习_2.1 独立按键控制LED亮灭
文章目录解释代码解释P3_1口可以检测按键K1的状态若按下,由高电平变成低电平,P2_0口置0,第一个led发光若松开,由低电平变成高电平,P2_0口置1,第一个led熄灭代码#include <REGX52.H>void main(){ while(1){ if(P3_1==0){ P2_0=0; } else{ P2_0=1; } }}...原创 2022-04-20 18:02:42 · 2009 阅读 · 0 评论 -
51 单片机学习_1.3 LED流水灯
代码#include <REGX52.H>#include <INTRINS.H>void Delay100ms(unsigned char turn) //@11.0592MHz{ while(turn--){ unsigned char i, j, k; _nop_(); _nop_(); i = 5; j = 52; k = 195; do { do { while (--k); } while (--j原创 2022-04-20 17:58:41 · 338 阅读 · 0 评论 -
51 单片机学习_1.2 LED闪烁
代码#include <REGX52.H>#include <INTRINS.H>void Delay500ms() //@11.0592MHz{ unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i);}void main(){ while(1){ P2 = 0原创 2022-04-20 17:56:27 · 1171 阅读 · 0 评论 -
51 单片机学习_1.1 点亮一个LED
代码#include <REGX52.H>void main(){ P2 = 0x55; //1111 1110 while(1) { }}原创 2022-04-20 17:55:21 · 279 阅读 · 0 评论 -
STC89C52RC单片机例程实现_流水灯1_模块化(C语言实现)
主函数main:main.c#include <reg51.h>#include "Delay.h"//Delay.h 头文件申明void main(){ while(1) { P1=0xfd; Delay1ms(500); P1=0xfe; Delay1ms(500); }}子函数Delay:Delay.cvoid Delay1ms(unsigned int xms) //延时函数,xms表示延时毫秒数{ unsigned char i, j;原创 2021-11-30 20:15:26 · 1204 阅读 · 0 评论 -
STC89C52RC单片机例程实现_流水灯0(C语言实现)
#include <reg51.h>void Delay50ms()//延时函数,调用一次延时50ms{ unsigned char i, j, k; i = 3; j = 72; k = 161; do { do { while (--k); } while (--j); } while (--i);}void main(){ P1=0xFE;//二进制形式:1111 1110 while(1)//以下代码实现循环右移 { Delay50原创 2021-11-30 16:40:06 · 1651 阅读 · 0 评论