




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于MCU的计数和计程车计费器题目基于MCU的计数和计程车计费器任务11外部脉冲自动计数,自动显示。111设计一个255计数器0255计数,计满后自动清0,重新计数(在数码管中显示)。112设计一个50000计数器050000计数,计满后自动清0,重新计数(在数码管中显示)。12设计一个出租车计费系统起步价为5元(2KM以内),2KM后,08元/05KM要求每500M刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)硬件资源89S51芯片38译码器74HC138共阴极数码管脉冲信号发生器10K电阻若干硬件资源介绍利用89S51芯片为设计的主体,通过P2口的前三位(P20,P21,P22)通过38译码器进行译码,从而控制位选,在利用P0口进行段选,从而在数码管上显示所需要的数字。二、设计过程1设计255计数器利用T1定时器的第二工作方式2,C/T为1,利用其计数功能,当计数到255后,下一位自动变成0(自动重装初值的功能)软件设计C语言INCLUDE“REG52H“UNSIGNEDCHARCODENUM_TABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDCHARCODEBIT_TABLE60X00,0X01,0X02,0X03,0X04,0X05UNSIGNEDCHARNUMVOIDDISPLAYVOIDDELAYUNSIGNEDINTAAVOIDINIT_TIMER/进行定时器的初始化TMOD0X60TH10TL10X00TR11/TF10VOIDMAINP20XFFP00X00INIT_TIMERWHILE1NUMTL1DISPLAYDELAY1/显示函数/VOIDDISPLAYUNSIGNEDCHARX,Y,ZXNUM10YNUM100/10ZNUM/100P20X02P0NUM_TABLEZDELAY1P20X01P0NUM_TABLEYDELAY1P20X00P0NUM_TABLEXDELAY1VOIDDELAYUNSIGNEDINTAAUNSIGNEDINTI,JFORI0IUNSIGNEDINTCODENUM_TABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDCHARCODEBIT_TABLE60X00,0X01,0X02,0X03,0X04,0X05UNSIGNEDINTNUM100UNSIGNEDINTI,J,K,X,Y,ZVOIDBCDVOIDDISPLAYVOIDDELAYUNSIGNEDINTAAUNSIGNEDCHARI,JFORI0IUNSIGNEDCHARCODETABLE10XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEFUNSIGNEDCHARCODETABLE20X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDINTW,X,Y,Z,I,J,K,KM,MONEYVOIDDELAYUNSIGNEDINTAAVOIDINITVOIDBCDVOIDDISPLAY1VOIDDISPLAY2/主函数/VOIDMAININITVOIDDELAYUNSIGNEDINTAAUNSIGNEDCHARM,NFORM0M9MONEY50KM0ELSEDISPLAY1DELAY1DISPLAY2VOIDDISPLAY1/显示里程WKM/1000XKM/10010YKM/1010ZKM10P20X07P0TABLE2WDELAY1P20X06P0TABLE2XDELAY1P20X05P0TABLE1Y/这一位后有小数点DELAY1P20X04P0TABLE2ZDELAY1VOIDDISPLAY2/显示费用IMONEY/100JMONEY/1010KMONEY10P20X02P0TABLE2IDELAY1P20X01P0TABLE1J/这一位后有小数点DELAY1P20X00P0TABLE2KDELAY1汇编ORG0000HSJMPMAINORG0030HMOV70H,00HMOV71H,00HMOV72H,00HMOV73H,00HMOV74H,00HMOV75H,00HMAINMOVTMOD,50HMOVTL1,00HSETBTR1LOOPMOVR3,00HMOVA,TL1JZLOOPLCALLBCDLCALLMOMEYLCALLDISPLAYBCDINCR3MOVTL1,00HMOVA,R3MOVB,0AHDIVABMOV70H,BZZZCJNEA,0AH,LOOP1INCR4MOVR3,00HMOV72H,R4RETLOOP1MOV71H,ASJMPBCDRETMONEYCCCJNER3,14H,LOOP2L2MOVA,70HXRLA,00HJZLOOP5XRLA,05HJZLOOP5LOOP5ADDA,08HMOVR5,ARETLOOP2JBCY,L1JNBCY,L2L1RETDISPLAYMOVP2,00HMOVDPTR,TAB2MOVA,70HMOVCA,ADPTRMOVP0,AACALLDELAYMOVP2,01HMOVDPTR,TAB1MOVA,71HMOVCA,ADPTRMOVP0,AACALLDELAYMOVP2,02HMOVDPTR,TAB2MOVA,72HMOVCA,ADPTRMOVP0,AACALLDELAYMOVP2,03HMOVDPTR,TAB2MOVA,73HMOVCA,ADPTRMOVP0,AACALLDELAYMOVP2,04HMOVDPTR,TAB1MOVA,74HMOVCA,ADPTRMOVP0,AACALLDELAYMOVP2,05HMOVDPTR,TAB2MOVA,75HMOVCA,ADPTRMOVP0,AACALLDELAYRETDELAYMOVR4,10LOOP2MOVR5,100LOOP3DJNZR5,LOOP3DJNZR4,LOOP2RETTAB1DB0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEFTAB2DB0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FEND仿真结果PROTUES三硬件实现10255计数器程序INCLUDE“REG52H“UNSIGNEDCHARCODETABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDCHARCODEBIT_TABLE60X00,0X01,0X02,0X03,0X04,0X05UNSIGNEDCHARNUM,FLAGVOIDDISPLAYVOIDDELAYUNSIGNEDINTAASBITDULAP26SBITWELAP27/SBITDP35SBITD1P10/系统初始化/VOIDINIT_TIMERTMOD0X61TH10X00TL10X00TR11TH050000/256TL050000256ET01TR01EA1/TF10VOIDMAIN/P20XFF/P00X00INIT_TIMERWHILE1NUMTL1DISPLAYDELAY1VOIDDISPLAYUNSIGNEDINTBAI,SHI,GEBAINUM/100SHINUM100/10GENUM10WELA1P00XFEWELA0P00X00DULA1P0TABLEBAIDULA0P00XFFDELAY1WELA1P00XFDWELA0P00X00DULA1P0TABLESHIDULA0P00XFFDELAY1WELA1P00XFBWELA0P00X00DULA1P0TABLEGEDULA0P00XFFDELAY1VOIDDELAYUNSIGNEDINTAAUNSIGNEDINTI,JFORI0IUNSIGNEDINTCODETABLE100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDCHARCODEBIT_TABLE60X00,0X01,0X02,0X03,0X04,0X05SBITDULAP26SBITWELAP27UNSIGNEDINTNUM0,FLAGSBITD1P10UNSIGNEDINTI,J,K,X,Y,ZVOIDBCDVOIDDISPLAYVOIDDELAYUNSIGNEDINTAAUNSIGNEDCHARI,JFORI0IUNSIGNEDCHARCODETABLE10XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEFUNSIGNEDCHARCODETABLE20X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6FUNSIGNEDINTW,X,Y,Z,I,J,K,KM,MONEY,FLAG,NUMSBITDULAP26/段选SBITWELAP27/位选SBITD1P10VOIDDELAYUNSIGNEDINTAAVOIDINITVOIDBCDVOIDDISPLAY/主函数/VOIDMAININITVOIDDELAYUNSIGNEDINTAAUNSIGNEDCHARM,NFORM0MAAMFORN0N110N/初始化函数/VOIDINITTMOD0X50TH10X00TL10X00TR11KM0MONEY50TH050000/256TL050000256ET01TR01EA1WHILE1WHILETL10X00/动态扫描DISPLAYKMBCD/出租车的计费系统进行设置/VOIDBCDTL10X00IFKM20/2KM以内起步价5元MONEY50DISPLAYELSE/2KM后08元/05KM且每500米计费刷新一次IFKM1050MONEYMONEY8ELSEDISPLAY/VOIDDISPLAY/显示函数WKM/1000XKM/10010YKM/1010ZKM10IMONEY/100JMONEY/1010KMONEY10WELA1P00XFEWELA0P00X00DULA1P0TABLE2XDULA0P00XFFDELAY1WELA1P00XFDWELA0P00X00DULA1P0TABLE1YDULA0P00XFFDELAY1/这位后有小数点WELA1P00XFBWELA0P00X00DULA1P0TABLE2ZDULA0P00XFFDELAY1WELA1P00XF7WELA0P00X00DULA1P0TABLE2IDULA0P00XFFDELAY1WELA1P00XEFWELA0P00X00DULA1P0TABLE1J/这个数后有小数点DULA0P00XFFDELAY1WELA1P00XDFWELA0P00X00DULA1P0TABLE2KDULA0P00XFFDELAY1/VOIDQUFINTERRUPT1/中断函数用来产生脉冲信号由P10产生脉冲提供给P35口NUMWHILENUM10NUM0IFFLAG0D10FLAG1ELSED11FLAG0TH050000/256TL050000256硬件实现图四、心得体会通过此次课程设计,让我学到了很多课堂上更本学不到的东西,仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了学习的意义,时间的宝贵,人生的真谛。明白人世间一生不可能都是一帆风顺的,只要勇敢去面对人生中的每个驿站在做单片机课程设计之前,我们所学的知识都是理论性的,所以一旦要求把理论性的东西用到实践中来,刚开始就有一定的难度。我在听了老师的部分讲解之后,自己独立地写出了程序并进行了仿真,并且学会了使用KEIL软件和PROTEUS软件进行设计的调试和仿真,让我受益匪浅,并为我做下一个课程设计奠定了基础。我在这次课程设计中感受到最重要的一点是一定要学以致用,把所学知识用到生活中来。发明和创造就是这样产生的。并且,在设计与创造的过程中,遇到困难不要气馁,一定要坚持
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村施工承包协议书3篇
- 新解读《GB-T 31208-2014再制造毛坯质量检验方法》
- 高级保姆合同范本
- 口头形式担保合同范本
- 工资外包合同范本
- 恋爱期间赠予合同范本
- 认购资产包合同范本
- 药店药品购销合同范本
- 公务用船船合同范本
- 五年级下册语文期末考试试卷作文小马过河
- 医院护理人文关怀实践规范专家共识
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读
- 初二体育课程教学计划及实施
- 高校物业现场管理方案(3篇)
- 浙江省金华市婺城区2024-2025学年七年级上学期语文期中考试试卷(含答案)
- 2025年10月自考00227公司法真题及答案
- 2025年广东二级造价师土建工程考试真题及答案
- 汽轮机油品基础知识培训
- 2026届高三地理复习策略+课件
- FZ∕T81012-2024机织围巾、披肩
- 作战指挥体制说课课件
评论
0/150
提交评论