单片机课设报告.docx

上传人:b****6 文档编号:13552629 上传时间:2023-06-15 格式:DOCX 页数:19 大小:328.84KB
下载 相关 举报
单片机课设报告.docx_第1页
第1页 / 共19页
单片机课设报告.docx_第2页
第2页 / 共19页
单片机课设报告.docx_第3页
第3页 / 共19页
单片机课设报告.docx_第4页
第4页 / 共19页
单片机课设报告.docx_第5页
第5页 / 共19页
单片机课设报告.docx_第6页
第6页 / 共19页
单片机课设报告.docx_第7页
第7页 / 共19页
单片机课设报告.docx_第8页
第8页 / 共19页
单片机课设报告.docx_第9页
第9页 / 共19页
单片机课设报告.docx_第10页
第10页 / 共19页
单片机课设报告.docx_第11页
第11页 / 共19页
单片机课设报告.docx_第12页
第12页 / 共19页
单片机课设报告.docx_第13页
第13页 / 共19页
单片机课设报告.docx_第14页
第14页 / 共19页
单片机课设报告.docx_第15页
第15页 / 共19页
单片机课设报告.docx_第16页
第16页 / 共19页
单片机课设报告.docx_第17页
第17页 / 共19页
单片机课设报告.docx_第18页
第18页 / 共19页
单片机课设报告.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课设报告.docx

《单片机课设报告.docx》由会员分享,可在线阅读,更多相关《单片机课设报告.docx(19页珍藏版)》请在冰点文库上搜索。

单片机课设报告.docx

单片机课设报告

 

单片机原理与接口技术

课程设计报告

 

课程设计名称:

医院住院病人呼叫器设计

学院:

信息工程学院

班级:

通信0802班

马滔

学号:

2008001307

同组人:

童辉

 

一、课题名称及设计技术指标

1)课题名称

医院住院病人呼叫器设计

2)设计技术指标

1)能同时检测8个床位的病人呼叫

2)显示病人呼叫总数

3)循环显示呼叫病人的床号

4)可以暂停显示

5)具有重新显示功能

6)在复位电路的作用下,复位单片机

7)使暂停功能的优先级高于重显功能,重显功能优先级高于定时功能

二、总体方案设计与论证

本方案选用80c51单片机,P1口依次连接病人床位,实时检测P1口的信号。

若与前一次的信号不一样,则判断端口是否为0。

如果没有病人呼叫则关蜂鸣器;如果有病人呼叫打开蜂鸣器提示一户人员,统计病人总数同时显示总数,统计病人床位并保存。

开启定时器进行循环显示床号,在显示的空闲时间继续检测P1口的端口状态。

如果有病人呼叫或者呼叫结束重新开始统计总数和床号,显示床号和总数。

重新显示时,只循环显示一次床号和总数。

利用外中断1实现中断跳转执行重显程序。

暂停功能,用外中断0引入,通过检查P3.3的值结束暂停。

使用74ls373锁存器驱动七段数码管显示器,可以不用单片机实时刷新七段数码管显示。

通过输出码表中的值显示相应的数字。

51单片机拥有5个中断源,其中两个定时/计数器中断,两个外部中断。

能够实现上述对单片机的控制功能。

同时可以通过设定PI寄存器的值设定优先级。

本方案可以通过加入接口扩展芯片,扩展检测病人数量。

同时加入T1中断后可以实现多种蜂鸣声音报警。

具有很强的扩展能力。

具体思路详见程序流程图

三、程序设计及调试

在waves6000按照流程图依次编写主程序、T0中断程序、暂停程序和重新显示程序。

进行编译调试。

程序附在最后

程序流程图如下

1)主程序:

2)T0中断:

 

3)暂停程序:

4)重新显示中断:

四、电路设计及器件选择

1)电路设计主图

2)器件清单

器件名称

80c51单片机

晶体管

蜂鸣器

电阻

七段数码管

电容

开关

220v交流电或者5v直流电源

3)器件简介

80C51

80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。

采用40引脚双列直插式DIP(DualInLinePackage),有128个RAM单元及4K的ROM。

80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。

80C51部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。

由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。

