
单片机入门
以实战为主,分享51单片机项目及代码
普通网友
这个作者很懒,什么都没留下…
展开
-
单片机控制直流电机正反转
单片机控制直流电机正反转硬件连接:程序:#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit K1 = P3^0;sbit K2 = P3^1;sbit K3 = P3^2;sbit LED1 = P0^0;sbit LED2 = P0^1;sbit LED3 = P0^2;sbit MA = P1^0;原创 2020-05-23 12:02:20 · 6724 阅读 · 3 评论 -
单片机控制步进电机正反转
单片机控制步进电机正反转硬件连接:程序:#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={ 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};uchar code REV[]={ 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};sbit K1 = P3^0;sbit原创 2020-05-23 12:01:38 · 4454 阅读 · 1 评论 -
单片机8x8LED点阵屏显示图案
单片机8x8LED点阵屏显示图案硬件连接:代码:#include <reg52.h>#include <intrins.h>#define uchar unsigned char #define uint unsigned intuchar code M[3][8]={ {0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00}, {0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00}, {0x00,0x原创 2020-05-21 18:24:26 · 7395 阅读 · 1 评论 -
单片机8x8LED点阵屏显示数字
单片机8x8LED点阵屏显示数字硬件连接:程序:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code Table_OF_Digits[]={ 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, 0x00原创 2020-05-19 21:47:09 · 10349 阅读 · 2 评论 -
单片机用定时器设计一段门铃
单片机用定时器设计一段门铃硬件连接:代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit Key = P1^7;sbit DoorBell = P3^0;uint p = 0;void Timer0() interrupt 1{ DoorBell = ~DoorBell; p++; if(p<400) { TH0 = (8192-700)/32;原创 2020-05-18 22:03:36 · 1906 阅读 · 1 评论 -
单片机计时器100000秒以内
单片机计时器100000秒以内硬件连接:代码:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar Count;sbit Dot = P0^7;uchar code DSY_CODE[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar Digits原创 2020-05-18 01:07:03 · 1061 阅读 · 2 评论 -
单片机TIMERO控制流水灯
单片机TIMERO控制流水灯硬件连接:代码:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intvoid main(){ uchar T_Count = 0; P0 = 0xfe; P2 = 0xfe; TMOD = 0x01; TH0 = (65535-40000)/256; TL0 = (65535-40000)%2原创 2020-05-18 01:06:34 · 732 阅读 · 0 评论 -
单片机INT0及INT1计数器
单片机INT0及INT1计数器硬件连接:代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit k3 = P3^4;sbit k4 = P3^5;uchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};uchar code Scan_BITs[]={ 0原创 2020-05-18 01:06:02 · 3131 阅读 · 1 评论 -
单个数码管显示4x4矩阵按键
单个数码管显示4x4矩阵按键代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit BEEP = P3^7;uchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};uchar Pre_KeyNO = 16,Key原创 2020-05-16 20:07:49 · 1692 阅读 · 0 评论 -
INTO中断计数器
INTO中断计数器硬件连接:代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f,0x00};uchar Display_Buffer[3]={0,0,0};uint Count = 0;sbit Clear_Key = P3^6;vo原创 2020-05-16 20:06:59 · 1613 阅读 · 0 评论 -
开关控制报警器
开关控制报警器硬件连接代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit SPK = P1^0;sbit K1 = P1^7;void Alarm(uchar t){ uchar i,j; for(i=0;i<200;i++) { SPK = ~SPK; for(j=0;j<t;j++); }}void main(){ whil原创 2020-05-16 20:06:20 · 605 阅读 · 1 评论 -
继电器控制照明设备
继电器控制照明设备代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit K1 = P1^0;sbit RELAY = P2^4;void DelayMS(uint ms){ uchar t; while(ms--) { for(t=0;t<120;t++); }}void main(){ P1 = 0xff; RELAY = 1; while原创 2020-05-16 20:01:39 · 1281 阅读 · 2 评论 -
4x4矩阵按键控制led
4x4矩阵按键控制led代码#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};uchar code KeyCode原创 2020-05-16 18:59:01 · 4262 阅读 · 0 评论 -
独立按键控制数码管位移
独立按键控制数码管位移代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};uchar code DSY_Index[]={ 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};uch原创 2020-05-16 18:58:25 · 1561 阅读 · 0 评论 -
按键状态led显示
按键状态led显示#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED1 = P0^0; sbit LED2 = P0^1;sbit LED3 = P0^2;sbit LED4 = P0^3;sbit K1 = P1^0;sbit K2 = P1^1;sbit K3 = P1^2;sbit K4 = P1^3;void DelayMS(uint x){ ucha原创 2020-05-16 00:13:29 · 517 阅读 · 0 评论 -
单片机10秒秒表
单片机10秒秒表硬件连接:代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit K1 = P3^7;uchar i,Second_Counts,Key_Flag_Idx;bit Key_State;uchar DSY_CODE[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void DelayMS(原创 2020-05-14 22:47:40 · 1761 阅读 · 1 评论 -
单片机蜂鸣器生日快乐歌
单片机蜂鸣器生日快乐歌硬件连接:代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit BEEP = P3^7;uchar code SONG_TONE[]={ 212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0};uc原创 2020-05-14 00:48:13 · 4040 阅读 · 4 评论 -
四个按键控制led位移
四个按键控制led位移代码:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intvoid DelayMS(uint x){ uchar i; while(x--) { for(i=200;i>0;i--); }}void Move_LED(){ if((P1 &= 0x10)==0) P0 = _cr原创 2020-05-13 23:12:20 · 798 阅读 · 0 评论 -
8位共阳数码管滚动显示单个数字
8位共阳数码管滚动显示单个数字代码:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void DelayMS(uint x){ uchar i; while(x--) {原创 2020-05-13 23:03:31 · 2443 阅读 · 1 评论 -
单只数码管循环显示0—9
单只数码管循环显示0-9#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff };void DelayMS(uint x){ uchar t; while(x--)原创 2020-05-13 22:58:45 · 17317 阅读 · 8 评论 -
单片机入门led模拟交通灯
led模拟交通灯#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit RED_A=P0^0;sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3;sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;uchar Flash_Count = 0;Operation_Type = 1;void Delay原创 2020-05-13 22:55:31 · 1934 阅读 · 1 评论