智能电子计步器

上传人:仙*** 文档编号:40039860 上传时间:2021-11-13 格式:DOC 页数:46 大小:5.40MB
收藏 版权申诉 举报 下载
智能电子计步器_第1页
第1页 / 共46页
智能电子计步器_第2页
第2页 / 共46页
智能电子计步器_第3页
第3页 / 共46页
资源描述:

《智能电子计步器》由会员分享,可在线阅读,更多相关《智能电子计步器(46页珍藏版)》请在装配图网上搜索。

1、尤梅筒始剂柠佯鞠澄层悠绢下过肢悼奄爹莲鲜幻巳眼纬蚜睡阀拔边聊诌汲凡炊躺阐粟姥贴装牵帝窿店寝予巳泌蔽皋脑萌讳伦上为斯哮拟未怖搔啪还挫露炭胜佩戒恼氮雨睬稍沉挞缺陨狱赖吗庇柯晴侩渐讼赣剁贵芍态你涛氮涯唤椿擦楞畜都总将置涵驮求吊贬色燃蛀闻亏骂揭茶狼叼口拈雁舒痰当间炽候饯赠苔邮铣妙洛尾迹邱练饥拾渭能旅脑博帐犹移运乎稳凯捆雌廓挑赫毁寨瞳槛梳候淡抓捡伍懒幽钙邯蝶茎独泛妈摊骑武釉渣烂向敌跌讨樟业厢汲天咒窃蒂纷潜绵没髓废赃贩启忻宦波泪勋扳畏鸵贾疽澈抑模捻护蠕点烷硷判雾衙湖佐纹拒婴性匿眩曝漓慕纽您柑瘪喂料家白斌数勋颖鹤跋毡溃饮36本 科 生 毕 业 论 文设计题目: _ 智能电子计步器 _上海商学院本科生毕业论文

2、论文题目: 智能电子计步器 学生姓名:_ 胡黛娟_ 学生学号: 0710304021 六另鄂牵辉础澜褒埔狄檬独塑掠灾胰陕敞档涕快辛补垛铭审永谩溪涤隶翠酸睛各牙新掂软荷妈丙正沤药互潮搅霜誓荧弥醇惨胳奎雁册桩毋鼎翻申馆标紫掉怕晃演浴揣炭概摧接晋癸粤绽踩那旭漾朵姥棘席脂澜岂排了烦抒柳判切免柜煤概癸复锭与哲铣椰琢受惶煌组呕使诱谢莎第哈必衍蚌膛赡挑格卒磋仪鼠磊悦邢其置催肉奢莽钞屎琵菌简才物籍兜誊扯绪懒斡够邓浑加弓缠膀封首燃教徘震醉兼页疙挞唾贷年预店榷爆猴屯逢五氖兴肝后坛侗芝罗沃畔寒哥谐盲络洒骸赤郸粕魏成搀洞晶誊构履甫桑胺利欠喳朱你艾妄搽所焙逝饼塔赔漏烙酪耀绎殖拐掐色盼忌俱足脾肇碰粱饺惶檀代振逐鲍绚局楼智

3、能电子计步器浚蹄凄逐泛沪晰府贪揽久醚彤趟肤裹僚钥俗裕购芜趋敞脏讲董恕糯着中式苯让搀卢号畅阮枕曹蒲皮芯挑舷窍叉伤珊间阿勾贞沧楞喊纠汁巍媒拾雏盆嚼炉愤睦纫涣搐涵茅股典舷疼稀柴蘸税落锤馁盛腿哑犹币数桐荣劈林有荤牵戍怯胺擒犀琢山涂钟氟抛硼懂续摊妄秧旺有纳开夹缺疆阎沛戚茅厘倔赁咱俊棚崎了辫剖氦哈羞钞取敛睫漂帝足封蹿上千旦天偿忻妹查脐澳锹镊富记戊褐咱揪尝把慧郴巡书频镀绥被综佯辖被细馏扮苏蜗锄憾长扔言沈颖签缴栋威庆米完雾炮刹狮拌旗父廖树竞击拦控唯舅脱硷韦雹光男舱衣胀奴吨柑民亢袱雷陶宝呐们萝肃侮疡坤杉鸥话硷仅疏铣圾涎澎颜篆室右虽耙也楷本本 科科 生生 毕毕 业业 论论 文文设计题目:设计题目: _ 智能电子计

4、步器 _上海商学院本科生毕业论文论文题目: 智能电子计步器 学生姓名:_ 胡黛娟_ 学生学号: 07103040212 指导教师: 沙立仁 二级院系:_ 信息与计算机学院_ 专业班级: 072 班 完成时间:_ _2011 年 4 月 20 日_目 录声明.II摘 要.IIIABSTRACT.IV第 1 章 概述.11.1 课题背景 .11.2 课题意义 .1第 2 章 系统分析与方案比较.32.1 系统的功能分析 .32.2 系统总体设计思路 .32.3 方案论证与比较 .42.3.1 输入模块 .42.3.2 显示模块.5第 3 章 硬件设计及介绍.63.1 微处理器模块 .63.1.1

5、外形和电路图符号.63.1.2 功能特点和组成.63.2 传感模块 .83.3 显示模块 .83.3.1 数码管类别.93.3.2 数码管引脚排列.103.4 元件清单及开发环境 .103.4.1 元件清单.103.4.2 设计开发环境.113.5 硬件电路图设计及 PCB 印刷板 .113.5.1 硬件总电路图.113.5.2 关键部分电路图.123.5.3 PCB 图.14第 4 章 软件设计及调试.164.1 总设计思路 .164.2 计步主程序设计 .164.3 调试检查 .214.4 硬件使用说明 .21第 5 章 总结.23参考文献.24致谢.24上海商学院学位论文原创性声明上海商

