51单片机+DS1302+LCD1602+DS18B20时钟示例+ Proteus仿真
51单片机+DS1302+LCD1602+DS18B20时钟示例+ Proteus仿真51单片机+DS1302+LCD1602+DS18B20时钟示例+ Proteus仿真
Proteus仿真
功能介绍
本仿真实例,实现阴历和农历时间可以切换显示,通过(减键)来切换,读取DS18B20温度,设置闹钟功能。
示例主程序代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614 ...
Proteus仿真DHT11和实际硬件的差异以及读不到数据原因分析
Proteus仿真DHT11和实际硬件的差异以及读不到数据原因分析Proteus仿真DHT11和实际硬件的差异以及读不到数据原因分析
在Proteus仿真里面,仿真LCD1602显示DHT11数据,发现不能显示,有点尴尬,读取DHT11明明是按照数据手册上的时序来写的,为什么不能显示?
第一种原因,可能是我们在使用延时函数的时候,习惯用下面这种函数来延时,这种函数在的延时精度很难保证。
Proteus中51单片机的默认时钟频率是12MHz。
12345void DHT11\_delay\_us(unsigned char n){ while(--n);}
在调试阶段,在各个数据读取阶段设置标志位。
有时候真的不出数据,让人摸不着头脑。
总时序
在单片机拉高电平时间在20-40us阶段,设置一个标志位,判断数据IO口状态是否被DHT拉低,如果拉低,则点亮Led灯,用来观察信号到底有没有拉低,这样很直观就可以看出来。
1234567891011121314151617void DHT11\_start(){ Temp_d ...
STC89C52RC+ LCD1602+PCF8574转IIC接口屏幕驱动显示+Proteus仿真
STC89C52RC+ LCD1602+PCF8574转IIC接口屏幕驱动显示+Proteus仿真STC89C52RC+ LCD1602+PCF8574转IIC接口屏幕驱动显示+Proteus仿真
硬件实物驱动显示
Proteus动态仿真显示
Proteus器件选择注意事项
在选择PCF8574,器件的时候,选择不要带A的的,不然仿真的时候不会显示。
驱动代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381 ...
蓝桥杯单片机定时器与中断秒表实验+Proteus仿真
蓝桥杯单片机定时器与中断秒表实验+Proteus仿真蓝桥杯单片机定时器与中断秒表实验
Proteus仿真
秒表实验
实验目标:在CT107D单片机综合训练平台上,利用定时器T0、数码管模块和2个独立按键(J5的2-3短接),设计一个秒表,具有清零、暂停、启动功能。
实验要求:
显示格式为: 分-秒- 0.05秒(即50ms),例:08-26-18表示: 8分 26秒900毫秒。
独立按键S4为:暂停|启动;独立按键S5为:清零 ,按键均为按下有效。
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 ...
51单片机 DHT11+LCD12864温湿度显示 + Proteus仿真
51单片机 DHT11+LCD12864温湿度显示 + Proteus仿真51单片机 DHT11+LCD12864温湿度显示 + Proteus仿真
采用的接线方式是IIC接口,在Proteus里面仿真太慢了,不知道是电脑古老问题还是怎么,看图像就知道了,有多卡,感觉电脑运行还可以虽然是11年的电脑。好多时候探索问题,没有出效果,真的不知道这条黑路还亚奥走多久才能见到光,调试就是这样,我们看到的只有光鲜亮丽的结果,不知道背后付出了多少时间和努力。OLED显示出效果来,折腾了好久,就是不出图像,
示例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364// // ----------------------------------------------------------------// GND 电源地// VCC 接5V或3.3v电源// D0 P1^0(SCL)// D1 P1 ...
51单片机 DHT11+LCD1602温湿度显示 + Proteus仿真
51单片机 DHT11+LCD1602温湿度显示 + Proteus仿真51单片机 DHT11+LCD1602温湿度显示+ Proteus仿真
主程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <reg52.h>#include <LCD1602.h>#include <DTH11.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar wendu [4];uchar shidu [4];uchar i;int j;void main(){ //uchar i; InitLcd1602(); LcdShowStr(2, 0, "Temp:"); LcdShowStr(2, 1, "Hum:"); while(1) { ...
51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真
51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真
Proteus仿真效果
调试了好久,总是读不到数据,显示00,估计像我这样的人,应该不在少数,这个DHT时序图,看,大家应该都看得懂,主要在于,这个延时时间需要精准掌控好,不然很难在DHT和单片机之间建立有效的通讯连接,也就不能正确的读到数据了,失败是成功之母,只有不断的去尝试和实验,验证。看懂了时序图,到最后的延时时间还是慢慢的测出来的。后面学习的人,就不需要像我一样继续采坑了,经验都是前面的人总结出来的。
仿真当中应用了虚拟串口,这个需要自己安装了虚拟串口工具,并且添加了虚拟串口才能进行这样的仿真,不然,串口仿真输出是没有的。
主程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 ...
51单片机 IIC多设备访问(AT24C02)+Proteus仿真
51单片机 IIC多设备访问(AT24C02)+Proteus仿真51单片机 IIC多设备访问(AT24C02)+Proteus仿真
Proteus仿真
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317 ...
51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示+Proteus仿真
51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示+Proteus仿真51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示+Proteus仿真
Proteus仿真
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316 ...
51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示
51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示
在做这个实验的时候又一次被自己的不注意,掉坑里面去了,调试了好久都不出数据,结果在延时函数和引脚定义上被自己坑了一把。希望大家在写代码的时候多加注意。
LCD1602+PCF8574转IIC接口屏幕
实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391 ...
