单片机课程设计 5单片机系统设计实例0.ppt

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

设计实例 1、用1个LED发光二极管,设计一个循环闪烁的指示灯。 2、用8个LED发光二极管,设计一个循环闪烁的流水灯。 3、通过设置中断,改变灯的循环方向,控制灯的亮灭。 4、通过定时,精确控制P1.0闪烁500ms。 5、以秒为单位,用LED数码管显示当前计数值。 1、用1个LED发光二极管,设计一个循环闪烁的指示灯。 1.1硬件设计 1.2软件设计 1)初始化 51头文件、宏定义 2)主程序,即main()程序 灯的亮灭控制 3)延时功能 延时子程序设计 #include #define uint unsigned int #define uchar unsigned char 2、用8个LED发光二极管,设计一个循环闪烁的流水灯。 2.1硬件设计 2.2软件设计 1)初始化 51头文件、宏定义 2)主程序,即main()程序 灯的循环闪亮控制 3)延时功能 延时子程序设计 如何进行灯的循环闪亮控制? intrins.h 内部函数库 包含变量循环移位、位操作等函数 需要将该函数包含进来,同时对函数原型进行声明。 #include uchar _crol_ uchar a,uchar n ; /*函数原型,左循环*/ uchar _cror_ uchar a,uchar n ; /*函数原型,右循环*/ 3、通过设置中断,改变灯的循环方向,控制灯的亮灭。 3.1硬件设计 1)中断的概念 中断技术是计算机中一项很重要的技术。 中断系统的功能是为了解决快速CPU和慢速外设间的矛盾,它由软件和硬件组成。 有了中断系统,能使计算机的功能更强、效率更高、使用更灵活。 51单片机系统有5个中断源。 2)日常中断的例子 3)计算机中的中断概念 4)相关的特殊功能寄存器 3.2软件设计 1)初始化 51头文件、宏定义 2)主程序,即main()程序 灯的循环闪亮控制 中断初始化 3)延时功能 4)中断服务程序设计 3.2软件设计 中断初始化 触发方式设置 中断允许控制 中断服务程序设计 中断初始化 IT0 1; EA 1; EX0 1; 中断服务程序 函数名()interrupt n [using m ] Void int0 void interrupt 0 /* 外部中断0的服务函数定义,使用第二组工作寄存器组*/ void int0 void interrupt 0 uchar a 0xfe,i 16; P1 0x0; delay 5000 ; P1 0x0ff; delay 5000 ; P1 0x0; delay 5000 ; P1 0x0ff; delay 5000 ; do P1 a; delay 5000 ; a _cror_ a,1 ; while i-- ; 4、通过定时,精确控制闪烁500ms。 针对任务一进行操作。 使用定时器T0 1)设置定时器工作方式 2)计算初始值 3)编写初始化程序 4)编写中断服务程序 1)设置定时器工作方式 2)计算初始值 晶振12Mhz 1个机器周期: 3)编写初始化程序 TMOD 0X01; TH0 0X3C; TL0 0XB0; EA 1; ET0 1; TR0 1; 4)编写中断服务程序 Void timer0 void interrupt 1 TH0 0x3c; TL0 0xb0; i++; if i 9 i 0; P1_0 ~P1_0; 5、以秒为单位,用LED数码管显示当前计数值。 LED数码管显示电路原理 要显示某个字形,就应使此字形的相应断码的二极管点亮,实际就是送一个用不同电平组合代表的数据字(显示码)来控制LED的显示,此数据称为字符的段码或字形码。 共阴极和共阳极LED显示器段码不同。 管脚识别小技巧: 用万用表测一下就可以了。数码管分为共阴极和共阳极。以共阴极为例: 先用万用表的正极(对于数字万用表为红色表笔)放在某一个管脚,另外一个负极依次去测量其他管脚。若没有一个管脚亮,说明正极接的是公共端(COM)。若亮,根据发光位置就可以判断引脚了,正极接的是相应的段码端(a,b,c,……,dp),负极为对应数码管的公共端(C1,C2)。 5.1硬件设计 如果每个LED上要显示的数字不同,那么它在同一时刻是不能同时显示的。 用这种数码管都是动态显示的。(可以到网上去看下动态显示) 比如4个LED上要显示1234(假设是共阴极连接) 4个LED上显示1234(假设共阴极连接) 过程如下: 首先选种第一个LED(即上面C1 0,C2 1,C3 1,C4 1 送LED要显示的数

文档评论(0)

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

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

1亿VIP精品文档

相关文档