【Proteus仿真】51单片机+LCD1602显示+按键扫描功能实现模板
【Proteus仿真】51单片机+LCD1602显示+按键扫描功能实现模板【Proteus仿真】51单片机+LCD1602显示+按键扫描功能实现模板
Proteus仿真演示
说明:
演示简易时钟驱动显示,按键P31启动/停止,(无源蜂鸣器响应),注意在Proteus搭建电路上调用的是无源蜂鸣器,P30复位。定时器没过一秒中P10上的Led灯状态改变一次。
主程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*实验名称:LCD1602显示接线说明: 实验现象:下载程 ...
【Proteus仿真】51单片机+LCD1602驱动模板
【Proteus仿真】51单片机+LCD1602驱动模板【Proteus仿真】51单片机+LCD1602驱动模板
Proteus仿真
主程序123456789101112131415161718192021222324252627/\*51单片机LCD1602驱动模板\*/#include <REGX52.H>#include "LCD1602.h"#include "Delay.h"int Result=0;void main(){ LCD\_Init(); while(1) { Result++; Delay(1000); LCD\_ShowNum(1,1,Result,3);//显示3位计数 LCD\_ShowString(1,5,"Perseverance"); // 显示字符串 LCD\_ShowSignedNum(2,1,9527,4);// 显示4位整型数 LCD\_ShowChar(2,6,0XDF);//显示‘ °’ LCD\_ShowChar(2,7 ...
【Proteus仿真】51单片机+SHT11温湿度传感器+LCD1602显示
【Proteus仿真】51单片机+SHT11温湿度传感器+LCD1602显示【Proteus仿真】51单片机+SHT11温湿度传感器+LCD1602显示
Proteus仿真
主程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 ...
【Proteus仿真】51单片机+TLC5615输出三角波
【Proteus仿真】51单片机+TLC5615输出三角波【Proteus仿真】51单片机+TLC5615输出三角波
Proteus仿真
程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647/\*----------------------------------------------- 名称:TL5615 DA转换 内容:用11.0592M晶振时产生120HZ左右的梯形三角波------------------------------------------------\*/ #include<REG52.h> sbit SCLK =P2^5 ; //定义端口 sbit DIN =P2^4; sbit CS =P2^6 ; /\*TI 10位DA TLC5615的驱动程序 ----------------------------------------------------调用方式: void da5615(unsigned in ...
【Proteus仿真】51单片机利用定时器0设立一个时间基准
【Proteus仿真】51单片机利用定时器0设立一个时间基准【Proteus仿真】51单片机利用定时器0设立一个时间基准
Proteus仿真
采用2片74HC595联级,输出端口分别接到8位共阴数码管的段选位和位选位上,只占用51单片机3个IO口,ked作为状态实现。
通过stc-isp工具生成一个1毫秒的定时时间
从上图可以看到,计算出来的初值和误差值还是很小的,当计算误差值比较大时,定时时间长度需要调整,尽量调整到误差值比较小,可接受范围内。
延时函数
利用定时器0生成的时间基准来定时,示例中并未使用到,但是可以作为功能补充时备用。
1234567void delayms(u16 ms) //毫秒延时函数{ u32 temp; temp = sysRunmillis ; while(sysRunmillis - temp < ms );}
连线可以参考上图仿真来接线。
示例代码123456789101112131415161718192021222324252627282930313233343536373839 ...
【Proteus仿真】51单片机利用定时器倒计数(99-0)
【Proteus仿真】51单片机利用定时器倒计数(99-0)【Proteus仿真】51单片机利用定时器倒计数(99-0)
相关篇《51单片机定时器累加计数+2位数码管(循环显示00-99)》
Proteus仿真
电路搭建说明
采用8位共阴数码管
其实采用2位共阴数码管也是足够的,可以自行扩展位数来使用,这只是示例用于演示。
采用74HC245八路缓冲器
74HC138译码器
相关代码
12345678910111213141516171819202122232425262728293031323334353637383940#include "hardware.h"#include "software.h"//共阴数码管段码uchar code block[] = { //定义无符号字符型类型数组来储存段码 0x3F, //"0" 0x06, //"1" 0x5B, //"2" 0x4F, //"3" ...
【Proteus仿真】51单片机制作简易计算器+ LCD1602显示
【Proteus仿真】51单片机制作简易计算器+ LCD1602显示【Proteus仿真】51单片机制作简易计算器+ LCD1602显示
Proteus仿真效果演示
程序代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117 ...
【Proteus仿真】51单片机基于SDCC编译器对程序编译和仿真全过程讲解
【Proteus仿真】51单片机基于SDCC编译器对程序编译和仿真全过程讲解【Proteus仿真】51单片机基于SDCC编译器对程序编译和仿真全过程讲解
Proteus平台演示安装SDCC编译器过程
安装步骤说明1. 依据我提供的资源,点开程序代码界面
2. SDCC编译器的安装
找到sdcc编译器位置,点击下载,并安装。
3. 安装编译器后回到主界面,点击编译按钮,对代码进行编译。
4. 回到仿真界面,运行仿真。
回到代码界面,在右侧可以进行代码调试。
调试资源
本实验基于Proteus8.9SP2平台
123链接:https://pan.baidu.com/s/1Lgt2CTrJCsfIPK7FHr-uEA 提取码:5d51
也许有些人很可恶,有些人很卑鄙。可是当我们设身的去为他想象的时候,才知道:他比我还可怜。
【Proteus仿真】51单片机+按键控制步进电机驱动+LCD1602显示
【Proteus仿真】51单片机+按键控制步进电机驱动+LCD1602显示【Proteus仿真】51单片机+按键控制步进电机驱动+LCD1602显示
Proteus仿真
在Proteus当中,步进电机选取的不同,接线的顺序不同,为了避免在接线出错,将里面的两种步进电机都选择了,注意区分接线顺序,接错限流,电机是不会转或者抖动的。
程序主程序代码
由于包含的文件较多,不会将程序中各个文件代码都贴出来。文件资源放到文末。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291 ...
【Proteus仿真】51单片机数码管模拟出租车计费
【Proteus仿真】51单片机数码管模拟出租车计费【Proteus仿真】51单片机数码管模拟出租车计费
Proteus仿真演示
程序源码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#include<reg52.h>#define uchar unsigned char #define uint unsigned int #define T 100 sbit RES=P3^7; int S=0,M=30;uchar count=0,ct=0;uchar tab_d[10]={0X3F,0X06,0X5B,0X4F,0X66, //段码0X6D,0X7D,0X07,0X7F,0X6F};uchar tab_wei[8]={0xfe,0xfd,0xfb,0xf7, ...
