基于MS单片机监测环境温湿度以及二氧化碳浓度毕设_第1页
基于MS单片机监测环境温湿度以及二氧化碳浓度毕设_第2页
基于MS单片机监测环境温湿度以及二氧化碳浓度毕设_第3页
基于MS单片机监测环境温湿度以及二氧化碳浓度毕设_第4页
基于MS单片机监测环境温湿度以及二氧化碳浓度毕设_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录设计总说明ⅡGeneralDescriptionofConstructionDesignⅣ第1章绪论71.1研究的目的及意义71.2国内外研究的情况71.3系统的主要性能指标和工作任务81.4方案论证9第2章工具简介112.1C语言112.2IAR软件11第3章硬件设计163.1主控芯片的介绍16MSP430F149的工作方式173.1.2P口介绍183.1.3MSP430指令的介绍223.1.4MSP430中断介绍和存储器断介绍24贤3.赠1.劣5驼M厅SP蓄43沸0甩定时朝器浊26翻3.驻1.干6雀时钟自模块验28弟3.盒1.越7乒比较银器模酬块详29蝶3.肺1.赤8叨勇模数如转换测模块则30帆3.亲2绣贿电源至电路皆的设腾计抹30弱3.匀3很匠晶振厅和复挑位电罢路以怒及割US伍B辩下载秃电路爹的设乡计师34夜3.翅4箩顷液晶点显示宵模块遣LC熊D1复28锐64代36列3.盐5笼源时钟青芯片装蓬DS求13犹02咏38孝3.役5.茫1吹D安S1凉30醋2畜的基菠本组翻成和妙工作皆原理划39桃3.袍5.雪2弱D弱S1卸30旁2康内部出寄存英器质40豆3.崇6倾渐温湿拖度芯顽片喊43子3.关7蕉字二氧卧化碳蔬气体济传感虽器殖47砍3.煌7.花1秃莫二氧移化碳首浓度摊传感火器甩TG嫩S4丧16盗0野概述哀47案3.之7.蚁2元T形GS拘41共60异的内售部结喂构持47德3.摩7.伟3盼T柱GS棚41颗60鞭的工妹作原掉理惠48绝3.凝7.西4滩折二氧厚化碳急检测虚电路剖设计招49萍3.尺8窑临超限恼控制狡处理丙模块恶50纳第库4垃章每软件掉设计纱52兽4.谋1遇最程序赏的流济程图艰设计委52燥4.蓬1.积1科主程帅序设冒计流映程图修52郑4.屯1.荒2荒温湿蔑度和乘气体纤采集主及处中理框轰图扛61板4.永1.域3止L尘CD饰12罗86士4晚显示闷流程隔图敬69狐第未5见章捐调试割与体锋会问73墙5.绝1拣渣调试挑过程但73蚀5.婶2宁总结亦体会忧74事致谢史75器参考夜文献绿77市婴儿笨室环盼境监趋测电址路的韵设计纳设计馋总说省明剩随着络科技锐的飞化速发典展和桥普及疼,高残性能舰设备骗越来固越多必,各浴行各漫业对圈温湿杆度的虽要求喜也越浪来越峰高。柔对于钞刚出床生的栏婴儿业,刚聚脱离态母体扭进入室新环馆境,犁对新解环境红温湿轿度的三要求蓬同样倚也很报高。鄙传统溜的温奏湿度鹊监测抖模式歼是以句人为岔基础连,依僵靠人驴工轮筐流值窝班,润人工符巡回搞查看寇等方剩式来录测量降和记希录环杠境状贴况信龙息。抱在这疏种模仗式下标,不质仅效廉率低溜下不扎利于仅人才拍资源陕的充例分利歪用,纵而且诊缺乏盛科学毁性,奔许多吓重大焰事故词都是碍由人耻为因赔素造斩成的晋,人卸工维溜护缺愁乏完宴整的祝管理灵系统卵。而塑问世兆监控疯系统演就可壁以解秩决这肤样人最才资特源浪验费,诞管理栏不及击时的型问题盯,这崇是由努于它生的智策能化剃设计绩所决薯定的香。温钓度湿尤度和封气体鞭的浓应度在梳工农浆业生假产、粒气象签、环型保、源国防孩、科亿研等口部门餐有着伍至关能重要原的作含用,忠准确缩测量湖温湿厨度在捉生物堤制药虑、食疯品加采工、泛造纸米等行圈业更喇是至停关重炼要。趣因此踏研究煮温湿予度的朋测量嗓和控牛制方凯法具穷有重摄要的凡意义久。符本设过计核察心部祸件为宗超低削功耗经嵌入够式单汽片机棚MS半P4虹30欣,峰信号山采集躲及处攀理部需分由懒SH算T1敲1返以及道二氧瓶化碳竟传感颈器怠GT面S4式16琴0垂构成惯,宪输出店的信闯号通魄过A际D转克换和粘MS即P4肃30期的处静理在抓显示嘴器上稀显示交温湿秤度粒以及美气体妹的浓侨度删,信怖号显跟示采滤用的丑是里液晶鞠屏点伟阵显插示搞器L律CD导12土68业4忧,其勇他组折成部情分为怕实时建时钟社发生利电路枕,产智生与后现在愈相同愈的时得间和模具体择日期拖,躬也是靠通过季LC善D1港28醋64闸液晶预模块符显示涝。内超限娇处理绪模块桥是使轧用P让ID楼算法洗设计甩,使寨用单劝片机因的引胀脚电渔平通兰过继围电器普来控尿制温康湿度黎,和座CO论2气拌体浓值度。丘本设肠计还永接入察了故脾障报消警模休块。号MS零P4施30常是嵌捧入式贺单片祝机具抬有高瞎度的最集成呆化,夏有看汁门狗耻定时君电路盼,比真较器嫂,模尺数转留换等破功能门,与闲51战系列悉单片叔机比各较具拴有超睁低功面耗,隆端口询多等余优点军;S泡HT捷11农温湿拼度传脏感器坡测温水范围乔为狡-齿40时~+嚷12虫3.河8℃奶,乡精度顿0.称1勒℃灵,促湿度怎测量费范围犁是0帆~驳99辞%R桂H,峡分辨殃率为曲0.钞03逗R串H鞠,完泥全可适以满庄足设砖计要婆求的敲温度们20很~温27闯℃歇,湿宵度3丑0厅~守50裹%R谨H障,它搬为I挎2C变总线斥连接授通信徐,较斥其他灭产品遵具有吨品质已卓越灯,超孤快相睡应,锁抗干面扰能邪力强远,超迷高的疮性价柴比有舌点。滴GT筹S4旅16放0一握种含炊热敏墨电阻费的混馅合式哈CO苹2敏境感元咸件,订它使革用的既时候辆一般睁都配澡有本厕产品叨公司匹专门昏配套界生产真的一烧个转末换和也测量壶模块需AM怜-4豆模块奥,模规块是竿数字谢量串竞行输肢出,抬相比灭其他话CO为2气言体传泄感器宰操作千简单音,精督度高咱。昏在软露件设项计部越分有馅对测还量的孤温湿议度进铸行上画下值贱的设腾定,左当测部量超功过限闯定值猛时,蓝通过攻超限粪自动饥控制萍调节里温湿未度电捧气处膜理电当路对闯其进援行处若理,密分别特动作凤为过辰冷制眯热,畅过热落制冷峡,过窑湿除统湿,怖过干殖加湿咱,帽和对疗气体素浓度浴调节就,呜硬件地中包透括一搜个开寨关,倍为复腿位开令关。昌开机抛后,吼所有峡器件喉初始愧化,煌LC汽D1劣28款64查产生领实时省时间拣和日鸡期,欧温湿胳度传传感器茧SH镰T1厦1鸭和C判O2裹传感怕器趟开始开进行谊温湿值度测塑量和侨计算脉,最躺后通争过通LC失D尊液晶乳显示偷器显概示结棋果。肝在测炊量结耕果中顺有超去过设搅定的犹温湿量度上村下限调的,责通过再超限搬模块肝做出互反应劲。滋电路腿主要裤包括该了己MS葵P4龟30万控制垄模块靠、三SH普T1挤1窜温湿简度测伶量模挣块、陆二氧呆化碳舱检测摘模块收TG福S4随16案0送、性DS扩13延02向时间劝模块沉、桌LC密D韵显示妻模块框、超职限继雁电器绑处理走模块简。其欲他是堆一些功附件肾,比判如复女位、若晶振振电路浴。沉关键趁字鸡:M火SP咸43者01时49贱;S武HT配11融;T首GS葛41纲60著;D蛋S1啊30巡2;注继电卸器;拨LC唯D1裕28广64庆Th炮e残ba掩by互's傍r妄oo黄m毕en掘vi医ro理nm魂en踏ta器l洗mo森ni滥to呢ri亡ng慕c助ir狮cu逢it摸d舌es储ig立n弟Ge狮ne辜ra锄l右De行sc替ri享pt挤io男n薪of贤C我on谊st劫ru建ct轧io眼n植De组si亲gn遣Wi市th飞t咽he转r检ap演id萌d主ev情el货op脚me咬nt水a伴nd陕p目op疲ul育ar私iz吴at技io伯n竞of尿s显ci絮en友ce必a传nd犹t五ec贼hn织ol宵og明y,抬h法ig灵h-坡pe是rf怠or揉ma犁nc芳e洒eq主ui腾pm息en怕t火mo勾re添a关nd贯m恰or柱e,轰a毁ll料w无al沸ks困o照f厚li唉fe估t桥o鼻th舅e割te存mp菜er劣at政ur绣e惧an偷d糟hu江mi寺di督ty城r昌eq比ui盗re胳me概nt卫s栗mo呆re兆a恨nd燥m竖or摔e束is美a绍ls抢o袋hi坊gh维.末Fo喜r另a确ne版wb氏or茶n芝ba常by将,陕ju脊st香f垃ro咬m闸th煤e禽mo赞th销er黄i槽nt氧o投th虽e哀ne看w过en遣vi居ro叙nm租en随t,岭a款ls寒o织to饿t荡he窜r释eq疗ui导re董me婶nt竖o瞧f炕th贩e炒ne摊w斜en茂vi凝ro耳nm羡en特t迹te隶mp馋er愈at迎ur沾e满an启d汗hu礼mi虽di象ty登i帽s谎hi误gh劲.棕Tr傅ad辜it投io望na滨l矿te径mp炉er灿at拍ur蛙e跌an酬d谢hu秋mi职di束ty服m三on吸it铃or印in镜g籍mo修de例l取is棵b揭as据ed刘o差n权pe属op慰le拘,灵re密ly程o装n手ar锯ti追fi暗ci穷al掀t品ur鹅n贸on倒e怎ac遮h可ot玻he脏r,逼a汉rt庭if适ic银ia众l衫ci泛rc厦ui异t斥to响c态he涂ck小t劲he领i顶nf可or格ma还ti键on申t亭o燥me叨as侮ur羽e心an昨d凭re借co敌rd讲e徒nv苦ir贼on虽me有nt煤al躬c考on肤di影ti毯on陪s蚕su纳ch犁a能s摩wa鸡y.掘I月n循th沸is贯m扫od颠e,疏n功ot化o注nl旨y肉lo滨w传ef誓fi僵ci停en壁cy菊f胳or婚b饿et办te良r将ut凉il篇iz膏at顽io县n殃of烦t迷al疯en提t半re根so匀ur栗ce旬s,绵a烫nd私l妄ac继k是of草s脊ci俭en跳ti蝶fi尘c透na滑tu麦re堡,赚ma嚷ny贱m银aj虫or氧a鸽cc君id夏en摄ts徒a尚re掌c泽au慨se继d扬by鸡h面um颜an草f缴ac宏to士rs果,议ar宪ti宏fi宪ci引al信m岂ai鄙nt绝en弯an降ce猎o梨f咽th芬e徐la略ck似o慰f显a销co淘mp仇le会te俗m妇an对ag霜em叶en彼t项sy屈st贡em姑.途Ap愤pe软ar口ed屠a释nd犯m伐on恼it胡or巾in齐g拦an屈d巷co乏nt尊ro刷l笼sy抓st植em康c彼an唐s退ol筒ve抵s串uc互h立wa额st驻e静of长t谨al验en展t恰re配so培ur菌ce速s,咽ma肃na锐ge氏me尸nt项i求s奴no哗t注ti蒜me地ly鸦i洪ss弯ue丰,祖it欧i胞s殖be婆ca乡us跳e筋of苍i画ts槐i掏nt件el纺li渣ge捆nt卖d听es返ig韵n宴de用ci任si曾on手s.落T托em强pe吵ra列tu径re超,帜hu曾mi魂di隶ty何a日nd惰g深as规c览on当ce争nt龟ra角ti触on啊i乱n它in你du隙st层ri蜂al摄a郊nd提a趁gr腊ic格ul趁tu讽ra弟l使pr弯od而uc蝶ti文on模,禾we球at峰he册r,素e搅nv饶ir秒on膜me晒nt献al购p愈ro气te活ct勉io粮n,粱n拍at稠io趋na独l漂de效fe端ns奉e,仙s避ci准en头ti输fi而c兵re种se证ar效ch援d淋ep羽ar妇tm竟en似ts疗h眼av厚e姿a甲vi间ta含l亿ro倡le大,他ac纵cu泻ra爸te坦m迫ea富su提re餐me吹nt悟o进f陈te拉mp简er劈at顶ur幅e庭an将d嫌hu性mi尽di庄ty酱i私n也th期e电bi末o-杨ph启ar驴ma各ce柿ut当ic砌al笋,挡fo完od何p记ro秩ce敲ss卖in旬g,箭p品ap识er华ma转ki俊ng陆a膏nd刘o眉th南er愚i蠢nd骑us谁tr鸟ie遣s哥is问v干it金al返.链So闭t有he谊t妨em番pe挪ra另tu膝re烟a匀nd触h习um掏id暗it镇y酒me房as初ur营em城en近t幸an柴d汽co惜nt奴ro啄l尽me耽th真od变h击as糕t后he肌v托it三al愿s晒ig拿ni俱fi牌ca葵nc览e.托Th臭is家d晴es浙ig毅n答fo技r威ul艇tr庙a-顷lo材w麦po刺we锯r赵em仓be展dd钩ed宫m叔ic库ro互co飘nt史ro舟ll取er逼M冶SP虚43冈0批co脆re后c音om沿po姐ne的nt须s,章s郊ig搬na调l爪ac棒qu它is谱it苍io幕n以an担d知pr万oc剪es没si光ng世p护ar犬t盼co陡ns缺is规ts拜o挎f权SH构T1屿1载GT清S4侵16制0毛an科d间ca疼rb隶on市d多io出xi疲de错s庙en党so论r,昨t矿he颜o责ut仪pu刚t疑si淹gn客al苏t域hr科ou仪gh吓t踢he折A晋D讯co乱nv悦er独si裕on斩a略nd啊t更he坟p年ro煮ce子ss棒in快g程of晋M校SP另43姻0猛di继sp籍la价ye遣d锡on裕t覆he吴m涌on者it拨or锯t润em容pe接ra泳tu搂re予a始nd帝h凶um喜id屿it他y倦an孟d右ga陵s商co情nc殃en判tr包at丽io搜n,谱s世ig判na誉l惹di克sp递la与y秆US围ES饱L政CD摆l躺at诵ti苦ce勾d季is流pl毅ay巷L慢CD杆12份68棉4,倡o抖th解er宰c萝om捐po系ne册nt亮s烟fo嘱r汁th召e跑re冰al门t抗im付e拘cl椅oc运k萍ge意ne脏ra泼ti休ng勤c货ir茎cu沉it破,区an股d也th挽e沾sa朗me劫t柱im捕e壮an涝d诱da蓝te刘r剪ig扶ht苍n牙ow局,着is洒t何hr既ou喉gh异t脂he勇L躲CD帆12尘86荒4情LC击D胞mo死du屡le拘d太is形pl青ay稻.倍Tr桂an直sf么in躲it养e汤pr尾oc鸡es于si童ng田m旺od饥ul似e杏de卧si唤gn透i凝s污th目e则us胖e请of珍P受ID钓a币lg度or芳it幕hm贪,瓜us狼in承g植MC劣U蛙pi呆n洲le灭ve劳l启th稼ro治ug泉h腾th盾e催re窗la利y功to爽c火on财tr山ol孕t迁he基t提em斜pe佩ra津tu补re雄a复nd摇h蹦um谅id寺it问y,幕a掉nd验C连O2茄g伐as徐c储on场ce肉nt仙ra衬ti计on阁.烛Th嗓is聪d舰es丛ig滩n拦al悦so管a抄cc武es统s荣th校e杠fa爱ul爪t顾al妙ar慈m葱mo敏du耻le土.EmbeddedmicrocontrollerMSP430ishighlyintegrated,awatchdogtimercircuit,comparator,modulusconversion,andotherfunctions,comparedwith51seriesmicrocontrollerwithultra-lowpowerconsumption,portnumber,etc;SHT11temperatureandhumiditysensormeasuringtemperaturerangeof-123.8℃误~秤+施4霸0,目t细he键p董re劝ci望si佣on父o桂f萄0.泉1洋℃徐,她hu寸mi口di连ty柔m圣ea丑su姥re龄me槐nt奏r搂an上ge冠i拾s泳0偶~孝99痛%羊RH蛛,接a尊re间so叠lu跨ti迟on捕o菠f奥0.怪03朝R男H,岁c谱an裳c钢om强pl搭et挎el悬y遗me塔et住t行he接d漆es长ig粪n率re单qu让ir弃em棵en揉ts尖o锹f科th叫e势te怒mp琴er尚at脊ur场e晕of树2凳0桐~迎27屿℃托,拦hu永mi毅di哲ty羡i祸s葛30翻~妇5塘0%茄R乏H,栋i觉t命fo距r丛th叛e异I座2C糊b仔us屋c陵on侧ne毙ct女io骡n捧co成mm数un伙ic惑at墓io烤n,请c选om零pa调re寺d西t六o宗ot它he毒r象pr极od光uc袄ts迈w叮it蚂h封ex旗ce糕ll餐en搂t柿qu括al保it跨y,静s凶up笋er箭f插as期t,黄s授tr僚on隙g色an万ti桨-j埋am增mi打ng拘c厌ap焦ab令il酱it搏y,领h密ig鹊h瘦pe络rf既or英ma础nc丧e反to陷p祸ri晨ce士r哗at驾io振i祝s披a见li放tt碍le渡b杰it例.顺GT剃S妖41贩60跌a钥h危yb胶ri秧d仓CO犯2忽co画nt拆ai飞ni停ng招t甜he及rm码is山to古r思se佳ns职or馒,妨it余U养SE殃S揉ge肆ne吩ra卵ll稠y盏eq方ui遭pp六ed订w女it维h搅th咽is填p母ro信du填ct轿t给he感c唐om探pa速ny益s命pe外ci固al闲iz肆ed客p字ro饲du胀ct炸io横n脉of窜f争or积m忘a农co旺mp戚le裹te浴s茧et恐o猫f薯a森tr骗an柄sf歌or塌ma阿ti幅on婚A孕M队-衣4柜mo尼du泪le谋a聪nd宜m报ea引su档ri付ng间m常od乌ul思e,偶s骡er拜ia顷l绳ou挠tp床ut梢m饲od何ul译e邪is剩t秤he索d活ig紧it扫al蛾q朗ua骑nt截it君y,宇c疗om定pa触re搬d孟to贩o仇th因er毙C象O2牵g腥as板s易en来so漆r谦is册s无im野pl翠e,芳h渣ig母h摔pr川ec故is拦io瑞n.益Th麦is州d滑es装ig悬n士im征pl执em紫en定ta艘ti坚on垂i旅s猎si信ng突le文c荐hi猜p纸mi懂cr犯oc百om弓pu擦te衫r龟te雕mp抓er棒at巾ur胁e僵an供d异hu忽mi嗓di泳ty勒m被ea乔su扑re寺me慨nt蝴a找nd吼c胁on触tr劫ol束s范ys连te特m,莲t命hr芽ou野gh对t菜he父L床CD墓d浑is赔pl防ay荷t意he式m饱ea提su没re植d懂te颗mp垦er蚂at咐ur偏e饥an永d表hu每mi北di拣ty程.哥Se窃t坐te青mp棉er烤at戚ur盼e席an业d笑hu鸭mi防di理ty奉s呢en眼so帆r忌an姥d光A/痛D先co隙nv桶er夕te尚r筒is伪a域do国pt映ed列i才n蜂th痰e私sy腔st穿em可i裕n算th遇e轧in府te冲gr佳at灭io慕n条of嚷S秧HT陡11标c筛hi残p毒an美d划TG披S4偶16宣0净ca终rb年on丸d散io赶xi谎de苍g衰as常c绸on塌ce勺nt踪ra启ti础on供d滋et枕ec右ti味on绝c边hi胖p,骨t聚hr捆ou皱gh托s触in首gl妨e锻ch摄ip辞m仪ic被ro超co广mp唯ut因er肚f游or奶p老ro牛ce秆ss朋in务g,结a房cc被or恋di畜ng饱t冶o养th街e落da裂te这o粱f促ot尝he筋r签mo腹du彼le奇s变in岂cl雁ud俊in融g敏th情e谦re疾al抬t返im匙e搏cl洋oc俯k岭ge卖ne许ra傅ti杜ng严c峡ir集cu盈it奖a推nd感t习ra描ns惕fi草ni陈te石r旱el高ay产p辜ro个ce然ss要in舱g独ci个rc症ui松t,妖t僻o提me亮as网ur素e松th尽e茫va校lu友e苹of载t怨he跑r庆ea侄l-昆ti烤me摩d唤is个pl集ay阻a夹nd奖a缠ut炼om夕at教ic答al饺ly屿a芒dj尤us响t斤th饰e见pr盲oc衬es嫁si田ng巴o慢f担th诊e酷ne具ce盼ss驳ar拦y.差I逼nt砌ro枝du挤ce税d璃in守t艘hi谎s半pa济pe阅r懂ba递se碎d细on朱t递he推T掩ex杂as窑i功ns奔tr皂um台en月ts悬M暖SP间43发0抗se柿ri哪es遗M警CU要r高ea营l-北ti悠me起t肌em器pe限ra拥tu认re知a土nd紫h病um根id洁it棚y乞me样as查ur量em号en叙t瞧an嫁d染co稳nt旧ro篇l糊sy五st也em雹a扭nd辈d医is走pl轻ay衣s画ys姜te迈m妻de臭si冈gn秧,注in违cl讽ud羊in妹g狭ha牌rd榆wa授re妹s疑tr宋uc州tu惊re狡p俘ri蚕nc谈ip继le单i笋s妈in隙tr葱od梨uc扰ed迹,炕an者d虽an勉al珍ys亩is斥t汽he毒c耻or炮re脊sp眯on诞di贱ng孟s疼of子tw貌ar球e票de淹si隔gn倡a搞nd巴i驴ts野k检ey益p揪oi铲nt末s,走i丽nc到lu永di巧ng播t抛he概s甚of我tw顷ar江e类de商si笨gn拆p塑ro科ce费ss限a冻nd毫i离ts展i翅mp换le贪me顺nt踪at鹿io菊n稳of笛t伙he赴p匠ro锐gr拆am百.盏Sy昆st踢em组s贪tr迹uc运tu驶re挡i剩s请si组mp丧le桶a始nd苍p涨ra侍ct休ic驶al奸,饺an逝d御im错pr疲ov感es底t蝴he衣m叛ea霜su择re温me男nt摇p须re昏ci丸si羡on夫a斯nd满e右f董fi债ci苗en悲cy奴.Keywords:MSP430F149;SHT11;TGS4160;DS1302;Relay;LCD12864第1章绪论1.1研究的目的及意义温度和湿度以及适应环境所需的各种气体的浓度与人们的生活息息相关。在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度与湿度和气体浓度进行测量及控制。准确测量温湿度和相关气体浓度在生物制药、食品加工、造纸等行业都是至关重要的。传统的温度计是用水银柱来显示的,它的精确度不高,不易读数。而采用单片机对温湿度及气体进行控制,不仅具有控制方便、简单和灵活等优点,而且可以大幅度提高气体及温湿度控制的技术指标。用LCD来显示温湿度和气体浓度的数字量看起来更加人性化更加直观。采用SHT11数字温湿度传感器作为检测元件,能够同时测试温度和湿度。SHT11传感器可以直接读出被测的温湿度值。同时单片机可以把测量出的数据通过串口传到计算机上,来完成工业中的自动控制,给工业生产带来了极大的便利。用单片机控制的温湿度计不仅硬件电路简单,而且测量精度比较高。用液晶显示测量值看起来比较美观。采用MG811二氧化碳气体浓度检测传元件,直接把空气中的二氧化碳通过化学量的变化,以及模数转换也能直接送到单片机里面进行处理,监测空气中二氧化碳的浓度,调节空气中氧气的含量,给人或者需要贮存的动植物等一个更舒适的环境。无论在日常生活中还是在工业、农业方面都离不开对周围环境进行温湿度及周边异常气体含量的的测量。因此,研究温湿度的测量具有非常重要的意义。1.2国内外研究的情况测量温湿度和气体浓度的的关键是温湿度传感器。过去测量温度与湿度是分开的。随着技术的进步和人们生活的需要出现了温湿度共测的传感器。温度传感器的发展经历了3个阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。温度传感器也是经历了这样一个阶段逐渐走向数字智能化。现今国内外用的最多的温湿度传感器是SHTXX系列。SHT11温湿度传感器应用于专利的工业COMS过程微加工技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝链接,从而具有超快响应,抗干扰能力强,性价比极高等优点。采用SHT11数字温湿度传感器与单片机MSP430相连比较容易,而且电路比较简单,软件设计也比较简单。所以,本设计以SHT11数字温湿度传感器为例,介绍基于SHT11数字温湿度传感器的设计,该设计适用于人们的日常生活及工农业生产中用于温湿度的测量。1.3系统的主要性能指标和工作任务由于本设计主要的方向是设计室内的婴儿室环境监测系统,根据具体要求设计本产品的主要技术指标为:(1)、测温范围:+10—+80℃;湿度测量范围为20—90%Rh,测二氧化碳浓度范围350—2000PPM(人体正常生存环境的二氧化碳浓度是400—1000PPM)(2)、温度测量精度:±0.5ºC(3)、湿度测量误差:≤4%Rh,气体浓度误差±10PPM(4)、设置上下限温湿度和二氧化碳浓度的值,(5)、当湿度低于20度时,单片机控制加热装置,高于27度时停止加热;(6)、当温度高于30度时,单片机控制自动控制制冷设备,当制冷到25度时停止制冷。(7)、湿度低于30%RH时,单片机控制接通加湿设备,超过50%RH是停止加湿;(8)、当二氧化碳浓度超过了800PPM时接通继电器接通释放氧气设备。测试到了正常值得时候停止接通设备。(9)电源工作范围:DC3.3~5.0V系统主要工作任务如下:根据本毕业设计实际的任务要求,选择合适的温湿度传感器,完成温湿度的测量,选择适合的气体检测传感器完成必要气体的含量检测,并设计显示电路模块、时钟电路模块、超限处理模块、复位电路模块的程序。系统开始工作后,根据初始条件读取湿度值和温度值以及二氧化碳气体含量值,测量数据经处理后,将其与设定的温湿及气体含量限度值比较,如果发现当前的温湿度超限,则自动通过单片机来控制继电器进而动作,未超限时,系统显示正常的湿温度度值。1.4方案论证方案一:采用单片机89C51作为主芯片控制单总线的DS18B20的温度传感器和HS110X相对湿度传感器以及二氧化碳传感器TGS4160组成测量和控制系统。方案二:采用嵌入式超低功耗单片机MSP430系列单片机来控制,温湿度传感器和A/D转换器于一体的SHT11芯片构成温湿度以及二氧化碳气体浓度传感器TGS4160的测量和控制系统。89C51系列单片机相对于MSP430系列单片机,51系列的只有32个I/O口驱动电源需要5V,而MSP430系列单片机I/O一共有48个,端口比较多,当51的端口不满足时必须外扩端口,而MSP430单片机的端口基本就能满足需求,而且MSP430的驱动电压只需要3.3V相对于51,省电低功耗。由于传统的模拟式温湿度传感器一般不仅要设计信号调理电路,还要进行复杂的校准和标定过程,其测量精度难以保证,并且使用分立的温度传感器和湿度传感器测量电路比较麻烦。而SHT11是具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,集温湿度传感器和A/D转换器于一体,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点,使用起来比较方便,且电路简单。该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。而分离式的温度湿度检测不仅会加重系统的工作量,也会导致系统的精度,准确度出现问题,因此本设计采用方案二。本设计核心部件为超低功耗嵌入式单片机MSP430,信号采集及处理部分由SHT11构成以及二氧化碳传感器MG811,进入单片机经处理后通过LCD12864显示温湿度,信号显示采用的液晶屏点阵显示,其他组成部分为实时时钟发生电路,产生与现在相同的时间和具体日期,通过LCD12864液晶模块显示。在软件设计部分有对测量的温湿度进行上下值的设定,当测量超过限定值时,通过超限自动控制调节温湿度电气处理电路对其进行处理,分别动作为过冷制热,过热制冷,过湿除湿,过干加湿,硬件中包括一个开关,为复位开关。开机后,所有器件初始化,DS1302产生实时时间和日期,温湿度传感器SHT11开始进行温湿度测量和计算,最后通过LCD液晶显示器显示结果。在测量结果中有超过设定的温湿度上下限的,通过超限模块做出反应。电路主要包括了MSP430控制模块、SHT11温湿度测量模块、二氧化碳检测模块TGS4160、DS1302时间模块、LCD显示模块、超限继电器处理模块。其他是一些附件,比如复位、晶振电路。总体框图如下单片机单片机MSP430CO2浓度传感器AM-4检测模块A/D转化器显示模块报警电路继电器超限处理键盘温湿度传感器图1-1总体框图第2章工具简介系统单片机代码采用C语言编写,并用IAR软件检查程序有无错误,把生成的需下载的文件,下载到实体的器件中去使单片机进行工作。2.1C语言C语言的运算符丰富,它包括的范围相当广泛,使得C语言的运算类型极其丰富,并且表达方式的类型多样化,能够实现在高级语言中不能实现的运算,它有32个关键字,9种控制语句。和汇编语言一样,它能够对位,字节和地址进行操作;数据类型很丰富,能实现各种复杂的数据类型,同时还加入了指针的概念,使得效率更高,同时支持图形编辑,以及多种显示器等;它所应用的结构式语言,这种方式会让程序有层次,一目了然,同时语法显示不严格,C的优点:设计自由度高,它提供给用户的方式是一函数的形式,它们可以方便调用,使得程序完全结构化;地址的访问上,能够访问物理地址,对硬件进行直接操作;适用范围广,能够适用于多种操作,例如:DOS、UNIX等,同时适用于多种机型。C的缺点:主要是数据封装的安全性不高,因此这一点也成为了C语言和C++的最大的区别,另一方面由于语法以及变量的类型没有严格限制,也造成了较低的安全性,再者从应用角度来说,它比较其他的高级语言来说较为难以掌握。2.2IAR软件IAREmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境(下面简称IAREWARM)。比较其他的ARM开发环境,IAREWARM具有入门容易、使用方便和代码紧凑等特点。故在这里介绍给打算学习使用或正在使用ARM芯片的朋友们共同探讨。IARSystems公司目前推出的最新版本是IAREmbeddedWorkbenchforARMversion4.30,并提供一个32k代码限制、但没有时间限制的免费评估版。IAREWARM中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAREWARM的功能和使用方法。我们编译整理的这本快速用户指南采用评估版软件安装目录C:\Programfiles\IARSystem\Embeddedworkbench4.0\ARM\tutor下的教程为例,一步一步介绍IAREWARM的使用方法。该教程采用了两个C语言程序,tutor.c和utilities.c。它们不和任何特定的硬件关联,所以介绍中的全部操作都是用模拟程序完成的。IAREWARM的主要特点如下:(1)、高度优化的IARARMC/C++Compiler(2)、IARARMAssembler(3)、一个通用的IARXLINKLinker(4)、IARXAR和XLIB建库程序和IARDLIBC/C++运行库(5)、功能强大的编辑器(6)、项目管理器(7)、命令行实用程序(8)、IARC-SPY调试器(先进的高级语言调试器)MSP430使用的开发工具主要是嵌入式单片机常用的IAR软件,其使用方法如下:(1)、生成一个新项目EWARM是按项目进行管理的,它提供了应用程序和库程序的项目模板。项目下面可以分级或分类管理源文件。允许为每个项目定义一个或多个编译连接(build)配置。在生成新项目之前,必须建立一个新的工作区(Workspace)。一个工作区中允许存放一个或多个项目。另外用户最好建立一个专用的目录存放自己的项目文件。例如在本指南中我们生成一个C:\Programfiles\IARSystem\Myproject目录。现在双击桌面上的IAREmbeddedWorkbench图标,出现IAREWARM开发环境窗口。生成新的工作区选择主菜单File>New>Workspace生成新工作区。选择主菜单Project>CreateNewProject,弹出生成新项目窗口,在Toolchain栏中选择ARM,然后点击OK按钮在弹出的另存为窗口中浏览和选择新建的Myprojects目录,输入文件名project1,然后保存。这时在屏幕左边的Workspace窗口中将显示新建的项目名,最后保存工作区。、给项目添加文件在Workspace中选择希望添加文件的目的地,可以是项目或源文件组。在这里选择project1,在选择主菜单Project>AddFiles打开标准浏览窗口,选择安装目录ARM\tutor下的上述2个文件,点击打开按钮,把它们添加到Project1目录下。设置项目文件选择通用选件,选中Workspace中的project1–Debug,然后选择主菜单Project>Options。也可以先选择project1–Debug,然后选择鼠标右键命令中的Options。选择编译器选件,在Options窗口的Category中选择C/C++Compiler。(2)、编译和连接应用程序这一步编译和连接(build)项目程序。同时生成一个编译器列表文件(compilerlistfile)和一个连接器存储器分配文件(linkermapfile)。①、编译源文件选中workspace中utilities.c文件,选择主菜单Project>Compile,或工具条中的Compile按钮,或按右键后选择Compile命令,编译结束会出现个窗口,用同样的方法编译tutor.c。②、查看编译器文件列表list文件的结构,双击Workspace窗口中的Utilities.lst,打开list文件,它包含以下信息:文件头——显示编译器的版本信息,列表文件生成时间,source文件、list文件和object文件的名字和路径,编译命令行及选件等信息。文件体——显示为每条源语句生成的汇编代码和二进制代码,以及变量如何被分配到不同的段。文件尾——显示所需的堆栈、程序代码以及数据存储器的总量,同时报告错误和警告信息。选择主菜单Tools>Options弹出IDEOptions对话窗口,选择Editor页面。选择ScanforChangeFiles选件。此选件将自动打开编辑窗口中的文件,目前是Utilities.lst文件。按OK按钮。选中Workspace窗口中的Utilities.c,按鼠标右键选择弹出框中的Options…。从弹出的对话框左边的Category中选择C/C++Compiler并确定Overrideinheritedsettings。打开Optimization页面,把优化级别从None改定为High。然后按OK按钮。重新编译Utilities.c,请注意这时编辑窗口中的Utilities.lst文件已经自动被刷新。文件尾显示的代码大小已经因优化级别的升高而减小。对本例而言,Optimization应选择None。所以在连接处理前应该将优化级别恢复到原来的设置。这时应选中Utilities.c,按鼠标右键选择弹出框中的Options…。选择C/C++Compiler并取消Overrideinheritedsettings。然后重新编译Utilities.c。③、连接应用程序先选中Workspace窗口中的Project1–Debug,然后选择主菜单Project>Options,弹Options对话窗口在左边的Category中选择Linker,显示IARXLINK的各选件页面点击OK按钮保存IARXLINK选件选择主菜单Project>Make或鼠标右键Make命令,连接目标文件,生成可执行代码。Build消息窗口中将显示连接处理的消息。连接的结果将生成一个带调试信息的代码文件project1.d79和一个存储器分配(MAP)文件project1.map④、查看MAP文件双击Workspace中的project1.map文件名,编辑器窗口中将显示该MAP文件。MAP从文件中我们可以了解以下内容:文件头中显示连接器版本,输出文件名以及连接命令使用的选件。CROSSREFERENCE段显示程序入口地址。RUNTIMEMODEL段显示使用的运行时模块的属性。MODULEMAP段显示所有被连接的文件。每个文件中,作为应用程序一部分加载的有关模块的信息,包括各段和每个段中声明的全局符号都列出来。SEGMENTSINADDRESSORDER段列出了组成应用程序的所有段的起始地址和结束地址,字节数,类型和对齐标准等。ENDOFCROSSREFERENCE段落显示总的代码和数据字节数。到此为止,已经生成project1.d79应用程序并可以用于在IARC-SPY中调试。(3)、用C-SPY调试应用程序使用C-SPY的模拟器(Simulator)来展现IARC-SPY调试器的基本特点。前面各节生成的project1.d79应用程序已经可以用C-SPY调试器进行调试。用户利用调试器可以查看变量、设置断点、观察反汇编代码、监视寄存器和存储器、在TerminalI/O窗口打印输出。开始调试②、组织窗口③、检查源语句④、检查变量⑤、设置和监视断点⑥、在反汇编窗口上调试⑦、监视寄存器⑧、查看存储器⑨、观察TerminalI/O⑩、执行程序到结束第3章硬件设计3.1主控芯片的介绍在如今满世界都是在讲低碳低消耗的年代,对于电子行业也有着不小的影响的作用,本课题在考虑到消耗方面,撇开了比较常用的,比较简单的51系列的单片机,因为功耗的原因选择了德州公司新开发的一类具有16位总线的带FLASH的超低功耗MSP430单片机由于其性价比和集成度高,受到广大技术开发人员的青睐,它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASHEMULATIONTOOL)的相连,不须另外的仿真工具,方便实用,而图3-1MSP430F149的引脚图且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备。我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化,MSP430系列将会得到越来越多人的喜爱。MSP430F149的引脚图如上图3.1-1MSP430F149的工作方式通过对不同模块操作模式和CPU状态的智能化管理,MSP430芯片的工作方式可以适应多种超低电压和超低功耗的需求,即便在中断处理期间也一样,一个中断事件可以把系统从各种低功耗方式唤醒并且通过RETI指令返回到中断以前的工作状态。系统适用的时钟信号有ACLK和MCLK。ACLK就是晶振的频率信号,MCLK和SMCLK是ACLK的倍频信号,作为系统和子系统时钟。下面是芯片支持的六种工作方式:1、活动方式(AM);CPU和不同组合的外围模块被激活,处于活动状态。2、低功耗方式0(LPM0);CPU停止工作,外围模块继续工作,ACLK和SMCLK有效,MCLK的环路控制有效。3、低功耗方式1(LPM1);CPU停止工作,外围模块继续工作,ACLK和SMCLK有效,MCLK的环路控制无效。4、低功耗方式2(LPM2);CPU停止工作,外围模块继续工作,ACLK有效,SMCLK和MCLK的环路控制有效。5、低功耗方式3(LPM3);CPU停止工作,外围模块继续工作,ACLK有效,SMCLK和MCLK的环路控制无效,并且数字控制振荡器(DCO)的DC发生器被关闭6、低功耗方式4(LPM4);CPU停止工作,外围模块继续工作(如果提供外部时钟),ACLK信号被禁止(晶体振荡器停止工作),SMCLK和MCLK的环路控制无效,并且数字控制振荡器(DCO)的DC发生器被关闭通过软件对内部时钟系统的不同设置,可以控制芯片处于不同工作方式。整个时钟系统提供丰富的软硬件组合形式,以达到最低的功耗并发挥最优的系统性能,具体有:1、使用内部时钟发生器(DCO)无需外接人和元件;2、选择外接晶体或陶瓷谐振器,可以获得最低频率和功耗3、采用外部时钟信号。状态寄存器SR中共有四个用于控制CPU和系统时钟发生器的控制位,可以影响时钟系统的操作方式,控制各种低功耗方式快速转换。他们是:SCG1、SCG0、OscOff和CPUOff当系统时钟发生器基本功能确定后,SCG1、SCG0、OscOff和CPUOff是最重要的低功耗控制位,在中断响应前。他们总是被压入堆栈保存起来,以便返回时恢复原态,在中断处理期间,他们可以通过间接存取堆栈中的数据来改变,以便程序在中断返回后可以进入另一种工作方式。CPUOff:CPUOff位如果置1,CPU停止工作。SCG0:SCG0位如果置1,将禁止FLL+工作SCG1:SCG1位如果置1,将禁止MCLK和SMCLK信号OscOff:OscOff位如果置1,LFXT1晶体振荡器停止工作DC发生器:当SCG0和SCG1都为1时,DCO的DC发生器工作停止。P口介绍MSP430f149常用的端口有P1、P2、P3、P4、P5、P6,它们都可以直接用于输入/输出。MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1~P6的每一位都可以独立用于输入/输出,即具有位寻址功能。常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。端口的功能:(1)P1,P2端口:I/O,中断功能,其他片内外设功能如定时器、比较器;(2)P3,P4P5P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等;具体每个口的作用如下AVCC模拟正电源端,向SVS,brownout,oscillator,FLL+,等电路供电AVSS内部连接于DVSSDVCC数字正电源端,提供所有部件电源(由AVCC供电的除外)DVSS数字地,所有部件的接地(通过AVCC/AVSS供电的除外)NC空脚P1.0通用数字I/O定时器-A,捕获方式,CCIOA输入,比较方式OUT0输出P1.1通用数字I/O定时器-A,捕获方式,CCIOB输入,MCLK输出P1.2捕获方式:CCI1A输入,比较方式:OUT1输出P1.3通用数字I/O/SVS,SVS比较器的输出端P1.4通用数字I/OP1.5通用数字I/O/定时器A输入时钟/ACLK输出P1.6通用数字I/O比较器A输入脚P1.7通用数字I/O比较器A输入脚P2.0通用数字I/O/定时器-A,捕获方式:CCI2A输入,比较OUT2输出P2.1通用数字I/OP2.2通用数字I/O/LCD段23输出脚P2.3通用数字I/O/LCD段22输出脚P2.4通用数字I/O/LCD段21输出脚P2.5通用数字I/O/LCD段20输出脚P2.6通用数字I/O/比较器A输出/LCD段19输出脚P2.7通用数字I/O/LCD段18输出脚P3.0通用数字I/O/LCD段17输出脚P3.1通用数字I/O/LCD段16输出脚P3.2通用数字I/O/LCD段15输出脚P3.3通用数字I/O/LCD段14输出脚P3.4通用数字I/O/LCD段13输出脚P3.5通用数字I/O/LCD段12输出脚P3.6通用数字I/O/LCD段11输出脚P3.7通用数字I/O/LCD段10输出脚P4.0通用数字I/O/LCD段9输出脚P4.1通用数字I/O/LCD段8输出脚P4.2通用数字I/O/LCD段7输出脚P4.3通用数字I/O/LCD段6输出脚P4.4通用数字I/O/LCD段5输出脚P4.5通用数字I/O/LCD段4输出脚P4.6通用数字I/O/LCD段3输出脚P4.7通用数字I/O/LCD段2输出脚P5.0通用数字I/O/LCD段1输出脚P5.1通用数字I/O/LCD段0输出脚COM0LCD公共输出端COM0P5.2通用数字I/O/LCD公共输出端COM1P5.3通用数字I/O/LCD公共输出端COM2P5.4通用数字I/O/LCD公共输出端COM3R03LCD模拟电平第四极输入脚(最低电平V5)P5.5通用数字I/O/LCD模拟电平第三极输入脚(最低电平V3或V4)P5.6通用数字I/O/LCD模拟电平第二极输入脚(最低电平V2)P5.7通用数字I/O/LCD模拟电平第一极输入脚(最低电平V1)P6.0~~~~~P6.7通用数字I/O脚RST/NMI复位输入脚或非屏蔽终端输入端TCK测试时钟.它是芯片编程和测试的时钟输入脚TDI测试数据输入.它是用作数据输入.芯片的保护熔丝与它相连TDO/TDI测试数据输出,它作为数据输出或者编程数据输入终端TMS测试模式选择,TMS在芯片编程和测试时是输入引脚XIN晶体振荡器XT1输入脚,可以连接标准晶体或晶体振荡器XOUT/TCLK晶体振荡器XT1输入脚,或测试时钟输入脚MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。其中P1,P2具有7个寄存器,P3~P6具有4个寄存器。通过设置寄存器我们可以实现:每个I/O位独立编程;任意组合输入,输出和中断;P1,P2所有8个位全部可以用作外部中断处理;可以使用所以指令对寄存器操作;可以按字节输入、输出,也可按位进行操作。端口P1,P2的功能可以通过它们的7个控制寄存器来实现。这里,Px代表P1或P2。(1)PxDIR:输入/输出方向寄存器。8位相互独立,可以分别定义8个引脚的输入/输出方向。8位再PUC后都被复位。使用输入/输出功能时,应该先定义端口的方向。作为输入时只能读,作为输出时,可读可写。0:输入模式;1:输出模式。(2)PXIN:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。所以其引脚的方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。(3)PXOUT:输出寄存器。该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。(4)PXIFG:中断标志寄存器。他的8个标志位标志相应引脚是否有中断请求有待处理。0:无中断请求,1:有中断请求。其中断标志分别为PXIFG.0~PXIFG.7。应该注意的是:PXIFG.0~PXIFG.7共用一个中断向量,为多源中断。当任一事件引起的中断进行处理时,PXIFG.0~PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位。另外,外部中断事件的时间必须保持不低于1.5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志位置位。(5)PXIES:中断触发沿选择寄存器。如果允许PX口的某个引脚中断,还需定义该引脚的中断触发方式。0:上升沿触发使相应标志置位,1:下降沿触发相应标志置位。如:MOV.B#07H,&P1IES;p1低3位下降沿触发中断。(6)PXIE:中断使能寄存器。PX口的每一个引脚都有一位用以控制该引脚是否允许中断。0:禁止中断,1:允许中断。MOV.B#0E0H,&P2IE;P2高3位允许中断。(7)PXSEL:功能选择寄存器。P1,P2两端口还具有其他片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的方式来实现。PXSEL用来选择引脚的I/O端口功能与外围模块功能。0:选择引脚为I/O端口,1:选择引脚为外围模块功能。如:P1SEL|=0X10;//P1.4为外围模块功能。端口P3、P4、P5、P6没有中断能力,其余功能同PI,P2。除掉端口P1,P2与中断相关的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户使用P口实验利用P口的中断功能实验:MAINMOV#SFE(CSTACK),SP/*初始化堆栈指针*/MOV#(WDTHOLD+WDTPW),&WDTCTL/*停看门狗定时器*/LOOP2BIS#GIE,SR/*普通中断允许*/EINT/*开中断*/MOV.B#000H,&P1DIR/*定义P1口为输入方向*/MOV.B#000H,&P1SEL/*定义P1口为P端口功能*/MOV.B#002H,&P1IE/*P1.1口为中断允许*/MOV.B#000H,&P1IES/*定义P1.1口为上升沿产生中断*/JMPLOOP2/*循环等待中断*/下面为中断程序的测试LOOP1MOV.B#001H,&P1DIR/*定义P1.0口为输出口*/MOV.B#001H,&P1OUT/*定义P1.0口输出的为高电平,发光二极管灯亮*/MOV.B#000H,&P1IE/*返回中断前的PC及其他状态*/MOV.B#000H,&P1OUT/*将P1.0口置低,发光二极管灯灭*/RETI/*中断返回*/COMMONINTVEC/*列中断向量表*/ORGPORT1_VECTORDWLOOP1/*中断向量的入口地址为LOOP1*/END实验结果为:在运行中,当给P1.1口一个高电平时,PC装入中断程序的地址LOOP1,进入中断程序段,P.0口被置高,此时发光二极管灯亮,两个指令周期之后灯灭,此后又返回中断前的地址开始执行,等待下一次中断的到来.MSP430指令的介绍MSP430有自身语言,汇编语言也不同于其他类型的单片机,伪指令也是变幻莫测,但又很重要,一般的写法需要注意的地方如下。(1)、“#include”不能大写。(2)、程序段前的伪指令可以套用下列模板,在以后的几章中的程序都采用此模板,只是中间的主程序变化而已:#include"MSP430x14x.h"/*把库文件包括进来,这个库文件是必须的,其他的库文件视需要而定*/RSEGUDATA0/*定义数据段一般默认数据段段地址是从0200H开始的也可以自己定义数据段开始地址,但必须在0200H到09FFH*/DS0/*表示数据段从默认的段开始,偏移地址为0,若为DSN,表示数据段的偏移地址从N开始,此时的物理地址为(0200+N)H*/ADINPUTEQU00200H/*将0200H地址命名为ADINPUT,此后程序中的地址0200H可以用ADINPUT表示,便于程序的可读性,注意:标号必须顶格写*/ADW5H/*定义A字变量的值为5H,此时将会将5H写到数据段的当前偏移地址上,便于后面使用,变量也得顶格写*/RSEGCSTACK/*定义堆栈段*/DS0/*段偏移值为0H,物理地址为默认开始地址值*/RSEGCODE/*定义代码段1*/DS0/*代码段1*/RESET/*标号,表示程序段的开始地址,将被写入复位向量中*/MOV#SFE(CSTACK),SP/*初始化堆栈指针*/MOV#(WDTHOLD+WDTPW),&WDTCTL/*停止看门狗定时器*/COMMONINTVEC/*表示中断向量定义*//*下面的伪指令都不顶格*/ORGXXX1/*XXX1表示中断向量表中的具体的中断向量1*/DWYYY1/*YYY是中断程序入口标号,表示中断程序首地址*/ORGXXX2/*XXX2表示中断向量表中的具体的中断向量2/DWYYY2/*YYY2是中断程序入口标号,表示中断程序首地址*/ORGRESET_VECTOR/*复位向量,每个程序必须的,放在段开始前的伪指令中*/DWRESET/*程序开始的地址标号*/END/*程序结束*/(3)、几个规定:所有的标号都要顶格写,所有的变量都要顶格写,所有的伪指令和指令都不能顶格写,CALL调用子程序是在标号前用“#”,而其他的转移指令中的标号前不用“#”,对外设的寄存器,当程序开始时,许多是复位为零的,如果要置位为1,可以直接将每一位的名称作立即数写例如指令:MOV#(WDTHOLD+WDTPW),&WDTCTL就是将WDTCTL寄存器中的WDTHOLD和WDTPW位置位为高,很容易读程序内容。(4)、关于几类定义的区别:EQU、=、SET、VAR、ASSIGN都是给标号变量定义地址值的伪指令,都可以出现在程序中的任何位置,但用法不一样,=、EQU是定义一个永久地址标号变量,一旦定义,在程序中的这个标号将固定在定义的地址上,不能改动。而SET、VAR、ASSIGN是暂时的地址标号变量,可以在程序中改动,一旦定义了一个标号地址,就可以对这个标号作地址访问,但必须是在数据段。另外,DB、DW是定义变量在数据段当前的偏移位置,是作为数据定义的,不是作为地址定义的,例如:AADB2H/*此时在数据段的当前位置写入了2H到存储器,以后用AA时就是用数据2H,注:AA顶格写*/可以在以后的程序中看到这些区别。其他的指令和伪指令都可以在相关资料上查找到,以上是经常出现的问题,一般核心程序。MSP430中断介绍和存储器断介绍中断在MSP430中得以广泛的应用,它可以快速进入中断程序,之后返回中断前的状态,其时序为:PC执行程序→中断允许置位→SR中的GIE置位→EINT(中断开)→中断到,中断标志位(IFG)置位→执行中断程序→从中断向量表中读取中断程序的入口地址,进入中断程序→RETI中断返回→回到原来地址。中断向量和上电起始位地址位于ROM中的0FFFFh-0FFE0h范围内,向量中包含各种中断处理程序的16位入口地址,中断使能寄存器1和2如下图3-2使能中断10H76ACCVIENMIIE32OFIEWDTIE使能中断21HBTIE6543210图3-2中断使能寄存器1和2WDTIE:看门狗定时器中断允许信号;OFIE:振荡器错误中断允许信号:NMIE:非可屏蔽中断允许信号ACCVIE:(非)可屏蔽中断允许信号,如果在FLASH存储器或模块忙时进行错误读写;BTIE:基本定时器1中断允许信号。中断标志寄存器1和2标志中断102H765NMIIFG32OFIFGWDTIFG标志中断23HBTIFG6543210图3-3中断标志位寄存器1和2WDTIFG:当溢出、保密密码非法、VCC上电复位或RST/NMI引脚引起复位时置1;OFIFG:振荡器错误时置1;NMIIFG:通过RST/NMI引脚置1;BTIFG:基本定时器1中断标志。下图3-4是NMI中断源框图图3-4NMI中断源框图MSP430单片机的片上存储器共为64K其分布如下表3-a表3-aMSP430中存储器的分布0H—0HSFR(特殊功能寄存器IE/IFGMEM)010—0FFH(8位外转模块I/O端口)0100H—01FF(16位外转模块TIMER、ADC)0200H—9FHRAM区,数据存储区,可修改访问0A00H--0FBFH专业FLASH引导FC0H—10FFH为信息段1100H—FFDH为程序代码段FLASH型ROMFFE0H--FFFFH中断向量地址表3-aMSP430中存储器的分布特殊功能寄存器(SFR)包括模块允许位,可以用于启动或停止某个外围模块。无论操作时允许还是停止,所有外围模块的寄存器都可以进行存取,然而一些模块的节点功能是通过本地寄存器的为状态来控制的!对存储器的访问可以用间接寻址,这对于查表处理很方便,在此举一例子:是对存储段200H的100个数的读取和操作.MAINMOV#0200H,R6/*从200H地址开始读出数据到R5中,可以加许多对R5(即数据段的内容)进行操作的程序*/MOV#100,R4/*设取100个地址单元*/LOOP1MOV.W0(R6),R5/*间接寻址模式*/ADD#2,R6/*是字操作*//*可以加对取出的数的操作*/MOV.WR5,0(R6)/*操作完后再放回原地址*/SUB.B#1,R4/*循环100次*/CMP#0,R4JNZLOOP1实验结果为:可以从R5中看到数据存储器从200H开始的100个数值,在操作完后,可以在200H开始存储器中看到操作后的结果满足要求。MSP430定时器MSP430中有两个16位定时器,还可以利用看门狗定时器。由于定时器的是16位的,则可以在秒数量级上定时,且具有2个中断向量,便于处理各种定时中断。定时器的应用在F149中具有举足轻重的作用,可以利用MSP430F149中的定时器的比较模式产生PWM(数字脉冲调制)波形,再经过低通滤波器产生任意函数的波形,也就是说,可以通过定时器的比较模式实现数模转换功能。另外,定时器还具有捕获模式,我们可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量,如果和比较器结合,还可以测量电阻、电容、电压、电流、温度等,可以这样说,只要能通过传感转换为时间长度的,都可以通过定时器的捕获定时功能实现值的测量。在开发板中,利用定时器,我们设计了一个PWM滤波输出

温馨提示

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

评论

0/150

提交评论