51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真
51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真
✨本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去。
📺Proteus演示
✨注意不要使用Proteus 8 Professional 8.13版本串口通信会出错。
🔨本案例需要使用到虚拟串口工具,事先创建好2个虚拟串口。(Virtual Serial Port Driver )
🔖软件界面配置好后,在电脑设备管理器里面可以看到2个虚拟端口号
⛳Proteus设置注意事项
设置AT89C52的晶振频率为11.0582MHz,默认是12MHz,如果是12MHz,虚拟串口打印的数据会是乱码。
设置虚拟串口监视器的波特率为9600,两个都是。
COMPIM元器件的设置也是同样,波特率为9600,配置好串口端口号
串口工具界面设置
📝实例代码1234567891011121314151617181920212223242526272829303132 ...
51单片机+DS18B20+数码管显示+超温提示+Proteus仿真
51单片机+DS18B20+数码管显示+超温提示+Proteus仿真51单片机+DS18B20+数码管显示+超温提示+Proteus仿真
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 ...
51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真
51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真
*Proteus仿真
L298N是双H桥式驱动器。
L297是步进电机控制集成芯片(包括环形分配器),可产生四相驱动信号,应用于微处理机控制两相双极性和四相单极性步进电机。电动机可由半阶梯、正常和斩波驱动模式驱动,同时设于晶片内的PWM斩波线路容许以开关形式控制线路的电流。此器件只需要时钟、方向和模式输入信号。相位是由内部产生的,因此可减轻微处理机和程序设计的负担。
实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051 ...
51单片机+ds1302+lcd1602简易电子时钟(带闹钟功能)
51单片机+ds1302+lcd1602简易电子时钟(带闹钟功能)51单片机+ds1302+lcd1602简易电子时钟(带闹钟功能)
AT89C52、LCD1602、DS1302、speaker、
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 ...
51单片机个位(0-9)累加器数码管显示 + Proteus仿真
51单片机个位(0-9)累加器数码管显示 + Proteus仿真51单片机个位(0-9)累加器 + Proteus仿真
Proteus仿真
Proteus元件
实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677/\*----------------------------------------------- 名称:1位数码管动态扫描显示0-9变化数据 内容:1位数码管分别显示不同数字,这种扫描显示方式成为动态扫描,并不停变化赋值------------------------------------------------\*/#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#define DataPort P0 //定义数据端口 程序中遇到DataPort 则 ...
51单片机串口通讯 +Proteus仿真实验
51单片机串口通讯 +Proteus仿真实验51单片机串口通讯 +Proteus仿真实验
✨注意不要使用Proteus 8 Professional 8.13版本串口通信会出错。
🛠准备工作
🔧需要借助虚拟串口软件(Virtual Serial Port Driver),创建2个虚拟串口
具体软件下载和教程:http://www.xue51.com/soft/9349.html
🔖添加虚拟串口成功后,在设备管理器窗口可以看到虚拟出来的端口号
📝串口通讯实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include <reg52.h>#include <stdio.h> //printf头文件#define uc unsigned char # ...
51单片机串口通讯实验2+Proteus仿真
51单片机串口通讯实验2+Proteus仿真51单片机串口通讯实验2+Proteus仿真
📌相关篇《51单片机串口通讯 +Proteus仿真实验》只是程序代码中对串口接收收据处理方式不一样,新增了按键中断。
✨注意不要使用Proteus 8 Professional 8.13版本串口通信会出错。
🔨准备工作
🔧需要借助虚拟串口软件(Virtual Serial Port Driver),创建2个虚拟串口
具体软件下载和教程:http://www.xue51.com/soft/9349.html
🔖添加虚拟串口成功后,在设备管理器窗口可以看到虚拟出来的端口号
📝串口通讯实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495#include&l ...
51单片机利用左移运算制作一组IO流水灯
51单片机利用左移运算制作一组IO流水灯51单片机利用左移运算制作一组IO流水灯
Proteus仿真
实例代码1234567891011121314151617181920212223#include <REGX52.H>//毫秒级延时void delay(unsigned int z){ unsigned x,y; for(x=z; x>>0; x--) for(y=110; y>>0; y--);}void main() { static int i=0; while(1) { P2=~(1<<i); i++; delay(800); if(i==7) { P2=~(1<<7);//先让i=7执行P2=0x7f(0111 1111)再执行i%=7操作,不然P27只会量一次 delay(800); i%=7 ...
51单片机定时器累加计数(0000-9999)+4位数码管(循环显示)+Proteus仿真
51单片机定时器累加计数(0000-9999)+4位数码管(循环显示)+Proteus仿真51单片机定时器累加计数(0000-9999)+4位数码管(循环显示)+Proteus仿真
*Proteus仿真
实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 #include <reg52.h>#define uint unsigned int#define uchar unsigned char sbit a = P2^0; sbit b = P2^1;sbit c = P2^2;sbit d = P2^3;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x ...
51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真
51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真
Proteus仿真
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 #include <reg52.h>#define uint unsigned int#define uchar unsigned char sbit a = P2^0; sbit b = P2^1;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极段码0-9 uint num=0;uchar shi=0; void delayms(uint xms) //延时程序{ uint i,j; for( ...
