欢迎来到天天文库
浏览记录
ID:53620018
大小:245.00 KB
页数:44页
时间:2020-04-22
《单片机应用系统设计实例.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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()程序灯的亮灭
2、控制3)延时功能延时子程序设计#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发光二极管,设
3、计一个循环闪烁的流水灯。2.1硬件设计2.2软件设计1)初始化51头文件、宏定义2)主程序,即main()程序灯的循环闪亮控制3)延时功能延时子程序设计如何进行灯的循环闪亮控制?intrins.h内部函数库(包含变量循环移位、位操作等函数)需要将该函数包含进来,同时对函数原型进行声明。#includeuchar_crol_(uchara,ucharn);/*函数原型,左循环*/uchar_cror_(uchara,ucharn);/*函数原型,右循环*/#include4、NTRINS.H>uchar_crol_(uchara,ucharn);/*函数原型*/uchar_cror_(uchara,ucharn);/*函数原型,右循环*/voidmain(void){uinta=0xfe;while(1){P1=a;delay(5000);a=_crol_(a,1);}}3、通过设置中断,改变灯的循环方向,控制灯的亮灭。3.1硬件设计1)中断的概念中断技术是计算机中一项很重要的技术。中断系统的功能是为了解决快速CPU和慢速外设间的矛盾,它由软件和硬件组成。有了中断系5、统,能使计算机的功能更强、效率更高、使用更灵活。51单片机系统有5个中断源。2)日常中断的例子你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。3)计算机中的中断概念中断是指由于某种随机事件(甲方)的发生,计算机(乙方)暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。4)相关的特殊功能寄存器TCONTF1T6、R1TF0TR0IE1IT1IE0IT0IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效.EA—ET2ESET1EX1ET0EX0IEEX0/EX1位:分别是INT0/INT1的中断允许控制位:=0时禁止中断;=1时允许中断。EA:总的中断允许控制位(总开关):=0时禁止全部中断;=1时允许中断。3.2软件设计17、)初始化51头文件、宏定义2)主程序,即main()程序灯的循环闪亮控制中断初始化3)延时功能4)中断服务程序设计3.2软件设计中断初始化触发方式设置中断允许控制中断服务程序设计中断初始化IT0=1;EA=1;EX0=1;中断服务程序函数名()interruptn[usingm]{}Voidint0(void)interrupt0/*外部中断0的服务函数定义,使用第二组工作寄存器组*/voidint0(void)interrupt0{uchara=0xfe,i=16;P1=0x0;delay(58、000);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。针对任务一进行操作。使用定时器T01)设置定时器工作方式2)计算初始值3)编写初始化程序4)编写中断服务程序1)设置定时器工作方式GATEC/TM1M0GATEC/TM1M0TMOD000000012)计算初始值晶振12Mhz1个机器周
4、NTRINS.H>uchar_crol_(uchara,ucharn);/*函数原型*/uchar_cror_(uchara,ucharn);/*函数原型,右循环*/voidmain(void){uinta=0xfe;while(1){P1=a;delay(5000);a=_crol_(a,1);}}3、通过设置中断,改变灯的循环方向,控制灯的亮灭。3.1硬件设计1)中断的概念中断技术是计算机中一项很重要的技术。中断系统的功能是为了解决快速CPU和慢速外设间的矛盾,它由软件和硬件组成。有了中断系
5、统,能使计算机的功能更强、效率更高、使用更灵活。51单片机系统有5个中断源。2)日常中断的例子你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。3)计算机中的中断概念中断是指由于某种随机事件(甲方)的发生,计算机(乙方)暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。4)相关的特殊功能寄存器TCONTF1T
6、R1TF0TR0IE1IT1IE0IT0IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效.EA—ET2ESET1EX1ET0EX0IEEX0/EX1位:分别是INT0/INT1的中断允许控制位:=0时禁止中断;=1时允许中断。EA:总的中断允许控制位(总开关):=0时禁止全部中断;=1时允许中断。3.2软件设计1
7、)初始化51头文件、宏定义2)主程序,即main()程序灯的循环闪亮控制中断初始化3)延时功能4)中断服务程序设计3.2软件设计中断初始化触发方式设置中断允许控制中断服务程序设计中断初始化IT0=1;EA=1;EX0=1;中断服务程序函数名()interruptn[usingm]{}Voidint0(void)interrupt0/*外部中断0的服务函数定义,使用第二组工作寄存器组*/voidint0(void)interrupt0{uchara=0xfe,i=16;P1=0x0;delay(5
8、000);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。针对任务一进行操作。使用定时器T01)设置定时器工作方式2)计算初始值3)编写初始化程序4)编写中断服务程序1)设置定时器工作方式GATEC/TM1M0GATEC/TM1M0TMOD000000012)计算初始值晶振12Mhz1个机器周
此文档下载收益归作者所有