51单片机启用2个定时制作流水灯+Proteus仿真
51单片机启用2个定时制作流水灯+Proteus仿真51单片机启用2个定时制作流水灯+Proteus仿真
Proteus
程序代码
采用2个定时器,工作方式都是1
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131#include "reg52.h"static unsigned char value = 0x01,value1 = 0x01; //给P1赋值 对应 0000 0001static unsigned char i=0,j=0, ...
51单片机定时器秒计数时钟+Proteus仿真
51单片机定时器秒计数时钟+Proteus仿真51单片机定时器秒计数时钟+Proteus仿真
Proteus仿真
实例代码
本实例采用的是普中开发板Proteus模板 功能:电子钟,从左到右,1、2位为秒,3、4位为分,5、6位为时,7、8位为天
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192#include<reg52.h>sbit LSA = P2^2;sbit LSB = P2^3;sbit LSC = P2^4;typedef unsigned char u8;typedef unsigned int u16;u8 LedChar[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f ...
51单片机定时器秒计数时钟二+Proteus仿真
51单片机定时器秒计数时钟二+Proteus仿真51单片机定时器秒计数时钟二+Proteus仿真
Proteus
采用蓝桥杯单片机Proteus模板仿真
实例代码
功能说明:电子钟,从左到右,1、2位为秒,3、4位为分,5、6位为时,7、8位为天
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117#include<reg52.h>typedef unsigned char u8;typedef unsigned int u16;u8 LedChar[] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0 ...
51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真
51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真
Proteus
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758/\*\*\*51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真\*\*\*/#include<reg52.h>//74HC138译码器,引脚sbit LSA = P2^2;sbit LSB = P2^3;sbit LSC = P2^4;typedef unsigned char u8;unsigned char code LEDchar[]= {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5 ...
51单片机模拟数字键盘输入以及图像显示+Proteus仿真
51单片机模拟数字键盘输入以及图像显示+Proteus仿真51单片机模拟数字键盘输入以及图像显示+Proteus仿真
关于取模
取模软件:pctolcd2002
文字取模方式:阴码–列行式,逆向
主程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* ...
51单片机步进电机控制演示+Proteus仿真
51单片机步进电机控制演示+Proteus仿真51单片机步进电机控制演示+Proteus仿真
Proteus仿真
示例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include <reg51.h>#define uchar unsigned char sbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;uchar RRR,flg,KKK; //RRR用于调速控制;flg=0正转;flg=1反转; flg=2不转;KKK为P1的状态寄存uchar loop[2][4]={{0x0c,0x06,0x03,0x09}, ...
51单片机音乐播放器+Proteus仿真
51单片机音乐播放器+Proteus仿真51单片机音乐播放器+Proteus仿真
Proteus仿真
由于是音频效果,只做截图展示
主程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121#include <REG52.H>#include "SoundPlay.h"void Delay1ms(unsigned int count){ unsigned int i,j; for(i=0;i<count;i++) for(j=0;j<120;j++);} ...
STC51单片机串口设置波特率分析对比与ISP程序烧录设置
STC51单片机串口设置波特率分析对比与ISP程序烧录设置STC51单片机串口设置波特率分析对比与ISP程序烧录设置
如果程序代码中串口波特率使用了倍频参数,在烧录的时候也一定要在ISP烧录软件上选上使能6T(双倍速)模式,不然程序烧录进去后,速度不能实现倍频的效果。
以12M的晶振分析一下倍频
采用4800波特率,倍频后的误差计数结果。
采用9600波特率,不倍频后的误差计数结果。
总结: 如果是采用12M晶振的话,采用倍频,可以明显降低误差,这里的误差直接会影响的是数据收发的准确率。
串口发送数据代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned cha ...
蓝桥杯51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真
蓝桥杯51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真蓝桥杯51单片机定时器计时1秒数码管静态循环显示0到F+Proteus仿真
Proteus仿真
实例代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980//数码管静态显示,0到F#include<reg52.h>typedef unsigned char u8;unsigned char code LEDchar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e, 0xbf,0x7f}; //共阳极数码管从0到F的真值void ...
Arduino UNO + DS1302 + TM1638时间显示+Proteus仿真
Arduino UNO + DS1302 + TM1638时间显示+Proteus仿真Arduino UNO + DS1302 + TM1638时间显示+Proteus仿真
Proteus仿真
注意事项
在仿真前,需要将文件夹下的动态链接库TM1638.dll拷贝到Proteus安装目录下的D:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\MODELS里面,注意自己Proteus安装位置,我这里粘贴的路径只是示范。
将LIBRARY文件目录下的USERDVC.IDX和USERDVC.LIB拷贝到D:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\LIBRARY里面。
所需库
DS1302:使用的是一个旧版本的库,找了好久没有找到源头,在下面的源码中附带上该库。
TM1638lite: https://hub.fastgit.org/danja/TM1638lite
实例代码1234 ...
