版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院十、动态扫描显示技术课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课
上节课,我们基于单片机的最小应用系统完成了99马表的设计,它是采用静态数码显示的方式,具有编程简单、接线复杂、占用口线多等特点。
今天我们将在此基础之上,讲述动态数码显示技术,它是单片机应用里常用的显示方式。一、课程引入第二步:启发式引入新的问题:
前面我们讲过流水灯,当把延时改为ms级,流水灯现象是灯全亮,这其实就是动态扫描显示技术的雏形。(做铺垫)
大家请看用数码管做的流水灯的效果。一、课程引入当我们把延时时间变短到2ms时,现象如下:这就是动态扫描方式的数码显示!一、课程引入那么,请大家思考一下:(提问)(1)什么叫动态扫描数码显示?(2)它与流水灯的相通地方在哪里?(思政:把握事物内在联系)(3)数码显示技术的关键在哪?请大家一起讨论一下。(5分钟讨论,老师做总结发言)(1)动态扫描:多位数码管采用“并联”动态接口,通过对各数码管轮流循环点亮,实现多位数码显示。(2)相通:轮流循环点亮,利用了人眼的“视觉暂留”特性。(3)关键点:单片两个端口控制,一个发送位选数据,选择哪位数码管被点亮,另一个端口发送要显示字符的编码数据;点亮时间控制在毫秒级;不停地循环扫描第三步:提出这节课中心问题:怎样利用动态扫描显示的方式设计实现按键切换式数码显示“12345”、“HELLO”?二、Proteus仿真平台应用效果展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)1、任务要求:基于Proteus仿真平台,采用动态扫描显示技术显示多位字符串,例如“012345”、“HELLO”等。三、设计原理(25’重点与难点)2、动态扫描工作原理所谓动态扫描显示技术就是指:多位数码管采用“并联”接口,通过对各数码管轮流循环点亮,实现多位数码显示。当循环扫描显示频率较高时,利用人眼暂留特性,看不出闪烁显示现象。三、设计原理(25’重点与难点)3、系统设计(1)硬件电路设计P0口:数码管编码笔段端。
P2口:位选择端。
P1.7:一个开关。
当开关接高电平时,显示“12345”字样;
当开关接低电平时,显示“HELLO”字样。
电路原理图如图所示。三、设计原理(25’重点与难点)(2)软件程序编写
技巧:画出流程图!开始K1按键识别成功否?置显示“12345”字形码首地址置显示“HELLO”字形码首地址置字形码偏移量和位选代码查表并送出显示延时2ms,并指向下一个偏移量5个数码管显示完否?源程序:#include<AT89X51.H>unsignedcharcode
table1[]={0x06,0x5b,0x4f,0x66,0x6d};
unsignedcharcode
table2[]={0x76,0x79,0x38,0x38,0x3f};unsignedchari,j;unsignedchara,b;unsignedchartemp;
voidmain(void)
{
while(1)
{temp=0x20;
for(i=0;i<5;i++){if(P1_7==1){P0=table2[i];}else{P0=table1[i];}P2=~temp;temp=temp>>1;for(a=4;a>0;a--)for(b=248;b>0;b--){}P2=0xff;}}}提问:请大家讨论一下,怎样编写程序实现动态数码显示自己的学号?三、设计原理(25’重点与难点)四、演示实物运行效果:(3分钟演示)五、思考题与课外拓展:1、思考题:
基于Proteus软件仿真平台,怎样编写程序实现动态数码显示自己的学号?2、课外拓展:怎样实现数码滚屏显示效果,滚屏显示自己的学号?ThankYou!主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目9简易电子琴课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。
上节课我们讲了动态扫描技术,并应用于数码显示,它主要是利用人眼的视觉暂留特性和循环扫描的方法,具有电路简单、扩展性强的显著特点。一、课程引入第二步:启发式引入新的问题:这节课我们将应用矩阵键盘的识别方法编程实现一个16键电子琴。
首先,电子琴的基本功能、怎么实现发声、弹奏的?有多少同学喜欢音乐,会弹奏电子琴的,编曲的方法?(提问,总结大家发言,活跃气氛的同时,嵌入思政元素:中国古典音乐名曲“梁祝”,展示音乐的魅力)(1)音乐是许多不同的音阶组成的、每个音阶对应着不同的频率,分高音、中音、低音。(2)音乐的音拍,不同的曲调。(3)单片机用什么来实现音阶和音拍?第三步:提出这节课中心问题:怎样实现可以自由弹奏的电子琴?或者自动播放“梁祝”、“祝你平安”音乐。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
提问:怎样设计实现64键电子琴、或自动播放“梁祝”?三、基本原理(重点)
1、音乐产生的原理
音乐是许多不同的音阶组成的,每个音阶对应着不同的频率,不同频率的组合即音乐。
可以利用单片机定时器来产生这样频率信号。现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值。音符频率(HZ)简谱码(T值)
音符频率(HZ)简谱码(T值)低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400
#2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI196765283音符表T值表三、基本原理(重点)
1、音乐产生的原理
音乐以音拍为单位(C调),不同的曲调也可以用另一个定时器来实现。编程时,为这个音符建立一个数据表:低音0-19之间,中音在20-39之间,高音在40-59之间。TABLE: DW0,63628,63835,64021,64103,64260,64400,64524,0,0 DW0,63731,63928,0,64185,64331,64463,0,0,0 DW0,64580,64684,64777,64820,64898,64968,65030,0,0 DW0,64633,64732,0,64860,64934,64994,0,0,0 DW0,65058,65110,65157,65178,65217,65252,65283,0,0 DW0,65085,65134,0,65198,65235,65268,0,0,0 DW0三、基本原理(重点)
2、工作原理分析与实现
硬件电路设计:如图所示。P3口接4×4矩阵键盘,P1.0口输出音频信号。
软件实现:用两个定时器,其中T0用来产生音符频率,T1用来产生音拍,根据识别的按键功能,装入音符T初值到T0中,启动T0工作后,由T0中断来取反P1.0口输出音频,再通过LM386功率放大器推动喇叭发出音乐。
#include<AT89X51.H>unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedchartemp;unsignedcharkey,i,j;unsignedcharSTH0,STL0;unsignedintcodetab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};voidmain(void){TMOD=0x01;ET0=1;EA=1;
三、基本原理(重点)
3、软件程序
while(1){P3=0xff;
P3_4=0;//扫描第一行temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=0;break;case0x0d:
key=1;break;
case0x0b:
key=2;
break;
case0x07:key=3;
break;}
temp=P3;P1_0=~P1_0;P0=table[key];
STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;//开定时器temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&
0x0f;}//按键释放TR0=0;//关定时器}}P3=0xff;P3_5=0;//扫描下一行voidt0(void)interrupt1using0{TH0=STH0;TL0=STL0;P1_0=~P1_0;}提问:怎样拓展按键,实现播放“祝你平安”等音乐,并将其改编为我们的校歌。四、实物效果展示
五、思考题与课外拓展1、思考题:
(1)请总结是怎样在硬件与软件上实现发声的?(2)本程序中断子程序的调用是怎样进行的?(3)采用阵列式键盘设计实现64键电子琴。
2、课外拓展:
课后利用Proteus仿真平台,实现单片机播放“祝你平安”音乐,并将其改编为我们的校歌。课外拓展_查询式_8键电子琴课外拓展_“祝你平安”电子音乐发生器主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目10数字电压表-1.DA转换课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。
上节课我们讲了一个简易的16键电子琴。通过矩阵键盘的识别编程实现可以自由弹奏的电子琴,大家可以跟我一起看一下效果,进行一次复习回顾。提问:电子琴的设计哪些关键点:(1)高音、中音、低音,不同的音阶怎么实现?定时器装载不同T值。(2)音乐的音拍,不同的曲调怎么实现?定时器实现延时控制。一、课程引入第二步:启发式引入新的问题:
大家知道计算机主控属于数字器件,现实生活中,模拟信号是实际物理量的主要形式,所以计算机应用系统里缺乏不了信号处理前向通道和后向通道,那就是AD和DA。(顺利嵌入思政元素:采样、反馈与系统稳定性的关系)第三步:提出这节课中心问题:
怎样通过单片机控制DA转换器实现波形输出?比如:1kHZ的方波。提问:DA在现实生活中有什么用?(讨论后,总结发言):
(1)将计算机的数字信号变成模拟信号,控制开关、电机调速等。
(2)产生波形、线性控制DDS输出。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
提问:可以改变输出方波频率吗?三、基本原理(重点)
1、D/A转换器原理
DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构。三种工作方式:(1)直通方式(2)单缓冲方式(3)双缓冲方式DAC0832的地址为:FEFFH。三、基本原理(重点)
2、工作原理分析与流程图
单片机通过P2.0和写信号控制DAC0832工作在单缓存方式,发送数据00H转换成低电平,延时后发送数据FFH转换成高电平,通过改变延时程序可以改变方波的频率及占空比。
ORG0000HAJMPSTARTORG0030HSTART:MOVDPTR,#0FEFFH;置DAC0832的地址LP:
MOVA,#0FFH
;设定高电平
MOVX@DPTR,A
;启动D/A转换,输出高电平LCALLDELAY
;延时显示高电平MOVA,#00H
;设定低电平
MOVX@DPTR,A;启动D/A转换,输出低电平LCALLDELAY
;延时显示低电平SJMPLP
;连续输出方波DELAY:MOVR3,#11
;延时子程序D1:
NOPNOPNOPNOPNOPDJNZR3,D1RETEND三、基本原理(重点)
3、软件程序提问:如何改变方波信号的频率?四、实物效果展示利用实验箱,观察示波器测量输出波形周期和幅度,并与仿真结果进行比较。五、思考题与课外拓展1、思考题:
(1)计算输出方波的周期,并说明如何改变输出方波的周期。
(2)硬件电路不改动情况下,请编程实现输出波形锯齿波及三角波。2、课外拓展:
课后请大家利用Proteus仿真平台,编写程序实现输出1000Hz的方波信号。主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目10数字电压表-2.AD转换课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。
上节课我们讲了DAC0832的应用拓展方法,通过DAC应用实现输出方波等信号,大家可以跟我一起看一下效果,进行一次复习回顾。提问:DAC0832的应用编程具有哪些关键点:(1)控制总线怎么设计,地址线怎么编写?(2)输出方波的频率、波形怎么变?一、课程引入第二步:启发式引入新的问题:
前面我们已经学习了DAC设计应用方法,作为前向通道的AD应用更为广泛,主要用于信号的采集,现在的嵌入式芯片基本都会集成这样的AD和DA模块。举例:STM32、CC2530。(嵌入思政元素:高端处理器进口受卡,我辈当自强,国产STC、高速EDA设计软件需要大家的支持,才能发展壮大。)一、课程引入第三步:提出这节课中心问题:
怎样通过单片机控制AD转换器实现模拟量的采样与显示?例如:将0~5V线性电压转换成数据00-ffH显示。提问:AD在现实生活中有什么用?(学生讨论后,总结发言)
(1)将模拟信号变成数字信号,电压量的数据采集,温度采集等。
(2)将传感器采集到的模拟量转换成数字量,输入给计算机系统处理,实现智能控制与管理。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
提问:可以变成电压显示吗?三、基本原理(重点)
1、AD转换器原理
ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,每采集一次需100us。ADD-ABC:地址码输入端。START:启动端\正脉冲。EOC:转换结束信号输出端。OE:转换结果输出使能端。根据电路图连线,ADC0809的一个典型地址为 :0FEF3H。三、基本原理(重点)
2、工作原理分析与流程图
两个或非门构成了读写信号控制的片选端,单片机通过P2.0实现对ADC0809的读写控制操作,通过低三位地址线选择IN3通道的模拟量输入,单片机经过写信号启动AD转换器,ADC0809将输入的模拟电压2.5V转换成数据量7FH后,发送转换完成信号给单片机,单片机启动读操作,之后进行显示数据处理后送出显示。DBUF
EQU30HTEMP
EQU40HDIN
BITP1.0CLK
BITP1.1ORG
0000HLJMPSTARTORG0030HSTART:MOVR0,#DBUF;显示缓冲区
MOV@R0,#0AH
;行串静态显示“ADXX”XX表示0~FINC
R0MOV@R0,#0DHINC
R0MOV@R0,#010HINC
R0
MOV
DPTR,#0FEF3H ;A/D地址MOVA,#0 ;清零
MOVX@DPTR,A ;启动A/D
JB
P3.3,$;等待转换结束MOVX
A,@DPTR;读入结果MOV
P1,A ;转换结果送入发光二极管显示
MOV
B,A
;累加器内容存入B中SWAP
A
;A的内容高四位与低四位交换ANLA,#0FH
;A的内容高四位清零XCH
A,@R0
;A/D转换结果高位送入DBUF3INC
R0MOVA,B
;取出A/D转换后的结果ANL
A,#0FH;A的内容高四位清零XCH
A,@R0
;结果低位送入DBF4中ACALL
DISP1;串行静态显示“ADXX”ACALL
DELAY;延时AJMP START三、基本原理(重点)
3、软件程序提问:改变信号采集的通道,如何编程实现AD采样?四、实物效果展示利用实验箱,调节模拟信号输入端的电位器旋钮,表示输入电压0-5v,显示值随着变化,顺时针旋转值增大,AD转换值的范围是00~FFH。。五、思考题与课外拓展1、思考题:
(1)A/D转换程序有三种方式:中断方式、查询方式、延时方式,例程中使用了查询方式,请用另两种方式编写程序,并仿真实现。
(2)改变信号采集的通道,如何编程实现AD采样?
(3)不用地址锁存器373可以不可以完成该项目?请仿真实现。2、课外拓展:
课后请大家利用Proteus仿真平台,编写程序实现采用IN0~IN7通道实现多路数据采集。主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目10数字电压表-3.数字电压表的设计课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课我们讲了ADC的应用拓展方法,通过单片机控制AD转换器实现模拟量的采样与显示,大家可以跟我一起看一下仿真效果,进行一次复习回顾。今天我们将继续利用ADC设计一个简易的数字电压表。一、课程引入第二步:启发式引入新的问题:数字电压表有什么功能,大家了解的能测电压的仪表有哪些?
总结:(老师总结大家发言)(1)测电压,(AC峰值、有效值?)。(2)交流、直流,电压峰值、有效值、平均值、频率,极性显示、自动量程切换、保护等。(3)万用表、交流电压表、毫伏表、示波器。一、课程引入第三步:提出这节课中心问题:
怎样编程实现简易数字电压表?提问:请大家一起想一下用单片机系统怎么做数字电压表,怎么实现?(学生讨论后,总结发言)
(1)输入电压采样(AD)。(2)数据处理(算法)。(3)电压显示(数码管、液晶显示)。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
提问:怎样进一步提高测量精度?三、基本原理(重点)
1、项目任务
基于Proteus仿真平台,采用89C51与A/D设计一个数字电压表,要求能够测量0~5V之间的直流电压值,测量精度能达到0.1V。
任务分析后,确认具体方案为:
(1)开机A/D转换即启动,数码管显示当前的采样电压值。(2)数码管显示电压的样式为:“1.240”,单位为伏,1位整数,3位小数,精度约为0.02V。(3)待测信号源方案:采用电位器对VCC进行分压,可调电压范围为0~5V。(4)对比实验:输入端放置虚拟仪器直流万用表,对比电压表测量的准确性。三、基本原理(重点)
2、系统设计
(1)硬件电路设计ADC0808作为模数转换器,地址码输入端全部接地,选择通道IN0输入。
单片机P3.0-启动脉冲输出端ST。P3.1-输出使能OE。P3.2-转换结束信号EOC。三、基本原理(重点)
(2)软件设计技巧
查询的方式编程。主程序:查询ADC转换结束信号EOC的状态,读取数据,处理后送显示缓冲区。
中断服务子程序:实现数码管的动态扫描显示。voidt1(void)interrupt3using0{TH1=(65536-4000)/256;TL1=(65536-4000)%256;P1=0;P2=dispbit[dispcount];P1=dispcode[dispbuf[dispcount]];if(dispcount==0){P1=P1|0x80;}dispcount++;if(dispcount==4){dispcount=0;}}
#include<AT89X51.H>unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};unsignedcharcode dispbit[]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsignedchardispbuf[6]={10,10,10,10};unsignedchardispcount=0;unsignedchargetdata,i;unsignedinttemp;sbitST =P3^0;sbitOE =P3^1;sbitEOC=P3^2;
三、基本原理(重点)
3、软件程序提问:怎样提高测量精度为0.01V?voidmain(void){ST=0;OE=0;ET1=1;EA=1;TMOD=0x10; TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;ST=1;ST=0;while(1){if(EOC==1){OE=1;getdata=P0;OE=0;temp=getdata*20;dispbuf[0]=temp/1000%10;dispbuf[1]=temp/100%10;dispbuf[2]=temp/10%10;dispbuf[3]=temp%10;ST=1;ST=0;}}}
四、实物效果展示
五、思考题与课外拓展1、思考题:
1:基于Proteus平台,采用ADC实现数字电压表,测量量程为0~5V,提高测量精度为0.01V。
2:基于Proteus平台,采用ADC0808利用中断方式或延时方式编程实现数字电压表,测量量程为0~5V,测量精度为0.1V。
2、课外拓展:
基于Proteus平台,采用ADC0809实现八通道数据采集系统。ThankYou!主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目11数字钟课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。前面我们讲了8位数码管动态扫描显示的设计方法,主要是利用人眼的暂留特性通过对各数码管轮流循环点亮,实现多位数码显示。提问,动态扫描显示设计中有哪些关键点:(1)数码管轮流循环点亮:毫秒级。(2)单片机两个端口:一个发送位选数据;另一个发段码数据。一、课程引入第二步:启发式引入新的问题:既然我们已经学习了动态扫描显示和定时器的设计方法,这节课我将综合应用它,编程实现一个数字钟。
数字钟重要吗?你用它来做什么?它是准的吗?怎么判断?(提问,讨论后总结,活跃气氛的同时嵌入思政元素:时间观念、做守时的人,准与不准的根本在于标准。)(1)数字钟的用途(总结性板书)。(2)你的时间基准是什么?(3)“原子钟”的作用?延伸提出课外课题:可以自动联网校准的数字钟。(右图:磁流体时钟)第三步:提出这节课中心问题:怎样通过利用单片机实现一个时分秒可调的数字钟?二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
提问:怎样实现带整点报时功能的数字钟?三、基本原理(重点)
1、任务分析
要求采用80C51单片机和数码管设计制作一个数字钟,具体功能如下:(1)开机时,显示12:00:00的时间并开始计时;(2)按键一控制“秒”调整,每按一次加1秒;(3)按键二控制“分”调整,每按一次加1分;
(4)按键三控制“时”调整,每按一次加1小时;讨论:怎么实现,关键技术点有哪些?(1)怎么定时?(2)怎么显示?(3)怎么调准?(4)怎么及时更新?
(1)怎么定时?定时器实现秒定时。(2)怎么显示?动态扫描数码显示。(3)怎么调准?独立式按键识别手工调整。(4)怎么及时更新?“时、分、秒”数据送显即更新。三、基本原理(重点)
2、硬件电路设计P1口:P10~P12接按钮实现时间可调;P0口:1K上拉电阻驱动数码管的笔段数据端a~DP;P2口:数码管位选S1~S8。该设计主要由三个部分组成:单片机最小系统、数码显示电路和独立式按键电路。
单片机最小系统三、基本原理(重点)
3、软件设计
主程序:通过CPU查询按键的状态,实现时分秒的数据实时调整。
中断服务子程序:用定时器中断实现秒定时,定时计数的同时进行动态扫描、更新显示。
方法:画出流程图!!!voidmain(void)//核心代码{TMOD=0x02;TH0=0x06;TL0=0x06;TR0=1;ET0=1;EA=1;while(1){if(P1_2==0){for(i=5;i>0;i--)for(j=248;j>0;j--);if(P1_2==0){second++;if(second==60){second=0;}
dispbuf[0]=second%10;dispbuf[1]=second/10;while(P1_2==0);}}三、基本原理(重点)
3、软件程序voidt0(void)interrupt1using0{mstcnt++;
if(mstcnt==8){mstcnt=0;
P0=dispcode[dispbuf[dispbitcnt]];P2=dispbitcode[dispbitcnt];
dispbitcnt++;if(dispbitcnt==8){dispbitcnt=0;}}
tcnt++;if(tcnt==4000){tcnt=0;second++;
if(second==60){second=0;minite++;if(minite==60){minite=0;hour++;if(hour==24){hour=0;}}}dispbuf[0]=second%10;dispbuf[1]=second/10;dispbuf[3]=minite%10;dispbuf[4]=minite/10;dispbuf[6]=hour%10;dispbuf[7]=hour/10;}}提问:是否可以利用定时器方式1简化程序实现数字钟。四、实物效果展示
五、思考题与课外拓展1、思考题:
(1)当改变设置计数值的时候,如何修改定时常数?(2)如果更换不同频率的晶振,会出现什么现象,如何调整程序?
2、课外拓展:
(1)电子竞赛中也常会出现时钟设计专题,要求自己动手查找资料,用C语言编写程序实现带闹钟功能的数字钟。
(2)基于Proteus仿真平台,实现带整点报时功能的数字钟。
(3)采用WIFI等无线方式,实现可自动联网校准的数字钟。课外拓展_液晶显示万年历课外拓展_WIFI自动联网准数字钟(有演示视频)作者:电信1901刘新-wifi天气时钟作者:物联网1901陈鹏鹏-WIFI点阵时钟主讲:XXX单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院项目12液晶显示万年历课程引入
1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课我们综合应用了单片机的定时器定时、动态数码显示和按键检测等方法实现了数字钟的设计。今天我们将应用传感器演示综合设计案例——液晶显示万年历。一、课程引入第二步:启发式引入新的问题:万年历是什么?万年历,并非真的指一万年的日历,而是泛指久远的时间概念,在英语中常用"PerpetualCalendar"(永恒日历)万年历是一种日历工具,能够展示特定日期下的农历、公历、节气、节假日等信息。万年历是一种具有多种功能的日历,其历史可以追溯到古代中国。在现代,万年历不仅仅是一个时间记录工具,更是一个融合了多种文化和传统元素的日历系统。一、课程引入万年历的由来?万年历,是中国最古老的一部太阳历(中国文化)。来源于商朝一位名叫万年的人,即这部历法的编撰者,主要是为纪念他的功绩便将这部历法命名为“万年历”。(万年经长期观察,精心推算,制定出准确的太阳历,从青年到满面银须的老人。国君深为感动,为纪念万年的功绩,便将太阳历命名为“万年历”,封万年为日月寿星。)思政:毅力、科学探究的精神。日晷(guǐ):古代利用日影测得时刻的一种计时仪器,又称“日规”。一、课程引入万年历的由来?
万年历,是中国最古老的一部太阳历(中国文化)。来源于商朝一位名叫万年的人,即这部历法的编撰者,主要是为纪念他的功绩便将这部历法命名为“万年历”。(万年经长期观察,精心推算,制定出准确的太阳历,从青年到满面银须的老人。国君深为感动,为纪念万年的功绩,便将太阳历命名为“万年历”,封万年为日月寿星。)思政:毅力、科学探究的精神。日晷(guǐ):古代利用日影测得时刻的一种计时仪器,又称“日规”。一、课程引入第三步:提出这节课中心问题:
怎样编程实现液晶显示万年历?提问:请大家一起讨论一下:实现液晶显示万年历的关键部分?(讨论后,老师总结发言)
(1)如何实现年、月、日的计时?(2)液晶显示屏的读写控制。(3)温度传感器的数据读取。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)
三、基本原理(重点)
1、项目任务
基于Proteus仿真平台,采用时钟芯片DS1302和字符液晶LCD1602设计一个数字万年历,要求能够显示年、月、日、星期和时、分、秒等。
任务分析后,确认具体方案为:
(1)开机时,显示年月日“2024/01/01”、星期“Week1”、时间“12:01:02”、温度“20℃”,并开始计时。(2)设置“模式”键:用于调整时钟和日历,每按一次键,光标选中调整对象并进行闪烁提示。(3)设置“加”、“减”键:控制调整对象进行年月日时间等进行加减调整。(4)设置“确认”键:调整完后,按“确认”键写入数据,并返回正常状态。三、基本原理(重点)2、设计原理
该设计主要由五个部分组成:DS1302、单片机最小系统、DS18B20、LCD1602和按键。总体设计框图DS1302用于对年、月、日、周、时、分、秒的计时,单片机通过SPI总线协议向DS1302获取实时时钟数据,并通过LCD1602进行显示。DS18B20用于对温度的测量,按键输入电路主要用于时钟校准等。三、基本原理(重点)3、相关知识(1)字符液晶LCD1602
LCD1602可以显示2行各16个字符,专门显示字母、数字与符号。它有16个引脚。主要由8位数据总线D0-D7和三个控制端口RS、R/W、EN构成,工作电压为5V,并且带有字符对比度调节和背光控制功能。
LCD1602实物图三、基本原理(重点)1)HD44780显示位与DDRAM地址的对应关系如表12-4所示:DDRAM的每行设计有40个地址,但LCD1602只用到前16个,两行共32个地址。DDRAM地址即为地址计数器AC6~AC0的值,第一行16列分别对应地址00~0FH,第二行16列分别对应地址:40H~4FH。再加上DB7位的“1”,即80H(0010000000),地址数据为:第一行80H~8FH,第二行C0H~CFH。显示位123456789…3940DDRAM地址(H)00H01H02H03H04H05H06H07H08H…26H27H40H41H42H43H44H45H46H47H48H…66H67H三、基本原理(重点)2)读写工作时序:写时序
LCD1602写操作时序图使能信号(E)有效时间的脉冲宽度PWEH不小于230ns。三、基本原理(重点)2)读写工作时序:读时序
使能信号(E)有效时间的脉冲宽度PWEH不小于230ns。LCD1602读操作时序图三、基本原理(重点)(2)时钟芯片DS1302
DS1302是DALLAS(达拉斯)公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,且具有闰年校正补偿功能。DS1302采用三线接口(非标准SPI)与单片机进行同步串行通信。
DS1302实物图三、基本原理(重点)1)DS1302的引脚及内部结构:DS1302的内部结构主要由电源控制单元、移位寄存器、命令与控制逻辑单元、振荡器与分频器、实时时钟以及RAM组成。三、基本原理(重点)2)DS1302的控制字:数据的传送由命令控制字节初始化开始,其控制字最高位(位7)必须为逻辑“1”,而“0”表示禁止读写DS1302。位6为“0”,指定访问时钟/日历区寄存器,为“1”,指定访问RAM区。位1~位5为设定要读写访问区的寄存器地址。位0为“0”时写操作,为“1”时读操作。控制位D7D6D5D4D3D2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复合材质文物修复师基础实战模拟考核试卷含答案
- 通信网络电缆线务员岗中持续改进考核试卷含答案
- 2026年木材采运行业洞察报告及未来五至十年发展趋势报告
- 2026年四乙二醇二甲基丙烯酸酯行业洞察报告及未来五至十年发展趋势报告
- 2025-2026湘教版初中八年级历史素养卷
- 2025-2026西南师大高三数下期末卷
- 山东版高一生物下学期期末测试卷2025
- 北京版初二生物下期末测试卷2025-2026
- 2026年体育学运动康复运动训练试题及答案
- 安全质量效率的
- 2025年国有资产管理岗试题及参考答案
- 卷绕机培训课件
- 2026届九师联盟高三11月期中历史试题及答案
- 西门子业务介绍
- 吉林省长春市德惠市第八中学2025-2026学年八年级上学期11月期中数学试题(答案版)
- 公文处理310题+解析
- 《机械基础》课件 第十章 气压与液压传动
- 2025年红十字应急救护知识竞赛题库附含参考答案
- 电梯检测实施方案(3篇)
- 2025年试验检测师(含助理)-公共基础(含助理)考试备考题库附带答案
- 2.6 遴选家乡特色美食-合理选择数据 课件 四年级上册《信息科技》(安徽版2024)
评论
0/150
提交评论