51单片机
文章平均质量分 59
单片机
月牙 ,呐
早睡早起,好好学习,加油^0^~
展开
-
模拟售货系统
基于STC89C52芯片控制。功能图1. 数码管显示【程序功能】: 三种工作模式 一、01-商品编号(XX)-商品价格(XX) 二、02-商品编号(XX)-商品数量(XX) 三、03--商品价格(XXX.X) 使用四个独立按键实现商品编号、商品数 量、工作模式的变化下面展示部分代码片*****************************************************/#include<reg52.h>#includ原创 2020-08-17 19:30:38 · 228 阅读 · 0 评论 -
简单上手万年历(51单片机)
程度目的:LCD液晶屏上显示年月日、时分秒、星期和实时温度使用模块:LCD1602液晶,DS18B20温度传感器,DS1302实时时钟实现如下结果:各模块需要实现的功能及I/O口配置函数配置:部分代码如下:void main(){ DS1302Init(); //DS1302初始化配置 Write_order(0x38);//设置16*2显示 Write_order(0x0c);//开显示 显示光标 光标闪烁 Write_order(0x01);//清屏 Write_order原创 2020-07-22 16:54:00 · 1196 阅读 · 1 评论 -
红外通信
红外通信,用到红外发射接收装置。#include <reg52.h>#include <intrins.h>typedef unsigned int uint;typedef unsigned char uchar;uchar IRcord[4];uchar IRcore[33];uchar IRok,IRokk;uchar IRtime;uchar IRstart;//寄存器初始化void Init(){ TMOD|=0x02;//定时器0设置为8位自动原创 2020-07-20 01:05:11 · 330 阅读 · 0 评论 -
教你如何简单测温(DS18B20)
使用DS18B20温度传感器进行测温好处:测量简便精准,成本低。思路: 根据手册要求先定义初始化函数,写函数,读函数。再根据相应格式写出主函数,求出温度值,最后用显示函数将温度显示在数码管上,保留一位小数。#include<reg52.h>#include<intrins.h>typedef unsigned int uint;typedef unsigned char uchar;sbit DS=P2^2;sbit du=P2^6;sbit we=P2^7;原创 2020-07-19 00:04:24 · 2433 阅读 · 0 评论 -
LCD1602液晶显示
#include<reg52.h>sbit RS=P3^5;sbit RW=P3^6;sbit EN=P3^4;#define uchar unsigned char#define uint unsigned int//读状态void Read_state(){ uchar busy; P0=0xff; RS=0; RW=1; do { EN=1; busy=P0; EN=0; }while(busy & 0x80);}//写指令..原创 2020-07-14 18:36:12 · 196 阅读 · 0 评论 -
AD转化(简单代码)
xpt2046芯片#include<reg52.h>#include<intrins.h>#define AD_CH0 0x94 //通道0光敏cmd#define AD_CH1 0xd4 //通道1热敏cmd#define AD_CH2 0xa4 //通道2电位器cmd#define AD_CH3 0xe4 //通道3外部输入AIN3 cmdtypedef unsigned char uchar;typedef unsigned int uint;#defin原创 2020-07-13 19:20:46 · 3388 阅读 · 0 评论 -
超声波测距
模块型号HC-RS04代码如下:/*Echo接P20,Trig接P21*/#include<reg52.h>#include<intrins.h >、、、typedef unsigned char uchar;typedef unsigned int uint;sbit we=P2^7;sbit du=P2^6;sbit Re=P2^0; //接收信号sbit Se=P2^1; //发射信号uchar code SMGwe[]={0xfe,0xfd,0原创 2020-07-13 18:24:55 · 2589 阅读 · 0 评论 -
手表坏了怎么办??简单上手做一个
简单上手基于使用stc89c52芯片的51单片机源码如下:/简易时钟本次任务下周五前利用数码管,按键,定时器,中断上电显示23-59-50k1控制选择单元,时-分-秒,被选择的单元以一秒的间隔进行闪烁k1按下一次时钟单元闪烁按下两次分钟单元闪烁按下三次秒钟单元闪烁按下四次退出调整,显示时分秒k3 k4利用中断的方式控制被选择单元的数字加减k3按下加一k4按下减一最后注意时分秒边界问题/#include<reg52.h>#include<intrins.h&原创 2020-05-29 10:02:32 · 406 阅读 · 2 评论 -
I2C总线相关代码分析
#include<reg52.h>#include<intrins.h>sbit SCL=P2^1;sbit SDA=P2^0;sbit DU=P2^6;sbit WE=P2^7;#define uchar unsigned char#define At24c02ADDR 0xA0 //AT24c02芯片的地址#define I2CRead 1#define I2CWrite 0bit AckFlag;uchar num;//共阴数码管段选表0-9ucha原创 2020-05-16 21:18:08 · 577 阅读 · 0 评论 -
数码管循环显示
/Abc-xxxxxxxxxxx数码管循环显示/#include<reg52.h>#include<intrins.h>typedef unsigned int u16;typedef unsigned char u8;#define A P0sbit we = P2^7; //位选信号锁存器控制sbit du = P2^6; //段选信号锁存器控制u8 code SMGdu[]={0x7f,0x77,0x39,0x5b,0x06,0x6d,0x06,0x5b,原创 2020-05-12 18:16:01 · 993 阅读 · 0 评论 -
点阵屏循环显示
/点阵屏循环显示WXH/#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DIO = P3^4;sbit S_CLR = P3^5;sbit R_CLR = P3^6;uint k,ROW;uint a,b;uchar code lie[3][8]={0xFF,0xFF,0xEB,0xD5,0xB6,0xFF,0xFF,0xFF,原创 2020-05-12 18:12:39 · 712 阅读 · 0 评论 -
51单片机串口通信(相关概念整理及分析)
串口通信相关概念串行通信并行通信串口通信分为串行通信与并行通信两种。串行通信串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机,计算机与外设之间的远距离通信。并行通信并行通信通常是将数据字节的各位用多条数据线同时进行传送。因为串行通信传输距离远、占用资源少,并行通信优点是发送速度...原创 2020-04-29 20:40:24 · 960 阅读 · 0 评论 -
51单片机——红绿灯系统
利用51单片机完成红绿灯系统该程序是基于使用STC89C52芯片下的51开发板首先确认两种工作状态:①南北方向红灯60s;东西方向绿灯57s,然后黄灯三秒。②南北方向绿灯57秒,然后黄灯3秒;东西方向红灯60s。这两种工作状态交替进行。该程序是主要使用定时器中断来完成的,学好定时器中断就能轻松写出这个程序给程序标了一些简单注释,有看不懂的地方可以评论区留言。#include...原创 2020-04-25 20:10:24 · 8124 阅读 · 2 评论