当前位置: 首页 > news >正文

0614-出租车(起步价+单价)-系统设计(51+SEG+DS1302+KEY7)

功能描述

1、采用51单片机作为主控芯片;
2、按下启动键,系统开始计时计程,同时显示价格
3、行驶中,数码管显示已行走里程和累积价格
4、按下清零键,计价器清零
5、通过按钮设置起步价和单价

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

单片机管脚说明:

P0端口(P0.0-P0.7):P0口为一个8位漏极开路双向I/O口,每个引脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口,用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。P3口同时为闪烁编程和编程校验接收一些控制信号。

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

主程序设计

void main() { Ds1302ReadTime(); TIME[0]=0; Ds1302Init(); //设置INT0 IT0=1;//跳变沿出发方式(下降沿) EX0=1;//打开INT0的中断允许。 TMOD|=0X01; TH0=0X3C; TL0=0XB0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { //显示 P0=0; //时 P2=0; P0=smgduan0[TIME[2]>>4]; delay(100); P0=0; P2=1; P0=smgduan1[TIME[2]&0x0f]; delay(100); P0=0; //分 P2=2; P0=smgduan0[TIME[1]>>4]; delay(100); P0=0; P2=3; P0=smgduan1[TIME[1]&0x0f]; delay(100); P0=0; //秒 P2=4; P0=smgduan0[TIME[0]>>4]; delay(100); P0=0; P2=5; P0=smgduan0[TIME[0]&0x0f]; delay(100); P0=0; //起步价 P2=6; P0=smgduan0[qibu/10]; delay(100); P0=0; P2=7; P0=smgduan0[qibu%10]; delay(100); P0=0; //单价 P2=8; P0=smgduan0[dan/10]; delay(100); P0=0; P2=9; P0=smgduan0[dan%10]; delay(100); P0=0; //里程 P2=10; P0=smgduan0[juli/1000]; delay(100); P0=0; P2=11; P0=smgduan0[juli%1000/100]; delay(100); P0=0; P2=12; P0=smgduan0[juli%100/10]; delay(100); P0=0; P2=13; P0=smgduan0[juli%10]; delay(100); P0=0; //总价 P2=14; P0=smgduan0[all/1000]; delay(100); P0=0; P2=15; P0=smgduan0[all%1000/100]; delay(100); P0=0; P2=16; P0=smgduan0[all%100/10]; delay(100); P0=0; P2=17; P0=smgduan0[all%10]; delay(100); //按键检测 if(start==0) { if(!k1)//起步价加 { delay(10000); if(!k1) { if(qibu<99) qibu++; } while(!k1); } if(!k2)//起步价减 { delay(10000); if(!k2) { if(qibu>0) qibu--; } while(!k2); } if(!k3)//单价加 { delay(10000); if(!k3) { if(dan<99) dan++; } while(!k3); } if(!k4)//单价减 { delay(10000); if(!k4) { if(dan>0) dan--; } while(!k4); } } if(!k5)//启动 { delay(10000); if(!k5) { start=1; } while(!k5); } if(!k6)//停止 { delay(10000); if(!k6) { start=0; } while(!k6); } if(!k7)//清零 { delay(10000); if(!k7) { start=0; juli=0; all=0; } while(!k7); } }

源文件获取

https://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8

👇👇👇 点击、扫码、发送关键字“车电”获取

http://www.jsqmd.com/news/487019/

相关文章:

  • 基于javaweb和mysql的springboot前台后台玩具商城系统(java+ssm+springboot+html+thymeleaf+maven+mysql)
  • Java七大热门技术框架源码解析(完结)
  • 算法设计与分析里面的渐进符号难以理解
  • 2026权威代运营排行
  • 谷歌发布 Gemini Embedding 2:首个原生全模态向量模型,打通音视频与图文!
  • 紅豆奶霜體字ttf体档
  • Spring-Profile与部署说明
  • 测试文章发布 - 编辑版本1773572315724
  • OpenClaw+FunASR识别飞书发来的音频文件
  • Kotlin协程异常捕获:别让try-catch“翻车”了!
  • C#学习笔记——委托
  • Ai8051 独立按键控制LED实验
  • 福宝的「熵减日记」:从「记忆混乱」到「响应如飞」的72小时进化史 [特殊字符][特殊字符]
  • Thinkphp和Laravel框架都支持基于微信小程序的公开课选课打卡管理系统的设计与实现-
  • 2026年企业健身房规划方案,打造健康办公新生态
  • AC 双链路备份与冷热备核心知识点总结
  • qt PlotJuggler
  • 对量化交易未来的思考
  • 老品牌为什么在 AI 推荐里比较里靠后:一次公开表达收口排查
  • 小程序制作平台有哪些?SaaS模板类平台评测
  • 测试文章发布 - 编辑版本1773572369633
  • 专注AI优化的服务商
  • 嘎嘎降AI vs 零感AI vs 率零:3款降AI工具深度横评
  • MySQL锁机制:从懵逼到入门,我花了三年
  • Oracle数据库降低水位线
  • RedisSearch 和 Elasticsearch 的 HNSW向量索引对比
  • 计算机毕设云服务器部署避坑指南:从本地到阿里云/腾讯云,一键部署不踩雷
  • If the existence of a group in which one lives is meaningless.
  • 从0开始数据仓库--数据表范式
  • 聚焦民生就医需求 陪诊行业规范提质 北京守嘉陪诊引领行业高质量发展 - 品牌排行榜单