C语言课程设计多功能电脑时钟设计.ppt
《C语言课程设计多功能电脑时钟设计.ppt》由会员分享,可在线阅读,更多相关《C语言课程设计多功能电脑时钟设计.ppt(58页珍藏版)》请在沃文网上搜索。
1、C语言课程设计-多功能电脑时钟设计简介n本课程设计原来一般是在大三,上完微机原理及应用课程后开展,自动化专业从2009级开始在大一下期,C程序设计课程后进行;n同学们可以尽早接触专业知识,加深专业认识,避免大二期间的迷惘期;n有利于同学们参加各类科技创新活动;nC语言程序设计、单片机技术是自动化专业学生的看家本领之一;n现在我院开展的学生科技创新活动有:奇数年举行的全国大学生电子竞赛;每年进行的重庆市盛群杯单片机大赛;RobCup杯机器人大赛;每年由学院举行的赛课计划;每年由学生申报的大学生科技创新活动;n2009级开始,自动化专业的同学必须参加一项学生科技创新活动方可毕业。要求n按照老师的布
2、置,认真独立完成有关任务;n认真独立完成课程设计报告;n每位同学应完成设计任务的验收与提交合格的报告;n缺勤三分之一上者为不合格单元一点亮LED指示灯nLED显示原理发光二极管通常是使用砷化镓、磷化镓等所制成;通以电流时将发出光来;单管工作电流一般在几毫安至几十毫安之间;因此只要在二极管的阳极和阴极间加上电源和限流电阻,就可以使其发光,用于指示。单片机控制下的LED指示灯在板子的左上方有四个绿色的LED灯,分别是由P23、P24、P25、P26四个I/O口控制,低电平点亮,高电平熄灭。单片机控制下的LED指示灯#include“reg51.h”sbitLED1=P23;/用LED1符号表示单片
3、机的控制引脚,用符号可以更清晰地表示引脚功能main()while(1)/单片机的主程序往往是一个死循环LED1=0;缩进程序书写的格式要求注解头文件为使用单片机的内部资源提供方便,大家照此方法使用即可。大家感兴趣可以打开reg51.h文件看一下。C51的一个主要特点就是支持位操作。#includereg51.hsbitLED1=P23;/LED1控制引脚sbitLED2=P24;/LED2控制引脚sbitLED3=P25;/LED3控制引脚sbitLED4=P26;/LED4控制引脚voiddelay(unsignedintj)unsignedchari;dofor(i=0;i=200)co
4、unt=0;LED=!LED;中断子程序与普通子程序的区别:1、多了一个后缀interrupt;2、无参数,无返回值;3、在主程序中没有对中断子程序的调用,中断子程序是由一种称之为中断系统的硬件调用的。中断的基本工作过程n发生一个随机的外部事件,中断系统获得此外部事件的编号;n中断系统通过此编号去寻找带有此后缀编号的中断服务子程序;n中断系统控制程序流向由当前程序转向中断服务子程序。n中断服务子程序执行完后,再回到刚才的断点继续执行先前的程序中断系统随机的外部事件编号查找对应编号的中断服务子程序编号一致的中断服务子程序主程序发生中断的点是由外部事件随机确定中断系统的其它功能n中断允许与中断屏蔽
5、;n中断优先级管理;n中断嵌套;这些内容目前同学们了解一下就可以了单片机的定时器0定时器的核心是一个加1计数器,当计数来源是一个稳定频率的脉冲时,就成为定时器。计数满时会通知CPU(产生中断,TF0置位),我们可以利用这一点进行准确定时。定时器的工作模式例:设定时器T0选择工作模式1,定时周期为1ms的方波,单片机的振荡频率=6MHz。(1)根据题意,TMOD=01H D7 D6 D5 D4 D3 D2 D1 D0GATEM1M0GATEM1M0TMOD(89H)M1 M0工作模式功能描述0 0模式013位计数器0 1模式116位计数器1 0模式28位自动重装载计数器1 1模式3定时器0:分成
6、两个8位计数器定时器1:停止工作定时时间的计算n计数值=模值初始值n模值表示计数器所能计的最大值加1,即16位计数器的模值为,16位计数器的模值为。n计数范围为165536()n定时时间为:T=(模值初值)机器周期模值:计数器最大计数值机器周期:(2)计算T0计数初值:每个机器周期的时间长度为:计数值为:初始值=模值计数值=转换为16进制数为:0FE0CHT0的低8位:0CHT0的高8位:0FEHTH0初值为0FEH,TL0的初值为0CH。练习n如果产生一个5ms的定时,单片机的振荡频率是11.0592MHZ,请问定时初值时多少?nTH0=0EEH,TL0=00H#includereg52.h
7、#defineTHCO0 xee#defineTLCO0 x0sbitLED=P24;voidmain()TMOD=0 x11;/设置定时器0工作模式TL0=TLCO;/设置定时时间TH0=THCO;TR0=1;/开定时器0ET0=1;EA=1;while(1);/主程序空闲等待/定时器中断服务子程序voidtimer0()interrupt1staticunsignedcharcount=0;TH0=THCO;/重装初值TL0=TLCO;count+;if(count=200)count=0;sec+;LED=!LED;中断服务程序与中断程序入口中断编号中断名称入口地址0外部中断0(INT0
8、)0003H1定时器0中断000BH2外部中断1(INT1)0013H3定时器1中断001BH4串口中断0023H单片机中断采用固定入口地址中断服务程序由谁来调用?为什么采用satic来修饰变量count?变量的属性n空间属性(防止变量应用混乱)全局变量局部变量n时间属性(及时回收变量所占内存空间)静态变量动态变量单元二要求n用定时器完成一个1S闪烁LED的程序晶振频率为11.0592MHZ定时时间为0.5S定时器初始化;主程序为空循环中断服务程序中完成LED定时闪烁单元三数码管的显示n一种应用很普遍的显示器件nLED数码管是由七段发光二极管组成,分别称为a、b、c、d、e、f、g、DPn可以
9、显示09和AF共16个字母数字及其他特殊字符。数码管外形共阳极共阴极数字共阴极段码共阳极段码00 x3F0 xC010 x060 xF920 x5B0 xA430 x4F0 xB040 x660 x9950 x6D0 x9260 x7D0 x8270 x070 xF880 x7F0 x8090 x6F0 x90段码位码#includereg52.hunsignedcharcodeDuan=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;sbitP10=P10;voidmain()P10=0;/共阴极数码管,位码送低电平P0
10、=Duan3;/利用数组进行查表,查出对应数字的段码while(1);/死循环多位数码管的显示n如果每一个LED占用一个独立的I/O端口,那么该系统将占较多的硬件资源。n硬件上所有LED的同名段都连在一起,由同一个I/O端口(段端口)控制n每个LED的控制端分别连接到几个I/O端口n在软件上用扫描方法逐个点亮和熄灭LED,利用人的视觉暂留来实现多位LED显示。n保证每个LED在一秒内显示25次以上。数码管的动态扫描多位LED显示流程图#includereg52.h#defineTHCO0 xee#defineTLCO0 x0unsignedcharcodeDuan=0 x3F,0 x06,0
11、x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;unsignedcharData_Buffer4=1,2,3,9;sbitP10=P10;sbitP11=P11;sbitP12=P12;sbitP13=P13;voidmain()TMOD=0 x11;TH0=THCO;TL0=TLCO;TR0=1;ET0=1;EA=1;while(1);voidtimer0()interrupt1staticunsignedcharBit=0;TH0=THCO;TL0=TLCO;Bit+;if(Bit=4)Bit=0;P1|=0 x0f;P0=DuanData_Bu
12、fferBit;switch(Bit)case0:P10=0;break;case1:P11=0;break;case2:P12=0;break;case3:P13=0;break;单元三要求n用定时器、数码管完成一个秒表程序晶振频率为11.0592MHZ定时中断完成计时与显示主程序完成秒数据十位与个位的分离实现小数点的闪烁单元四键盘处理n键盘:一组按键开关的集合键盘:一组按键开关的集合。用于输入信息。用于输入信息。n单片机上通常有四个按键单片机上通常有四个按键MODE 模式键模式键用于选择系统工作模式。如多功能时用于选择系统工作模式。如多功能时钟的秒表模式、闹钟设定、时间设定等;钟的秒表模式
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 多功能 电脑 时钟 设计