单片机课程设计_第1页
单片机课程设计_第2页
单片机课程设计_第3页
单片机课程设计_第4页
单片机课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片微机课程设计报告学生姓名: 学 号: 系 别: 专 业: 指导教师: 起止日期:目录 TOC o 1-5 h z 摘要 3关键词 3Abstract 3Key words 4一、引言 5二、基本设计内容 71、 AT89S51单片机管脚资料 72、单片机最小系统 93、 5V稳压电源 124、3*3矩阵键盘 135、四位共阳数码管 136、一位随机存储器 147、一位全加器 15三、设计心得 16四、附录 171、参考文献 172、硬件(实物)电路 173、相关程序 193、1键盘扫描程序 203、2数码管动态显示程序 23摘要单片机在一块半导体材料上集成了 CPU、存储器、I/O借口等

2、各 种功能部件,具有体积小、功耗低、价格便宜、功能强、可靠性好和 使用方便灵活的特点。单片机在工业控制、数据采集、智能化仪表、 办公自动化以及家用电器等各个领域得到了广泛的应用。本次课程设计我们采用的是 AT89S51单片机,它是一种带4K自 字节可编程可擦除只读存储器。AT89S51是一个低电压、高性能的8 位CMOS单片机,片内有4K bytes的课反复擦写的只读存储器和128 bytes的随机存取数据存储器。器件采用 ATMEL公司的高密度、非 易失性存储技术生产。AT89S51是一个低功耗高性能的单片机,40个引脚,32个外部双 向输入输出端口,同时内含有 2个外中断口,2个16为可编

3、程逻辑 计数器,2个全双工串行通信口, AT89S51可以按照常规方法进行编 程,也可以在线编程,编程的语言可以是汇编也可以是C语言。本次课程设计我们主要是利用 AT89S51,实现晶体振荡、复位、3*3矩阵键盘以及数码管动/静态显示,并且自己制作一个可提供5V电压的直流电源、一个一位随机存储器和一位全加器(要求能做:力口、 减、补;与、异或、非、或运算),这些功能既需要使用软件也需要 使用硬件才能实现。关键词AT89S51;矩阵键盘;全加器;晶体振荡;复位;电源AbstractSemi con ductor material son a sin gle chip with in tegrat

4、ed CPU, memory, I / O excuse for other features, small size, low power consumption, cheap, strong function, reliability and ease of use and flexible features. SCM in the in dustrial con trol, data acquisiti on, intelligent instrumentation, office automation and other areas, has been widely applied。T

5、he curriculum we use is the AT89S51 microc on troller, which is a kind of self-4K-byte erasable programmable read-only memory.AT89S51 is a low voltage, high-performanee CMOS 8-bit microc on troller with 4K bytes of on-chip flash of repeated courses and 128 byte soft read-only memory, ran dom accessd

6、ata memory. ATMEL devices high-de nsity nonv olatile memory tech no logy producti on. AT89S51 is a low-power high-performanee single chip ,40 pins,32 exter nal bi-directio nal in put and out put ports, and contains two exter nal in terrupt ports, 216 for the programmable logic coun ters, two full-du

7、plex serial com muni cati on Mouth, AT89S51 can be programmedecord ing to conven ti onal methods can also program ming, program ming Ian guage can be also be accomplicati on of C Ian guage.The course desig n is the use of main AT89S51,to achieve the crystal oscillaor, reset, 3*3 matrix keyboard, and

8、 digital dynamic /Static is plays, and produce their own to provide a 5V voltage DCpower supply, a ran dom access memory and a full one Adder(required do: addition, subtraction, complement; AND, XOR, non-, or operati on ),these fun cti ons n eed to use the software only need to use the hardware to a

9、chieve.Key wordsAT89S51; matrix keyboard; full adder; crystal oscillator; reset; power引言本次课程设计所涉及到的单片机最小系统、5V稳压电源、数码管 的显示、一位随机存储器、全加器几个单元,其相关的理论我们要不 在以前的专业课中学习过要不就在本期的单片机课堂上学习和了解 过。所以本次课程设计也就主要是引导我们应用这些理论知识做成一 些实际的东西,达到将理论应用于实际的目的。同时,这一次课程设 计也重在培养我们的对电路的布局, 元件的焊接,其实也就是要培养 我们的动手能力,提升对理论知识的理解。本次课程设计用到

