毕业论文范文网-论文范文
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 学前教育 德语论文 工程管理 文化产业 工商管理 会计专业 行政管理 广告学
机械设计 汉语文学 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 药学论文 播音主持 人力资源 金融论文 保险学
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 计算机论 电子信息 市场营销 法学论文 财务管理 投资学
体育教育 小学教育 印刷工程 土木工程 书法论文 护理论文 心理学论 信息管理 公共事业 给水排水 新闻专业 摄影专业 广电编导 经济学
  • 范文首页 |
  • 毕业论文 |
  • 论文范文 |
  • 计算机论文 |
  • 外文翻译 |
  • 工作总结 |
  • 工作计划 |
  • 现成论文 |
  • 论文下载 |
  • 教学设计 |
  • 免费论文 |
  • 原创论文 |
搜索 高级搜索

原创毕业论文

当前位置:毕业论文范文网-论文范文 -> 免费论文 -> 电子专业论文

四路多段定时开关(三)

作者: 浏览:314次
免费专业论文范文
免费专业论文
政治工作论文
计算机论文
营销专业论文
工程管理论文范文
医药医学论文范文
法律论文范文
生物专业论文
物理教学论文范文
人力资源论文范文
化学教学论文范文
电子专业论文范文
历史专业论文
电气工程论文
社会学专业论文
英语专业论文
行政管理论文范文
语文专业论文
电子商务论文范文
焊工钳工技师论文
社科文学论文
教育论文范文
数学论文范文
物流论文范文
建筑专业论文
食品专业论文
财务管理论文范文
工商管理论文范文
会计专业论文范文
专业论文格式
化工材料专业论文
英语教学专业论文
电子通信论文范文
旅游管理论文范文
环境科学专业论文
经济论文
人力资源论文范文
营销专业论文范文
财务管理论文范文
物流论文范文
财务会计论文范文
数学教育论文范文
数学与应用数学论文
电子商务论文范文
法律专业论文范文
工商管理论文范文
汉语言文学论文
计算机专业论文
教育管理论文范文
现代教育技术论文
小学教育论文范文
机械模具专业论文
报告,总结,申请书
心理学论文范文
学前教育论文范文

收费计算机专业论文范文
收费计算机专业论文
Delphi
ASP
VB
JSP
ASP.NET
VB.NET
java
VC
pb
VS
dreamweaver
c#.net
vf
VC++
计算机论文
毕业论文范文题目:四路多段定时开关(三),论文范文关键词:四路多段定时开关(三)
四路多段定时开关(三)毕业论文范文介绍开始:

