课程设计(论文)-基于单片机计数器及出租车计费器.docVIP

课程设计(论文)-基于单片机计数器及出租车计费器.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(论文)-基于单片机计数器及出租车计费器

基于MCU的计数和计程车计费器 题目:基于MCU的计数和计程车计费器 任务: 1.1 外部脉冲自动计数,自动显示。 1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。 1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。 1.2 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元) 硬件资源: 89S51芯片 3-8译码器74HC138 共阴极数码管 脉冲信号发生器 10K电阻若干 硬件资源介绍: 利用89S51芯片为设计的主体,通过P2口的前三位(P2.0,P2.1,P2.2)通过3-8译码器进行译码,从而控制位选,在利用P0口进行段选,从而在数码管上显示所需要的数字。 二、设计过程 1.设计255计数器 利用T1定时器的第二工作方式2,C/T为1,利用其计数功能,当计数到255后,下一位自动变成0(自动重装初值的功能) 软件设计 C语言: #includereg52.h unsigned char code num_table[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code bit_table[6]={0x00,0x01,0x02,0x03,0x04,0x05}; unsigned char num; void display(); void delay(unsigned int aa); void init_timer()//进行定时器的初始化 { TMOD=0X60; TH1=0; TL1=0x00; TR1=1; //TF1=0; } void main() { P2 = 0xff; P0 = 0X00; init_timer(); while(1) { num=TL1; display(); delay(1); } } /*---------------------------------------------------- 显示函数 -------------------------------------------------------*/ void display() { unsigned char x,y,z; x=num%10; y=(num%100)/10; z=num/100; P2=0x02; P0=num_table[z]; delay(1); P2=0x01; P0=num_table[y]; delay(1); P2=0x00; P0=num_table[x]; delay(1); } void delay(unsigned int aa) { unsigned int i,j; for(i=0;iaa;i++) { for(j=0;j110;j++); } } 汇编: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD, #60H ;初始化 SETB TR1 MOV A,TL1 LCALL BCD LCALL DISPLAY LJMP MAIN BCD:MOV B,#64H DIV AB MOV 72H,A XCH A,B MOV B,#0AH DIV AB MOV 71H,A MOV 70H,B RET DISPLAY:MOV R1,#70H ;显示模块 MOV R5,#00H LOOP1:MOV A,R5 MOV P2,A MOV DPTR,#TAB MOV A,@R1 MOVC A,@A+DPTR MOV P0,A LCA

文档评论(0)

seunk + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档