10、的是 AT89S51单片机,配以晶振,复位电路来驱动数码管和LED,这部分是硬件电路,然后通过软件编程,在单片机中下载相应的程序,便 能实现对硬件电路的驱动。基本设计内容1、AT89S51单片机管脚资料AT89S51单片机的硬件电路如图:Fl . O 匚 Pl. 1 匚 Pl - 2 c Pl . 3 C Pl, 4 c MOSI/P1.5 匚 MI SO/Pl. 6 匚 SCK/ Fl. 7 C RS RXD/P3, TXD/P3,INT0/P3.IHT1/P3.T0/F3.T1/F3.匚匚匸匚匚匚匚TO123456 CKD?P3, 7 匚 XTAL2 匸 XTAL1 C PDIP GND

11、匚012345678901 2 3 4 5 G b-eS111111111120937654321098765432143333333333222222222V ccP0, 0 / ADOPO. 1ZAD1PO. 2/AD2 PO. 3/AD3PO. 4/AD4 PO. 5/AD5PO. 6/AD6FO. T/AD7 EA/VP_ ALE/FKU&PESNP2. 7/A15 P2. G/A14P2, 5/A13 P2. 4/Al 2P2t 3/A11P2 2ZA10 P2. 1 ZA9P2t 0ZA8各个管脚的功能如下所述:VCC :供电电压。GND :接地。P0 口: P0 口为一个8位漏级

12、开路双向I/O 口,每脚可吸收8个TTL 门电流。当P1 口的管脚第一次写1时,被定义为高阻输入。P0能 够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时, P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/

13、O 口,P2 口缓冲器可接 收,输出4个TTL门电流,当P2 口被写1 ”时,其管脚被内部上拉电 阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。 在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存 储器进行读写时,P2口输出其特殊功能寄存器的内容。P2 口在 FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4 个TTL门电流。当P3 口写入1 ”后,它们被内部上拉

14、为高电平,并用 作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL) 这是由于上拉的缘故。P3 口除了作为普通I/O 口,还有第二功能: P3.0 RXD (串行输入口),P3.1 TXD (串行输出口),P3.2 /INTO (外 部中断0),P3.3 /INT1 (外部中断1),P3.4 T0 (记时器0外部输入) P3.5 T1 (记时器1外部输入),P3.6 /WR (外部数据存储器写选通) P3.7 /RD (外部数据存储器读选通),P3 口同时为闪烁编程和编程校 验接收一些控制信号。I/O 口作为输入口时有两种工作方式,即所谓 的读端口与读引脚。读端口时实际上并不从

15、外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端 口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89S51的P0、P1、P2、P3 口作为输入时都是准双向口。除了 P1 口 外P0、P2、P3 口都还有其他的功能RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周 期以上的高电平时间,但是也不能过长,防止单片机一直处于复位状 态。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁 存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。 在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6

16、。因此它可用作对外部输出的脉冲或用于定时目的。然而 要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在 执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉 高。如果微处理器在外部执行状态 ALE禁止,置位无效。PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间, 每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两 次有效的/PSEN信号将不出现。EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,

17、/EA将内部锁定为RESET ;当/EA端保持高电平时,此期间内部程 序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(Vpp )。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。2、单片机最小系统ii 单片机最小系统电路图如下:R31KI.C5+12 IMFI110KC60722pFPl.0 U vccPUPO.DPl 2PO.lPl.3P0 2PMP0.3MOSIPIP0.4MISQ/P11P0.5Pl.7P0.6RSTP07P3I eaIvppPll ALEffROG而P3.2FESNNTI/P3.3P2.7PSP2.6P3.

18、5P2.5P2.4RD/P3.7P2.3muP2.2HALlP2.1GWDmIII3_20ATS9S51_67电源单片机的电源必须是干净稳定的直流 5V电源。单片机的40 管脚电源紧靠引脚,引线要尽量短的接一个电容,大小为 105106pF。接地接地的方式有很多。如:信号回路地、安全接地、屏蔽接地。 单片机20脚接地,芯片内部所有电路信号地与片外元件和电源共 地。晶体振荡系统时钟电路设计是采用的内部方式,即利用芯片内部的振荡 电路。AT89S51单片机内部有一个用于构成振荡器的高增益反相放大 器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。 这个 放大器与作为反馈元件的片外晶振谐

