




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C51程序设计结课报告姓名:学号:班级:指导老师:完成时间: 目 录1 MCS-51系列单片机的内部结构31.1 MCS-51系列单片机内部结构31.2 MCS-51单片机外部引脚说明41.3 MCS-51型单片机存储器51.3.1 程序存储器51.3.2 MCS-51型单片机并行输入/输出接口62 Keil C51软件的使用82.1建立一个新工程82.2编写简单程序102.3调试程序122.4生成.Hex 文件143 Proteus仿真软件的使用143.1 进入 Proteus ISIS143.2 工作界面143.3 基本操作154 AT89C51的设计应用164.1 电子钟硬件设计164.2 电子钟软件设计184.3 仿真实现265结课总结261 MCS-51系列单片机的内部结构1.1 MCS-51系列单片机内部结构在功能上,MCS-51系列单片机有基本型和增强型两类,以芯片型号的末位数字来区分,“1”为基本型,“2”为增强型。如8051/8751/8031、80C51/87C51/80C31为基本型,而8052/8752/8032、80C52/87C52/80C32为增强型。MCS-51系列单片机在片内程序存储器的配置上有3种形式,即掩膜ROM、EPROM和片内无程序存储器。如在基本型中,8051内有4KB的掩膜ROM,8751内有4KB的EPROM,而8031片内无程序存储器,使用时需在单片机外部扩展程序存储器。另外,属于MCS-51系列的单片机还有8044/8744/8344,这类单片机增加了串行接口单元(SIU),专门负责串行通信管理,使单片机的组网功能大大增强。8051单片机功能方框图(1)中央处理器CPU(8位机):CPU由运算器和控制器组成,是单片机的核心,完成运算和控制操作。 (2)内部程序存储器(ROM):8051单片机内有4KB掩膜ROM,主要用于存放程序、原始数据和表格等内容,因此称为内部程序存储器或片内ROM。(3)内部数据存储器(RAM):8051单片机中共有256个RAM单元,但其中后128个单元被特殊功能寄存器(SFR)占用,可供用户用来存放可读取数据的只有前128个单元,通常把这部分单元称为内部数据存储器或片内RAM。(4)定时器/计数器:8051单片机片内有2个16位的定时器/计数器(T0、T1),并能以其定时或计数的结果对系统进行控制。(5)并行I/O接口:8051单片机片内有4个8位并行I/O接口(P0、P1、P2、P3)。它们可双向使用,实现数据的并行输入/输出。(6)串行通信口:8051单片机片内有一个全双工的串行通信口,实现单片机和其他数据设备间的串行数据传送。该串行通信口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位寄存器使用。(7)中断控制系统:8051单片机共有5个中断源,即如下所列:1)2个外部中断源。2)2个定时器/计数器中断源。3)1个串行中断源。中断优先级分为高、低两级。(8)其他重要功能:MCS-51单片机包含了计算机系统应该具有的基本部件,实际上单片机就是一个集成在一块芯片上的微型计算机系统。 1.2 MCS-51单片机外部引脚说明 双列直插式封装(DIP)的8051单片机有40条引脚,其引脚图及逻辑符号如下图所示。1. 电源及外接晶体引脚(1)VCC(40脚):接+5 V电源正端。(2)VSS(20脚):接+5 V电源地端。(3)XTAL1、XTAL2:晶体振荡电路反相输入端和输出端。(4)XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外接晶体振荡器时,该引脚接地。(5)XTAL1(18脚):接外部石英晶体的另一端。在单片机内部,它是一个反相放大器的输出端。当采用外接晶体振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。2. 输入/输出(I/O)引脚8051共有4个8位并行I/O端口:P0、P1、P2、P3端口,共32个引脚。P3端口还具有第二功能,用于特殊信号输入/输出和控制信号(属控制总线)。3. 控制引脚控制引脚包括ALE、RESET(即RST)等。此类引脚提供控制信号,有些引脚具有复用功能。1.3 MCS-51型单片机存储器MCS-51型单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器严格分开;二是存储器有内外之分,其地址空间、存取指令和控制信号均有区别。MCS-51型单片机的存储器组织结构有4个物理上相互独立的空间:片内程序存储器和片外程序存储器,内部数据存储器和片外数据存储器。但从用户的角度看,实际上存在3个独立的空间。3个不同的空间用不同的指令和控制信号实现读、写功能操作。1.3.1 程序存储器MCS-51单片机具有64KB程序存储器空间的寻址能力,程序存储器用于存放用户程序、数据和表格等信息。在MCS-51系列中,不同的芯片其片内程序存储器的容量各不相同。8031和8032内部没有ROM,8051内部有4KB的ROM,8751内部有4KB的EPROM,8052内部有8KB的ROM,8752内部有8KB的EPROM。 (1)工作寄存器区(00H1FH)00H1FH共32个单元,通常作为工作寄存器区,用于临时寄存8位信息。工作寄存器区共分为4个组(0组、1组、2组和3组),每个组都有8个寄存器,用R0R7表示。(2)位寻址区20H2FH单元是位寻址区,这16个字节的每一位均有一个位地址,共有128个位地址(168=128B),位地址范围为00H7FH。 (3)数据缓冲区30H7FH单元为数据缓冲区,共有80个字节单元,为用户RAM区,用作堆栈或存放各种数据和中间结果,起到数据缓冲的作用。(4)特殊功能寄存器(Special Function Registers,SFR)特殊功能寄存器又称为专用寄存器,专用于控制、管理单片机内部并行I/O接口、串行口、算术逻辑部件、定时器/计数器、中断系统等功能模块的工作。用户在编程时可以置数设定,却不能自由地移作他用。1.3.2 MCS-51型单片机并行输入/输出接口MCS-51单片机有4个8位并行输入/输出(I/O)接口P0P3,共32根I/O线。这4个端口既可以并行输入或输出8位数据,又可以按位使用(每一位均可独立用作输入或输出)。这些并行端口的每1位都由端口锁存器、逻辑控制电路、输出驱动电路和输入缓冲器组成。为方便起见,常把4个端口和它的锁存器统称为P0P3。 1.P0端口结构及功能(1)P0端口的结构P0端口有8位,每1位由一个锁存器、两个三态输入缓冲器、控制电路和驱动电路组成,P0端口由8个这样的电路组成。 (2)P0端口的功能:P0端口用作通用I/O接口、P0端口用作分时复用的地址/数据总线2. P1端口结构及功能 (1)P1端口没有模拟转换开关(MUX)和输出控制电路。(2)P1端口输出驱动部分由场效应管T2与内部上拉电阻组成,因此当其某位输出高电平时,可以提供上拉电流负载,不必像P0端口那样需外接上拉电阻。当P1端口用作输入时,与P0端口一样,必须先向对应的端口锁存器写入“1”,然后再读端口引脚。由于片内负载电阻较大(约2040kW),所以不会对输入的数据产生影响。对MCS-51子系列P1端口只有通用I/O接口一种功能,每1位接口线能独立地用作输入/输出端口。3. P2端口结构及功能(1)P2端口的结构P2端口也是准双向口,其中1位的内部结构如下图所示。(2)P2端口的功能:当P2端口作为准双向通用I/O接口用时,控制信号使转换开关MUX接向左侧,将锁存器的输出Q端经反相器与T2接通,其工作原理与P1端口相同。当单片机系统外部扩展时(如系统扩展外部存储器大于256B,在257B64KB间),在CPU的控制下,转换开关MUX与内部地址线相接,此时P2端口可用于输出高8位地址线,与P0端口传送的低8位地址一起组成16位地址总线。由于访问外部存储器的操作是连续不断的,P2端口要不断地输出高8位地址,故此时P2端口不可能再用作通用I/O接口使用。4. P3端口结构及功能(1)P3端口的结构P3端口是一个具有双重功能的8位准双向端口,其中1位的内部结构如下图所示。P3端口比P1端口在结构上多了1个缓冲器和1个与非门,用于第二功能的输入/输出。(2)P3端口的功能P3端口是一个多功能的端口,当P3端口作为通用I/O接口时,第二功能输出为高电平,使与非门的输出取决于端口锁存器的状态,此时,P3端口是一个准双向口,其工作方式与P1、P2端口相同。2 Keil C51软件的使用Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。进入 Keil C51 后编辑界面如图2.1。图2.1进入Keil C51后的编辑界面2.1建立一个新工程 (1)单击 Project 菜单,在弹出的下拉菜单中选中 New Project 选项图2.2 New Project 选项菜单(2)然后选择你要保存的路径,输入工程文件的名字,比如保存到 C51目录里,工程文件的名字为 C51如下图所示,然后点击保存。图2.3 工程文件保存对话框(3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51 几乎支持所有的 51 核的单片机,我这里还是以大家用的比较多的 Atmel 的 89C51 来说明,如下图所示,选择 89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定. 图2.4选择单片机型号对话框(4)完成上一步骤后,屏幕如下图所示图2.5工程文件界面2.2编写简单程序 (1)新建文本文档 在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项,新建文件后屏幕如下图所示。图2.6新建文件操作界面此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。图2.7 程序文件保存对话框(2)添加程序文件到工程文件中 回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如下菜单 图2.8添加程序文件到工程文件菜单选中 Test.c,然后单击“Add ”屏幕好下图所示图2.9 添加程序文件后操作界面(3)编写程序 现在,请输入如下的 C 语言源程序: #include /包含文件 #include void main(void) /主函数 SCON=0x52; TMOD=0x20; TH1=0xf3; TR1=1; /此行及以上 3 行为 PRINTF函数所必须 printf(“Hello I am KEIL. n”); /打印程序执行的信息 printf(“I will be your friend.n”); while(1); 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即 Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示图2.10程序编辑界面2.3调试程序 (1)、单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键 F7), 编译成功后, 再单击“Project”菜单, 在下拉菜单中单击“Start/StopDebug Session”(或者使用快捷键 Ctrl+F5),屏幕如下所示图2.11编译程序界面(2)、调试程序:单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键 F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键 Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果,其结果如下图所示图2.12程序运行结果2.4生成.Hex 文件 单击“Project”菜单,再在下拉菜单中单击 “Options for Target Target 1” 在下图中,单击“Output”中单击“Create HEXFile” 选项,使程序编译后产生 HEX 代码,供下载器软件使用。把程序下载到 AT89S51单片机中。 图2.13 生成.HEX文件设置对话框 3 Proteus仿真软件的使用3.1 进入 Proteus ISIS 双击桌面上的 ISIS 6 Professional 图标或者单击屏幕左下方的“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,进入 Proteus ISIS集成环境。3.2 工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图1.2.2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图3.1 Proteus ISIS的工作界面3.3 基本操作 (1)图形编辑窗口:在图形编辑窗口内完成电路原理图的编辑和绘制。 (2)预览窗口:该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编辑窗口的中显示的区域。(3)对象选择器窗口:通过对象选择按钮,从元件库中选择对象,并置入对象选择器窗供今后绘图时使用。显示对象的类型包括:设备,终端,管脚,图形符标注和图形。 (4)图形编辑的基本操作:对象放置、选中对象、删除对象、拖动对象、拖动象标签、调整对象大小、调整对象的朝向、编辑对象、编辑对象标签、拷贝所有选中的对象、移动所有选中的对象、删除所有选中的对象等操作。(5)编辑区域的缩放 :Proteus的缩放操作多种多样,极大地方便了我们的设计。常见的几种方式有:完全显示(或者按“F8”)、放大按钮(或者按“F6”)和缩小按钮(或者按“F7”),拖放、取景、找中心 (或者按“F5”)。(6)点状栅格和刷新:编辑区域的点状栅格,是为了方便元器件定位用的。鼠标指针在编辑区域移动时,移动的步长就是栅格的尺度,称为“Snap(捕捉)”。这个功能可使元件依据栅格对齐。(7)对象的放置和编辑: 对象的添加和放置、放置电源及接地符号、对象的编辑。4 AT89C51的设计应用4.1 电子钟硬件设计硬件设计任务掌握AT89C51开发系统中的模块原理。掌握电子钟的工作原理。综合运用硬件模块、AT89C51开发设计具有一定功能的单片机控制系统,进行软、硬件设计及调试。电路原理图图4.1电子钟实验电路原理图(1)将所需元器件加入到对象选择器窗口图4.2 添加AT89C51元件的 Pick Devices 对话框(2)放置元器件至图形编辑窗口图4.3 放置元件至图形编辑窗口(3)元器件间的连线图4.4 元件间的连线4.2 电子钟软件设计(1)建立一个新工程1)单击 Project 菜单,在弹出的下拉菜单中选中 New Project 选项;图4.5 New Project 选项菜单2)然后选择你要保存的路径,输入工程文件的名字,比如保存到 C51 目录里,工程文件的名字为 C51如下图所示,然后点击保存;图4.6 工程文件保存对话框3)如下图所示,选择 89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定;图4.7 选择单片机型号对话框4)完成上一步骤后,屏幕如下图所示;图4.8 工程文件界面(2)编写程序1)新建文本文档 在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项,新建文件后屏幕如下图所示;图4.9 新建文件操作界面2)此时光标在编辑窗口里闪烁,保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。扩展名为(.c)。然后,单击“保存”按钮。图4.10 程序文件保存对话框(3)添加程序文件到工程文件中 回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,然后单击“Add File to Group Source Group 1”,选中 Test.c,然后单击“Add ”屏幕好下图所示图4.11 添加程序文件到工程文件对话框(4)调试程序图4.12 程序编辑界面(5)生成.HEX 文件图4.13 生成.HEX文件设置对话框元器件之间的连线并导入.hex文件图4.15 .hex文件生成设计代码#include unsigned char code dispcode= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x40; unsigned char dispbitcode= 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; unsigned char dispbuf8=0,0,16,0,0,16,0,0; unsigned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j; void desp10ms() for(i=0;i4;i+) for(j=0;j250;j+); main() second=0; minite=0; hour=0; tcnt=0; mstcnt=0; EA=1; ET0=1; TMOD=0x01; TH0=0x3c; TL0=0xb0; TR0=1; while(1) for(dispbitcnt=0;dispbitcnt8;dispbitcnt+) P2=dispbitcodedispbitcnt; P0=dispcodedispbufdispbitcnt; desp10ms(); void t0(void) interrupt 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备维修的修理类别教学设计-2025-2026学年中职专业课-机械加工技术-机械类-装备制造大类
- 蔬菜产品知识培训心得课件
- 《沟通从心开始 做情绪的主人》教学设计-2023-2024学年心理健康教育四年级下册鲁画版
- 活动三 个人护眼计划教学设计-2025-2026学年小学综合实践活动沪科黔科版四年级下册-沪科黔科版
- 音乐合成与MIDI说课稿-2025-2026学年中职专业课-多媒体技术及应用-计算机类-电子与信息大类
- 第6课 众人拾柴火焰高教学设计-2025-2026学年小学心理健康五年级下册川教版
- 中考模拟往年试卷及答案
- 2025年1月土建施工员模拟练习题(含参考答案)
- 蒸馏法测定水分课件
- 2025年七年级数学秋季开学摸底考(人教版山东专用)含答案
- (2025秋新修订)人教版三年级数学上册全册教案(教学设计)
- 意外伤害急救常识及绷带包扎法课件
- 硫酸法钛白生产工艺操作规程
- 客舱广播词的基本知识
- 砌筑砂浆试块强度统计、评定记录表
- 金坛区苏科版五年级上册劳动《10木笔筒》课件
- 天然药物分离和提纯天然产物化学资料绪论
- 柴油供货合同范本模板
- 陈琴《经典素读课程分层教学》
- 年高校辅导员培训ppt
- 危险化学品企业安全风险隐患排查治理导则危险化学品安全风险隐患排查表
评论
0/150
提交评论