传感器proteus虚拟实验.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE # / 21 《传感器原理与应用》实验指导书 Proteus-Vl. 0 版本 实验1 :基于DS18B20传感器温度测量实验 步骤:(1)在Proteus款件画出电路图 (2)用keil C软件写出C程序,并生成.hex文件,导入封单片机当中,避行仿真,观察 结果? “皿P1.1/T2EX PI 2Pl.3PUP1.5PI 6P1.7P5EHAIEXTAL1 “皿 P1.1/T2EX PI 2 Pl.3 PU P1.5 PI 6 P1.7 P5EH AIE XTAL1 心間 P2ZW P2^A11 P24/AI2 P2^A13 P2AI4 P?7^A15 P3Q砌 R3.UW P3 2/1N7D P3 3荷 P3.O P3.迎 pavS P3海 POQtAEO TO1JAD1 AJ皿2 R3.-W3 TOliAEM KQM6 包括:2个头文件LCD 1602. h和DS18B20.h; I个源文件LCD_18b20.c;代码如下 LCD1602.h : #include at89x51.h//用 AT89C51 时就用这个头文件 //#include reg52.h〃用华邦W78E58B时必须用这个头文件 ^include intrins. h 〃注意那个LCD.WaitO函数.它是判”忙”标志的,在実际硬件要把注掉的那种打开 //Port Defini tions***********************************粉料**紺粉************* sbit LcdRs =P2*0; sbit LcdRw =P21; sbit LcdEn =P22 sfr DBPort =0x80: 〃P0=0x80, Pl =0x90, P2=0xA0, P3=0xB0.歎据端 口 〃部 等 待 函 数 ************************************************************************** unsigned char LCDJfait(void) LcdRs=O; LcdRw二1; 项op.(); LcdEn=l; _nop.(); //while(DBPort0x80);//在用Proteus仿真时,注意用屏蔽此语句,在调用GotoXYO 时,会逬入死循环, 〃可能在写该控制字时,该模块没有返回写入完备命令,即 DBPort0x80==0x80 //実际硬件时打开此语句 LcdEn=0: return DBPort: // 向 LCD *******************************************************朴*** ^define LCD_COMMANDdefine LCD.DATA ^define LCD_COMMAND define LCD.DATA Sdefine LCD_CLE.\R_SCREEN #define LCD_HOM1NG void LCD_Writc(bit style. 0 // Command 1 // Data 0x01 〃清屏 0x02 //光标返回原点 unsigned char input) LcdEn=0; LcdRs二style; LcdRw二0; .nop.(); DBPor t = input: _nop.(); 〃注意顺序 LcdEn= 1: .nop.(): 〃注意顺序 LcdEn=0; _nop_(); LCD.WaitO; //设 置 显 示模式************************************************************ 彳define LCD.SHOW 0x04 〃显示开 #define LCD.HIDE 0x00 〃显示关 ^define LCD-CURSOR 0x02 〃显示光标 ^define LCD_ 虬 CURSOR 0x00 //无光标 #define LCD_FLASH 0x01 〃光标闪动 #define LCD.NO^FLASH 0x00 〃光标不闪动 void LCD_Sct Di splay (unsigned char Di splay Mode) ( LCD.Write(LCD.COMMAND, 0x081 DisplayMode); 〃设 置输入模式 ************************************************************ ^define LCD.AC_UP #define LCD.AC.DOWN 0x02 0x00 // default ^define LCD.MOVE 0x01 //画面可平移 :def in

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地广西
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档