19、振器一起构成一个自激振荡器。 外接晶振谐振器以及两个电容构成并联谐振电路, 接在放大电路的反 馈回路中。对外接的电容虽然没有明确的要求, 但电容的大小会影响 振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。 在焊接电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠 近,并且晶振的管脚应该尽量短,以减少寄生电容,更好地保证振荡 器稳定和可靠的工作。(2)复位电路在9脚加上2个机械周期(2us)的高电平,通过片内复位电 路上电时,PC中是随机数,所以必须有硬件电路强行给 PC置成 00。也就是复位。复位的方式可分为:手动复位、系统复位、自 动复位。此设计的复位是由外部的复位电路来

20、实现的。 片内复位是复位 引脚RST通过一个施密特触发器与复位电路相连, 施密特触发器 用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采 样一次。复位电路的基本功能是:系统上电时提供复位信号,直至系统 电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过 一定的延时才撤销复位信号,以防电源开关或电源插头分一合过 程中引来的抖动而影响复位。单片机复位电路参数的选定须在振 荡稳定后保证复位高电平持续时间大于 2个机械周期。AT89S51单片机是整个开发板的控制中心,我们在选用电路 时应该保证它的可靠性和抗干扰性,在选用具体电子器件的时候, 应该确定它的各项参数,尽量使用参数相当的

21、器件。要想单片机能长时间正常工作我们必须保证以下几点:干净稳定的电流输入。良好正确的接地。精确稳定的时钟。绝对可靠的自动复位。3、5V稳压电源的设计电源的原理图如下:这个电路主要通过12V变压器、整流电桥、稳压管及滤波电容组成。首先变压器将220V的交流市电转换成12V的交流电,然后 将这个电压加入全波整流电桥,经整流后,经过1000uF滤波电容,对其进行滤波,虑除纹波杂质,再通过一个 7805的稳压管后经10uF 和0.1uF的小电容重新滤波,使输出的直流电压的纹波降到最低。另 外我在这个电路的设计中,加入了一个上电的开关和指示灯, 加入上 电开关使得使用时更加的方便,加入电源指示灯我们便能

22、很容易的判 别电路是否确实输出了一个 5V的电压。4、3*3矩阵键盘其硬件电路图如下:JISIS2S3我们知道,一个I/O 口有两种输入输出状态,即高电平和低电 平。所以,我们可以通过6个I/O 口的状态控制9个键盘的情况。 本设计使用的是最常见的3*3矩阵键盘,编程的时候可以通过先 扫描行(列)再扫描列(行)的方式扫描整个键盘。键盘扫描的方法是:行线P1.0P1.2为输入线,列线P1.3P1.5 为输出线。一开始单片机将行线全部输出低电平,此时读入列线 数据,若列线全为高电平则没有键按下,当列线有出现低电平时 调用延时程序来去除按键抖动。延时完成后再判断是否有低电平, 如果此时读入列线数据还

23、是低电平,贝S说明确实有键按下。最后确定键值。5、四位共阳数码管本次课程设计我们所用到的数码管是共阳的数码管。数码管的显示方式按驱动方式可分成静态显示方式和动态显 示方式两种。对于多位数码管,通常都是采用动态扫描的方法进 行显示。在动态方式中,逐个循环地点亮各位数码管。这样虽然 在任意时刻只有一位数码管被点亮,但是由于人眼具有视觉残留 效应和眼睛的余辉,看起来便是全部数码管持续点亮的效果。单片机通过一分8位的二进制电平信号显示出想要显示的数 字或者字母。例如,点亮二极管 b, c,数码管就会显示1,点亮 a, b,c,d,e,f,g数码管就会显示数字0所以,数码管的显示 需要有8根连线。同理,

