- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流
您可能关注的文档
- 7.6压强、浮力、机械效率计算题.doc
- C综合题选上机C语言分类.doc
- 2012高考地理全国名校题集锦(三).doc
- 贵州省遵义四中2011届高三毕业班第二次月考(文数).doc
- 美国2012新车保值榜单.doc
- 第三章第一节酚2.ppt
- 建筑材料质量巡查材料品种、质量参数、执行标准要求.doc
- 运动是物质的根本属性MicrosoftPowerPoint演示文稿.ppt
- 且末县“三落实三保障”推动远程教育工作新发展.doc
- 竹柳的价值与用途.doc
- 武汉版生命安全教育七年级 第十一课 反对邪教与迷信 教案.doc
- 湖南省长沙市雅礼中2024届学高三下学期模拟试卷(一)政治试题 Word版含解析.docx
- 银行系统招聘考试综合知识(中国银行)模拟试卷1.docx
- 教师公开招聘考试(中学历史)模拟试卷27.docx
- 教师公开招聘考试(幼儿园-教育理论综合知识)模拟试卷40.docx
- 福建省事业单位招录行政职业能力测验(阅读理解)模拟试卷4.docx
- 事业单位招录公共基础知识(公文改错题、公文实务题)模拟试卷1.docx
- 事业单位招录公共基础知识(材料处理题)模拟试卷3.docx
- 爱国卫生活动工作总结参考8篇.docx
- 爱国卫生活动工作总结参考8篇.docx
文档评论(0)