《(中职)单片机基础与技能实训项目四 制作定时器电子课件().pptx》由会员分享,可在线阅读,更多相关《(中职)单片机基础与技能实训项目四 制作定时器电子课件().pptx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、YCF(中职)单片机基础与技能实训项目四 制作定时器电子课件项目四项目四 制作定时器制作定时器第第13、14课时课时 让让单个数码管显示数字单个数码管显示数字任务情境任务情境 学校安排两个星期的短期实习,祝宗雪等几位同学被分配到一家电子万年历生产厂家。第一天,在生产车间里,小祝和同学们看到各种各样如下图所示的元器件,工人把这些元器件安装到电子钟上,就能够显示各个数字。他们对这个小玩意都很感兴趣,而指导老师却要求给每个同学拿出万用表,要上实习阶段的第一堂课。那些小玩意是什么?拿万用表有什么用呢?任务描述任务描述 制作单个数码管显示电路,让数码管显示数字。画一画画一画画出单个数码管显示电路。测一测
2、测一测检测数码管,判断其类型(共阴极/共阳极),并在下图中标出各个管脚的名称。填一填填一填以共阴极数码管为例,与单片机连接电路如图4-1-1所示,在下表中填写各个管脚的电平和P0口的输出数据(用十六进制数表示),使数码管显示相应字符。字符dpgfedcbaP00001111110 x3f102030405060708090a0b0c0d0e0f0共阳极(阳码)和共阴极(阴码)数码管的编码编一编编一编编写程序,让数码管显示任意一个数字。填一填填一填完成以下程序,让数码管循环显示0-9。#include unsigned char b,i;unsigned int a;unsigned char
3、code tabledu=,;void display();void delay()for(a=5000;a0;a-)for(b=100;b0;b-);void main()i=0;while(1)if(i=)i=;display();i ;delay();void display()P0=;调一调调一调在项目一制作的单片机最小应用系统的基础上制作本电路,编译、烧录程序,并将烧入程序的单片机安装到电路中,接通电源进行调试。第第15、16课时课时 让让多个数码管显示数字多个数码管显示数字任务情境任务情境这两天的实习,祝宗雪和同学们知道了如何用单片机控制数码管显示数字,但同时他们又发现一个问题:电
4、子钟上有很多数码管,而单片机只有一块,如何用有限的I/O口控制这么多数码管呢?带着这个疑问,小祝和同学们开始了第三天的实习生活。任务描述任务描述 制作四位数码管显示电路,使四个数码管分别显示0、1、2、3。连一连连一连连接以下电路,要求用P0口和P3口让四位数码管实现动态显示。想一想想一想数码管动态显示的原理是什么?连一连连一连开启单片机的定时器中断时,不同的定时器以及不同的工作方式,需要对TMOD进行不同的赋值,将以下的TMOD赋值和相应的工作方式进行连线。TMOD的赋值 工作方式 0 x00 T0方式1 0 x01 T0方式0 0 x03 T1方式1 0 x10 T0方式4 0 x20 T
5、1方式2写一写写一写若单片机的频率为12MHz,写出定时2ms的初始化程序。(用定时器T1方式1)画一画画一画绘制程序流程图。num=0,数码管显示ii加1中断产生num加1恢复定时器初值打开定时器给num和i赋初值0num=20i=3真假i=0假开 始填一填填一填完成以下程序,实现任务描述的效果。#include unsigned char num,i;unsigned char code tabledu=0 x3f,0 x06,0 x5b,0 x4f;unsigned char code tablewe=0 xfe,0 xfd,0 xfb,0 xf7;void display();void
6、 main()num=0;i=0;TMOD=;/使用定时器T1,工作方式1TH1=(65536-50)/256;TL1=(65536-50)%256;while(1);void time1()interrupt 3 using 1TH1=(65536-50)/256;TL1=(65536-50)%256;num ;if(num=20)num=;display();if(i=)i=0;else i+;void display()P2=tablewei;P0=tabledui;调一调调一调在项目一制作的单片机最小应用系统的基础上制作本电路,编译、烧录程序,并将烧入程序的单片机安装到电路中,接通电源
7、进行调试。第第1719课时课时 完完成成60秒定时器的制作秒定时器的制作任务情境任务情境 时间过得很快,转眼两个星期的实习生活只剩最后两天了,为了检测学生的实习情况,指导老师要求大家制作一个与电子钟相关的显示电路,祝宗雪同学准备用两个数码管和单片机最小单元制作一个实用电路,他会交出一份什么样的答卷呢?任务描述任务描述 制作一个60秒定时器,要求:定时/计数器T1产生1秒定时,用复位开关控制定时启动,60秒到停止计数。画一画画一画连接以下电路图,要求使用P0口和P3口控制两位数码管实现动态显示。议一议议一议如何使用定时器产生1秒的定时?写一写写一写写出以下运算符的含义。1、%2、/说一说说一说s
8、witch-case 语句的执行流程。switch(表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default:语句n+1;break;画一画画一画绘制程序流程图。假count=0假count加1i=0t=0假t加1中断产生恢复定时器初值i加1打开定时器给i、t和count赋初值0t=20真真真显示count开 始i大于等于1count=60填一填填一填完成以下程序,实现任务描述里所说的效果。#include unsigned char i,count;unsigned int t;unsigned
9、 char code tabledu=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char code tablewe=0 xfe,0 xfd;void display();void main()i=0;t=0;count=0;TMOD=0 x10;TH1=;TL1=;EA=1;ET1=1;TR1=1;while(1);void time1()interrupt 3 using 3 TH1=;TL1=;t+;if(t=)t=0;if(count=1)i=0;else i+;void display(void)switch(i)case 0:P2=tablewe0;P0=tabledu ;break;case 1:P2=tablewe1;P0=tabledu ;break;default:break;调一调调一调在项目一制作的单片机最小应用系统的基础上制作本电路,编译、烧录程序,并将烧入程序的单片机安装到电路中,接通电源进行调试。