资源描述:
《Proteus教程——电子线路设计、制版与仿真(第2版) 教学课件 作者 978-7-302-25687-8第7章 其它类型单片机系统的Proteus设计与仿真.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章其它类型单片机系统的Proteus设计与仿真7.1PIC单片机与字符液晶显示器的接口7.1.1Proteus电路设计7.1.2源程序清单7.1.3Proteus调试与仿真7.2PIC单片机间的串口通信7.2.1Proteus电路设计7.2.2源程序清单7.2.3Proteus调试与仿真7.3AVR单片机AD转换7.3.1Proteus电路设计7.3.2源程序清单7.3.3Proteus调试与仿真7.4基于AVR单片机的直流电机控制电路7.4.1Protues电路设计7.4.2源程序清单7.4.3
2、Protues调试与仿真7.5ARM入门介绍7.5.1Proteus电路设计7.5.2源程序清单7.5.3Proteus调试与仿真7.1PIC单片机与字符液晶显示器的接口内容:利用PIC单片机16F877驱动字符液晶显示器LM016L输出显示两行字符:“ProteusSTUDY”“PIC16F877SYSTEM”每隔4秒种刷新一次显示。背景知识:已掌握MPLABIDE开发软件的使用方法;了解字符液晶显示器的工作原理与使用方法。训练目的:掌握PIC16F877单片机接口电路的设计方法;掌握单片机驱动字符
3、液晶显示器的编程方法。7.1.1Proteus电路设计1.元件清单列表打开ProteusISIS编辑环境,按表7-1所列的清单添加元件。元件名称所属类所属子类PIC16F877MicroprocessorICsPIC16FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneous-RESResistorsGenericLM016LOptoelectronicsAlphanumericLCDsBUTTONSwitches&
4、RelaysSwitches表7-1元件清单2.LM016L液晶模块介绍LM016L是字符型液晶显示器,分两行显示,每行显示16个字符。其原理图符号、引脚和属性如图所示。第一行字符的地址为80H~8FH,第二行字符的地址为C0H~CFFH。工作频率为250kHz。元件引脚功能说明:(1)数据端D7~D0;(2)RS=0选择指令寄存器,RS=1选择数据寄存器;(3)RW=0进行写操作,RW=1进行读操作。元件全部添加后,在ProteusISIS的编辑区域中按图7-2所示的原理图连接硬件电路。3.电路原理
5、图图7-2电路原理图7.1.2源程序清单源程序清单:PCLEQU2HSTATUSEQU3HPORTAEQU5HPORTBEQU6HTRISAEQU85HTRISBEQU86HADCON1EQU9FHZEQU2RP0EQU5RP1EQU6RSEQU0RWEQU1EEQU2COUNTEQU24HTMP1EQU25HORG0000HNOPGOTOMAINORG0008HTABLE:ADDWFPCL,1;取第一行的显示码DT20H,50H,52H,4FH,54H,45HDT55H,53H,20H,20H,53
6、H,54H,55H,44HDT59H,00HTABLE1:ADDWFPCL,1;取第二行的显示码DT50H,49H,43H,31H,36H,46H,38H,37HDT37H,20H,53H,59H,53H,54H,45H,4DH,00HMAIN:BSFSTATUS,RP0MOVLW00HMOVWFTRISAMOVWFTRISB;定义RA、RB口为输出BCFSTATUS,RP0CALLDELAY1MOVLW01HMOVWFPORTB;清屏CALLENABLEMOVLW38HMOVWFPORTB;8位2行
7、5×7点阵CALLENABLEMOVLW0FHMOVWFPORTB;显示器开,光标开,闪烁开CALLENABLEMOVLW06H;文字不动,光标自动右移MOVWFPORTBCALLENABLEMOVLW80HMOVWFPORTB;第一行的位置CALLENABLECALLWRITE1;调用送第一行数据子程序MOVLW0C0HMOVWFPORTB;第二行的位置CALLENABLECALLWRITE2;调用送第二行数据子程序CALLDELAY2;调用延时2GOTOMAIN;循环执行上述程序WRITE1:CL
8、RFCOUNT;送第一行数据子程序入口WRITE_A:MOVWFCOUNTCALLTABLEMOVWFTMP1CALLWRITE3INCFCOUNT,1MOVFWTMP1XORLW00HBTFSSSTATUS,ZGOTOWRITE_ARETLW0WRITE2:CLRFCOUNT;送第二行数据子程序入口WRITE2_A:MOVWFCOUNTCALLTABLE1MOVWFTMP1CALLWRITE3INCFCOUNT,1MOVFWTMP1XORLW00HBT