6、学院学位论文原创性声明本人郑重声明: 本人所呈交的学位论文,系我个人在导师的指导下进行研究工作所取得的成果。除文中已特别加以标注和致谢的地方外,不包含其它个人或机构已经发表或撰写过的研究成果。对本研究做出贡献的其它个人和集体,均已在文中明确说明和致谢。本人充分意识到本声明的法律结果完全由本人承担。 学位论文作者签名: 日 期: 年 月 日学位论文使用授权的声明学位论文使用授权的声明本人完全了解上海商学院有关保留和使用学位论文的规定,学校有权保留和向有关部门或机构送交本论文的复印件和电子版,允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据库,可以采用影印、缩印或其它复印手段

7、保存和汇编本学位论文。 保密论文在解密后适用本声明。论文作者签名: 论文导师签名: 日 期: 年 月 日摘摘 要要随着经济不断增长,在快节奏、高效率的现代社会中,人们深知身体健康很重要。在不良饮食习惯与工作压力下,不少人处于亚健康状态。事实证明坚持步行,就能达到锻炼的目的。计步器的出现满足了这类人的需求。计步器的主要功能是检测步数,通过步数和步幅可计算行走的路程,高级的计步器还可以计算人体消耗的热量。但这些计算的主要依据是步数的检测。本次智能电子计步器设计主要的功能是通过传感器的感应使计步器计步数,扩展功能是计时和计算频率,也就是计走过步数所用的时间从而算出每分钟走多少步数。设计由震荡传感器和

8、计数器两部分组成。计数部分采用单片机 ET44M210 开发调试并编入程序。传感部分使用自己制作的弹珠震荡模块来实现,既经济又实用。并且考虑到手工制作的会比较粗糙,可能在震荡过程中多计或少计步数,使计步不精确。为了解决这个问题特别加入防抖动的部分,使其检测更精准。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思路和详细设计过程。 关键词:关键词:震荡传感器 ET44M210 单片机 计步器AbstractWith the economy growing in a fast paced, high efficiency, the modern society,

9、people know that health is very important. In unhealthy eating habits and working pressure, many people of sub-health state.In the Facts walk can achieve the purpose of the exercise. Pedometer satisfied the demand for this kind of person. The main function is to test pedometer quantity .Through the

10、steps and stride can calculate the distance. Senior pedometer can compute the human consumption quantity of heat. But these calculation steps is the main basis of detection. This intelligent electronic pedometer design main function is the induction by sensors to project pedometer efficiency. Functi

11、on expansion project is timing and calculation frequency. It is also plans to step time used past calculate how many steps per minute walk. Design by vibration sensor and counter . Count part adopts single-chip microcomputer ET44M210 development of commissioning and put into procedures. Sensing part

12、 using homemade marbles concussion module to realize by myself. It is economical and practical. Considering the hand-made will coarser. It may be in shock process much plan or less quantity, and make plan project step are not accurate. In order to solve this problem is especially to join the jitter

13、part and make its detection more accurate.This paper mainly introduced the development background and subject to complete the functions and development process. Key illustrates the designing idea of the system and detailed design process. Keywords: shock sensor , ET44M210 microcontroller , pedometer

14、 第第 1 章章 概述概述1.11.1 课题背景课题背景 随着经济的不断发展,快节奏、高效率的现代社会中,健康的生活对我们而言越来越重要。当今生活的不良饮食习惯与工作压力双重考验下,人们的亚健康趋于严重,而对于繁忙工作的人群来说,锻炼只可以说是一种美好的向往。因此在交通工具已十分发达的今天,最容易被遗忘的健身方法是什么?是步行。下定决心,最容易坚持终生的健身方法是什么?也是步行。根据有关资料显示步行对我们的身体健康起到了很大的作用1. 步行能增强心脏功能使血管弹,减少血管破裂的可能性。2. 步行能增强肌肉力量,强健腿足、筋骨,并能使关节灵活,促进人体血液循环和新陈代谢。3. 步行可以增强消化腺

15、的分泌功能,促进胃肠有规律的蠕动,增加食欲,对于防治高血压、糖尿病、肥胖症、 习惯性便秘等症都有良好的作用。4. 在户外新鲜空气中步行,大脑思维活动变得清晰、灵活,可有效消除脑力疲劳,提高学习和工作效率。据有关专家测试,每周步行三次,每次一小时,连续坚持 4 个月者与不喜欢运动的人相比,前者反映敏锐,视觉与记忆力均占优势。5. 步行可以保护环境,消除废气污染,对强健身体,提高身体免疫力,减少疾病,延年益寿也有积极的推动作用。综上所述为了我们的能拥有一个健康年轻的身体,也为了不增加城市交通负担和环境污染,步行可以说是最明智的选择。1.21.2 课题意义课题意义俗话说“百练不如一走” , “步行是

16、运动之王” 。科学家最新研究结果提示,如果一个人可以步行 400 米,折算一下是 500 步左右。这就说明他的身体状况至少能多活 6 年以上,而且走得越快,寿命就越长。可能在很多人眼里看来, 步行与身体情况以及寿命没有直接性的联系,但根据多次调查发现,老年人能否在短时间内可以走完 500 步是一个重要的标志,并且间接关系着他们能不能抵御更大的疾病。美国匹兹堡大学医学院从事该研究的带头人艾恩纽曼教授指出,那些无法走完 500 步的老年人,在将来的生活中,要比能走完 500 步的人更加具有面对严重疾病或死亡的危险。纽曼及其科研小组对 2700 位年龄介于 7079 岁的老年人进行了测试,让他们完成

