单片机开发系统使用4

单片机开发系统使用4

ID:43578669

大小:360.00 KB

页数:36页

时间:2019-10-11

单片机开发系统使用4_第1页
单片机开发系统使用4_第2页
单片机开发系统使用4_第3页
单片机开发系统使用4_第4页
单片机开发系统使用4_第5页
资源描述:

《单片机开发系统使用4》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、公选课——《单片机应用实训》设计实例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)延时功能延

2、时子程序设计#include#defineuintunsignedint#defineucharunsignedcharvoidmain(void){while(1){P1_0=0;delay(5000);P1_0=1;delay(5000);}}voiddelay(uintt)//延时0.1*t毫秒{uinti;do{for(i=0;i<10;i++);}while(t--);}voiddelay(uintt);//声明函数2、用8个LED发光二极管,设计一个循环闪烁的流水灯。2.1硬件

3、设计2.2软件设计1)初始化51头文件、宏定义2)主程序,即main()程序灯的循环闪亮控制3)延时功能延时子程序设计如何进行灯的循环闪亮控制?intrins.h内部函数库(包含变量循环移位、位操作等函数)需要将该函数包含进来,同时对函数原型进行声明。#includeuchar_crol_(uchara,ucharn);/*函数原型,左循环*/uchar_cror_(uchara,ucharn);/*函数原型,右循环*/#includeuchar_crol_(ucha

4、ra,ucharn);/*函数原型*/uchar_cror_(uchara,ucharn);/*函数原型,右循环*/voidmain(void){uinta=0xfe;while(1){P1=a;delay(5000);a=_crol_(a,1);}}3、通过设置中断,改变灯的循环方向,控制灯的亮灭。3.1硬件设计1)中断的概念中断技术是计算机中一项很重要的技术。中断系统的功能是为了解决快速CPU和慢速外设间的矛盾,它由软件和硬件组成。有了中断系统,能使计算机的功能更强、效率更高、使用更灵活。51单片机系统有5

5、个中断源。2)日常中断的例子你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。3)计算机中的中断概念中断是指由于某种随机事件(甲方)的发生,计算机(乙方)暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。4)相关的特殊功能寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0IE0/IE1:外部中断申请标志位:=0:

6、没有外部中断申请;=1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效.EA—ET2ESET1EX1ET0EX0IEEX0/EX1位:分别是INT0/INT1的中断允许控制位:=0时禁止中断;=1时允许中断。EA:总的中断允许控制位(总开关):=0时禁止全部中断;=1时允许中断。3.2软件设计1)初始化51头文件、宏定义2)主程序,即main()程序灯的循环闪亮控制中断初始化3)延时功能4)

7、中断服务程序设计3.2软件设计中断初始化触发方式设置中断允许控制中断服务程序设计中断初始化IT0=1;EA=1;EX0=1;中断服务程序函数名()interruptn[usingm]{}Voidint0(void)interrupt0/*外部中断0的服务函数定义,使用第二组工作寄存器组*/voidint0(void)interrupt0{uchara=0xfe,i=16;P1=0x0;delay(5000);P1=0x0ff;delay(5000);P1=0x0;delay(5000);P1=0x0ff;del

8、ay(5000);do{P1=a;delay(5000);a=_cror_(a,1);}while(i--);}4、通过定时,精确控制闪烁500ms。针对任务一进行操作。使用定时器T01)设置定时器工作方式2)计算初始值3)编写初始化程序4)编写中断服务程序1)设置定时器工作方式GATEC/TM1M0GATEC/TM1M0TMOD000000012)计算初始值晶振12Mhz1个机器周期

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。