实验3C51程序设计与Proteus应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机原理与接口技术实验实验三:C51程序设计与Proteus应用一、实验目的:1、学会用C51语言进行各种结构的程序设计、以及并行口应用程序的设计。2、学会应用Keil-uvision集成调试软件对C语言程序进行调试。掌握C语言程序的编辑、编译、运行、单步调试的过程和通过寄存器、存储器检查程序运行结果是否正确的方法。3、学会Proteus软件的使用和Keil的联合调试。二、Keil-μvision集成调试软件的操作操作步骤:1、双击桌面上的UV2快捷图,启动软件。2、点击P工程N新建工程输入文件名(如A1)并点击保存。3、出现CPU屏幕,选AtmelAT89C51点确定。屏幕左上方出现图标目标1。4、点击文件新建文件出现程序输入区。输入C语言程序,例如后面的顺序结构程序:#includereg51.h#includestdio.hvoidmain(void){intx,y;SCON=0x52;TMOD=0x20;TH1=0xF3;TR1=1;printf(inputx,y:\n);scanf(%d%d,&x,&y);printf(%x,x+y);printf(%d,x+y);while(1);}输入后点击文件中的保存,输入程序名(例如S1.C)并选择存入的盘(如D:)点击保存。程序名一般不超过6个字母数字,以字母打头,C语言要加尾缀:.C。如果程序已经存在,可点击文件打开文件,找到需要选择的文件。5、点击(图标)目标1前的“+”号,出现(图标)源程序组1,选中并点右键,选“文件增加到源程序组1”,选择文件类型为C,再选要输入的程序S1.C,点ADD(加入),点确定。此时点击源程序组1可以看到要输入的程序S1.C。在对程序编译前要进行以下的设置:(1)单击“project”(工程)菜单,在下拉菜单中单击“optionsfortarget1”(目标’目标1’属性),再单击“target”(目标),将输入仿真器的晶振频率改为12.0MHz。(2)在目标’目标1’属性页面下选择output(输出),点击“CreateHEXfile”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用。(3)对于软件仿真,在目标’目标1’属性页面下点“Debug”(调试),再选“S使用软件仿真器”,同时选中“加载代码到仿真器”和“运行到main0”,然后点击“确定”。6、程序的编译和链接依次点击屏幕上方左下角的编译和建造目标图标对文件进行编译和链接,观察左下角的调试程序信息显示,如有错可根据该栏提示的信息进行修改,修改后要重新保存和编译,直到无错误提示。7、点击调试图标,进入程序调试画面,此时黄箭头所指是将要执行的指令。(1)调试界面分为4部分:①左上角为REG和系统显示区,可观察寄存器的变化;②左下角为调试程序时的信息显示;③右上角为程序编写和修改区;④右下角存储器的显示区。(2)存储区设置:如果未出现存储区,设置方式如下:点击:V视图M存储器窗口,右下角会出现4个存储区:存储器#1-#4。可以根据需要设置。通常设置程序存储区、内部数据存储区、外部数据存储区。①点击存储器1#,在上面地址栏中输入C:0000H,存储器1#被设计为程序存储器,地址从0000H开始。②点击存储器2#,在上面地址栏中输入D:0000H,此时存储器2#被设计为内部数据存储器,地址从0000H开始。③点击存储器3#,在上面地址栏中输入X:0000H,此时存储器3#被设计为外部数据存储器,地址从0000H开始。8、运行程序点击(左图标)为全速运行或停止程序运行(右图标);如果希望单步执行(即一条一条的执行指令,以便调试程序)可点击图标,每点击一次黄箭头会向下移动,指向下一条指令。9、对C51语言程序,调试时需打开以下窗口:(1)变量的查询:打开V视图:W监视&调用堆栈窗,在局部栏中或监视#1、2中观察结果。(2)用scanf输入,或用printf输出时:打开V视图:串行口1#观察结果。当单步运行时,在scanf语句运行后,在串行口1#中光标位置按输入格式要求输入数据后回车。(3)修改或停止运行程序时再次点击,退出运行状态,可以进行程序的修改。三、实验内容1、熟悉KeilC软件界面,编辑、编译、运行程序。(1)顺序程序:输入下面程序,调试并观察运算结果。#includereg51.h#includestdio.hvoidmain(void){intx,y;SCON=0x52;TMOD=0x20;TH1=0xF3;TR1=1;printf(inputx,y:\n);scanf(%d%d,&x,&y);printf(%x,x+y);printf(%d,x+y);while(1);}(2)分支程序#includereg51.h#includestdio.hmain(){intx,y,max;SCON=0x52;TMOD=0x20;TH1=0xf4;TR1=1;printf(inputx,y:\n);scanf(%d%d,&x,&y);if(xy)max=x;elsemax=y;printf(%d\n,max);while(1);}(3)循环程序:输入下面程序(有错误),调试并观察运算结果。#includereg51.h#includestdiohvoidmain(void){inti;s=0;i=1;SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1while(i101);{s=s+i;i++}printf(“%d\n”,s);while(1)}2、用Proteus和Keil软件设计电路,调试并仿真运行。设计一个单片机最小系统,并使P2.7口线接的LED灯D1闪烁。器件:单片机:AT89C511片,电容:CAP/33PF2片,晶振:CRYSTAL/12MHZ1个,按钮Button,电阻:RES/10K1个、100Ω1个、300Ω1个,电解电容:CAP-ELEC1片22μF,LED灯1个。(一)硬件设计(1)启动ProteusISIS,单击菜单FileNewDesign,新建DEFAULT模板,保存文件名:P1(1).DSN。(2)在器件选择中点P按钮(或:LibraryPickDevice/Symbol)添加下表中的元件。(在Keywords栏中逐个输入元件的英文)器件:单片机:AT89C511片,电容:CAP/33PF2片,晶振:CRYSTAL/12MHZ1个,按钮Button,电阻:RES/10K1个、100Ω1个、300Ω1个,电解电容:CAP-ELEC1片22μF,LED灯1个。例如:输入RES,点Resistors,挑选适合的电阻,将元件放置到原理图编辑窗口的合适位置。(3)单击工具箱中元件终端图标,将元件终端放置在合适位置,然后布线。(4)单击对象选择器中的POWER和GROUND,将元件电源和地放置在合适位置,然后布线。(5)左键双击各元件,设置相应元件的参数,完成电路图的设计。(二)Keil软件编程(操作步骤同前)参考程序:#includereg51.hvoiddelay(unsignedchari);sbitP2_7=P2^7;voidmain(){while(1){P2_7=0;delay(255);//延时P2_7=1;delay(255);}}voiddelay(unsignedchari)//延时函数{unsignedcharj,k;//定义无符号字符型变量j和kfor(k=0;ki;k++)//双重for循环语句实现软件延时for(j=0;j255;j++);}输入后点击文件中的保存,输入程序名(例如S1.C)并选择存入的盘(如D:)点击保存。程序名一般不超过6个字母数字,以字母打头,C语言要加尾缀:.C。如果程序已经存在,可点击文件打开文件,找到需要选择的文件。(三)调试与仿真在ProteusISIS编辑窗口中,单击鼠标右键选中AT89C51单片机,单击鼠标左键弹出EditComponent对话框,在ClockFrequency栏设置晶振频率12MHz,在ProgramFile栏中单击图标,选择Keil生成的名.HEX文件,确定。在ProteusISIS中FileSaveDesign保存设计,生成名.DSN文件。在ProteusISIS中单击Debug选Execute执行,观察运行结果。退出:单击DebugPause/StopAnimation可退出运行状态。四、写实验报告三每次实验完毕后记录实验结果,在下次实验时提交上次实验的实验报告。报告内容:1、实验目的2、实验内容3、实验原理图与线路连接4、实验步骤5、实验结果6、实验体会附录:Proteus仿真步骤Proteus软件由ISIS(智能图形输入系统)和ARES(布线和电路板制造)2部分组成。一、点击图标启动Proteus软件ISIS环境,编辑环境如图:菜单工具栏·预览窗口器件选择工具栏对象选择器方向控制原理图编辑(一)菜单栏1、File(文件):新建、装入、保存、导入设计、打印等选项。2、View(查看):原理图编辑窗口定位、栅格调整、图形缩放。3、Edit(编辑):编辑元件的剪切、复制、粘贴、撤销和恢复。4、Library(库):选择元件、制造元件、分解元件、编辑到库。5、Tools(工具):标注、布线、标记、分配工具、数据导入。6、Desing(设计):编辑设计/面板属性、新建/删除原理图。7、Graph(图形):编辑仿真图形、导出数据、删除数据。8、Source(源文件):添加/移除源文件、设置编辑。9、Degug(调试):调试、运行/停止调试、断点运行。(二)主工具栏(三)预览窗口1、在对象选择器单击某个元件或在工具箱中单击元件按钮、终端按钮、子电路按钮、虚拟仪器按钮时,预览窗口会出现对象的图形。2、将鼠标落在此窗口内,可以改变原理图的可视范围。(四)器件选择按钮P:对象选择按钮,单击P按钮,会弹出器件选择窗口,在Kerywords栏中输入器件名,可在器件库中选择元件。L:库管理按键。proteus中常用元器件和仿真仪表中英文对照表7407驱动门、1N914二极管、74Ls00与非门74LS04非门、74LS08与门74LS390TTL双十进制计数器7SEG4针BCD-LED输出从0-9对应于4根线的BCD码7SEG3-8译码器电路BCD-7SEG转换电路AND与门、BATTERY电池/电池组、BUS总线CAP电容、CAPACITOR电容器CLOCK时钟信号源、CRYSTAL晶振FUSE保险丝、GROUND地、LAMP灯LED-RED红色发光二极管LM016L2行16列液晶可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。OR或门、POT-LIN三引线可变电阻器、POWER电源、RES电阻、RESISTOR电阻器SWITCH按钮手动按一下一个状态Optoelectronics各种发光器件发光二极管,LED,液晶等等;Resistors各种电阻;SimulatorPrimitives常用的器件;Speakers&Sounders扬声器Switches&Relays开关,继电器,键盘Transistors晶体管(三极管,场效应管)TTL74series、TTL74ALSseries、TTL74ASseries、TTL74Fseries、TTL74HCseriesTTL74HCTseries、TTL74LSseries、TTL74Sseries(五)工具箱ISIS中提供了许多图标工具按钮,如图:元件按钮连接点连线的网络标号文本脚本总线子电路选择元件终端元件引脚图标录音机信号源电压探针电流探针虚拟仪器画线方框园弧线曲线文本符号坐标原点(六)仿真和方向工具栏旋转翻转运行单步暂停停止(七)原理图编辑窗口用于放置元件,连线,绘制原理图。操作如下:(1)鼠标的中间滚轮用于放大或缩小原理图(2)鼠标左键用于放置元件和连线(3)右键用于选择元件、连线和对象,选中

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功