3-单片机IO输出的驱动.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3-单片机IO输出的驱动

单片机IO输出的驱动 简单延时程序 子程序调用 带参数子程序设计 C51库函数的方便调用 如何驱动蜂鸣器 如何驱动继电器 集电极开路的概念及应用。 简单延时程序 最简单延时程序通过等待一段时间实现,具体延时时间跟晶振、等待次数都有关系 示例程序: void delay(void) { unsigned int i ; for (i = 0 ; i 100 ; i++); } 带参数子程序设计 带入口参数子程序 基本格式: void Delayms(unsigned int xms) //延时x ms { unsigned char i ; while( xms0) { xms--; for (i = 0 ; i 100 ; i++); } } 入口参数为指定延时时间xms 带参数子程序设计 带出口参数子程序 基本格式: int ADC(void) // AD转换函数 { unsigned int ADValue; … ADValue=?; … return(ADValue) } 函数返回结果为int格式的数据 带参数子程序设计 带入口、出口参数子程序 基本格式: int ADC(unsigned char Chn) // AD转换函数 { unsigned int ADValue; … ADValue=?; … return(ADValue) } 入口参数为指定AD转换的通道 函数返回结果为int格式的数据 C51库函数的方便调用 #include REG52.H /* 单片机特殊功能寄存器声明文件 */ #include stdio.h /* I/O函数声明文件*/ void main (void) { while (1) { … printf (Hello World\n); /* Print Hello World */ } } 如何驱动蜂鸣器 根据硬件原理图确定蜂鸣器的单片机控制引脚(受谁控制) 根据硬件原理图确定蜂鸣器的驱动电平(怎么控制) 在该电路中 低电平0:蜂鸣器打开 高电平1:蜂鸣器关闭 #include REG52.H /* 单片机特殊功能寄存器声明文件 */ sbit BEEP=P3^7; #define BeepON() BEEP=0 #define BeepOFF() BEEP=1 void Delayms(unsigned int xms); //延时x ms void main(void) { while(1) { BeepON() ; Delayms(500); BeepOFF() ; Delayms(500); } } 低电平0:蜂鸣器打开 高电平1:蜂鸣器关闭 蜂鸣器的控制 引脚为P3.7 如何驱动继电器 根据硬件原理图确定继电器的单片机控制引脚(受谁控制) 根据硬件原理图确定继电器的驱动电平(怎么控制) 在该电路中 低电平0:继电器吸合 高电平1:继电器断开 #include REG52.H /* 单片机特殊功能寄存器声明文件 */ sbit Relay=P3^6; #define RelayON() Relay=0 #define RelayOFF() Relay=1 void Delayms(unsigned int xms); //延时x ms void main(void) { while(1) { RelayON() ; Delayms(1000); RelayOFF() ; Delayms(1000); } } 低电平0:继电器吸合 高电平1:继电器断开 继电器的控制 引脚为P3.6 集电极开路典型图 集电极开路电路如图 电路特点: 外部需要接上拉电阻 可以多个输出并联 允许驱动继电器的较大电流负载 课后练习 第一个发光管以间隔200ms闪烁 8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。 8个发光管来回流动,第个管亮100ms,流动时让蜂鸣器发出“滴滴”声。 用8个发光管演示出8位二进制数累加过程。 8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。 间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。 间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档