C语言课程设计--多功能电脑时钟设计

C语言课程设计--多功能电脑时钟设计

ID:35627303

大小:1.18 MB

页数:22页

时间:2019-04-03

C语言课程设计--多功能电脑时钟设计_第1页
C语言课程设计--多功能电脑时钟设计_第2页
C语言课程设计--多功能电脑时钟设计_第3页
C语言课程设计--多功能电脑时钟设计_第4页
C语言课程设计--多功能电脑时钟设计_第5页
资源描述:

《C语言课程设计--多功能电脑时钟设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C语言课程设计-----多功能电脑时钟设计单元一点亮LED指示灯LED显示原理发光二极管通常是使用砷化镓、磷化镓等所制成;通以电流时将发出光来;单管工作电流一般在几毫安至几十毫安之间;因此只要在二极管的阳极和阴极间加上电源和限流电阻,就可以使其发光,用于指示。单片机控制下的LED指示灯在板子的左上方有四个绿色的LED灯,分别是由P23、P24、P25、P26四个I/O口控制,低电平点亮,高电平熄灭。单片机控制下的LED指示灯#include"reg51.h"sbitLED1=P2^3;//用LED1符号表示单片机的控制引脚,用符号可以更清晰地表示引脚功能ma

2、in(){while(1)//单片机的主程序往往是一个死循环{LED1=0;}}缩进程序书写的格式要求注解头文件为使用单片机的内部资源提供方便,大家照此方法使用即可。C51的一个主要特点就是支持位操作。#include"reg51.h"sbitLED1=P2^3;//LED1控制引脚sbitLED2=P2^4;//LED2控制引脚sbitLED3=P2^5;//LED3控制引脚sbitLED4=P2^6;//LED4控制引脚voiddelay(unsignedintj){unsignedchari;do{for(i=0;i<230;i++);}while(j

3、--);}main(){while(1){LED1=0;//点亮LEDLED2=0;LED3=0;LED4=0;delay(1000);//延时LED1=1;//关闭LEDLED2=1;LED3=1;LED4=1;delay(1000);}}控制四个LED灯闪烁变量i,j为什么定义成unsigned类型?如何方便地书写程序?unsignedchar这样的字符偏长怎样确定延时时间的长短?如何更方便地修改延时时间?单片机的端口MCS-51单片机有4个双向并行的8位I/O口P0~P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入

4、时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。单元一要求完成一个流水灯程序位赋值法移位指令法单元二定时器控制的LED前面由延时程序控制的LED闪烁存在以下问题时间不够准确;太消耗CPU资源,延时程序相当于CPU在空转等待;采用定时器就可解决以上问题。单片机的定时器0定时器的核心是一个加1计数器,当计数来源是一个稳定频率的脉冲时,就成为定时器。计数满时会通知CPU(中断,TF0置位),我们可以利用这一点进行准确定时。定时器的工作模式例:设定时器T0选择工作模式1,定时周期为1ms的方波,单片机的振荡频率=6MHz。(1)根据题意,TMOD

5、=01HD7D6D5D4D3D2D1D0GATEM1M0GATEM1M0TMOD(89H)M1M0工作模式功能描述00模式013位计数器01模式116位计数器10模式28位自动重装载计数器11模式3定时器0:分成两个8位计数器定时器1:停止工作定时时间的计算计数值=模值-初始值模值表示计数器所能计的最大值加1,即16位计数器的模值为,16位计数器的模值为。计数范围为1~65536()定时时间为:T=(模值-初值)×机器周期模值:计数器最大计数值机器周期:(2)计算T0计数初值:每个机器周期的时间长度为:计数值为:初始值=模值-计数值=转换为16进制数为:0F

6、E0CHT0的低8位:0CHT0的高8位:0FEHTH0初值为0FEH,TL0的初值为0CH。练习如果产生一个5ms的定时,单片机的振荡频率是11.0592MHZ,请问定时初值时多少?TH0=0EEH,TL0=00H#include"reg52.h"#defineTHCO0xee#defineTLCO0x0sbitLED=P2^4;voidmain(){TMOD=0x11;//设置定时器0工作模式TL0=TLCO;//设置定时时间TH0=THCO;TR0=1;//开定时器0ET0=1;EA=1;while(1);//主程序空闲等待}//定时器中断服务子程序v

7、oidtimer0()interrupt1{staticunsignedcharcount=0;TH0=THCO;//重装初值TL0=TLCO;count++;if(count>=200){count=0;LED=!LED;}}中断服务程序与中断程序入口中断编号中断名称入口地址0外部中断0(INT0)0003H1定时器0中断000BH2外部中断1(INT1)0013H3定时器1中断001BH4串口中断0023H单片机中断采用固定入口地址中断服务程序由谁来调用?为什么采用satic来修饰变量count?单元二要求用定时器完成一个1S闪烁LED的程序晶振频率为1

8、1.0592MHZ定时时间为0.5S定时器初始化;主

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

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

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