选型表

  特性

  y80C51核心处理单元

  4k字节FLASH89C51X2

  8k字节FLASH89C52X2

  16k字节FLASH89C54X2

  32k字节FLASH89C58X2

  128字节RAM89C51X2

  256字节RAM89C52X2/54X2/58X2

布尔处理器

Vss(20脚):

接地

VCC(40脚):

主电源+5V

XTAL1(19脚):

接外部晶体的一端。

在片它是振荡电路反相放大器的输入端。

在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚):

接外部晶体的另一端。

在片它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。

若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。

RST(9脚):

单片机刚接上电源时,其部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)

PSEN(29脚):

在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。

CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。

不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。

PSEN端同样可驱动8个LSTTL负载。

我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

ALE/PROG(30脚):

在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。

CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。

不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。

PSEN端同样可驱动8个LSTTL负载。

我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

EA/VPP(31脚):

当EA端输入高电平时,CPU从片程序存储器地址0000H单元开始执行程序。

当地址超出4KB时,将自动执行片外程序存储器的程序。

当EA输入低电平时,CPU仅访问片外程序存储器。

在对87C51EPROM编程时,此引脚用于施加编程电压VPP。

输入/输出引脚:

(1)P0.0—P0.7   (39脚—32脚)

(2)P1.0—P1.7  (1脚—8脚)

(3)P2.0—P2.7  (26脚—21脚)

七段数码管

蜂鸣器

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中作发声器件。

;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。

蜂鸣器的结构原理

1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

有的压电式蜂鸣器外壳上还装有发光二极管。

  多谐振荡器由晶体管或集成电路构成。

当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。

  压电蜂鸣片由锆钛酸铅或铌镁酸铅压电瓷材料制成。

在瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。

  2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。

  接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。

振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

复位电路

电源电路

五、电路仿真

采用PROTEUS仿真软件效果非常好。

六、调试运行及结果

当床2和4开关按下去后总数显示为2,蜂鸣器报警。

循环显示床号2、4.。

当按下显示开关,开始重新显示,显示完后继续主程序的执行。

当按下暂停按键,暂停显示,数值保持不变。

关闭床2的开关后重新显示总数和床号1与4。

当全部关闭后,蜂鸣器关闭,显示总数为0,床号为0。

与设计技术要求相符。

七、课设心得

医院住院病人呼叫器作为单片机实际应用的一个例子,在日常生活中发挥着非常重要的作用。

从此可以看出单片机在日常生活中得到广泛的运用。

要实现意见具体的事件判断和做出反应,实现自动化。

万事开头难。

选定课题后,确定方案的时候让人很头痛。

由于以前学习过汇编语言,所以对汇编语言没有多大困难。

主要是算法的确定。

通过查阅资料和自习阅读教材深刻体会单片机硬件运行原理后,思路逐渐清晰。

记得花了两个晚上构思出整体算法,画出流程图。

流程图在编写程序时非常必要。

它可以明确思路,便于对程序进度的把握。

在画流程图时选定各个端口的功能和相应器件的选择。

这个过程是同步进行的。

通过这次编程提高了我的编程能力和是通过程序对外部器件的控制。

硬件电路设计。

由于采用锁存器驱动数码管的显示,这样就不用单片机实时刷新,只有当有改变时才更新数据。

一些经典电路,如:

电源和复位电路,我是通过查阅得到的。

由于使用PROTEUS软件不是很熟练,在电路设计的过程中又学习了该软件的使用。

熬夜设计电路,是我第二天成为熊猫超人,但当最后电路仿真的结果出现在眼前时,一切的付出都是值得的。

与童辉的合作使得课设的进度大大加快,互相补充思路的缺陷。

设计电路选择器件。

这次课设恰逢“考试周”,所以时间不多,做的还不够好。

还可以对本设计进行扩展,如:

采用无线通信,检测更多床位,通过驱动多媒体部件实现更多的功能。

课设就是一次工业设计,从项目建立、方案确定、程序编写、硬件电路设计到最后产品的完成。

单片机的课设,我收获了很多,对单片机的认识更加透彻,感受了它在实际生活中的运用。

付出就有回报。

八、参考资料

1)《单片机原理与接口技术》牛昱光主编

2)《微型计算机原理与应用》学坚周斌编著

九、源程序代码

主程序:

ORG0000H

AJMPMAIN

ORG0003H

