ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:359.30KB ,
资源ID:12680865      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12680865.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《单片机原理及应用》课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《单片机原理及应用》课程设计.docx

1、单片机原理及应用课程设计目录引言 (2)一、设计目的和要求 (2)二、设计任务和主要内容 (2)51单片机基于8155、8255、ADC0809的应用设计 (3)内容提要 (3)关键词 (3)一、8051单片机简介 (3) 1)单片机的概述(3)2)引脚及功能介绍 (3)二、51单片机的应用设计 (5)1)系统组成框图(总图) (5)2)设计电路原理图(总图) (6)3)设计原理说明 (6)1、51单片机基于8155芯片的扩展应用设计 (6)1.1 8155的内部结构及引脚说明(6)1.2 8155芯片扩展并口设计(8)(1) 设计电路图 (8)(2) 程序流程图 (8)(3) 程序清单 (9

2、)(4) 小结 (11)2、51单片机基于8255芯片的扩展应用设计 (11)2.1 功能说明 (11)2.2 8255扩展并口设计 (12)(1) 设计电路图 (12)(2) 程序流程图 (13)(3) 程序清单 (14)(4) 小结 (15)3、51单片机基于ADC0809的扩展应用设计 (15)3.1 功能说明 (16)3.2 ADC0809 扩展设计 (17)(1)设计电路图(17)(2)程序流程图(17)(3)程序清单(18)(4)小结(19)三、结束语 (19)参考文献 (20)引言一、 设计目的和要求1进一步熟悉和掌握单片机的结构及工作原理。2巩固和加深对单片机原理知识的理解,提

3、高学生综合运用课程所学知识的能力及相应的自学能力,并初步建立起开发单片机应用系统的系统概念和整体设计的思想。3通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解相关电路参 数的计算方法。4通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事设计开发工作打下基础。6掌握单片机的接口技术和常用扩展接口芯片如8155、8255、ADC0809等的外特性、使用及控制方法,熟悉汇编程序设计方法,能够达到熟练调试程序的程度,能在教师的指导下,完成课题任务。7根据个人的设计调试过程,按照课程

4、设计报告的规范撰写设计报告。二、 设计任务和主要内容结合MCS-51单片机,74LS373,74LS138,8155,8255,A/D0809等芯片,自拟课题,完成单片机设计。根据设计原理图、程序流程图,编写程序并调试,说明所设计电路的功能,以及各个功能模块的作用,并写出设计心得,完成课程设计报告。a)原理图设计1原理图设计要符合项目的工作原理,连线要正确。2图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。3原理图要完整,CPU,外围器件,扩展接口,输入/输出装置要一应俱全。b)程序设计1根据要求,将总体功能分解成若干个子功能模块,每个功能模块完成一个特定的功能。2.根据总体要

5、求及分解的功能模块,确定各功能模块之间的关系,设计出完整的程序流程图。3.编写程序,并执行该程序进行调试,检查该程序、是否达到设计要求,若未达到,修改程序,直到达到要求为止。51单片机基于8155、8255、ADC0809的应用设计【内容摘要】 单片计算机即单片微型计算机。由RAM、ROM、CPU构成,定时、计数和多种接口于一体的微型控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是个单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬件的能力。本次设计主要设计了一个基于8051单片机来扩展外围芯片(8155、

6、8255、ADC0809),分别实现相应的功能,通过编写相应程序,来控制51单片机,进而分别控制三块芯片,可实现按键的采集和显示功能(使用8155芯片)、09循环显示的功能(使用8255芯片)、对模拟电压信号的采样以及数字化转换功能(使用ADC0809芯片)。【关键字】 51单片机、8155、8255、ADC0809、扩展一、8051单片机简介1)单片机的概述80C51是Intel公司MCS-51系列单片机中最基本的产品,它采用Intel公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承

7、和扩展了MCS-48单片机的体系结构和指令系统。80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。2)引脚及功能介绍图1为8051单片机的引脚图,单片机的40个引脚大致可分为4类:电源、时钟、控制和

