![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
51单片机
冰蓝樱草
学习数据分析
展开
-
基于AT89C51单片机的数码管循环点亮0到9(Keil+Proteus+C语言)
数码管循环点亮0到9)要求描述:仿真图代码要求描述:选用AT89C51单片机,绿色7段共阴极数码管,使用C语言实现仿真图代码#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f};原创 2021-01-26 10:42:55 · 11710 阅读 · 12 评论 -
IIC总线及PCF8591
IIC总线及PCF8591IICIIC协议详解1.I2C总线介绍I2C(Inter-Integrated Circuit)总线(也称IIC或I2C)是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少、控制方式简单、器件封装形式小、通信速率较高等优点。I2C有着如下的特点。(1)两条...转载 2020-11-17 22:03:01 · 2476 阅读 · 0 评论 -
51单片机利用Timer0实现十字路口交通灯(proteus+汇编语言+keil)
汇编语言实现十字路口交通灯功能实现:当东西是绿灯时,南北是红灯,东西绿灯定时一段时间后变为黄灯闪烁三次,南北仍为黄灯,闪烁完后东西变为红灯,南北变为绿灯,定是一段时间后,南北变为黄灯闪烁三次(此时东西仍为红灯),闪烁三次后,南北变为红灯,东西变为绿灯。proteus仿真原理图汇编源代码: ORG 0000H LJMP MAIN ORG 000BH LJMP INTI0 ORG 0030HMAIN: MOV SP,#60H MOV B,#0AH M原创 2020-07-13 11:06:59 · 6501 阅读 · 10 评论 -
2x2矩阵按键分别在数码管上显示0~3(汇编语言+51单片机+Keil+Proteus)
标题四个按键分别在数码管上显示0~3(汇编语言)功能:按下第一行第一个按键数码管显示0,第一行第二个数码管显示1,第二行第一个数码管显示2,第二行第二个数码管显示3.源代码: ORG 0000H KEY: LCALL KS JZ KEY LCALL T10ms LCALL KS JZ KEY MOV R2,#0FEH MOV R4,#00H MOV P0,#0FFHLK1: MOV P1,R2原创 2020-07-09 17:51:35 · 2351 阅读 · 0 评论 -
按键使数码管循环显示从0到9 (51单片机+汇编语言+Proteus仿真)
按键使数码管循环显示从0到9(51单片机+汇编语言+Proteus仿真)具体功能:显示按第一次数码管变亮显示0,然后每按一次数码管显示的数字加1,加到9后从0重新开始。汇编源代码: ORG 0000HSTART0:MOV R2,#0START1:JB P0.0,START1WAIT:JNB P0.0,WAIT MOV A,R2 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P1,A INC R2原创 2020-07-09 17:38:48 · 25869 阅读 · 19 评论 -
基于AT89C51的外部中断INT0(汇编语言)
外部中断功能: 八个LED灯D1到D8依次循环点亮,按下按键跳转到中断服务程序,此时8个LED灯全部熄灭,D9闪烁三次,然后返回主程序。仿真图:汇编代码: ORG 0000H LJMP START ORG 0003H LJMP INSER START: MOV A,#0FEH SETB EX0 SETB IT0 SETB EA MAIN: MOV P1,A LCALL DELAY原创 2020-07-09 17:15:59 · 3339 阅读 · 1 评论 -
单片机向主机发送字符串(Proteus仿真+keil)
单片机向主机发送字符串仿真图源代码仿真图源代码#include <reg51.h>#define uint unsigned int#define uchar unsigned charvoid Delay(uint x){ uchar i; while(x--) { for(i=0;i<120;i++); }}void putc_to_SerialPort(uchar c){ SBUF = c; while(TI == 0); TI =原创 2020-07-09 16:47:50 · 2294 阅读 · 2 评论 -
IIC+A/D
声明:本文为CSDN博主「田野麦子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_38679924/article/details/91876414原创田野麦子项目描述向PCF8591芯片的AN2通道输入一个电压模拟量,经过AD转换后,单片机通过IIC总线读取转换后的数据,并将其量化后实时显示在LCD上。然后将AD转换后的数据写入PCF8591中进行DA转换,并用LED灯的亮度来显示模拟量的大小。转载 2020-11-17 22:06:42 · 165 阅读 · 0 评论 -
定时器计数 数码管显示0到99 (中断和查询两种方式)
定时器中计数 数码管显示0到99定时器中断方式计数#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0...原创 2020-04-12 09:52:34 · 14714 阅读 · 7 评论 -
8位LED循环闪烁+ 外部中断控制LED闪烁+仿真图
8位LED循环闪烁(定时器延时)+ 外部中断控制LED闪烁代码#include<reg51.h>#define uint unsigned int #define uchar unsigned char#define ulint unsigned long intsbit led=P0^0; char time=0;void delay(uint x) { uin...原创 2020-04-12 09:11:23 · 5863 阅读 · 0 评论 -
使用printf语句向虚拟终端发送字符串
使用printf语句像虚拟终端发送字符串第一步:增加基本输出库stdio.h第二步:设置串口参数第三步:直接在函数中使用printf进行打印C51单片机如何使用printfprintf函数是调用putchar函数输入的,而putchar应该是先判TI断ti是否为1,不为1则等待为1。 如果为1则清0,然后送出一个字符。因此 你如果直接使用printf函数,你的程序就会在putchar函数...原创 2020-03-22 12:13:18 · 887 阅读 · 0 评论