LJMPPAUSE

ORG000BH

LJMPDINGSHI

ORG0013H

LJMPSHOW

ORG0030H

MAIN:

;显示编码初始化

MOV40H,#3FH

MOV41H,#06H

MOV42H,#5BH

MOV43H,#4FH

MOV44H,#66H

MOV45H,#6DH

MOV46H,#7DH

MOV47H,#07H

MOV48H,#7FH

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

SETBEA;开中断,并设定优先级

SETBET0

SETBEX0

SETBIT0

SETBPX0

SETBPX1

MOVR7,#00H

MOVR4,#00H

MOVR1,#21H

SAO1:

MOVR5,P1

MOVA,R5

CLRC

SUBBA,R7

JZSAO1

BTAO:

MOVA,R5;检测到变化时,进行下一次重复判断显示

MOVR7,A

JNZNOSO

CLRP2.7;关蜂鸣器

 

SETBP2.1;显示总数0

MOVP0,#3FH

CLRP2.1

SETBP2.2;显示床号为0

MOVP0,#3FH

CLRP2.2

AJMPSAO1

;JIZONGSHU

NOSO:

MOVR2,#8

MOVA,R7

JI:

ANLA,#01H

JZNOJI

INCR4;加总数

MOV31H,A;保存A中的值

MOVA,#9H

CLRC

SUBBA,R2

MOVR1,A;床号

INCR1

MOVA,31H;恢复A

NOJI:

RRA

DJNZR2,JI

;总数显示

MOVA,R4

ADDA,#40H

MOVR0,A

SETBP2.1

MOVP0,R0

CLRP2.1

SETBP2.7;开蜂鸣

MOVTMOD,#01H;T0初始化

MOVTH0,#3CH

MOVTL0,#0B0H

MOVR1,#21H

SETBTR0;启动T0

SMO:

MOVA,R1;床号显示

ADDA,#40H

SETBP2.2

MOVP0,A

CLRP2.2

MOV33H,#00H;初始化中断返回标志,

JCE:

MOVA,33H

CJNEA,#00H,SM0;T0中断返回显示床号

MOVR5,P1

MOVA,R5

CLRC

SUBBA,R7

JZJCE

CLRTR0

LJMPBTAO;检测到变化,跳至开始重新判断显示

 

;;;;;;;主程序结束

暂停程序:

;;;;PAUSE

ORG0900H

PAUSE:

CLRTR0

CLREA

PUSHPSW

PUSHACC

MOVC,P3.3;检查P3.3是否恢复为0

NCH:

JNCNCH

POPACC

POPPSW

SETBEA

SETBTR0

RETI

 

T0中断程序:

;;;;;;;T0中断

ORG0A00H

DINGSHI:

PUSHPSW

PUSHACC

MOVTH0,#3CH

MOVTL0,#0B0H

MOV33H,#01H;中断返回标志

MOVA,R4

ADDA,#20H

MOV32H,A

MOVA,R1

CJNEA,32H,BUXUN;如果显示到最后一个床号则循环显示

MOVR1,#21H

AJMPTC;循环开始显示I

BUXUN:

INCR1

TC:

POPACC

POPPSW

RETI

 

重新显示程序:

;;;;;;;;SHOW

ORG0B00H

SHOW:

CLRPX1;使T0中断能引发中断

MOV34H,R1

PUSH33H

MOV35H,R4

MOV36H,R0

PUSHACC

PUSHPSW

MOVTMOD,#01H;定时器T0初始化

MOVTH0,#3CH

MOVTL0,#0B0H

;;;;;ZONGXIAN

MOVA,R4

ADDA,#40H

MOVR0,A

SETBP2.1

MOVP0,R0

CLRP2.1

MOVR1,#21H

SETBTR0;开定时

SSS:

MOV33H,#00H;中断返回标志位初始化

MOVA,R1;床号显示

ADDA,#40H

SETBP2.2

MOVP0,A

CLRP2.2

DJNZR4,TTTT

SSSS:

MOVA,33H

CJNEA,#00H,SSS;T0中断返回,显示床号

AJMPSSSS

TTTT:

POPPSW

POPACC

POP33H

MOVR1,34H

MOVR4,35H

MOVR0,36H

SETBPX1

RETI

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2