Proteus仿真单片机数字电压表定时器给时钟频率剖析.docVIP

Proteus仿真单片机数字电压表定时器给时钟频率剖析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计报告 设计题目: 数字电压表 专 业 班 级 学 号 学生姓名 指导教师 设计时间 教师评分 2015年 6 月 26 日 目录 1.概述 1 1.1目的 1 1.2课程设计的组成部分 1 2. 数字电压表设计的内容 2 2.1软件仿真电路设计 2 2.1.1设计思路 2 2.1.2仿真电路图 2 2.1.3设计过程 3 3..2设计课题软件系统程序清单 3 3.总结 12 3.1课程设计进行过程及步骤 12 3.2所遇到的问题,你是怎样解决这些问题的 15 3.3体会收获及建议 15 3.4参考资料(书、论文、网络资料) 15 4.教师评语 16 5.成绩 16 1.概述 1.1目的 设计一个能够测量直流电压的数字电压表。测量电压范围0~5V,测量精度小数点后两位。该电压表上电或按键复位后能自动显示系统提示符作者信息, 进入测量准备状态,按测量开始键则开始测量,并将测量值显示在液晶显示器上。按退出键完成电压表的测量。 1.2课程设计的组成部分 本电压表主要由单片机、4*4行列式键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1.1所示: AT89C51 图1.1 总体设计方案图 本电压表的所有的软件、参数均存放在89S52的Flash ROM和内部RAM中,减少了芯片的数量整机的电流。键盘采用动态扫描方式。 图3-1 仿真电路 2.1.3设计过程 系统结构框图 系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。通过按键选择八路通道中的一路,将该路电压送入ADC0809相应通道,单片机软件设置ADC0809开始A/D转换,转换结束ADC0809的EOC端口产生高电平,同时将ADC0809的EO端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。 3..2设计课题软件系统程序清单 #includereg52.h #includeintrins.h #define uchar unsigned char #define uint unsigned int sbit CLOCK=P1^4; sbit START=P1^5; sbit EOC=P1^6; sbit OE=P1^7; sbit data0=P1^0; sbit data1=P1^1; sbit data2=P1^2; sbit data3=P1^3; uint A1,A2,A3,A4,adval; uint a; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; //gong yin void delayms(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void display(uchar qian,uchar bai,uchar shi,uchar ge) { P0=0xff; data0=0; P0=table[qian]; delayms(5); data0=1; data1=0; P0=table[bai]; delayms(5); data1=1; data2=0; P0=table[shi]; delayms(5); data2=1; data3=0; P0=table[ge]; delayms(5); data3=1; } void init() { TMOD=0x20; TH0=(65536-2)/256; TL0=(65536-2)%256; EA=1; ET0=1; TR0=1; } void A

文档评论(0)

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

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

1亿VIP精品文档

相关文档