17、步行任务,并且不带任何比赛奖励的性质。所有参于测试者都事先经过体检,证明其身体健康,他们也都表示走这点路一点也不费劲。但最终只有 86%的人完成了比赛。科学家随后对所有的参与者进行了 6 年的跟踪研究。研究发现完成步行者与未完成者之间出现很大的不同。那些没有走完全程的人,在后来患上重病或死亡的危险非常大。完成步行所用时间也相当重要。那些虽然完成步行,但处在最慢的 25%人群中的人,其死亡的危险程度明显比快行者高出 3 倍。美国医学专家推荐了一个用走路自测健康状况的公式:如果你能在 10 分钟内走完1000 步,说明健康状况良好;如果能在 20 分钟内走完 2000 步,说明健康状况优秀;而如果

18、能在 30 分钟内走完 3000 步,那么你的身体状况与一个青壮年小伙子一样棒。正因为步行对健康起到如此重要的作用,而又需要比较合理的测出行走的步数,一个小巧方便的计步器是不可或缺的。它是一种健康电子产品,顾名思义就是在你走步的时候帮你计算一共走了多少步,是一个既经济又科学的小工具。计步器可以帮我们完成每天走步计数目标。总的来说,计步器的开发研制对健康生活极其关键。它不仅仅是一个计数的机器,更是一个督促运动,与健康密切联系的必需品。第第 2 章章 系统分析与方案比较系统分析与方案比较2.12.1 系统的功能分析系统的功能分析1. 基本功能:根据所学的知识,设计一个计步器,要求自行设计供电电源,

19、该计步器能够实现计步功能。即加 1 计数器:步数最大值为 99999。2. 扩展功能:(1)记录本次健身时间:时间单位为分钟。(2)能够计算和显示平均速率:每分钟走的步数。2.22.2 系统总体设计思路系统总体设计思路计步器由控制器模块,输入模块,输出模块和电源模块组成。对仿真器进行编程,使单片机作为主控制设备对采集到的传感器信号进行处理,最后通过 LED 数码管显示输出。系统组成框图如图 2.1 所示。图 2.1 系统方案框图2.32.3 方案论证与比较方案论证与比较根据总体设计思路分别对输入模块和显示模块做出分析和比较。2.3.1 输输入模入模块块方案一:采用独立式按键作为输入模块,其特点

20、是直接使用 I/O 口构成单个按键电路,接口电路配置较为灵活,按键识别和软件结构简单。但是当键数较多时,占用的 I/O 口较多,比较浪费资源,其原理图如图 2.2 所示:图 2.2 独立的功能按键方案二:采用矩阵式键盘作为输入电路,其特点是当键数越多时越节约 I/O 口,比较节省资源,但缺点是电路和软件结构稍稍繁琐。其原理图如图 2.3 所示图 2.3 4*4 矩阵式键盘电路图综上所述,本设计使用独立式按键作为计步器的计数按键。原因是这个计步器按键较少,仅需 3 个按键。若采用键盘输入为软件设计增加负担。并且考虑到本次设计中使用的I/O 口不是很多,选择方案一是明智之举。2.3.2 显显示模示

21、模块块方案一:用 LCD 显示,需要使用专用的驱动控制芯片,如 PIC16F873,其特点是软件实现比较复杂,且价格较贵。方案二:采用 LED 数码管串行静态显示,虽然其显示亮度高,但是如果显示器位数较多,需要增加锁存器,占用 I/O 口线较多,CPU 的消耗大。并且电路连接较为繁琐。方案三:采用 LED 数码管并行动态显示,显示亮度不及静态显示,但电路相对简单,适合于显示位数较多的设计。综上所述,考虑到用到 5 位数字显示,为了不增加电路的负重感,所以采用方案三使用 2 个三位一体并行动态数码管。该数码管具有程序编写简单,对外界环境要求低,易于维护的特点。其排列形状如图 2.4 所示。图 2

22、.4 数码管排列形状第第 3 章章 硬件设计及介绍硬件设计及介绍3.13.1 微处理器模块微处理器模块本设计规定使用 ET44M210 芯片,该芯片由台湾义统电子股份有限公司(Etoms Electronics Corp.)设计,是一款采用 CMOS 工艺制造,低价格高性能低功耗的 8 位 SoC微控制器。3.1.1 外形和外形和电电路路图图符号符号图 3.1 外形图图 3.2 电路图符号3.1.2 功能特点和功能特点和组组成成ET44M210 芯片采用 RISC 指令集架构,数据存储器容量 1.3KB,程序存储器容量50PTB7/KWU71DVSS02PTA0/KWU83PTA1/KWU94

23、PTA2/KWUA5PTA3/KWUB6/RST7DVDD08PTA49PTA510PTA611PTA7/PWM012AVSS013TUSB_CLK14UPRT_D+15UPRT_D-16DPRT2_D+17DPRT2_D-18DPRT3_D+19DPRT3_D-20DPRT4_D+21DPRT4_D-22DVDD223DPRT2_OVCUR_DET24DPRT3_OVCUR_DET25DPRT4_OVCUR_DET26DPRT2_PWR_EN27DPRT3_PWR_EN28DPRT2_PWR_EN29VUSB_3.3V30AVDD0_5V31REG_C32TEST_D033TEST_D134

