历史上的今天
今天是:2024年12月21日(星期六)
2020年12月21日 | 基于51单片机的光电开关计数
2020-12-21 来源:51hei
电路原理图如下:
设计要求
(1)利用光电开关计数系统,可在0-999任意设定计数值,超过设定值时,步进电机停止。计数时步进电机以某一恒定速度转动。
(2)超过设定值后利用220V报警灯提示。
(3)数码管显示当前计数值和设定值。(按键选择是出于设定还是计数状态)
单片机程序如下:
#include #include #define uchar unsigned char #define uint unsigned int sbit p1=P2^0; sbit p2=P2^1; sbit p3=P2^2; sbit p4=P2^3; sbit q1=P2^4; sbit q2=P2^5; sbit q3=P2^6; uchar zongshu,szzongshu; uchar baiwei,shiwei,gewei; uchar buff,times,j; uchar code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar idata value[8]; uchar key,a1,a2,a3; void fs_chushihua (void) { SCON=0x50; //串行控制寄存器01010000,工作方式1,允许接收 TMOD=0x20; //工作方式控制寄存器00100000,定时器1,工作方式2 TH1=0xfd; TL1=0xfd; //设置波特率9600 TI=0; //发送中断标识位,=1表示发送结束 TR1=1; //打开定时器T1 } void delay (void) { uint i; for (i=0;i<230;i++); } void delay1ms (void) //开机延时1ms { uchar i; for (i=200;i>0;i--); } void delay5ms (void) //防止抖动,延时5ms { unsigned char i,j; for (i=5;i>0;i--) for (j=230;j>0;j--); } void xianshi (void) { switch (value[times-1]) { case 0 : P0=dispcode[value[times-1]];break; case 1 : P0=dispcode[value[times-1]];break; case 2 : P0=dispcode[value[times-1]];break; case 3 : P0=dispcode[value[times-1]];break; case 4 : P0=dispcode[value[times-1]];break; case 5 : P0=dispcode[value[times-1]];break; case 6 : P0=dispcode[value[times-1]];break; case 7 : P0=dispcode[value[times-1]];break; case 8 : P0=dispcode[value[times-1]];break; case 9 : P0=dispcode[value[times-1]];break; } } void key_scan (void) //键盘输入扫描函数 { uchar hang,lie; P1=0xf0; if ((P1&0xf0)!=0xf0) //行码为0,列码为1 { delay1ms(); if((P1&0xf0)!=0xf0) //有键按下,列码变为0 { hang=0xfe; //逐行扫描 times++; if (times==9) times=1; while ((hang&0x10)!=0) //扫描完4行后跳出 { P1=hang; if ((P1&0xf0)!=0xf0) //本行有键按下 { lie=(P1&0xf0)|0x0f; buff=((~hang)+(~lie)); switch (buff) //buff等于哪个,就执行哪个。
上一篇:单片机根据温湿度控制风速
下一篇:51单片机基础计算器
史海拾趣
|
时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用(含光盘源代码下载) 时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用(含光盘源代码下载) 目录: 第1章 什么是时间触发的嵌入式系统 1.1 引言 1.2 信息系统 1.3 桌面系统 1.4 实时系统 1.5 嵌入式系统 1.6 事件触发系统 1.7 时间触发系统 1.8 小结 ...… 查看全部问答> |
|
如果我说造飞碟,你认为是天方夜谭那么我告诉你,你落后了。在网上有几千UFO研究者和制造者!以下是关于飞碟制造的资料和设计参考!!! 瑟尔效应反重力研究群: 永动机: 分别介绍我所有的资料: 1、纳粹德国飞碟制造: &n ...… 查看全部问答> |
|
speic电路问题,计算和仿真都可以但就是做出来有问题,请教大家啦!! 按照speic电路模型,计算出L1=L2=100uH,(用工字电感)。Cs是用22uF的极性电容,mos管用IRF540N,pwm 20k,输出电容为104和10uF的极性电容,负载280欧,二极管用IN5822肖特基二极管,输入用5v但无论怎么改变占空比输出都是0.不知道什么原因… 查看全部问答> |
|
1 装好Linux后,开启相应的服务及软件,包括:tftp,NFS,Samba,使用apt-get install安装即可。 安装ti-sdk-am335x-evm-05.03.02.00-Linux-x86-Install 后,可运行其中的setup.sh 装好后即设置交叉编 ...… 查看全部问答> |




