首页 Proteus实例教程 教学课件 ppt 作者 朱清慧、陈绍东 Proteus实例教程课件-第7章

Proteus实例教程 教学课件 ppt 作者 朱清慧、陈绍东 Proteus实例教程课件-第7章

举报
开通vip

Proteus实例教程 教学课件 ppt 作者 朱清慧、陈绍东 Proteus实例教程课件-第7章Proteus实例教程清华大学出版社第7章单片机综合控制系统设计实例7.1液晶显示电子密码锁7.2交通灯系统设计7.3基于51单片机的串口终端设计7.4基于51单片机的电机控制设计7.5实用波形输出仪系统设计7.1液晶显示电子密码锁内容: 利用单片机AT89C52和LM016L(LCD1602C)字符液晶显示器设计一电子密码锁,可通过键盘输入密码来开锁。连续三次输入密码错误时,系统会通过发光二极管闪烁和蜂鸣器报警。此外,还可通过键盘修改系统密码。训练目的:掌握字符液晶显示器模块LM016L的使用方法;掌握矩阵式键...

Proteus实例教程 教学课件 ppt 作者 朱清慧、陈绍东 Proteus实例教程课件-第7章
Proteus实例 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 清华大学出版社第7章单片机综合控制系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实例7.1液晶显示电子密码锁7.2交通灯系统设计7.3基于51单片机的串口终端设计7.4基于51单片机的电机控制设计7.5实用波形输出仪系统设计7.1液晶显示电子密码锁内容: 利用单片机AT89C52和LM016L(LCD1602C)字符液晶显示器设计一电子密码锁,可通过键盘输入密码来开锁。连续三次输入密码错误时,系统会通过发光二极管闪烁和蜂鸣器报警。此外,还可通过键盘修改系统密码。训练目的:掌握字符液晶显示器模块LM016L的使用方法;掌握矩阵式键盘扫描程序的编程方法。7.1.1Proteus电路设计1.元件清单列表 打开ProteusISIS编辑环境,按表7-1所列的清单添加元件。 表7-1元件清单7.1液晶显示电子密码锁2.LM016L字符液晶模块介绍 LM016L是字符型液晶显示器,分两行显示,每行显示16个字符。第一行字符的地址为80H~8FH,第二行字符的地址为C0H~CFH。工作频率为250kHz。7.1液晶显示电子密码锁图7-1LM016L模块原理图符号、引脚和属性 模块引脚功能:D7~D0:数据或命令端;RS:“0”指定D7~D0中传送的是命令; “1”指定D7~D0中传送的是数据;RW:“0”进行写操作,即由单片机通过D7~D0向液晶显示器传送数据或命令; “1”进行读操作,即由液晶显示器通过D7~D0向单片机传送数据。7.1液晶显示电子密码锁3.电路原理图 按图7-2所示的原理图连接硬件电路。 7.1液晶显示电子密码锁图7-2Proteus中电路原理图7.1.2程序设计 本例的主程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图如图7-3所示。7.1液晶显示电子密码锁图7-3主程序流程图7.1.3Proteus调试与仿真 电子锁的初始密码设为012345。 建立程序文件,加载目标代码文件,进入调试环境执行程序。系统操作方法如下: (1)按下“开锁”键,屏幕提示输入密码,可通过按键“0”~“5”输入6位数的密码,如图7-4(a)所示。7.1液晶显示电子密码锁图7-4(a)仿真片段1 (2)若密码错误,屏幕会提示第二次输入密码,一共3次机会。 (3)若第三次密码错误,报警灯点亮,同时蜂鸣器发出报警音,如图7-4(b)所示。7.1液晶显示电子密码锁图7-4(b)仿真片段2 (4)若密码输入正确,则开锁指示灯点亮,同时“密码修改”键有效,如图7-4(c)所示。7.1液晶显示电子密码锁图7-4(c)仿真片段37.2交通灯系统设计内容: 利用AT89C51单片机的并行口接红、黄、绿三种颜色发光二极管和两位LED数码管,模拟交通灯的变化规律,并用数码管显示时间。 首先,东西路口红灯亮,同时开始60秒倒计时; 南北路口“直行”绿灯亮,同时开始40秒倒计时,南北人行道绿灯亮。当南北路口倒计时至4秒时,黄灯开始闪烁,南北人行道红灯亮;7.2交通灯系统设计 倒计时至0秒时,直行灯变红,左转绿灯亮,同时开始20秒倒计时。当20秒倒计时结束时,南北路口红灯亮,开始60秒倒计时; 东西路口直行绿灯亮,开始40秒倒计时,东西人行道绿灯亮;按照上述变化规律依次循环。训练目的:掌握AT89C51单片机定时器的使用方法;掌握AT89C51单片机中断功能的使用方法了解道路交通灯的工作规律。 7.2交通灯系统设计7.2.1Proteus电路设计1.元件清单列表 打开ProteusISIS编辑环境,按表7-2所列的清单添加元件。 表7-2元件清单7.2交通灯系统设计2.电路原理图 在ProteusISIS的编辑区域中按图7-5所示的原理图连接硬件电路。 7.2交通灯系统设计图7-5Proteus中电路原理图 图7-6分别给出了四个方向交通灯及数码显示的连线。7.2交通灯系统设计图7-6交通灯和倒计时数码管电路原理图 图7-7给出了单片机AT89C51的I/O连线及人行道指示灯电路原理图。7.2交通灯系统设计图7-7单片机控制及人行道指示灯电路原理图 图7-8给出了特殊控制电路原理图。7.2交通灯系统设计图7-8特殊控制电路原理图7.2.2程序设计 本例的程序流程图如图7-9所示。7.2交通灯系统设计图7-9程序流程图7.2.3Proteus调试与仿真 建立程序文件、加载目标代码文件,在ProteusISIS界面中,单击按钮启动仿真,观察数码管及LED灯的显示。 当按下“繁忙”按钮后,繁忙指示灯点亮,系统进入繁忙工作状态。此时,东西道路直行红灯时间变为45秒,南北直行绿灯时间变为30秒,左转绿灯时间变为14秒,系统重新开始运行。通过“时间+”、“时间-”按钮可以手动修改道路直行红灯时间。7.2交通灯系统设计7.3基于51单片机的串口终端设计内容: 工业中利用各种PLD来采样监控设备,本例通过上下位机的通信可以更加便利地进行集成化工业管理。本例学习终端控制设计。训练目的:掌握AT89C51单片机定时器的使用方法;掌握AT89C51单片机中断功能的使用方法;掌握串口的使用方法;掌握LCD的使用方法。 7.3.1Proteus电路设计1.元件清单列表 打开ProteusISIS编辑环境,按表7-3所列的清单添加元件。 表7-3元件清单7.3基于51单片机的串口终端设计表7-3元件清单(续上表)7.3基于51单片机的串口终端设计 2.电路原理图 在ProteusISIS的编辑区域中按图7-10连接硬件电路。7.3基于51单片机的串口终端设计图7-10Proteus中电路原理图7.3.2程序设计 本例中,程序流程图如图7-11所示。7.3基于51单片机的串口终端设计图7-11程序流程图7.3.3Proteus调试与仿真 使用任一种虚拟串口软件,虚拟出串口COM4(本例使用COM4,可在单片机属性中设置),PC端使用任一种串口调试软件与单片机用COM4进行通信,PC端发出的命令即为需要设置的电压,PC端接收到的数据即为采集来的电压。同时单片机会把采集来的电压值显示在LM016L上,便于做数据对照。 当电压变化时单片机才上传数据,如果电压随时间变化,则单片机上传的是实时数据。系统仿真结果如图7-10所示。7.3基于51单片机的串口终端设计图7-10Proteus仿真结果7.3基于51单片机的串口终端设计7.4基于51单片机的电机控制设计内容: 学习电机驱动相关知识。训练目的:掌握AT89C51单片机控制电机的方法;掌握图形液晶显示器的使用方法。 7.4.1Proteus电路设计1.元件清单列表 打开ProteusISIS编辑环境,按表7-4所列的清单添加元件。 表7-4元件清单7.4基于51单片机的电机控制设计2.PG160128A液晶显示器介绍 PG160128A是一种中英文文字与绘图模式的点阵液晶显示器,内建512KB的ROM字形码,可以显示中文字型、数字符号、英日欧文等字母,并且内建双图层(TwoPage)的显示内存。在文字模式中,可接收 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 中文文字,内码直接显示中文,而不需要进入绘图模式。如以绘图方式描绘中文,可以节省许多微处理器时间,提升液晶显示中文的处理效率。PG160128A除了支持8080/6800系列的MCU外,也提供4位或8位的数据总线接口。有多种字号可供选择使用,如16×16、32×32、48×48、64×64及不同比例的混合显示模式,同时内建的512字节SRAM提供了自行造字的功能。 PG160128A的引脚与LM016L有相似之处,具体内容请参考7.3节。同时,要想详细了解、使用和编程此款液晶显示器,必须掌握它的控制器(T6963C)的使用方法,请阅读第9章相关内容。 7.4基于51单片机的电机控制设计 如果要了解一种液晶显示器使用的是哪种控制器,在Proteus中双击元件,在打开的元件属性设置对话框中,单击“Help”,弹出一个英文帮助文件,其中会显示该液晶显示器所采用的控制器型号。单击“Data”,会弹出该控制器使用说明的pdf文件(英文)下载链接,学起来非常方便。如果觉得英文阅读不方便,也可以直接在网上查到相关中文说明书。不过常用的控制器主要有三种:HD44780、T6963C、KS108,第一种用于控制字符液晶显示器,后两种用于控制图形液晶显示器。7.4基于51单片机的电机控制设计3.电路原理图 在ProteusISIS的编辑区域中按图7-12所示的原理图连接硬件电路。 7.4基于51单片机的电机控制设计图7-12Proteus中电路原理图 图7-12中,单片机作为核心控制器,主要进行信息处理。PG160128A显示电动机的转速以及旋转方向等信息。键盘上的按键用来控制电动机运行:按键“=”控制电动机顺时针运转,按键“on/c”控制电动机逆时针运转,按键“+”控制电动机加速运行,按键“-”控制电动机减速运行。两个示波器分别显示P1.1口输出波形和电动机运行时的波形。7.4基于51单片机的电机控制设计7.4.2程序设计 系统程序流程如图7-13所示。7.4基于51单片机的电机控制设计图7-13程序流程图7.4.3Proteus调试与仿真 按下键盘上的按键“=”,电动机可顺时针运转,所得电动机转速为149r/min,结果如图7-14。7.4基于51单片机的电机控制设计图7-14电动机顺时针运转 按下键盘上的按键“on/c”,电动机可逆时针运转,所得电动机转速为116r/min,结果如图7-15。 按键“+”可使电动机加速运行;按键“-”可使电动机减速运行。7.4基于51单片机的电机控制设计图7-15电动机逆时针运转 示波器QQQ显示P1.1口输出的脉冲宽度调制波形(即PWM波),该波形通过改变脉宽的平均值(也就是占空比),达到调节电动机转速的目的。7.4基于51单片机的电机控制设计图7-15电动机逆时针运转 所谓占空比,是指高电平在一个信号周期内所占的比重,比重大,则占空比大,电动机的转速就高,否则转速就低。比如PWM波若是高3低7(3秒高电平然后7秒低电平),和高6低4必然会不一样,同样是10秒的周期,肯定是后者转的快,这样,就达到了调速的目的。图7-14中的PWM波占空比大,电动机的转速(149r/min)就高于图7-15中的电动机转速(116r/min)。示波器WWW显示电动机运行波形。7.4基于51单片机的电机控制设计7.5实用波形输出仪系统设计内容: 设计一种以AT89C51单片机为核心,集按键电路、显示电路及信号输出电路于一体的实用信号输出系统。软件以C语言为基础,通过构建键盘扫描与处理显示程序模块、正弦波发生程序模块、三角波发生程序模块、方波发生程序模块以及锯齿波发生程序模块完成对系统硬件的操作。用户通过按键及LED显示实现人机交互,获得用户想要的波形信号。训练目的:掌握AT89C51单片机的综合控制系统设计方法;掌握各种波形的发生原理。 7.5.1Proteus电路设计1.元件清单列表 打开ProteusISIS编辑环境,按表7-5所列的清单添加元件。 7.5实用波形输出仪系统设计表7-5元件清单7.5实用波形输出仪系统设计2.电路原理图 系统结构框图如图7-16所示。 7.5实用波形输出仪系统设计图7-16系统结构框图主控芯片采用Atmel公司的AT89C51,12MHz晶振。对AT89C51的P0口数据采用74LS373进行锁存后,经过DAC0832进行D/A转换。数码显示器采用高亮8位共阴极数码管。8位D/A转换器采用DAC0832。运算放大器采用LM324。 7.5实用波形输出仪系统设计 1)显示器接口设计 系统显示电路如图7-17所示。 7.5实用波形输出仪系统设计图7-17系统显示电路 采用软件译码动态显示,把要显示的字码输送到P2口,再经过74LS373进行数据锁存,P3口作为位选控制信号。 由于采用的是共阴极数码管,当需要显示哪一位的时候,只要让相应的位选控制信号输出低电平就可以。例如,要在第一个数码管显示P,那么在P2口就要输出73H字段码,同时P3口输出FEH位选码。 7.5实用波形输出仪系统设计 2)键盘接口设计 系统键盘结构如图7-18所示。 7.5实用波形输出仪系统设计图7-18系统键盘实现电路 图7-18中,单片机的P1.0~1.1接键盘的行线,P1.4~1.7接键盘的列线,工作原理如下:判断键盘中有无键按下:将全部行线P1.0~P1.1置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平列线与两根行线相交叉的按键之中。若所有列线均为高电平,则键盘中无键被按下。 判断闭合键所在的位置:在确认有键按下后,即可进入确定具体某个闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其他行线为高电平。在确定某根行线位置为低电平后,再检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。7.5实用波形输出仪系统设计 3)D/A转换设计 系统的D/A转换电路,如图7-19所示。7.5实用波形输出仪系统设计图7-19系统D/A实现电路 本系统由VREF提供参考电压,相应参考电流为I=VREF/R1。电容C4提供补偿,OUT端输出电流,经过LM324运算放大器转换成电压。 所以输出电压:7.5实用波形输出仪系统设计 4)电压变换设计 采用LM324组成的信号转换电路原理图如图7-20所示。7.5实用波形输出仪系统设计图7-20系统信号转换电路 完整电路原理图,如图7-21所示。 7.5实用波形输出仪系统设计图7-21Proteus中系统完整电路原理图7.5.2程序设计1.总体设计 系统的软件包括几个程序模块:初始化程序、显示程序、键盘扫描与处理程序、定时器0服务程序、正弦波发生及其服务程序、三角波发生程序、方波发生程序和锯齿波发生程序。7.5实用波形输出仪系统设计2.各功能模块程序设计 1)系统初始化程序设计 程序能完成如下工作: 显示2秒的00000000初始化界面。 初始频率设置为1000Hz。 将频率值转换成定时器的初值,设置方式寄存器TMOD,使定时器0工作于方式1,即16位定时器方式。 设置定时器0的两个8位寄存器TH0和TL0,写入定时器0定时初值,然后设置定时器/计数器的控制寄存器TCON,启动定时器0工作。 让8位共阴极数码管显示初始频率(1000Hz)和产生波形的类型(波形1:正弦波,波形2:三角波,波形3:方波,波形4:锯齿波)。 转键盘扫描程序。7.5实用波形输出仪系统设计 系统初始化程序流程如图7-22所示。7.5实用波形输出仪系统设计图7-22初始化流程图 2)键盘扫描程序设计 单片机系统中,键盘扫描是CPU工作的主要内容之一。单片机对它的控制有三种方式:程序控制扫描方式、定时扫描工作方式、中断工作方式。 本系统采用程序控制扫描工作方式。系统中的键盘行列线连接于AT89C51的P1口上。键盘扫描程序自复位后就开始工作,时刻监视键盘有无键按下。在监视键盘过程中,允许定时器T0中断,即同时动态显示数据和输出波形。一旦有键按下,先延时10ms,去除键的抖动,然后关中断,不允许定时器T0发生中断。 键盘扫描程序流程图如图7-23所示。7.5实用波形输出仪系统设计7.5实用波形输出仪系统设计图7-23键盘扫描流程图 键盘处理程序键值解释如表7-6所示。7.5实用波形输出仪系统设计表7-6键盘处理程序 3)中断服务程序设计 采用定时器T0定时中断,根据不同的choice值,产生不同的波形。其中方波的占空比可以通过K变量来控制。 定时器的初值可以这样计算: f=100000*ww+1000*qw+100*bw+10*sw+gw; t=1000000/f; th=-t/256; //定时器高八位值 tl=-t%256; //定时器低八位值7.5实用波形输出仪系统设计 4)正弦波发生程序设计 DAC0832是8位D/A转换器件,其工作电压是0~5V。当输入数字量00H时,输出为0V电压;当输入数字量80H时,输出为2.5V电压;当输入数字量FFH时,输出为5V电压。单片机的I/O输出均为+5V的TTL电平,因此产生的正弦波幅值为+2.5V。将一个周期内的正弦波形等分为256份,即为256个点,那么第1点的角度为0°,对应的正弦值为2.5sin0°;第2点的角度为360°/256,对应的正弦值为2.5sin(360°/256),……,如此计算下去。将这些模拟量正弦值都转换为单极性方式下的数字量,得到一张按照点号顺序排列的正弦波波形数据表。而每次送到74LS373的八位二进制数字量是根据正弦波形数据表而得到的。7.5实用波形输出仪系统设计 其实在计算正弦波形数据的时候,并不需要算出整个0~2π区间的每一个正弦量值,而只需计算出0~π/2中的值,其他区间的值通过转换0~π/2中的值得到。比如π/2~π的值可以和0~π/2值一一对应,而π~2π的值可以对0~π区间的值取反得到。计算值可以用C语言编程得到。 幅度公式为Y=2.5[1+sin(90N/64)](N=0,1,2,……,64),相应的Y值数字化后的递增量δ=5/255≈0.0196,这样每一个点相对于前一个点的递增率为A=(Y2-Y1)/δ(Y2为当前的点,Y1为前一个点)。 所以每一个点的数字量与递增率A成一一对应关系。7.5实用波形输出仪系统设计数字量化C程序:#include<math.h>main(){intn,i=0,j,k;floaty=0,a=3.1415926,b=0,c=2.5000,d=0;for(n=0;n<=64;n++){ y=2.5*sin(a*n/128)+2.5; b=y; //b,y为当前幅度值 d=b-c; //d为递增率 j=d/0.0196; //j为数字递增率,0.0196为δ k=128+j; //k为数字量 printf(“%d,%f,%f,%d,%d\n”,i,y,d,j,k); i++;}}7.5实用波形输出仪系统设计7.5实用波形输出仪系统设计表7-7正弦波形数据表正弦波形数据表如表7-7所示。7.5实用波形输出仪系统设计(续前表)7.5实用波形输出仪系统设计(续前表) 5)三角波发生程序设计 由于三角波的函数值比较容易计算,所以不必要像正弦波那样使用表格。可直接通过如下程序段获得。 elseif(wave_choice==2)//三角波 { if(c<=128) { P0=c; } else { P0=255-c; } c++; }7.5实用波形输出仪系统设计 6)方波发生程序设计 方波发生程序通过延时的方法实现,只用一个主程序即可。因为产生一个方波只需要高、低电平,所以程序比较简单。先给定一个频率,再计算所需的延时即可。实现方波的程序如下: elseif(wave_choice==3)//方波 { k=zk*256/100; d++; if(d<=k) {P0=0x00;} else {P0=0xff;}}7.5实用波形输出仪系统设计 7)锯齿波发生程序设计 锯齿波中的斜线用一个个阶梯波来逼近,在一个周期内从最小值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。选择适当的循环时间,可以得到不同周期的锯齿波。锯齿波发生原理与方波类似,只是高低电平两个延时的常数不同,所以用延时法来产生锯齿波。 elseif(wave_choice==4)//锯齿波 { if(e<=255) {P0=255-e;} else {P0=0;} e++; }7.5实用波形输出仪系统设计7.5.3Proteus调试与仿真 (1)要产生一个波形,正确的操作过程如下: ①在接通电源后,电源指示灯亮,按下复位键,显示器显示“00000000”。 ②输入波形代号:按下键盘上的BX键,同时在显示器第三位上将显示所键入的数字,这个数字被认为是选定的波形代号。 ③选好波形后,由于GW、SW、BW、QW、WW分别对应频率的个位、十位、百位、千位、万位。选择相应的按键,进行频率调整。 ④频率值最多输入5位,从0001到50000。 ⑤输入完波形代号与频率后,输出端将产生想要的波形及相应的频率。7.5实用波形输出仪系统设计 (2)初始界面显示00000000,如图7-24所示; (3)频率为1000Hz的正弦波仿真结果如图7-25所示;7.5实用波形输出仪系统设计图7-24初始化仿真窗口图7-25正弦波仿真输出 (4)频率为1000Hz的三角波仿真结果如图7-26所示; (5)占空比为50%、频率为1000Hz的方波仿真结果如图7-27所示;7.5实用波形输出仪系统设计图7-26三角波仿真输出图7-27方波仿真输出 (6)频率为1000Hz、1007Hz的锯齿波仿真结果如图7-28所示。7.5实用波形输出仪系统设计图7-28锯齿波仿真输出谢谢观看!
本文档为【Proteus实例教程 教学课件 ppt 作者 朱清慧、陈绍东 Proteus实例教程课件-第7章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
科技制造的艺术美
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2019-09-19
浏览量:33