基于51单片机智能模拟电梯数码管显示步进电机设计17-307

17-307、51单片机模拟电梯设计

产品功能描述:

  本系统由STC89C52单片机、数码管、蜂鸣器、指示灯、ULN2003及步进电机、按键及电源组成。

1、按键说明:从左边第一个起,第1-8层;

2、通电后,系统默认电梯停在一层;

3、按下不同的按键电梯可以到达不同的楼层。指示灯箭头显示向上,或者向下,所经楼层号用数码管进行显示,到达,楼层号持续显示,并有蜂鸣器鸣叫以示到达;

4、电梯运行的同时,步进电机正转或反转。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于C51单片机的密码锁数码管显示的简单示例代码: ```c #include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code table[] = { 0x3f, //0 0x06, //1 0x5b, //2 0x4f, //3 0x66, //4 0x6d, //5 0x7d, //6 0x07, //7 0x7f, //8 0x6f //9 }; uchar code password[] = { 1, 2, 3, 4 //密码为1234 }; void delay(uint i) { while (i--); } void main() { uchar i, j, k, n; uchar input[4] = {0, 0, 0, 0}; //初始化输入为0000 P2 = 0x00; //P2口设置为输出口 while (1) { for (i = 0; i < 4; i++) { P1 = 0x0f; //将P1口低四位设置为输出 switch (i) { case 0: P0 = 0xfe; break; //第一位数码管 case 1: P0 = 0xfd; break; //第二位数码管 case 2: P0 = 0xfb; break; //第三位数码管 case 3: P0 = 0xf7; break; //第四位数码管 } delay(1000); //延时一段时间,防止闪烁 P1 = 0xf0; //将P1口高四位设置为输入 n = P1; //读取输入的值 n = n & 0xf0; //只取高四位 if (n != 0xf0) { //如果有按键按下 delay(1000); //简单消抖 n = P1; //再次读取输入的值 n = n & 0xf0; //只取高四位 if (n != 0xf0) { //如果确认有按键按下 switch (n) { case 0xe0: input[i] = 1; break; //1键按下 case 0xd0: input[i] = 2; break; //2键按下 case 0xb0: input[i] = 3; break; //3键按下 case 0x70: input[i] = 4; break; //4键按下 } for (j = 0; j <= i; j++) { //显示输入的数字 P2 = 0x00; //清空显示 for (k = 0; k < 10; k++) { if (input[j] == k) { P2 = table[k]; break; } } delay(1000); } } } } if (input[3] != 0) { //如果输入了4位密码 for (i = 0; i < 4; i++) { if (input[i] != password[i]) { //判断密码是否正确 input[0] = 0; //密码错误,清空输入 input[1] = 0; input[2] = 0; input[3] = 0; break; } } if (i == 4) { //密码正确 P2 = 0xff; //点亮所有数码管 while (1); //程序止 } } } } ``` 该程序实现了一个简单的密码锁,用户可以通过按键输入4位数字密码,程序会将输入的数字显示在4个数码管上,并在输入完成后判断密码是否正确。如果密码正确,程序会点亮所有数码管并止运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值