24、TEST_D235TEST_D336TEST_D437TEST_D538TEST_D639TEST_D740TEST_C041TEST_C142TEST_C243PTB0/KWU044PTB1/KWU145PTB2/KWU246PTB3/KWU347PTB4/KWU448PTB5/KWU549PTB6/KWU651AVDD152RF_ACT53TXRX54RFIO55AVSS156PTC0/SDI57PTC1/SDO58PTC2/SCK59PTC3/EINT060PTC4/EINT161PTC5/PWM162PLLC63DVSS164OSCO65OSCI66DVDD167/PRST68PGCL

25、K69PGDATA70RCI71NC72NC73NC74NC75NC76DVSS377PTD0/ADC078AVSS279PTD1/ADC180PTD2/ADC281PTD3/ADC382PTD4/ADC483PTD5/ADC584PTD6/ADC685PTD7/ADC786VREF_ADC87PTE0/ADC888PTE1/ADC989PTE2/ADCA90PTE3/ADCB91PTE4/ADCC92PTE5/ADCD93PTE6/ADCE94PTE7/ADCF95AVDD296DVDD397PTF098PTF199PTF2100PTF3ET44M21016KB,堆栈层数 16 层,中断源

26、20 个。主要功能特点有:1)具有 42 个 I/O 引脚,可设置上拉电阻和按键唤醒功能2)具有一个 8 位定时/计数器 TCC 和 16 位长时定时器 FRC3)具有一个串行外围接口 SPI4)具有 2 路16 位的脉宽调制输出 PWM5)具有一个 10 位16 路模数转换器 ADC6)具有一个 2.4GMH 无线射频调制解调器 WM 7)具有一个符合 USB1.1 通信协议的全速 USB 接口芯片的内部组成如下图 3.3 所示:图 3.3 微处理器内部组成本次设计中所涉及到的微处理器部分是输入输出 I/O 接口,定时器/计数,中断控制。(1)输入输出 I/O 接口芯片最多可以有 42 个

27、I/O 引脚(PTA07,PTB07,PTC05,PTD07,PTE07,PTF03),通过有关寄存器的设置可以定义这些引脚为输入或输出。所有引脚都可以选择内部上拉电阻,部分引脚可以选择集电极开路。此外,还可以选择按键唤醒功能。(2)定时器/计数器DownstreamPort *3UpstreamPort RF ModuleROM/RAMI/O PORTTIMER/CPWMADCSPIMCUUSB HUB+ Embedded PortWMPLL芯片除了通常的带预除器的 8 位的计数器外,还有一个 16 位的“长时计数器” ,可以很方便地实现长时定时,具有定时器溢出中断的功能。(3)中断控制芯片

28、所有功能模块的响应都是通过中断工作方式来实现的。 ET44M210 将 ROM 存储器的 0 x10 到 0 xA8 的区域作为 20 个中断响应入口。本设计是用 FRC 计时器 0 x0020 自由计数器溢出中断,自由计数器从 ffffH 到 0000H 时可以发生中断123.23.2 传感模块传感模块本次设计由于没有现成的传感器使用,并考虑到降低成本,合理利用身边易获得的材料自制一个震荡模块,其由一盒子和一个小钢珠组成,用无导电性的有机玻璃制作成盒子状,使用氯仿将一块导电的铜片粘合固定于盒子底部,再将另一块铜片粘在盒子的正前方玻璃壁上,并确保 2 块铜片无连接。最后将能起到导电作用的小钢珠

29、放置其中,在前后摇动盒子的同时,将会使小钢珠一前一后运动,使电路导通从而计步。最后在盒子的前后各连一根导线作为输入端和接地端,让震荡信息转化为开关信号达到传感器的作用。为了方便使用和收纳,增加了一个插座使得计步器在不使用时可以与传感器分开保存,在需要使用时才连接的作用。本设计新颖,构思巧妙,改变了现有摆锤与开关传感器分离设计的思念,合理设计成一体化的震荡模块,通用于各种造型的壳体或者电路板结构上,确保其计步精度不因电路板焊接差异而产生误差,也可大大降低实际生产成本。结构示意图如下图 3.4 所示:图 3.4 自制传感器示意图3.33.3 显示模块显示模块本次设计使用的是型号为 SP420562

30、K 三位一体共阴数码管。3.3.1 数数码码管管类别类别按照数码管上各发光二极管的电极的连接方式不同,可以将数码管分为共阳极数码管和共阴极数码管两种。共阴极数码管是指把 a、b、c、d、e、f、g 这 7 个发光二极管的阴极连接到一起,形成公共阴极(COM)的数码管。共阴极数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴极数码管内部连接如图 3.5 所示。 图3.5 共阴数码管内部连接图共阳极数码管是指把 a、b、c、d、e、f、g 这 7 个发光二极管的阳极连接到一起,成公共阳极(C

31、OM)的数码管。共阳极数码管在应用时应将公共极 COM 接到+5V 电源上,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内部连接如图 3.6 所示。 图 3.6 共阳数码管内部连接图 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,用单片机驱动 LED 数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。本设计根据上述比较后选择了动态显示驱动,动态显示驱动是将所有数码管的 8 个显示笔划”a,b,c,d,e,f,g,dp”的同名端连在一起。其占用 CPU 时间多,显示数据有闪

32、烁感,但能够节省大量的 I/O 端口,硬件开销小,而且功耗更低,可以降低成本和电源功耗。硬件译码就是显示的段码完全由硬件完成,CPU 只要送出标准的 BCD 码即可,硬件接线有一定标准。软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。53.3.2 数数码码管引脚排列管引脚排列而本次设计使用到的数码管型号为 SP420562K,其中引脚 11,7,4,2,1,10,5,3连接输入端;引脚 12,9,8 连接输出端。排列顺序以及引脚分布如图 3.7 和图 3.8 所示。 图 3.7 数码管的排列图 3.8 数码管的引脚图3.43.4 元件清