8、I/O引脚。1电源 VCC芯片电源,接+5V; VSS接地端;图1 8051引脚图 时钟:XTAL1、XTAL2 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根 ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:片外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:片内、片外ROM选择/片内EPROM编程电源。 EA功能:片内、片外ROM

9、选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 输入/输出(I/O)引脚P0、P1、P2、P3(共32根) P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。 P2口(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM

10、编程和程序验证期间,它接收高8位地址。P2口可以驱动(吸收或输出电流)4个LS型的TTL负载。 P3口(10脚至17脚):是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动(吸收或输出电流)4个LS型的TTL负载。作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。作为第二功能使用时,用于特殊信号输入输出和控制信号(属控制总线)。 二、51单片机的应用设计本设计为51单片机基于8155、8255、ADC0809的应用设计,可实现按键的采集和显示功能(使用8155芯片)、09循环显示的功能(使用8255芯片)、对模拟电压信号的采样以及数

11、字化转换功能(使用ADC0809芯片)。1)系统组成框图(总图)统组成框图中省略了译码器(74LS138)和锁存器(74LS373),74LS138作用是作8155、8255、ADC0809芯片的片选信号输入端,而74LS373的作用是用于锁存51单片机P0口输出的低8位地址。当选中8155芯片时可实现按键的采集和显示功能,当选中8255芯片时可实现09循环计数的功能,当选中ADC0809芯片时可实现对模拟电压信号的采样以及数字化转换功能。2)设计电路原理图(总图)设计电路原理图如图所示。3)设计原理说明如设计原理图所示,8051单片机的EA端接地,说明只使用片外ROM(即2764),片内RO

12、M失去作用,因此只要将设计的程序存放在2764芯片内,就能控制8051单片机,进而控制各个扩展的芯片。8051芯片的P0口分别接8155、8255、ADC0809三块芯片的AD0-AD7、D0-D7、2-12-8引脚,P2.5、P2.6、P2.7分别接74LS138的A、B、C口, 74LS138的输出口Y0、Y1、Y2分别作8155,8255,ADC0809芯片片选信号,因此,当P2.5、P2.6、P2.7输出为000时选通8155,P2.5、P2.6、P2.7输出为001时选通8255,P2.5、P2.6、P2.7输出为010时选通ADC0809,即只要设置合理的端口地址,就能选通不同的芯

13、片,设计不同的程序就能使8155、8255、ADC0809中的一块芯片,按照设计好的程序完成相应的功能。下面对8155、8255、ADC0809这三块芯片分别与51单片机扩展设计的功能作出说明。1、51单片机基于8155芯片的扩展应用设计8155是能并行传送8位数据,具有256字节内部RAM、1 个计数器、3个通道、4种工作方式的可编程并行接口芯片(40引脚)。由此定义可比较容易的理解8155的内部结构、8155引脚与CPU的连接方式等。11 8155的内部结构及引脚说明8155内部结构及引脚图如图2所示,现按8155定义,叙述其内部结构。图2 8155内部结构及引脚图(1)内部RAM8155

14、有256字节单元的内部RAM数据存储器,供用户作数据缓冲器等使用。(2)定时器8155还有一个14位的定时器,该定时器有一个计数器脉冲输入端TIMERIN与定时器输出端TIMEROUT。定时器输入和定时器输出分别用于输入计数器的脉冲信号、输出矩形波或脉冲波。(3)3个通道8155有3个通道A、B、C与外设连接,其中A、B通道有8个引脚与外设连接,C通道口有6个引脚。C口的6个引脚常用于6位数据的输入与输出,或应答方式的通信线。(4)与外设连接部分地址/数据总线 AD0AD7: 分时的传送地址与数据信息。控制总线CBCPU要对8155的RAM、I/O口(A、B、C口)进行读、写、片选等操作,控制

