- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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;
您可能关注的文档
- 2014-2015生物竞赛资料..docx
- 2014-2015第二学期《病理学》9月考前辅导资料..doc
- 2014-2015苏州学习网继续教育部分答案..doc
- 2014-2015青岛市北区期末八年级生物试题..doc
- 2014-2015高中化学231键的极性和分子的极性范德华力和氢键课下30分钟演练新人教版选修3.doc
- 2014-2015高中数学第1章统计案例(二)同步练习北师大版选修1-2.doc
- 2014-2015高中物理23弹力(第1课时)每课一练教科版必修1..doc
- 2014-2015电力工程题库..doc
- 2014-205年下学期汽车电器期末考试A卷..doc
- 2014-4-1-人民血液项目-研究方案V20-2013-09-12.doc
文档评论(0)