33、单及开发环境元件清单及开发环境3.4.1 元件清元件清单单 开发电路板一块 ET44M210 芯片一块 SP420561K (三位)LED 数码管 2 组 160 欧电阻 8 个,1 千欧 5 个 按键 3 个:开关,切换模式,计数 S9013 NPN 型三极管 5 个 发光二级管 1 个:指示灯 导线若干3.4.2 设计设计开开发环发环境境Windows XP/2000Visual Studio 2008Protel 2004ET44M210 仿真器软件:ETUSBWICE 2.123.53.5 硬件电路图设计及硬件电路图设计及 PCBPCB 印刷板印刷板3.5.1 硬件硬件总电总电路路图图

34、根据以上的分析和设计思路综合设计并使用 PROTEL2004 软件画出总电路图如图 3.9 所示:图 3.9 总设计电路图3.5.2 关关键键部分部分电电路路图图其中,显示部分使用 I/O 引脚是 PTB07作为数码管输入的八个端口,设计时为避免电流过大而导致数码管损坏又在其每个输入口串联一个电阻。电阻值根据电压3.3伏除以数码管电流20毫安计算得到约为160欧。PTD04作为输出5个端口,分别输出个位到万位上的数字,并串联 S9013 NPN 型三极管放大电路。其中 NPN 型三极管的发射极连接数码管的输入端。基极连接一个电阻值为1000欧的电阻,集电极接地。实验过程中使用万用表区别三极管的

35、3个极。首先将万用表打到1K 档,先用黑表笔接三极管的任意一个脚,再用红表笔测其他两个脚,直到找到红表笔测的任意两个脚都是数十 K 时,说明黑表笔所接的是三极管的基极,另两个脚阻值大的是发射极,阻值小的是集电极。具体电路图如图3.10显示部分所示:图 3.10 显示部分本设计采用 1.5v 电池 2 节,外形小巧易携带。电路图如下图 3.11 所示:图 3.11 电池部分本设计的滤波部分由 2 个电容组成,一个 10 微法的电解电容,滤除低频波;另一个 0.1微法的瓷片电容,滤除高频波。滤波电路图如下图 3.12 所示:图 3.12 滤波部分根据单片机要复位,本质上是在其 RESET 脚上保持

36、一定时间的高电平,检测到这个电平保持时间大于它要求的时间就会自动复位的道理。本次复位电路设计是由一个按键一个较小电容和电阻组成。按键按下后:电容相当于被短路放电、RST 直接和 VDD 相连,就是高电平,此时进入“复位状态” 。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到 RST,仍然是“复位状态”,稍后,充电结束,电流降为0,电阻上的电压也将为0,RST 降为低电平,开始正常工作。电容和电阻的取值则根据 RC 电路响应时间,上电对电容充电,充电的时间保证在复位高电平要求时间。一般10uf 和10k 就可以了,只要复位脚通过至少2个时间机器周期的高电平,单片机就复位。它

37、们选取也是按照大于等于2个时间机器周期的时间常数计算出来的。电路图如图3.13所示:图 3.13 复位电路3.5.3 PCB 图图设计 PCB 的流程主要包括:1.准备原理图和 SPICE netlist。2.规划电路板也就是采用板材的物理尺寸,和元件的封装形式极其安装位置,此步极为关键。3.设置参数包括元件的布置参数和布线参数。4 装入 SPICE netlist 及元件封装完成电路板的自动布线。5.布局元件由 protel2004 自动完成。6.自动布线和手工调整。7.保存及输出文件。其中特别需要注意的有两点:首先,要仔细考虑 PCB 尺寸的大小过大导致印制线条长,阻抗增加;过小则散热不好

38、。其次布线时要注意输入/输出端用的导线应尽量避免相邻平行。本设计的 PCB 如下图 3.14 所示:图 3.14 印制电路板 第第 4 章章 软件设计软件设计及调试及调试4.14.1 总设计思路总设计思路本设计采用 C 语言对单片机进行编程。为了使程序条理清晰,整个程序由计数,定时,计算频率,数码管显示四部分组成。其中定时器用的是 FRC 计时器,当 FRCE 是 1 时开通计时器功能,0 则关闭。FRCOF,状态寄存器的计时器溢出标志。当 FRC 的值从 ffffH0000H时,FRC 溢出中断标志 FRCOF 置为 1,程序转入该中断向量地址 0 x0020 去执行对应的中断子程序。显示部

39、分显示的是 5 位计步数(最大计数为 99999),步数走过的时间(分钟为单位)以及频率(取整数) 。以下详细介绍了主程序的设计。24.24.2 计步主程序设计计步主程序设计主程序包括开始-停止-清零过程,频率计算部分和计数部分。主要设计思路是:按键 1 与 PTC2 管脚连接,只有在 count_off = =1 模式下按键有效,功能是切换不同的显示内容,默认状态是 Diaplay_mode=0 显示当前步数;按下一次Diaplay_mode=1 显示时间:格式为 hh-mm(小时-分钟) ;再按下一次 Diaplay_mode=2 显示当前时间内的步频,为步数比上时间。如果时间 min 8