15、线为片选、复位、读、写等信号。RAM与I/O选择线 =0 时选择片内RAM, =1 时选择I/O口。与8255一样,8155是使用地址线的低3位A0、A1、A2选择I/O口及控制寄存器。地址的高5 位在选择I/O口地址时可取任意值。具体选择方法如下表1所示:表1 8155 I/O口地址:A7 A6 A5 A4 A3 A2 A1 A0 选中寄存器 0 0 0 命令状态寄存器 0 0 1 A口 0 1 0 B口 0 1 1 C口 1 0 0 定时器低8位寄存器 1 0 1 定时器高6位及工作方式 片选信号 :低电平有效,选择8155芯片。 写信号 :低电平有效,将AD0AD7上信息写入8155的R

16、AM或I/O口。读信号 :低电平有效,将8155的RAM或I/O口中信息送上AD0AD7。地址锁存信号 ALE:ALE的下降沿将AD0AD7、 、 上信息锁存到8155内部锁存器中。复位信号 RST:RST将8155各寄存器与I/O口锁存器等复位初始化。PA0PA7:8位通用I/O口,其输入、输出的流向可由程序控制。PB0PB7:8位通用I/O口,功能同A口。PC0PC5:有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线。1.2 8155芯片扩展并口设计本设计实现51单片机基于8155扩展三个基本输入输出端口,其中A、B口用于输出,C口用于输入。没有用到选通输入方式。如果

17、需要用到此方式,可以进行相应的软硬件扩展设计。(1)设计电路图51单片机基于8155的并行口扩展设计如图所示(下页)。整个硬件设计主要器件为:51单片机、8155芯片、数码管2只、按键开关6只、EPROM 2764一片、74LS138译码器、74LS373锁存器。本电路设计当中没有包含复位电路,51单片机的复位电路输出端可以和8155的复位端并联在一起使用。因为两芯片均为高电平复位。图中,片选端接74LS138的Y0,而74LS138的A、B、C分别接8051的P2.5 、P2.6、P2.7,而8155的IOM引脚接VCC,WR、RD两条线用于对IO端口数据的读写,可以得到8155端口地址为1

18、F00H1F05H。进一步可以得到详细的端口地址划分如下。1F00H:命令状态口1F01H:A口1F02H:B口1F03H:C口1F04H:定时器低字节1F05H:定时器高字节需要特别说明的是:根据本设计的硬件电路图得到的端口地址可以不同,但是有一点,就是8155的16位端口地址中,高三位必为000,低三位用于确定端口号,剩余中间的10个位状态可以任选。这是由电路的端口地址译码所决定的。(2)程序流程图8155基于51单片机的并行扩展程序设计很简单,关键就是对8155的工作方式进行设定,即8155的操作坚持采用先设定、后工作的原则。程序流程图如图3所示。0.5s延时运用软件延时实现,通过程序实

19、现对8155的控制字寄存器进行设定,使8155的两个并行口A、B按照设定的基本输入输出方式正常工作,驱动两位数码管轮流显示按键个数,6位并行口C工作于输入方式,间隔0.5s查询一次键盘状态。图3 8155并口扩展程序流程图(3)程序清单;内存变量设定DPLCODE DATA 30H ;待显示数据字型码DPLNUM DATA 31H ;待显示数据,存储按键数单元CNT1 DATA 32H ;软件延时用控制变量CNT2 DATA 33H ORG 0000HLJMP MAIN;主程序ORG 0050HMAIN: MOV SP, #70H ;设置堆栈 MOV IE, #00H ;关闭所有中断 LCAL

20、L DELAY MOV DPTR,#1F00H ;8155工作方式设定 MOV A,#03H MOVX DPTR,ALOOP: MOV DPTR,#1F03H ;读C口键盘状态 MOVX A,DPTR LCALL KEYNUM ;调用判断按键数程序 LCALL KEYDPL ;调用显示码函数 MOV A,DPLCODE ;显示码送CPU MOV DPTR,#1F01H MOVX DPTR,A ;A口对应数码管显示按键数 MOV DPTR,#1F02HMOVX DPTR,A ;B口对应数码管显示按键数LCALL DELAY ;延时0.5sMOV A,#0FFHMOV DPTR,#1F01HMOV

