51单片机 protues 的仿真程序源文件

关于51单片机的protues仿真

在2019年发表过关于12864和1602 protues 仿真的博文,非常感谢大家的关注。
因为个人的能力有限,不能及时关注到CSDN上面的评论,所以先将有关19年做过的所有的仿真程序,免费开源给大家。

程序大部分来自于互联网,如有涉及到侵权等问题,请及时告知!

程序目录截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所有工程文件,包含程序源工程、protues仿真工程文件、Altium Designer原理图文件


软件版本

名称版本
protues8.6
keilkeil4
Altium Designer16

文件链接

链接:https://pan.baidu.com/s/1UKMEAL_GdUOfbVYt4X40dw
提取码:7777

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Proteus单片机设计仿真51单片机220个Proteus仿真实例源码文件: 100000秒以内的计时程序.DSN 10秒的秒表 (2).DSN 10秒的秒表.DSN 12864LCD显示24C08保存的开机画面.DSN 12864LCD显示EPROM2764保存的开机画面.DSN 12864LCD显示计算器键盘按键实验.DSN 12864图形液晶滚动演示.DSN 160128LCD中文显示温度与时间.DSN 160128LCD图文演示.DSN 160128液晶中文显示ADC0832两路模数转换结果.DSN 160128液晶显示当前压力.DSN 160128液晶曲线显示ADC0832两路模数转换结果.DSN 1602LCD显示仿手机键盘按键字符.DSN 1602LCD显示电话拨号键盘按键实验.DSN 1602LCD显示的秒表.DSN 1602LCD随机模拟显示乘法口诀.DSN 1602字符液晶滚动演示程序.DSN 1602液晶显示DS1302实时时钟.DSN 16×16点阵屏-四块8x8并排的效果.DSN 24C04与数码管.DSN 2×20串行字符液晶演示.DSN 4×4键盘矩阵控制条形LED显示 (2).DSN 4×4键盘矩阵控制条形LED显示.DSN 555定时器实验.DSN 6264扩展内存.DSN 74HC154译码器应用.DSN 74HC595串入并出芯片应用.DSN 74LS138译码器应用.DSN 74LS148扩展中断.DSN 8×8LED点阵屏仿电梯数字滚动显示.DSN 8×8LED点阵屏显示数字.DSN 8只数码管显示多个不同字符.DSN 8只数码管滚动显示单个数字 (2).DSN 8只数码管滚动显示单个数字.DSN 8只数码管滚动显示数字串.DSN ADC0808 PWM实验.DSN ADC0809模数转换与显示.DSN ADC0832模数转换与显示.DSN BCD译码数码管显示数字.DSN DS1621温度传感器实验.DSN DS18B20温度传感器实验.DSN LED模拟交通灯 (2).DSN LED模拟交通灯.DSN MAX7221控制数码管动态显示.DSN PCF8591模数与数模转换实验.DSN T0控制LED实现二进制计数.DSN TIMER0与TIMER1控制条形LED.DSN TIMER0控制单只LED闪烁 (2).DSN TIMER0控制单只LED闪烁.DSN TIMER0控制四只LED滚动闪烁.DSN TIMER0控制流水灯 (2).DSN TIMER0控制流水灯.DSN tu1.DSN 串口发送数据到2片8×8点阵屏滚动显示.DSN 串行数据转换为并行数据.DSN 交通灯控制器.DSN 从左到右的流水灯 (2).DSN 从左到右的流水灯.DSN 光耦控制点亮和延时关闭照明设备.DSN 单只数码管循环显示0-9 (2).DSN 单只数码管循环显示0-9.DSN 单片机与PC机串口通讯仿真.DSN 单片机之间双向通信.DSN 单片机向主机发送字符串.DSN 单片机系统中自制硬件字库的应用.DSN 可以调控的走马灯.DSN 可演奏的电子琴.DSN 字符液晶显示的频率计.DSN 定时器控制交通指示灯.DSN 定时器控制数码管动态显示 (2).DSN 定时器控制数码管动态显示.DSN 左右来回的流水灯 (2).DSN 左右来回的流水灯.DSN 左右来回的流水灯.PWI 并行数据转换为串行数据.DSN 开关控制12864LCD串行模式显示.DSN 开关控制LED.DSN 开关控制报警器.DSN 报警器与旋转灯.DSN 按键发音.DSN 按键控制8×8LED点阵屏显示图形.DSN 按键控制定时器选播多段音乐.DSN 按键控制定时器选播多段音乐.PWI 按键选播电子音乐.DSN 按键选播电子音乐.PWI 播放一段音乐 (2).DSN 播放一段音乐.DSN 数码管显示4×4键盘矩阵按键 (2).DSN 数码管显示4×4键盘矩阵按键.DSN 数码管显示拨码开关编码.DSN 数码管显示的温控电机.DSN 数码管显示的频率计.DSN 数码管闪烁显示.DSN 数码管随机模拟显示乘法口诀.DSN 模拟射击游戏.DSN 正反转可控的步进电机.DSN 正反转可控的直流电机.DSN 温度控制直流电机转速.DSN 演奏一段音阶.DSN 用1602LCD与DS18B20设计的温度报警器.DSN 用1602LCD设计的可调式电子钟.DSN 用24C04与1602LCD设计电子密码锁.DSN 用74HC595与74LS154设计的16×16点阵屏.DSN 用8051与1601LCD设计的计算器.DSN 用8255与74LS154设计的16×16点阵屏.DSN 用8255实现接口扩展.DSN 用ADC0808设计的调温报警
proteus软件仿真 部分文件原创~~ 资料很全~~学习中各个过程的难题都有例子 文件头—————————————————————————————————————————必要 #include #define uint unsigned int #define uchar unsigned char 移位函数——————————————————————————————————————————走马灯 #include temp=_cror_(temp,1); 数码管数字代码———————————————————————————————————————从0到15 正 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; 反 uchar code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90}; 延时函数——————————————————————————————————————————z毫秒 #define uint unsigned int #define uchar unsigned char void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 定时器0使用——————————————————————————————————————工作方式1 TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; void time0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; } 定时器1使用———————————————————————————————————————工作方式1 TMOD=0x11; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET1=1; TR1=1; void time1() interrupt 3 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; } 外部中断0使用————————————————————————————————————————检测下降沿 EA=1; EX0=1; IT0=1; TCON=0x01; 数码管显示数字函数——————————————————————————————————————只显示百十个,可以扩展 void display(uchar bai,uchar shi,uchar ge) { P0=0xff; wela=1; P0=0xfe; wela=0; dula=1; P0=table[bai]; dula=0; delay(1); P0=0xff; wela=1; P0=0xfd; wela=0; dula=1; P0=table[shi]; dula=0; delay(1); P0=0xff; wela=1; P0=0xfb; wela=0; dula=1; P0=table[ge]; dula=0; delay(1); } 控制液晶—————————————————————————————————限16*2小液晶 sbit rs=P3^5; sbit e= P3^4 ; sbit wela=P2^7; sbit dula=P2^6; uchar love1[]={"i say love."}; uchar love2[]={"i love you."}; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } int write_com(uchar com) { P0=com; rs=0; e=1; delay(5); e=0; } int write_date(uchar date) { P0=date; rs=1; e=1; delay(5); e=0; } init() { wela=0; dula=0; e=0; write_com(0x38); write_com(0x0e); write_com(0x06); write_com(0x01); write_com(0x80); } 串口通信——————————————————————————————————————————波特率 9600 TMOD=0x20; TH1=0xfd; //9600 TL1=0xfd; PCON=0x00; SCON=0x50;//方式1 EA=1; ES=1; TR1=1; ES=0; SBUF=**; while(!TI); TI=0; ES=1; void ser() interrupt 4 { **=SBUF; RI=0; } IIC总线的应用————————————————————————————————————————————————EEPROM上测试 sbit sck=P2^1; sbit sda=P2^0; sbit ACC7=ACC^7; sbit ACC0=ACC^0; void delay(int z) { uchar i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void deluy() {;;} void start() { sda=1; deluy(); sck=1; deluy(); sda=0; deluy(); } void stop() { sda=0; deluy(); sck=1; deluy(); sda=1; deluy(); } respond() { uchar i; sck=1; while(sda!=0&&i<250)i++; sck=0; deluy(); } void write_byte(uchar date) { uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; sck=0; deluy(); sda=CY; deluy(); sck=1; deluy(); } sck=0; deluy(); sda=1; deluy(); } uchar read_byte() { uchar i; sck=0; deluy(); sda=1; deluy(); for(i=0;i<8;i++) { ACC<<=1; sck=1; deluy(); ACC0=sda; sck=0; } return ACC; } write_date(uchar add,uchar date) { start(); write_byte(0xa0); respond(); write_byte(add); respond(); write_byte(date); respond(); stop(); } read_date(uchar add) { uchar k; start(); write_byte(0xa0); respond(); write_byte(add); respond(); start(); write_byte(0xa1); respond(); k=read_byte(); stop(); return k; } DS18b28的应用—————————————————————————————————————————————一些寄存器可以按需修改 bit DS18B20_init() { bit flag; DQ=1; for(time=0;time<2;time++); DQ=0; for(time=0;time<200;time++); DQ=1; for(time=0;time<10;time++); flag=DQ; for(time=0;time<200;time++); return (flag); } void writecom(uchar com) { uchar i; for(i=0;i<8;i++) { DQ=1; _nop_(); DQ=0; DQ=com&0x01; for(time=0;time<10;time++); DQ=1; for(time=0;time>=1; } for(time=0;time<4;time++); } uchar readdat() { uchar i,dat; dat=0; for(i=0;i>=1; _nop_(); DQ=1; for(time=0;time<2;time++); if(DQ==1) dat|=0x80; else dat|=0x00; for(time=0;time<8;time++); } return(dat); } void get_temp() { DS18B20_init(); writecom(0xCC); writecom(0x44); for(time=0;time<100;time++); DS18B20_init(); writecom(0xCC); writecom(0xBE); } void main() { uchar i,tl,th; uchar zhen,xiao; while(1) { get_temp(); tl=readdat(); th=readdat(); zhen=(th*256+tl)/16; xiao=(tl%16)*10/16; } } AD转换——————————————————————————————————————————————ADC0804,其他不适用,temp 0~255之间 关键是接口 sbit wr=P3^6; sbit rd=P3^7; sbit cs=P3^2; void init() { cs=0; } void start() { wr=1; wr=0; wr=1; } void huoqu () { uchar temp; temp=0; start(); rd=0; temp=P1; rd=1; retrn temp; } DA转换—————————————————————————————————————————————关键是接口 sbit wr=P3^6; sbit da=P3^2; init() { da=0; } start() { wr=1; wr=0; wr=1; } 键盘的使用—————————————————————————————————————————4X4 含消抖效果 uchar key; void scan(void) { uchar scode,rcode; P3=0xf0; if((P3&0xf0)!=0xf0) { delay(5); if((P3&0xf0)!=0xf0) { scode=0xfe; while((scode&0x10)!=0) { P3=scode; if((P3&0xf0)!=0xf0) { rcode=(P3&0xf0)|0x0f; key=(~scode)+(~rcode); switch(key) { case 0x11:key=0;break; case 0x21:key=1;break; case 0x41:key=2;break; case 0x81:key=3;break; case 0x12:key=4;break; case 0x22:key=5;break; case 0x42:key=6;break; case 0x82:key=7;break; case 0x14:key=8;break; case 0x24:key=9;break; case 0x44:key=10;break; case 0x84:key=11;break; case 0x18:key=12;break; case 0x28:key=13;break; case 0x48:key=14;break; case 0x88:key=15;break; default : key=16;break; } } else scode=(scode<<1)|0x01; } } } else key=16; }
经典Multisim应用仿真源文件数字电路模拟电路Multisim仿真实例72例合集: 0~100度数显温度计(8位256_ADC).ms13 0音调音频放大器.ms14 1-99分钟倒计时 (1).ms10 1.6KHz输出幅度可调四种波形发生器 (2).ms10 1.6KHz输出幅度可调四种波形发生器.ms10 161210 交流接触器自锁互锁.ms10 161212 555触摸延时.ms10 161216 555多谐振荡喇叭应用.ms10 161219 交通灯控制器设计(改).ms14 161224 78XX增强型稳压输出电路.ms13 161225 八路彩灯控制器.ms10 170414 200KHz三角波3554.ms10 170414 200KHz三角波5534.ms10 170414 文氏振荡 5KHz ±5V.ms10 170415 三种波形发生器 5kHz ±5V.ms10 170417 LM723过流保护直流可调稳压电源.ms10 170417 TDA2030音调音频放大器.ms10 170621 自动打铃器(6组定时).ms10 170622 三位数密码锁.ms10 170624 速度表.ms12 170709 交通信号灯 60(5)-45(5).ms13 170923 彩灯控制器(部分).ms10 171219 八位二进制转三位十进制.ms13 171230 序列脉冲控制电子锁.ms10 171230 序列脉冲控制电子锁.ms11 171231 出租车自动计费器.ms10 171231 出租车计费器.ms10 180101 出租车计费器X 等候过程错误计费问题】.ms10 180119 过压欠压保护电路.ms10 180307 MAX16823应用.ms10 180423 信号发生器.ms10 5-12V+可调稳压电源电路(317).ms10 5-20V+可调稳压电源电路(317).ms14 50-5-30 红绿灯控制电路 (2).ms10 50-5-30 红绿灯控制电路.ms10 6路20秒声光显示计分抢答器.ms14 8位ADC应用-LM317 5-12调压显示.ms13 8路抢答器电路 (2).ms10 8路抢答器电路.ms10 BCD译码器.ms13 Multisim仿真—电路&模电&数电.doc Multisim模拟电路仿真实例.ppt TL494 DC-DC应用.ms12 三种波形发生器 (2).ms10 三种波形发生器.ms10 交通灯20-3-10-3 (2).ms10 交通灯20-3-10-3.ms10 四种波形发生器-741 (2).ms10 四种波形发生器-741.ms10 四路20秒声光显示计分抢答器 (2).ms10 四路20秒声光显示计分抢答器.ms10 基于Multisim的高频信号发生器设计.doc 定时3秒的蜂鸣器可预置的有点错的倒计时定时器.ms14 拔河游戏 (2).ms10 拔河游戏.ms10 数字日历设计 (2).ms10 数字日历设计.ms10 数字时钟电路带兴起显示.ms14 数字电子钟仿真电路图 (2).ms10 数字电子钟仿真电路图.ms10 数字跑表 (2).ms13 数字跑表.ms13 数码管的简单控制 (2).ms13 数码管的简单控制.ms13 正弦波741 (2).ms10 正弦波741.ms10 简易洗衣机2_X (2).ms10 简易洗衣机2_X.ms10 简易电梯 (2).ms13 简易电梯.ms13 篮球30秒计时器_X (2).ms13 篮球30秒计时器_X.ms13 负反馈式音调控制电路 (2).ms12 负反馈式音调控制电路.ms12

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G.Z.W

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值