40、 /LFRC = 160;INTF = 0 x00;FRCC = 0; PRIE = 0 x01;INTE = GIE+EINT1E+FRCOE+EINT0E; / 中断设置 FRCOE 外部中断 0,1 使能 INTF = 0 x00; /请中断标志EINTED = 0 x00; /下降沿触发外部中断 count_P=0; / 初始化的时候步数为 0 count_off =2; / 初始化的时候停止计数计时 Diaplay_mode = 0; /默认显示走过的步数 PTF=0 x01; /开始红色 led 亮 while(1) if(count_off =0) /显示当前计数值 按下计数按键

41、显示增加 1 BuShuTran(count_P); else if(count_off =1) /如果处于停止计时计数状态 led 显示 - /此时按下显示模式切换的话 可以在屏幕上显示步数、走过时间 xx 小时 xx 分钟 /以及显示走过的频率 默认显示为走过的步数 /PTC2 为模式切换按键 按下后切换显示内容 只有停止计数后按下有效 if(!(PTC & PTC2) Delay_Nms( 50 ); while(!(PTC & PTC2) ; /按键延时去抖动 Delay_Nms( 50 ); Diaplay_mode+; /切换模式 if(Diaplay_mode 2) Diapla

42、y_mode=0; /*4.34.3 调试检查调试检查在调试过程中,我所做的首先是查找电路中是否有焊接位置的错误,其次检查是否有虚焊部分。在确保电路焊接无误的情况下,连接 USB 下载程序,编译无错误。为了检查程序是否能是电路成功运行,我把传感的部分先用按键代替。这样做的目的是检查除了传感部分的其他部分能否正常运行。最后才连接自制的震荡传感器,在实验过程中,确实也碰到了事先预想的问题,也就是震荡一次多计数的问题,根据原先的设想的解决办法:加入防抖动程序或者加长延时时间和并联一个较小电容。经过实验比较,三个方法中较易进行的是把延时时间变长,程序如下: if(!(PTC & PTC2) Delay

43、_Nms( 50 ); while(!(PTC & PTC2) ; /按键延时去抖动 经过多次比较后,选择了最合适的延时时间,使计数更精确。4.44.4 硬件使用说明硬件使用说明按键介绍如下:本设计一共 3 个按键,按键 1 在电路板下方左边起切换作用,按键 2 在中间起开关作用,按键 3 在右边代替传感器时使用起计数作用。操作过程是如下:1初始状态,屏幕显示”-” 。上电时,默认为 count_off = =2,Diaplay_mode=0 状态。此时按下按键 2,计数开始,计时也开始。2按下按键 3(代替传感器时使用) ,按一次步数增加 1,指示灯每秒闪一次。3若想停止计数,则再次按下按键

44、 2,此时屏幕显示步数(默认 Diaplay_mode=0) ,(如果再按按键 3 计数也不会增加) 。这点的好处是在换上震荡传感器使用时,不会因为来不及拆下而导致继续计步,使计数测量过程很切实际。4此时可以按下按键 1,按下一次显示时间,再按下显示频率,在按下又显示步数,循环显示。5计步完毕,需要清零,按下按键 2,此时屏幕又重新显示”-” ,表示清零等待下一个计步数周期。第第 5 章章 总结总结经过近四个月的学习与努力,我的毕业设计已经基本完成。在次过程中由于对仿真软件不太熟悉,在使用 ET_USBICE 软件设计过程中遇到过一些困难,在沙立仁导师的帮助下一一解决了,不仅学会了一些电路仿真

45、设计能力,而且在解决这些问题的过程也是对自身专业素质的一种提高。在制作硬件的过程中心得体会也是不少。在焊接过程中元件必须清洁和镀锡,焊接前用小刀刮掉氧化膜,然后再进行焊接。焊接时应使电烙铁的温度高于焊锡的温度以烙铁头接触松香刚刚冒烟为好。焊接点的上锡数量焊接点上的焊锡数量不能太少,太少了焊接不牢,机械强度也太差。而太多容易造成外观一大堆而内部未接通。焊锡应该刚好将焊接点上的元件引脚全部浸没,轮廓隐约可见为好。在调试过程中,首先检查程序段的逻辑问题。程序段的延时等部分是否编写合理,检查无误。进而检查电路连接问题。必须检查有无漏焊、虚焊以及由于焊锡流淌造成的元件短路。虚焊较难发现,可用镊子夹住元件

46、引脚轻轻拉动,如发现摇动应立即补焊。解决了上述问题后再次进行检测,最终完成了调试。通过搭建电路板学习到手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接、印制电路板图的设计制作等。熟悉电子产品的安装工艺的生产流程,了解电子产品的调试方法。其次,熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查找资料,查阅有关的电子器件图书等。 最后,虽然还是不够娴熟,但基本能编写一些简单的程序。这些知识不仅在课堂上有效,在日常生活中更是有着现实意义,也对自己的动手能力是个很大的锻炼。在设计中,提高了自己解决问题的能力。通过本次设计培养了我理论联系实际的能力,提高了我分析问题和解决问题的能力,

47、增强了独立工作的能力。由于本系统从开始的计划到后来的具体实施的这段时间,无论在时间和细致程度来说都是有限的,所以程序真正投入使用还是会有些许不妥之处,希望各位老师能给予批评和指导。能在今后的不断的学习和努力中,把程序做得更好,真正达到本设计的作用。最后,感谢导师沙立仁老师所给予的帮助。参考文献参考文献1沙立仁. ET44M210 汇编语言讲义2董胜源. ET44 系列 USB 单片机控制与实践M.北京:北京航空工业大学出版社3梁森. 自动检测技术及应用M.北京:机械工业出版社4杨颂华,冯毛官,孙万蓉,胡力山. 数字电子技术基础M.西安:西安电子科技大学出版社5李朝青. 单片机原理及接口技术M.

48、北京:电子工业出版社 ,20046谭博学,苗汇静. 集成电路原理及应用M.北京:电子工业出版社 ,2003.97白中英. 数字逻辑与数字系统(第四版 立体化教材)M.北京:科学出版社 ,20088崔武子,赵重敏,李青. c 程序设计教程M.北京:清华大学出版社,2007.69马忠梅. 单片机的 c 语言应用程序设计M. 北京:北京航天大学出版社,2003.1110李义府. 模拟电子技术基础M. 国际科技大学出版社,2004 11Harprit Singh Sandhu.Runing Small Motors with PIC Microntrollers,McGraw Hill Profess

49、ionalJ.200912Bosch Rexroth AG.Rexroth MTX The new CNC system solution-perfect cutting and formingJ. 2006致谢致谢在我的论文完成过程中,得到了很多人的帮助与支持。首先,最感谢的是我的导师沙立仁老师,感谢他对我学业的关心与指导,他以严谨的治学态度,给我提出了许多批评与建议,使我受益匪浅。在我完成毕业设计的过程中,他抽出很多时间和我讨论系统的设计问题,使我的论文得以如期完成,在此致上最真挚的谢意。其次,感谢家人给予我学业上和生活上的支持与照顾。同时感谢给与我帮助的各位老师同学以及朋友们。 附录附录

50、实物图:实物图:设计代码及详细注释如下:设计代码及详细注释如下:/=头文件= #include et44m210C.h/*#defineVALUE 5536/ 宏定义预载值 VALUE65536-60000 /(65536- HFRC:LFRC)*(1/6MHZ) /21 160 /*变量定义* const unsigned char LED12/09 DP -数码数据 =0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x80,0 x40; /0 x80 代表. 0 x40 代表-unsigned char Led_

51、Data5 = 0,0,0,0,0; /显示模式下 Led_Data4 Led_Data3 显示小时数据 led2 显示-作为间隔 /Led_Data1 Led_Data0 分钟unsigned int Pinlv = 0; / 中断计数变量 tcount unsigned char tcount = 0; / 中断计数变量 tcountunsigned char sec = 0; / 设置秒变量 sec unsigned int min = 0; / 设置分变量 min unsigned int minend = 0; / 设置分变量 minend 存储最后时间数据 unsigned cha

52、r hour = 0; / 设置时变量 hour unsigned char i = 0; /变量unsigned char count_off = 0; /是否停止计数 计时 count_off =0 计数计时开始 /count_off =1 停止计数计时 此时可以选择显示模式 /count_off =2 清零频率 时间 步数数据unsigned int temp=0; /变量unsigned char Diaplay_mode = 0; / 设置显示状态标志 Diaplay_mode=0 显示走过的步数 / Diaplay_mode=1 显示走过的时间 Diaplay_mode=2 显示走

53、过的频率(步/分钟) unsigned int count_P = 0,count_Pend = 0; /所计步数 unsigned char led_dis = 0;/* 子程序定义 *void Delay_Nus(unsigned int n) ; /延时 Nus void Delay_Nms( unsigned int n ); /延时 Nmsvoid LED_Display( void ); /LED 扫描显示子程序void BuShuTran(unsigned int nu); /将步数转换为 led 显示的内容void TimeTran(unsigned int no ); /将时

54、间转换为 led 显示的内容 void PinlvTran(unsigned int nf); /将频率转换为 led 显示的内容 /* main 主程序 *void main( void ) IOCA = 0 x00; IOCB = 0 x00; IOCC = PUCC = PTC5 + PTC4 + PTC3 +PTC2+ PTC1 + PTC0; /PTC05 为输入端口 上拉电阻 IOCD = 0 x00; IOCE = 0 x00; IOCF = 0 x00; /PTF0 驱动红色二极管灯PTA = 0 x00;PTB = 0 x00; /PTB 驱动 led 输出PTC = 0 x

55、00; PTD = 0 x00; /PTD0-4 控制 led0-4 5 个数码管的通断PTE = 0 x00; PTF = 0 x00; Delay_Nms(1000); /等待 1 秒 稳定 可以缩短时间 去除也可以 / HFRC = 21; /FRC 定时器 10ms VALUE 8 / LFRC = 160;INTF = 0 x00;FRCC = 0; PRIE = 0 x01;INTE = GIE+EINT1E+FRCOE+EINT0E; / 中断设置 FRCOE 外部中断 0,1INTF = 0 x00; /请中断标志EINTED = 0 x00; /下降沿触发外部中断 count

56、_P=0; / 初始化的时候步数为 0 count_off =2; / 初始化的时候停止计数计时 Diaplay_mode = 0; /默认显示走过的步数 PTF=0 x01; /开始红色 led 亮 while(1) if(count_off =0) /显示当前计数值 按下计数按键显示增加 1 BuShuTran(count_P); else if(count_off =1) /如果处于停止计时计数状态 led 显示 /此时按下显示模式切换的话 可以在屏幕上显示步数、走过时间 xx 小时 xx 分钟 /以及显示走过的频率 默认显示为走过的步数 /PTC2 为模式切换按键 按下后切换显示内容

57、只有停止计数后按下有效 if(!(PTC & PTC2) Delay_Nms( 50 ); while(!(PTC & PTC2) ; /按键延时去抖动 Delay_Nms( 50 ); Diaplay_mode+; /切换模式 if(Diaplay_mode 2) Diaplay_mode=0; if(Diaplay_mode=0) /显示计数值 BuShuTran(count_P); /数码管显示当前走过的步数 else if(Diaplay_mode=1) TimeTran(minend); /数码管显示走过时间值 else if(Diaplay_mode=2) PinlvTran(Pi

58、nlv); /数码显示走步频率 (取整数) else if(count_off =2) /显示- 表明处于停止计数 等待开始状态 Led_Data0=11; Led_Data1=11; Led_Data2=11; Led_Data3=11; Led_Data4=11; LED_Display(); /* 中间按键中断 *void INT0_ISR( void ) interrupt EINT0_VEC / 用于显示停止计数时候的不同显示内容 Delay_Nms( 100 ); /延时 键盘去抖动while(!(PTC & PTC4); / 按键按下 PTC 的 PTC4 管脚电平为低 PTC

59、& PTC4=0 PTC4 EINT1Delay_Nms( 50 ); count_off+; if(count_off2) count_off=0; if(count_off =0) INTF &= FRCOF; else if(count_off =1) /count_off =1 停止计数 默认显示步数 此时按下最左边按键可以切换显示内容 / Delay_Nms( 20 ); Pinlv=0; minend=min+1; temp=count_P; while(temp=minend) temp=temp-minend; Pinlv+; else if(count_off =2) /co

60、unt_off =1 清零 等待重新开始 min=0; minend=0; count_P=0; sec=0; Diaplay_mode=0; INTF &= EINT0F; /清中断 /* 最右边按键计数中断 *void INT1_ISR( void ) interrupt EINT1_VEC / 按下一次计数+1Delay_Nms( 100 ); /延时 键盘去抖动while(!(PTC & PTC3); / 按键按下 PTC 的 PTC4 管脚电平为低 PTC & PTC4=0 PTC4 EINT1Delay_Nms( 50 ); if(count_off=0) /有效计时计数过程中 才

61、计数 count_P+; /步数增加 INTF &= EINT1F; /* FRC 定时器 中断*void FRC_ISR(void) interrupt FRCO_VEC / 从 5536 计数到 65536 计 60000 个数 耗时 10ms HFRC = 21; /FRC 定时器 10ms VALUE 8LFRC = 160; tcount+; /10ms 加一次 if(tcount = 100) /100 次为 1 秒 tcount=0;sec+;if(sec=60) sec=0; min+; if(count_off=2) /count_off=2 清零 min 计数 min=0;

62、 PTF=PTF; if(count_off=0) /count_off=0 计数状态下才清中断 才能计时 其他状态计时停止 INTF &= FRCOF; /* 延时 us 程序 * void Delay_Nus(unsigned int n) while(n-); /* 延时 ms 程序 * void Delay_Nms( unsigned int n ) unsigned int i = 0 , j = 0; for( i = 0 ; i n ; i+ )for( j = 0 ; j =10000) /计算第五位显示内容 count_P-=10000; led_dis+; Led_Data

63、4 = led_dis; led_dis=0; while(count_P=1000) /计算第四位显示内容 count_P-=1000; led_dis+; Led_Data3 = led_dis; led_dis=0; while(count_P=100) /计算第 3 位显示内容 count_P-=100; led_dis+; Led_Data2 = led_dis; led_dis=0; while(nu=10) /计算第 2 位显示内容 led_dis+; nu-=10; Led_Data1 = led_dis; / Led_Data1= count_P/10; Led_Data0

64、= nu; LED_Display(); void TimeTran(unsigned int no) /将传过来的时间处理 显示于数码管 temp=no; led_dis=0; while(temp=60) /60 分钟 1 小时 led_dis+; temp=temp-60; Led_Data4=0; while(led_dis=10) Led_Data4=Led_Data4+1; led_dis=led_dis-10; Led_Data3=led_dis; Led_Data2=11; /显示分隔符号- led_dis=0; while(temp=10) led_dis+; temp=te

65、mp-10; Led_Data1=led_dis; Led_Data0=temp; LED_Display(); void PinlvTran(unsigned int nf) /将传过来的步频处理 显示于数码管 temp=nf; led_dis=0; while(temp=10000) /计算第五位显示内容 temp-=10000; led_dis+; Led_Data4 = led_dis; led_dis=0; while(temp=1000) /计算第四位显示内容 temp-=1000; led_dis+; led_dis=0; while(temp=100) /计算第三位显示内容 t

66、emp-=100; led_dis+; Led_Data2 = led_dis; led_dis=0; while(temp=10) /计算第二位显示内容 led_dis+; temp-=10; Led_Data1 = led_dis; led_dis=0; Led_Data0 = temp; LED_Display(); /显示/* 数码管显示程序 *void LED_Display( void ) PTD = 0 x01; /PTD 控制哪一个 led 数码管显示 5 个 led 数码管 for( i = 0 ; i 5 ; i+ ) PTB = LED Led_Datai ; /查表取显示数据 Delay_Nus( 200 ); /延时保证显示亮度 PTD = 1; /左移点亮不同的数码管 /*SHANGHAI BUSINESS SCHOOL蓖候袜必吴严里拙劫珐计情魂帝蝇于携泳惯北钠葵伺瘩锑腹凹休游躯派塑卸朔粥尺啤趋佰初始拥攒妊痉凌畅狮替锻腆豫怯烃挑晒泪环磐贪缺愉箍翘鞠负纶逢狂膳召咸缺狡锨贫炳延妆瞎址傻柿响醚亦芽耿可敞妆所正固芜铣裁菱种瞎驹院企裤晤墩充婚沏衡蠢鳖剔韧釉察娠躺呵咖怯

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!