第7章-电子时钟的设计课件

上传人:文**** 文档编号:242765861 上传时间:2024-09-03 格式:PPT 页数:23 大小:1.11MB
返回 下载 相关 举报
第7章-电子时钟的设计课件_第1页
第1页 / 共23页
第7章-电子时钟的设计课件_第2页
第2页 / 共23页
第7章-电子时钟的设计课件_第3页
第3页 / 共23页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,7,章 数字电子时钟的设计,第7章 数字电子时钟的设计,电子时钟各大模块,数码管动态显示,按键控制时钟,串口修改时钟,时钟信号的产生,电子时钟各大模块数码管动态显示按键控制时钟串口修改时钟时钟信,一、动态显示模块,一、动态显示模块,横杠处理举措,1,、汇编语言处理方法,2,、,C,语言处理方法,横杠处理举措1、汇编语言处理方法2、C语言处理方法,二、键处理模块,二、键处理模块,实际中,由于按键的弹片接触的时候,并不是一接触就紧紧的闭合,它还存在一定的抖动,尽管这个时间非常的短暂,但是对于执行时间以微秒为单位的单片机来说它太漫长了。,在程序中通过检测连接键盘的,I/O,口电平,即可以知道按键是否被按下,从而做出相应的响应。,常规按键处理程序方式,实际中,由于按键的弹片接触的时候,并不是一接触就紧紧的闭,键盘判定执行流程,键盘判定执行流程,键功能,0,(修改热键),键功能,1,(移位选择),键功能0(修改热键)键功能1(移位选择),键功能,2,(执行加,1,),键功能,3,(清零显示单元),键功能2(执行加1)键功能3(清零显示单元),C51,指针概念,1,、指针印象,指针变量的一般形式为:,类型说明符 *变量名;,其中“*”表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。,例如:,uchar *TEMP,;,TEMP,就是一个指针变量,它的值表示了某个无符号字符型数据变量的地址。或者说,TEMP,指向一无符号字符型数据变量。,使用语句:,TEMP=0x30;,赋值,0x30,给指针型变量,TEMP,,也就是,TEMP,指向了地址,0x30,,假设地址,30H,里面存有数据。,C51 指针概念1、指针印象指针变量的一般形式为:,*,TEMP,的值指向了地址,30H,的数值,0Xfe,。,汇编语言中的,R0,就相当于,C,语言中的,TEMP,,而,R0,和*,TEMP,表达的是相同的意思。同汇编语言的间接寻址一样,不仅可以取出数值,而且可以存入数据。,例如使用指令:,*,TEMP=0x78;,就上将数值,0x78,存放到指针变量,TEMP,指向的地址,*TEMP的值指向了地址30H的数值0Xfe。汇编,2,、指针变量的引用及初始化,指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。指针变量的赋值只能赋予地址,决不能赋予任何其它数据。在,C,语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址,所以上面的例子不能运用于实际程序之中。,指针变量有两个操作符:,&,取地址运算符。,* 指针运算符,C,语言中提供了地址运算符,&,来表示变量的地址,其一般形式为:,&,变量名;,如,&a,表示变量,a,的地址,,&b,表示变量,b,的地址。,uchar a;,uchar *p;,p=,2、指针变量的引用及初始化,uchar a;,uchar *p=,上面两段程序是等价的,因为在初始化阶段:,uchar *p=,等价于,uchar *p;,p=,但在程序运行过程中,不能采用:,*,p=,因为*,p,表示的是一个数值,而不能将地址传输给数值。,3,、指针的初始化,uchar a;3、指针的初始化,4,、 指针和数组,一个数组是由连续的一块内存单元组成的。一个数组也是由各个数组元素(下标变量)组成的。每个数组元素按其类型不同占有几个连续的内存单元。一个数组元素的首地址也是指它所占有的几个内存单元的首地址,同时,C,语言规定数组名就是整个数组的地址。,例如,在程序中使用了数组,uchar data dbuf8;,dbuf0,的地址就是整个数据的地址。,uchar *p,;,/*,定义,p,为指向字符型型变量的指针*,/,p=&dbuf0,/*,首元素地址赋值*,/,也可以写为:,P= dbuf,/*,数组名直接赋值*,/,4、 指针和数组,把,dbuf0,元素的地址赋给指针变量,p,。也就是说,,p,指向数组,dbuf,的第,0,号元素。,C,语言规定:如果指针变量,p,已指向数组中的一个元素,则,p+1,指向同一数组中的下一个元素。,引入指针变量后,就可以用两种方法来访问数组元素了。如果,p,的初值为,&dbuf 0,则:,p+i,和,dbuf+i,同为,dbuf i,的地址,或者说它们是指向,dbuf,数组的第,i,个元素,*(p+i)或*(dbuf+i)就是p+i或dbuf+i所指向的数组元素,即dbuf i。,例如:*(p+5)或*(dbuf+5)为dbuf 5的值。,把dbuf0元素的地址赋给指针变量p。也就,5,、指针作为函数参数,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。,void KEY2_FUNCTION(),uchar *TEMP;,if(FLASH=1),TEMP=dbuf+SHIFT;,ADD1(TEMP);,uchar ADD1(uchar *str),uchar TEMP1; TEMP1=(*(str+1),*(str+1)=TEMP1/10;,*(str)=TEMP1%10;,return TEMP1;,5、指针作为函数参数void KEY2_FUNCTION,三、时钟信号的产生,时钟计时的关键问题是秒的产生,因为秒是最小时钟单元。当选用可编程定时的方式,也就是使用单片机自带的定时器,/,计数器进行定时。即使使用工作方式,1,,选用,12M,晶振,其最大定时时间也只能达到,65.536ms,。但我们可将定时时间定为,50ms,,让定时器,0,计数溢出,20,次就可得到,1s,。,定时器,0,也是处于中断的控制方式,设置一个循环计数器,每经历一次中断,它加,1,。当它的值达到,20,的时候,表示时间已经过去了,1s,;此时秒值加,1,,并清零循环计数器;如果秒值达到,60,,则分值加,1,,秒值清零,依次类推。,三、时钟信号的产生 时钟计时的关键问题是秒的产生,,时钟信号产生流程,时钟信号产生流程,四、串行修改模块,当某一显示单元被选中,也就是处于闪烁状态的时候,我们可以对这个单元的值进行修改。本实例中,增加了串口模块,可通过串口输入来改变显示单元的数值。,四、串行修改模块 当某一显示单元被选中,也就是处于闪烁状态的,串行口控制流程,串行口控制流程,各寄存器的设置,(,1,) 外中断控制,外中断,0,采用的下降沿触发的方式,所以寄存器,TCON,的,IT0,位应设置为,1,(,2,)定时器控制方式,定时工作方式寄存器,TMOD,的设置。高,4,位设置为定时工作方式,2,(重新加载模式),用于波特率的产生;低,4,位用于秒计时的产生,设置为定时工作方式,1,(,16,位定时,/,计数模式),用于,50ms,定时。,各寄存器的设置(1) 外中断控制 (2)定时器控制方式,使用定时器,0,产生,50ms,的可编程延时,本章实例晶振选用,12MHZ,。所以定时器,0,数据寄存器的初值设定计算方法为:,(216-X) 1s=50000s,,,X=3CB0H,定时器,1,用于波特率发生器,本章实例所使用的晶振为,12MHZ,,这样产生的波特率会存在误差,但是依然能够保证,Proteus,仿真。波特率设置为,9600 bps,,定时器,1,计数初值设定为:,(,3,)、串口寄存器设置,在本实例中,设置让串行口工作在方式,1,,即,1,个起始位,,8,个数据位和,1,个停止位,允许接收,波特率可选,所以寄存器,SCON,的设置为,50H,。,使用定时器0产生50ms的可编程延时,本章实例,寄存器,PCON,的最高位,SMOD,设置为,0,,表示波特率不倍增,所以寄存器,PCON,值设置为,00H,。,(,4,)、中断寄存器设置,本实例中使用外中断,0,、串行中断、定时器,0,中断、分别将中断控制寄存器,IE,的,EA,、,ES,、,ET0,、,EX0,置,1,。,本实例要求定时器,0,的中断优先级最高,串行中断和外中断,0,是平级的,所以寄存器,IP,的设置为,02H,。,寄存器PCON的最高位SMOD设置为0,表示波特率,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!