2014-工程测控设计报告_数字时钟,涡流称重.docVIP

2014-工程测控设计报告_数字时钟,涡流称重.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文档。上传文档
查看更多
2014-工程测控设计报告_数字时钟,涡流称重

工程测控设计报告 班级:电子111 姓名: 学号: 分组序号:电子1-03 同组人: 课程设计目的及要求(对设计的内容及最终应达到的效果进行概述) 1.1利用51内核单片机作为CPU实现数字时钟的设计,用六位共阴数码管显示时间的时、分、秒,并能够通过按键进行时钟的调整。 1.2设计涡流称重计,假设已将重量通过传感器转化为对应的电压量,本设计要实现此模拟电压量的测量和显示,然后将电压变换为重量并用数码管显示。 1.3光电转速传感器已将转速转换为脉冲输出,本设计要实现对脉冲频率和周期的测量,测量频率范围10-10kHz,能够通过按键进行测频率和测周期功能之间的切换。 1.4在分别实现以上三个功能的基础上,将三个功能整合到一起,能通过按键进行功能之间的切换。通过本次设计掌握51单片机最小系统的构成,了解相关外围电路的的原理和设计。复习巩固51单片机C语言程序设计方法。 硬件电路的原理框图(其中包含:6个数码管的地址,4个按键的地址。以PCB板的左至右位顺序)。 2.1单片机复位和时钟电路:如图1所示 图 1图 2 图 图 图 [算法的原理概述,程序流程图及源程序(txt格式打印稿)]。 3.1程序整体设计 (1)主程序设计流程图 算法原理概述:单片机上电复位之后首先初始化单片机,其次动态显示”SELECT”指示进行功能选择选择,当K1-K3之中有键按下时则进入相应的子功能程序循环执行,在子程序执行过程中继续检测按键K4是否按下,若按下则退出当前功能重新返回到功能选择状态,否则继续执行该子功能程序。因而若要进行功能的切换,则先按下K4退出当前功能,然后按下相应的子功能选择按键。 主程序,主程序的文件名main.c #includecommon.h #includeADconvert.h #includeCLK.h #includeFRE.h void initsiu(void);//初始化单片机程序 void SELECT_display(); //选择状态的提示 void main() { initsiu(); //初始化单片机 while(1) { SELECT_display(); fun_sel=inkey(); switch(fun_sel) { case 0xe0:CLK_fun(); break; case 0xd0:ADC_fun(); break; case 0xb0:FRE_fun(); break; } } } /******************************************* 初始化程序 *******************************************/ void initsiu(void) { uchar we; for(we=0;we=5;we+)//使能数码管显示的各位 flags[we]=0xff; shi=0; //设置时钟最初时间00:00:00 fen=0; miao=0; clk_en=0xff; //使能时钟,更新时分秒 tt=0; TMOD=0x51; //定时器1:gate=0-TR1=1开始计数,定时器0定时50ms TH0=0X3C; TL0=0XAF; //设定定时器0定时50ms TH1=0X3C; TL1=0XAF; //设定计数器1 ET1=1; ET0=1; //打开定时器0中断 TR0=1; //打开定时器0 TR1=0; //停止定时器/计数器1 EA=1; //总中断允许 } //显示字符SELECT void SELECT_display() { zsd=(tt=10); P23=0; //使能三八译码器 P20=0; //显示第一位 P21=0; P22=0; P0=0x6d; delay(); P20=1; //显示第二位 P21=0; P22=0; P0=0x79; delay(); //显示第三位 P20=0; P21=1; P22=0; P0=0x38; delay(); P20=1; //显示第四位 P21=1; P22=0; P0=0x79; delay(); P20=0; //显示第五位 P21=0; P22=1;

文档评论(0)

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

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

1亿VIP精品文档

相关文档