% 模运算(取整数除法的余数)
主要就介绍一些我所用到的语句。
在程序设计中,主要利用了C语言的if、switch及for语句。其中if、switch为条件语句,for是一个循环控制语句,在程序中更常用到的语句是break语句,在switch语句中,在case子句执行完毕后,通过break语句使控制立即跳出switch语句。在循环语句中,break语句的作用是在循环体中测试到应立即结束循环时,使控制立即跳出循环结构,转而执行循环语句后的语句。
2-3  程序
2-3-1  程序中地址分配
程序设计中的地址分布,由于DS12C887中前14个字节是10字节用于记录时间、日历、闹钟和RAM以及4字节的控制、状态RAM。113字节通用RAM使用户使用,我先计算了我的地址分布,从第14个字节开始我用做存储每路的开关次数,每一路可设定每次开关的时间(小时、分钟、时长及功率),时长是以分钟为单位,最高可设置为99分钟。每一路开关每一次均要用四个字节,通过计算四路开关能在24小时内任意时间通断,每路24小时内最多可执行六次开与关,下表为我设定计算我在编程时的地址分布表。
表:DS12C887地址分配情况
路数 次数 第一次 第二次 第三次 第四次 第五次 第六次
第一路 14 15-18 19-22 23-26 27-30 31-34 35-38
第二路 39 40-43 44-47 48-51 52-55 56-59 60-63
第三路 64 65-68 69-72 73-76 77-80 81-84 85-88
第四路 89 90-93 94-97 98-101 102-105 106-109 110-113
例如程序:
 for(i=0;i<4;i++);i为判断电路设计中的第几路,
 {
  switch(i)
  {
  case(0):
  out0=0;
  break;
  ……
  }
 for(j=0;j<XBYTE[14+25*i];j++);j为每路开关的开关次数。
 {
 if(((XBYTE[15+j*4+25*i]<hour)||((XBYTE[15+j*4+25*i]==hour)&&(XBYTE[16+j*4+25*i]<=min)))
 &&(((XBYTE[15+j*4+25*i]+(XBYTE[17+j*4+25*i])/60)>hour)||(((XBYTE[15+j*4+25*i]+(XBYTE[17+j*4+25*i])/60)==hour)&&((XBYTE[16+j*4+25*i]+(XBYTE[17+j*4+25*i])%60)>min))))
{
  switch(i)
  {
  case(0):
  out0=XBYTE[18+4*j];
  break;
 ……
  }
 举例在程序中设计第一路开关开关一次,即i=0,设定的开关次数(一次)存放在外部RAM(DS12C887)第14个字节中,XBYTE[14]=1,j=0时循环一次,,如果读取到第15个字节(小时)中数值小于或等于系统时间小时(hour)&&(与运算符)第16个字节(分钟)中数值小于或等于系统时间分钟(min)&&第15个字节数值+第17个字节(时长)数值/60大于等于系统时间小时(hour)&&第16个字节数值+第17个字节数值%60大于系统时间分钟(min),判断条件如果为真的情况下,输出第18个字节中设定的功率。
 由于每路六次开关共用25个字节,因此循环语句用判断每路for (j=0;     j< XBYTE[14+25*i];j++),每一路从14字节开始,后循环语句即用14+25*路数。
2-3-2主程序(main)
 主程序中主要设置了CPU的工作模式及中断,T0为延时16ms;T1为显示时间设置为0.512ms;T2设置为延时100ms;设置芯片的工作模式:给外部RAM中A寄存器中写入0x20内容(XBYTE[0x0a]=0x20),即是将A寄存器中DV1位置1”,查看上述所讲DS12C887内容,[DV0 DV1 DV2]=[010]时,晶体振荡器开启并且保持时钟运行;
将外部RAM中B寄存器中写入0x1E内容,即是将B寄存器中UIE、SQWE、DM、24/12位置“1”,即是使得时钟芯片允许更新结束中断输出的IRQ;SQW输出设定频率的方波,采用二进制,并且为24小时制。
 主程序中还实现了通电时显示SZPT,一段时间延时后,显示0605(因为制做日期在五月份所以编程写入了0605),一段时间延时后,就读取时间显示小时和分钟。之后就是一个while循环语句。
2-3-3显示程序(display)
   dis0=decode(d0); 此程序为解码程序
 dis1=decode(d1);
 dis2=decode(d2);
 dis3=decode(d3);
 key0=d3;数码显示器4
 key1=d2;数码显示器3
 key2=d1;数码显示器2
 key3=d0;数码显示器1
switch(d)
 {
 case(0):
 return 0x40;
 break;………… 
    }
 
 程序用的是switch选择语句,如果系统要显示零的话,返回数值为0x40。在设计中采用的是共阳极的七段数码显示器,当该位置“1”显示,在电路设计中,数码显示器又与SN74LS04芯片的一个非门相连,即该位为“0”时,数码管显示,其返回值计算如下表:
 
     段号
显示数值 a
p2.0 b
p2.1 c
p2.2 d
p2.3 e
p2.4 f
p2.5 g
p2.6 十六进制
p2值
0 0 0 0 0 0 0 1 40
1 1 0 0 1 1 1 1 79
2 0 0 1 0 0 1 0 24
3 0 0 0 0 1 1 0 30
4 1 0 0 1 1 0 0 19
5 0 1 0 0 1 0 0 12
6 0 1 0 0 0 0 0 02
7 0 0 0 1 1 1 1 78
8 0 0 0 0 0 0 0 00
9 0 0 0 0 1 0 0 10
P 0 0 1 1 0 0 0 0C
T 0 1 1 1 0 0 1 4E
A 0 0 0 1 0 0 0 08
E 0 1 1 0 0 0 0 06
D 1 0 0 0 0 1 0 21
U 1 0 0 0 0 0 1 41
off 1 1 1 1 1 1 1 7F

2-3-4读取键盘并换算成键值(keytranslate)
这段程序的主要功能就是将杂乱无序的键盘使得有顺序可循。由于电路板上键盘不是按顺序排好的,因此通过编程当原来无序的键盘变得比较好操作。
  case(0x0):
  keyr=0;
  break;
 其具体程序对应的键盘值可看下表:
板上的顺序 0 4 8 12 1 5 9 13
编程后顺序 0 1 2 3 4 a b c
板上的顺序 2 6 10 14 3 7 11 15
编程后顺序 5 6 7 8 9 d e f
 这段程序主要采用的是switch选择语句。
2-3-5外部中断1(key)
 外部中断1为键盘中断,键进行读取。左图为:键盘中断一服务子程序图
 keya,其功能在于,按第一下显示case(1):  display (hour/10, hour%10, min/10,min%10);程序相同,按第二下显示年份,第三下显示为日期,第四下显示为星期几和秒。
 Keyb,其功能在于,按下如果在SET为1并且0x0e不为0的情况下,如果条件key3<7为真的话,那么第14个字节即为第四段数码管的值,如果为假的情况下,蜂鸣器发声,并且显示“EAA0”;keyb==1 为真的情况下,显示为“1,off,off,XBYTE[0x0e]”,当0x0e不为“0”的情况下,keyb=2的情况下,显示为XBYTE[0x0f]及XBYTE[0x10]中的数值,若输入数值又将显示内容写入外部RAM中,语句如:XBYTE[4*l+0x0f]=key0*10+key1;XBYTE[4*l+0x10]=key2 *10 +key3;
 Keyd,其功能在于,进入设置和退出设置,当按下keyd键,显示为PASD,如果如果条件“(key0==1)&&key1==2)&&(key2==3)&&(key3==4)”为真的情况下,SET置“1”,并显示为“PASS”,即可以对系统进行设置修改,如果为假蜂鸣器发声,并显示“EAA0”。当系统修改好后,再按下keyd键,显示“0UEA”。
附录
附表1设备清单:
序号 设备名称 型号 数量
1 整流器  1
2 电磁电容 104 6
3 电磁电容 20 2
4 极性电容 470uf 2
5 极性电容 22uf 1
6 三端稳压器 7805 1
7 发光二极管  4
8 7段数码显示器  4
9 保险丝  1
10 继电器  4
11 蜂鸣器  1
12 电阻 2.2K 8
13 电阻 4.7K 7
14 按钮  17
15 时钟芯片 DS12887 1
16 单片机 AT89C52 1
17 驱动器 ULN2003A 1
18 反相器 SN7404N 1
19 键盘编码器 74C922 1
20 晶振 6MHZ 1

 

附图1:DS12C887地址分布图

结论
 对于这一次的专题,我觉得真的有感觉到设计的感觉,跟实验问题有很不同的地方是我们可以自己构思功能,并且依据所要求的功能来设计自己的电路,完全要自己动手,因此在对于系统的功能都很清楚了。通过这次对单片机硬件、DS12C887的硬件结构、单片机C程序设计的学习,真的感觉收获不少,尤其是C语言的学习上,等于我利用了这次设计学习多了一门课程。如果事先就会C语言编程单片机我相信我能做的比目前好。
 在开始编程的时候,由于自己在学习单片机的时候学的不够深,又由于设计安排在学完单片机一年以后的时候,忘的比较多,使得我总是不明白单片机如何读取DS12C887时间芯片的数据,也不知该如何写入。后通过苏老师指导方知将DS12C887芯片当做一个普通的外部RAM进行读写。
 一开始我们是用AT89C51进行编程,遗憾的是我第一次编程完程序之后,我的电路板居然不能完全容纳我的程序,竟然在implementation 时告诉我design is too large。后来经过研究和老师指点,我明白是我整个设计以及程序写了太多,导致容量不足。后来我们只有舍弃了AT89C51,改用了AT89C52芯片。实现了电路板一开始要想要实现的功能。
 尽管如此,作专题重要的并不在于结果,而是自己在整个活动中的过程,经过了这一次专题,我体会到从设计到实际做出来的过程,而且也将我所学过的单片机知识完完全全的复习了一遍,并且还学到了不少,我想这才是做专题的最终目的,以及我的最大的收获。

 

参考文献:
徐爱华主编.单片机应用技术教程.北京:机械工业出版社,2003.7 
胡伟,季晓衡编著.单片机C程序设计及应用实例.人民邮电出版社  

首页 上一页 1 2 3 下一页 尾页 3/3/3


以上为本篇毕业论文范文四路多段定时开关(三)的介绍部分。
本论文在电子专业论文栏目,由论文网(www.zjwd.net)整理,更多论文,请点论文范文查找

毕业论文降重 相关论文

收费专业论文范文
收费专业论文
汉语言文学论文
物理学论文
自动化专业论文
测控技术专业论文
历史学专业论文
机械模具专业论文
金融专业论文
电子通信专业论文
材料科学专业论文
英语专业论文
会计专业论文
行政管理专业论文
财务管理专业论文
电子商务国贸专业
法律专业论文
教育技术学专业论文
物流专业论文
人力资源专业论文
生物工程专业论文
市场营销专业论文
土木工程专业论文
化学工程专业论文
文化产业管理论文
工商管理专业论文
护理专业论文
数学教育专业论文
数学与应用数学专业
心理学专业论文
信息管理专业论文
工程管理专业论文
工业工程专业论文
制药工程专业论文
电子机电信息论文
现代教育技术专业
新闻专业论文
艺术设计专业论文
采矿专业论文
环境工程专业论文
西班牙语专业论文
热能与动力设计论文
工程力学专业论文
酒店管理专业论文
安全管理专业论文
交通工程专业论文
体育教育专业论文
教育管理专业论文
日语专业论文
德语专业论文
理工科专业论文
轻化工程专业论文
社会工作专业论文
乡镇企业管理
给水排水专业
服装设计专业论文
电视制片管理专业
旅游管理专业论文
物业管理专业论文
信息管理专业论文
包装工程专业论文
印刷工程专业论文
动画专业论文
环境艺术专业论文
信息计算科学专业
物流专业论文范文
人力资源论文范文
营销专业论文范文
工商管理论文范文
汉语言文学论文范文
法律专业论文范文
教育管理论文范文
小学教育论文范文
学前教育论文范文
财务会计论文范文

电子商务论文范文

上一篇:射频识别(RFID)技术初探 下一篇:定态薛定谔方程的MATLAB求解

最新论文

精品推荐

毕业论文排版

热门论文


本站简介 | 联系方式 | 论文改重 | 免费获取 | 论文交换

本站部分论文来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:229120615@qq.com

毕业论文范文-论文范文-论文同学网(www.zjwd.net)提供电子专业论文毕业论文,毕业论文范文,毕业设计,论文范文,毕业设计格式范文,论文格式范文

Copyright@ 2010-2024 zjwd.net 毕业论文范文-论文范文-论文同学网 版权所有