《单片微机课程设计.docx》由会员分享,可在线阅读,更多相关《单片微机课程设计.docx(9页珍藏版)》请在第壹文秘上搜索。
1、单片微机课程设计学院:石油工程学院专业:新能源科学与工程班级:姓名:学号:目录、i果V1二、项目设计目的2三、项目设计任务及主要技术指标2四、总体设计思路24.1 设计思路54.2 电路设计64.3 硬件设计7五、软件设计85.1 设计思路95.2 流水灯程序105.3 蜂鸣器程序115.4 动态数码管程序125.5 继电器程序13六、调试14七、心得体会15八、参考文献16一、课题简介单片机全称叫单片微型计算机(SingIeChipMiCrOComPUter),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口
2、和中断系统、定时器/计时器等功能。二、项目设计目的1、将单片机知识理论加以应用,锻炼动手实践能力。2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。3、了解并掌握单片机应用系统的初步开发过程,掌握单片机软/硬件设计的工具软件应用、方法及实现,为以后设计和实现单片机应用系统打下良好基础。三、项目设计任务及主要技术指标设计任务要求:完成对AT89C51单片机的流水灯的控制,流水灯的单双灯转换,蜂鸣器的控制,继电器的控制,以及动态数码管的控制主要技术指标:(1)能够手动调节流水灯的运行,包括其运行的模式以及运行的时间(2)能够调节蜂鸣器的响动时间以及响
3、动状态(3)能够调节动态数码管的显示(4)能够手动调节继电器的显示四、总体设计思路4.1 设计思路本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的1.EDl亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的1.EDl熄灭,就要把P1.0口的电平变为高电平;同理,接P1.1P1.7口的其他7个1.ED的点亮和熄灭的方法1.EDl0因此,要实现流水灯功能,我们只要将发光二极管1.ED11.ED8依次点亮、熄
4、灭,8只1.ED灯便会一亮一暗的做流水灯了。同样的道理,可以让8个灯左移点亮,全亮、全灭。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮与灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。4.2 电路设计图4.2.1流水灯电路图4.3 硬件设计AT89C51及其元器件,电路板4.3.1 主要特性与MCS51兼容4K字节数据保留时间:10年全静态工作:0Hz24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线5个中断源可编程串行通道低功耗的闲置和掉电模式片内震荡器和时钟电路引脚说明:1)电源引脚Vcc(40脚:典型值+5V)
5、VssQO脚:接低电平)2)外部晶振XTA1.1、XTA1.2分别与晶振的两端相连接。3)输入输出口引脚:PO口:I/O双向口。PlP2P34)口:I/O双向口。口:I/O双向口。口:I/O双向口。作输入口时,应先将软件置作输入口时,应先将软件置“1”。作输入口时,应先将软件置“1”。作输入口时,应先将软件置“1”。控制引脚:RST、A1.E-PROG-PSEN-EAVpp组成了MSC-51的控制总线。4.3.2 第二特性:编程脉冲输入AT89C51单片机的P口特点:PO:是一个8位漏极开路输出型双向I/O端口。作为输出端口时,每位能以吸收电流的方式驱动8个Tr1.输入,对端口写1时,又可高阻
6、抗输入端用。在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位/数据总线,在访问期间将激活内部的上拉电阻。Pl口:Pl口是一个带有内部上拉电阻的8位双向I/O端口。Pl口的输出缓冲器可驱动(吸收或输出电流方4个TT1.输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口P211:P2口是一个带有内部上拉电阻的8位双向I/O端口。P2口的输出缓冲器可驱动(吸收或输出电流方式4个TT1.输入)对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流P3口:P3口是一个带有内部上拉电
7、阻的8位双向I/O端口。P3口的输出缓冲器可驱动(吸收或输出电流方式4个TT1.输入)。对端口写1时,通过内部的拉电阻把端口拉到高电位,这时作为输入口。P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流。排阻的作用:排阻为若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。硬件系统是指构成微机系统的实体和装置
8、,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以AT89S51单片机为主控单元。显示部分:8个1.ED灯循环亮灭。元器件的选择,根据可靠性、可行性,稳定性、价格以及最终方案,选择的电阻和按键均是二脚的直插式的,而1.ED和电容采用贴片式的,主控芯片选用的是AT89C51单片机,三极管选择的是直插的9013三极管,1.ED则选用4个引脚IIC通信0.96英寸的1.ED模块,蜂鸣器选择
9、的是有源蜂鸣器。五、软件设计5.1 设计思路基于51单片机的交通灯实验主要包括信号灯的计时,按键读取,中断介入,数码管显示。将各个模块分层编写,最后在主函数里汇总。5.2 流水灯程序ORGOOOOH1.JMPMAINORG0003HSjmpexjntoORG0030HMAIN:MOVA,#OFEHSETBEASETBEXOC1.RITO1.OOP:MOVP2,AR1.A1.CA1.1.DE1.AYCJNEA,#OFEH,1.OOPMOVA,#0BFH1.OOPl:MOVP2,ARRA1.CA1.1.DE1.AYCJNEA,#7FH,1.OOPlMOVA,#OFDHsjmploopEXJNTO:
10、PUSHPSWPUSHACCMOVP2,#00111111BACA1.1.DE1.AYMOVP2,#11001111BACA1.1.DE1.AYMOVP2,#11110011BACA1.1.DE1.AYMOVP2,#11111100BACA1.1.DE1.AYMOVP2,#00111111BPOPACCPOPPSWRETIDE1.AY:MOVR7,#240DI:MOVR6,#240DJNZR6,$DJNZR7,D1RETEND5.3 蜂鸣器程序ORGOOOOHAJMPMAINMAIN:MOVR1,#OFFHCP1.Pl.51.CA1.1.DE1.AJMPMAINDE1.:MOVR0,#02HD
11、JNZR0,$DJNZR!,DE1.MOVR1,#OFFHRETEND5.4 动态数码管程序ORGOOHSTART:SETBP2.5MAIN:C1.RP1.OMOVP0,#080H1.CA1.1.DE1.AYSETBP1.0C1.RP1.lMOVP0,#0F8H1.CA1.1.DE1.AYSETBP1.1C1.RP1.2MOVPO,#082H1.CA1.1.DE1.AYSETBP1.2C1.RP1.3MOVP0,#092H1.CA1.1.DE1.AYSETBP1.31.JMPMAINDE1.AYrMOVR5,#50D2:MOVR6,#100Dl:MOVR7,#100DJNZR7,$DJNZR6
12、,D1DJNZR5,D2RETEND5.5 继电器程序ORGOOOOHAJMPSTARTORG0033HSTART:MOVSP,#50HMOVP1,#OFFHMAIN:C1.RP1.4ACA1.1.DE1.AYSETBP1.4ACA1.1.DE1.AYAJMPMAINDE1.AY:MOVRl,#20YkMOVR2,#80Y2:MOVR3,#150DJNZR3,$DJNZR2,Y2DJNZRl,YlRETEND六、调试。在完成仿真后。关闭电源并插上芯片,下载测试程序,将程序进行烧写到电路板上,观察数码显示管模块、蜂鸣器、继电器以及按键是否按程序正常运行。七、心得体会本次实验我们成功地设计了AT98C51开发板的程序仿真。通过对系统的硬件和软件设计,我们能够实现交通灯的正常工作,实现了流水灯状态的循环切换,并根据设计的时间参数进行相应的控制。通过本次实验,我们深入理解了AT89C51的硬件和软件设计原理,掌握了基于AT89C51的嵌入式系统开发流程。实验过程中我们遇到了一些挑战,例如对于时序控制的精确性要求和与硬件的接口设计等。但通过不断的尝试和调试,我们成功地克服了这些问题,获得了满意的结果。八、参考文献1高锋.单片微型计算机原理与接口技术。