21、X DPTR,A ;关闭两个数码管显示MOV DPTR,#1F02HMOVX DPTR,ALJMP LOOP;分析键盘按键个数子程序KEYNUM: MOV R6,#06H ;得到C口所接键盘按键数 MOV DPLNUM,#00HLOOP0: JNB ACC.5,INCKEYNUM ;有键按下 RL A ;无键按下 DJNZ R6,LOOP0 ;按键判断6次 MOV A,DPLNUM ;得到按键数 RET;键盘个数加1INCKEYNUM: INC DPLNUM ;有键按下,按键数加1 RL A DJNZ R6,LOOP0 ;继续判断按键个数 MOV A,DPLNUM ;按键数送CPU RET;按

22、键个数显示码查表程序KEYDPL: MOV A,DPLNUM MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPLCODE ,A RET;延时子程序,延时0.5sDELAY: MOV CNT1,#0FAH ;软件延时0.5s MOV CNT2,#80HDELAY1: LCALL DELAY0 ;连续4ms LCALL DELAY0 LCALL DELAY0LCALL DELAY0 DJNZ CNT2,DELAY1 ;4ms循环125次,实现0.5s MOV CNT2,#80H RETDELAY0: NOP NOP DJNZ CNT1,DELAY0 ;软件延时1ms MOV

23、 CNT1,#0FAH RETTABLE: DB C0H,B9H,A4H,B0H,99H,92H,82H,F8H,80H,90H ;数据显示码表0-9END程序功能为8155两个8位并行口工作于输出方式,6位并行口用于读取键盘状态,单片机间隔0.5s读取键,通过8155的6位并行口读取外接键盘状态,分析按键个数,两个数码管显示按键个数。显示格式为:00、11、22、33、44、55、66。(4)小结此部分,是基于可编程功能扩展并口芯片8155实现的51单片机扩展输入输出并口的应用设计,由于设计篇幅所限,没有将8155的功能运用完全展开,比如8155的片内RAM、片内14位定时器,A口、B口的置

24、位工作方式等。但我对于8155芯片的基本使用,我已经了然于心,为了对8155的更细致的使用,我当进一步参考相关的文献资料。2、51单片机基于8255芯片的扩展应用设计8255是Intel公司生产的通用可编程并行I/O接口芯片(40引脚),有3个8位并行I/O口,具有3个通道3种工作方式。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。允许采用同步、异步和中断方式传送I/O数据。2.1 功能说明图4 8255内部结构及引脚图特性(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。 (2)具有24个可编程设置的I

25、/O口,即3组8位的I/O口为PA口、PB口和PC口。它们又可分为两组12位的I/O口。A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3),8255内部结构如图4所示。 引脚功能 RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送

26、数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C

27、可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A0、A1:地址选择线,用来选择8255的PA口、PB口、PC口和控制寄存器。 当A0=0、A1=0时,PA口被选择; 当A0=0、A1=1时,PB口被选择; 当A0=1、A1=0时,PC口被选择; 当A0=1、A1=1时,控制寄存器被选择。2.2 8255扩展并口设计(1)设计电路图基于8255扩展并口设计如图所示(下页)。整个电路所用器件为:51单片机、8255芯片、数码管3只、EPROM 2764一片、74LS138译码器、74LS373锁存器。在图中,74LS138的端口A、B、C分别与51单片机的P2.5、P2.6、P2.7相连,输出端Y1用于8255芯片的片选,ALE用于8255端口地址数据信号的锁存,数据的输入输出经由P0口。图中,由74LS373锁存器的A1、A0和来自51单片机的端口P2.5、P2.6、P2.7共同决定8255的各个端口地址:当P2.5、P2.6、P2.7=001时,74LS138的输出端Y1=0,8255有效,无关位设为1,此时8255各个端口地址计算如下。A口:3F00H ; B口: 3F01H ; C口:3F02H ; 控

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1