1659基于51单片机摩尔斯电码收发控制系统设计(仿真电路,程序)
设计思路:
1、开机后,出现问候语。即进入信息录入界面。这时可按点划键进行输入,这时每输入一点一划,都会出现候选字,如是你想要的,可稍停,即可自动上屏。
若不是要连续输入,直到找到。字母和数字可按摩斯码输入,空格输入点点划划四笔。 注意,点划输入间隔时间不要过长,这个要学习适应。
2、若输入出错,可按菜单键一下,出现DEL,按点键可删除一字,按划键全部删除。
3、在录入界面下,连按两下菜单键,出现发送SEND菜单,再按点键可发送。
4、在录入界面下,连按三下菜单键,出现短语phrase菜单,按点划键上下查找,找到短语后,按菜单键进入发送界面,按点键发送。
5、在录入界面下,连按四下菜单键,出现PCINPUT,再按点键可进入虚拟终端,点击终端获得焦点后,即可输入字符。按退格键删除一字,按回车发送,
按ESC返回点划双键输入。在终端里,在没有输入任何字符下,输入问号,再输入数字,即短语的序号,可调出短语,按回车发送。
1657基于51单片机智能恒温控制系统设计(仿真,程序,原理图,PCB)
基于51单片机智能恒温控制系统设计(仿真,程序,原理图,PCB),通过按键设置上下范围,控制升温装置和降温装置运作,温度传感器实时采集温度,电路包含升温电路、降温电路、声光报警电路、按键电路、LCD显示电路,单片机电路、按键电路、温度传感器电路。
1658基于51单片机霍尔测速直流电机控制设计(含源码+原理图+论文+PCB封装)
摘 要:本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。
1660基于51单片机和MAX1898的智能手机充电器设计
本设计以单片机89C51为核心,并采用锂电池的智能管理芯片MAX1898对充电过程进行智能控制,并结合6N137光耦芯片对电池进行充满断电的方式进行保护。并且采用ADC0832模数转换芯片结合LCD1602液晶显示屏显示充电电压状态,加入SIM300模块,在充满电时为使用者发送充满信息。本帖包含设计的全部资料,包括对主控模块的效果进行Proteus模拟仿真,Altium设计出总原理图,并由原理图设计PCB图。
此体系的硬件设计包含以单片机89C51和充电芯片MAX1898为主要的控制的模块,SIM300模块是系统中发送短信息的模块。其它硬件部分包括电源转换部分、由ADC0832为核心的电压采集模块、6N137光耦控制模块、LCD1602显示模块等。软件设计包括主程序、读取电压子程序、显示数据子程序、SIM300信息收发信息程序。
#include<reg51.h> //包含单片机寄存器的头文件
#include<intrins.h> //包含_nop_()函数定义的头文件
//ADC0832端口引脚定义
#define uchar unsigned char
#define uint unsigned int
unsigned int t_count,int0_count;
sbit CS=P2^4; //将CS位定义为P2.4引脚
sbit CLK=P2^3; //将CLK位定义为P2.3引脚
sbit DIO=P2^2; //将DIO位定义为P2.2引脚
//全局变量声明
unsigned char code digit[10]={"0123456789"}; //定义字符数组显示数字
unsigned char code Str1[]={"Volt="}; //说明显示的是电压
unsigned char code Str2[]= {"Designed By Qi"};
//液晶端口定义
sbit RS=P2^7; //寄存器选择位,将RS位定义为P2.0引脚
sbit RW=P2^6; //读写选择位,将RW位定义为P2.1引脚
sbit E=P2^5; //使能信号位,将E位定义为P2.2引脚
sbit BF=P0^7; //忙碌标志位,,将BF位定义为P0.7引脚
sbit BEEP=P1^3;
/* 定时器0中断服务子程序 */
省略。。。
1661基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告
设计采用STC89C52作为本设计的主控芯片,通过LCD12864进行实时显示人机交互信息,同时采用了4*4矩阵键盘能够通过矩阵键盘输入信息。DS1302时钟芯片获取当前的日期、时间信息。通过AS608指纹识别模块对指纹的采集与识别,设计中还加入了AT24C02存储芯片完成对考勤信息的存储。
#include<reg52.h> //头文件
#include<LCD12864.h>
#include<AT24C02.h>
#include<KEY.h>
#include<AS608.h>
#include<DS1302.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
#define ulong unsigned long
#define AT24Cxx_MAX 255//AT24Cxx最大地址
#define MAX 34 //指纹最大数量
#define ID_MAX 3 //输入ID最大位数
/*****************变量定义*********************/
uchar mode=0; //0正常打卡,1管理界面,2注册模式,3删除模式
//4查询模式,5修改密码,6校准时钟,7工作时间
uchar mode_num=0;
uint ID=0; //存储输入编号ID
uchar n=0; //输入的位数
bit zhiwen_f=0; //1=标记进入指纹采集
uchar chaxun_num=0;//查询编号
uchar a; //存储按键值
uchar num; //记录输入的密码位数
bit in_f; //输入密码的标志
bit reset_f; //重设密码的标志
bit input_f; //六位密码按完的标志
uchar reset_num; //标记修改密码阶段,=1输入旧密码,=2输入新密码,=3再次输入新密码
ulong low_mima=0;//系统密码
ulong in_mima=0; //暂存输入的密码
ulong new_mima=0;//暂存输入新密码
uchar set_f=0; //设置选择变量
uchar temp[5]=" \0";//显示暂存变量
uint fen[5]={0}; //存储工作时间
uchar date=0; //0今天,1昨天,2前天
uchar day[2]; //记录查询的日期
省略。。。
文章转自电设屋,完整资料百度网盘下载地址 https://www.aiesst.cn/share.html