24、要使用四位八段数码管,只要控制相应的位选和段选就 可以自由的显示相应的数字。6、一位随机存储器其原理图如下:5V 工*这次设计中的一位随机存储器由 NPN三极管9013,电阻和 LED搭建而成,LED的亮灭用以显示出数据的存入是 1还是0。理论 上,由于电路的对称性,使得 LED的亮灭具有随机性,左边的LED 亮还是右边的LED亮事先无法预知,但是实际中由于不能做到元件 的绝对对称,并且导线的长度也不能绝对相等, 所以随机性并不是很 好。存入数据的时候可以用一个按键开关控制, 也可以直接用一根连 接到了地端或者是正5V电源的导线用接触的方式进行控制。7、全加器本次设计的一位全加器能实现加、减、

25、补;与、异或、非、或等 七个功能,其结果用LED的亮灭体现出来。电路是由具有4与非门的 74LS00集成芯片搭建而成,74LS00的内部逻辑如下图所示:我们可以按照以下的与非逻辑电路结合74LS00的内部逻辑搭建我们NC7SOO 2VU8U11U7NC7SOO所需要的全加器.NC7SOO 2VNC7SOO 2VTieoeO1DE讣T-Ok丄_YLE08U2A4009BO 5VR91kD科E091与由于是采用万用板搭建的,而这个电路所涉及到的与非门又比较多, 所以在焊接之前,应该先布好局,防止在焊接的过程中将线焊错。另外要注意将每个芯片的电源端和地端都连接好,以保证芯片正常工 作。三、设计心得本

26、次课程设计持续了一个半月的时间,它主要是培养我们通过把 所学的理论知识应用于实践,并且这一次课程设计采用的万用板 搭建电路,想要焊接出来的电路板看起来整洁美观,我们便需要 从全局入手,要有全局统筹局部的思维,这样才能更快捷设计出 整齐美观的电路板。同时我的焊接的技术也有了很大的提高,我 觉得老师要求我们用万用板采用分立元件搭建这些电路能够让我 们很好的了解到所搭建电路的相关原理,同时我们对所用集成芯 片的内部结构也能很好了解,这是硬件方面;在软件方面,我学 会了如何运用KEIL软件编写出流水灯、数码管显示、键盘扫描的 程序。最后,在老师的悉心指导和严格要求下,我获得了丰富的 理论知识,极大地提

27、高了实践能力,使我认识到了课程的重要性, 同时感受到了理论与实践的差距,使得我对单片机系统的应用有 了更加深刻的认识,得到了一次专业知识,专业技能分析和解决 问题很好锻炼。四、附录1、参考文献【1】、余锡存 曹国华。单片机原理及接口技术,西安电子科技大学出版社,2007.12【2】、Intel,Embedded Controller Handbook.1987【3】、接口电路编写组.最新接口电路实用速查手册 .北京:电子工业出版社,1990 TOC o 1-5 h z 【4】孙涵芳等.单片机原理及应用.北京:北京航空航天大学出版社,1990【5】周航慈.单片机应用程序设计技术.北京:北京航空航

28、天大学出版社,1991【6】李华等.MCS-51系列单片机使用接口技术.北京:北京航空航天大学出版社,1993【7】蔡美琴等.MCS-51系列单片机系统及应用.北京:高等教育出版社,1993【8】魏立峰等.单片机原理与应用技术.北京:北京大学出版社,20062、硬件(实物)电路晶振及其波形上出四2-00M3、相关程序3、1键盘扫描程序#in clude#define uint un sig ned int#define uchar un sig ned char sbit wela 1=P2A1;sbit wela2=P2A2;sbit wela3=P2A3;sbit wela4=P2A4;u

29、char num=0;uchar code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,sbit led=P2A0;0 x80,0 x90,0 x88,0 x83,P1=0 xfe;temp=P1;temp二temp&0 xf8;if(temp!=0 xf8)delay(10);temp=P1;temp二temp&0 xf8;if(temp!=0 xf8)temp=P1;switch(temp) case 0 xde: num=1 break;case 0 xee:num=2 break;case 0 xf6:num=3break;0 xc6,0 xa1,0 x86,0 x8e,Oxbf,Oxff;void delay( uint z)uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void display(uchar num)/* wela仁1;wela2=1;wela3=1;wela4=1;*/P2=0 x1e;P0=table nu m;void keysca n()uchar temp;

温馨提示

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

评论

0/150

提交评论