51单片机驱动TM1638芯片+Proteus仿真
51单片机驱动TM1638芯片+Proteus仿真51单片机驱动TM1638芯片+Proteus仿真
今天研究了一天,如何在驱动8位数码的同时,控制LED灯,就是出来不来效果,但是单步执行,可以看到LED灯能来,感觉是刷新太快了看不出效果。没有实际硬件光靠仿真有时候真的很难调试出效果,也许是软件bug的存在。
本案例只是修正了资料中的写显示数码管地址位显示不对应的bug。注释掉的代码比较多,主要是用来调试LED的效果时使用的测试代码。
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <REGX51.H>#include <tm1638.h>#include <intrins.h>unsigned char num[8]; //各个数码管显示的值int main(void){ unsigned char i; init\_TM1638(); ...
【Proteus】51单片机交通灯信号模拟仿真示例一
【Proteus】51单片机交通灯信号模拟仿真示例一【Proteus】51单片机交通灯信号模拟仿真示例一
Proteus仿真效果演示
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 ...
【Proteus】51单片机交通灯信号模拟仿真示例三
【Proteus】51单片机交通灯信号模拟仿真示例三【Proteus】51单片机交通灯信号模拟仿真示例三
Proteus仿真效果
去掉了其中的8255,没有使用到。
连线图
程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681 ...
【Proteus】51单片机交通灯信号模拟仿真示例二
【Proteus】51单片机交通灯信号模拟仿真示例二【Proteus】51单片机交通灯信号模拟仿真示例二
Proteus仿真效果
相关篇《【Proteus】51单片机交通灯信号模拟仿真示例一》
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152/\*-------------------------------51单片机交通灯信号模 ...
【Proteus】51单片机+双DS18B20浮点数温度显示
【Proteus】51单片机+双DS18B20浮点数温度显示【Proteus】51单片机+双DS18B20浮点数温度显示
Proteus仿真
此代码是在《【Proteus】51单片机+双DS18B20浮点数温度显示》基础上修改得来的。
相关篇《【Proteus仿真】51单片机驱动LCD1602显示DS18B20序列号》
注意:程序里面的二维数组存放的是DS18B20序列号,仿真前需要先对目标DS18B20的序列号读取出来,再填写到此处才有效。
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 ...
【Proteus仿真】 51单片机利用定时器制作简易SPWM波形输出
【Proteus仿真】 51单片机利用定时器制作简易SPWM波形输出【Proteus仿真】 51单片机利用定时器制作简易SPWM波形输出
Proteus仿真
幅值小看的不是很明显。
PWM和SPWM简介
PWM 是英文Pulse Width ModulaTIon(脉冲宽度调制)缩写,按一定规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调制方式。
SPWM是在PWM的基础上用正弦波来调制合成的具有正弦波规律变化的方波。SPWM原理正弦PWM的信号波为正弦波,就是正弦波等效成一系列等幅不等宽的矩形脉冲波形,其脉冲宽度是由正弦波和三角波自然相交生成的。
示例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/\*---------------------------------------------------------------\*/#include <re ...
【Proteus仿真】51单片机+74HC595驱动8X8点阵位移显示
【Proteus仿真】51单片机+74HC595驱动8X8点阵位移显示【Proteus仿真】51单片机+74HC595驱动8X8点阵位移显示
📺Proteus仿真
🛠取模软件和取模方式
图形取模和显示:
120x1C,0x38,0x70,0xE0,0xE0,0x70,0x38,0x1C,
说明一点:实际显示的效果是逆时针旋转了90°的效果。如下图
📝驱动程序
main.h
1234567891011121314151617181920212223242526272829#ifndef \_\_MAIN\_H\_\_#define \_\_MAIN\_H\_\_#include <reg52.h>#include <intrins.h>#define uchar unsigned char //类型转义#define uint unsigned int //类型转义/\*重要: 第一片的74HC595的引脚14要接到第二片的74HC595的引脚9, 千万不能搞反 第一片的74HC595的引脚12接第二片的74HC595的引脚12 ...
【Proteus仿真】51单片机74LS164+74LS165扩展 I/O示例
【Proteus仿真】51单片机74LS164+74LS165扩展 I/O示例【Proteus仿真】51单片机74LS164+74LS165扩展 I/O示例
Proteus仿真
74LS164
8位串入、并出移位寄存器.
逻辑图
引脚图
引脚功能说明
74LS165:8位并入、串出移位寄存器
示例程序
使用4片74LS164级联,作I/O扩展输出,共扩展32位;使用4片74LS165级联,作作I/O扩展输入。
实现功能:
74LS164扩展I/O输出点亮4个数码管;
74LS165读取扩展I/O引脚状态;
在LCD1602中同步显示数码管显示的数字。
主程序代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 ...
【Proteus仿真】51单片机+8255并行口扩展流水灯演示
【Proteus仿真】51单片机+8255并行口扩展流水灯演示【Proteus仿真】51单片机+8255并行口扩展流水灯演示
Proteus仿真
程序实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include<regx52.h>#include<intrins.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define PA XBYTE[0x3fff]#define PB XBYTE[0x7fff]#define PC1 XBYTE[0xbfff]#define CTL XBYTE[0xffff]sbit reset=P2^5;void delay(uchar t);void display();void main() ...
【Proteus仿真】51单片机+DAC0832+LCD1602制作LM317数控直流电源
【Proteus仿真】51单片机+DAC0832+LCD1602制作LM317数控直流电源【Proteus仿真】51单片机+DAC0832+LCD1602制作LM317简易数控直流电源
🎬Proteus仿真
✨需要注意的是:当电压调低时,实际显示的电压值和LM317输出值有1.2V的差异,不是很准确。
DAC0832简略介绍
DAC0832是8位的D/A转换集成芯片.
VREF:基准电压输入引脚,VREF的范围为-10V~+10V;
Vcc:电源输入端,Vcc的范围为:+5V~+15V;
IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:电流输出端2,其值与IOUT1值之和为一常数;
电压调节范围约值0~10V可调。
📝示例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 ...
