




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、制作和调试(50分)设计报告(50分)评定等级指导教师湖州师范学院求真学院信息与工程系单片机应用系统设计总结报告题目基于STC89C52的数字电子钟设计15电子科学与技术092835 班 姚宇飞09283524指导教师吴小红 万东辉信息与工程系2011年4月14日设计任务:1. 采用STC单片机和键盘,设置 4位LED数码管显示的电子时钟;2. 上电时,显示12:00并且“:”间隔500ms闪烁,其中“:”代表秒功能;3. 具有闹钟设定,闹铃功能;4. 通过键盘可修改时间。 发挥功能:1. 实现时钟整点“嘟”声提示功能;2. 实现秒表功能。秒表具有计时开始,计时结束,及时复位等功能。 总体设计
2、:原理图中应该包括 8052芯片,晶振复位系统,按键大概4个,蜂鸣器,数码管1. 首先分析数码管,此次课程设计的数码管为共阳极,所以低电平有效。且管脚分别为卩1人5,P1A6,P 1人7;2. 蜂鸣器P3人2必须接低电平有效;3. 按键是一个矩阵按键, 一定要进行键盘扫描,4*3型的管脚分别是P2A7 , P26,P25,P2M, P2A3,P2A2,p2人1,P2人0,在扫描的时候必须另P2M接低电平有效。4. 晶振是12MHZ ;还有电阻阻值详细见电路图设计流程图:走时一一时钟分修改一一时钟时修改一一闹钟分修改P1M,说明:状态的修改由按键 1的按下的次数决定,时钟,2调上,按键3调下,按
3、键4用了返回走时状态。原理图:闹钟时修改一一走时闹钟的调时用按键2和按键3,按键+ 5V程序LABAc-PEAKER_kR5-pF 丄 L AriC31P10/TPOOP11/TP01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INTOP21P22T1P23TOP24P25EATVPP26P27X1X2RE SETRXDTXDLAL E/P-PSENSIC89C5131191315917U15KknR35K1|R45K1abdefg deR25K1abdefgdea 1a 1DS2aDS3a 1DS1a DPY badefgdeDS4a DPY bad
4、p cnrr切+ 5V+ 5VR6S5-fe_*SW扁#in clude<reg51.h>#in clude< intrin s.h>#defi ne uint un sig ned int#defi ne uchar un sig ned char/按键端口定义sbit key仁卩2人0;/定义按键-功能键sbit key2=Pil;/按键定义-增加键sbit key3=卩2人2; /按键定义-减少键 sbit key4=卩2人3; /按键定义-确定键 sbit beep=P 2人4;/蜂鸣器端口sbit sp eaker=卩3人2;数码管端口sbit com仁 PI
5、M;sbit com2=P 1人5;sbit com3=PIW;sbit com4=卩1人7;/全局变量定义uint z=0;uchar flag=1;uchar temp=0;uchar nu m1=0, num 4=0;/设置按键按下次数uchar sp eaker_ num;uchar sec on d_miao_t ing;uchar sec ond_min_ting;uchar sec on d_miao=0;uchar sec ond_min=0;uchar clk_hour=12,clk_ min=0,clk_miao=0;uchar alm_hour=0,alm_ min=0;
6、uchar coun t=0,co un t1=0;uchar T0_int_nums;/T0 中断次数uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f;/数码管正码uchar code table1=0xc0,0xcf,0xa4,0x86,0x8b,0x92,0x90,0xc7,0x80,0x82,0x7f;/ 数码管倒码 /void jin wei();void zhe ngdia n();/延时程序voiddelayms( uint xms)uint i,j;for(i=xms;i>0;i
7、-);for(j=1060;j>0;jT;显示子程序void dis play()if(nu m1=0&&n um4=0)if(cou nt< 50)com4=0;com3=1;com2=1;com1=1;/ 显示时钟时的十位P 0=tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;/P0=tableclk_hour%10;delayms(l);显示时钟时的个位com4=1;com3=1;com2=0;com1=1;/P0=table1clk_mi n/10;delayms(1);显示时钟分的十位com4
8、=1;com3=1;com2=1;com1=0;/P 0=table1clk_mi n%10;delayms(1);else com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(1);显示始终分的个位com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10&0x7f; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10&0x7f; delayms(1);com4=1;com3=1;com2=1;com1=0;P
9、 0=table1clk_mi n%10; delayms(1);elseif( nu m1!=0)if(nu m1=1)if(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(l);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P 0=table1clk
10、_mi n%10;delayms(1);else com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P0=0x7f;delayms(1);com4=1;com3=1;com2=1;com1=1;P 0=0x7f; delayms(1);if(nu m1=2)if(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=
11、tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P0=table1clk_mi n%10; delayms(1); else com4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=0x7f;
12、delayms(l);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P 0=table1clk_mi n%10;delayms(1);if(nu m1=3)if(cou nt<50)com4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10;delayms(1);com4=1;com3=1;com2=
13、0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;com1=0; delayms(1);elsecom4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(l);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10 &0x7f;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=0x7f;delayms(1);P 0=table1alm_
14、mi n%10;com4=1;com3=1;com2=1;com1=1;delayms(1);if(nu m1=4)if(cou nt<50)com4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;co
15、m1=0;delayms(1);elsecom4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;com1=0;delayms(1); elseif(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=tablesec
16、o nd_mi n/10; delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tableseco nd_mi n%10; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1seco nd_miao/10; delayms(1);P 0=table1seco nd_miao%10; com4=1;com3=1;com2=1;com1=0; delayms(1); else com4=0;com3=1;com2=1;com1=1;P 0=tableseco nd_mi n/10; delayms(1);com4=1
17、;com3=0;com2=1;com1=1;P 0=tableseco nd_mi n%10 &0x7f; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1seco nd_miao/10&0x7f; delayms(1);P 0=table1seco nd_miao%10; com4=1;com3=1;com2=1;com1=0; delayms(1); II按键分增加void key_minjia() if(key2=0)delayms(5); if(key2=0) while(!key2) dis play(); clk_m
18、i n+; if(clk_mi n=60) clk_mi n=0;/按键分减void key_min_jia n() if(key3=0)delayms(5);if(key3=0)while(!key3) dis play(); clk_mi n-;if(clk_mi n=-1) clk_m in=59;/按键时加void key_hour_jia() if(key2=0) delayms(5); if(key2=0) while(!key2) dis play();clk_hour+; if(clk_hour=24) clk_hour=0;/按键时减void key_hour_jia n()
19、 if(key3=0)delayms(5);if(key3=0) while(!key3) dis play();clk_hour-; if(clk_hour=-1) clk_hour=23;II闹钟分加void alm_min_jia() if(key2=0)delayms(5);if(key2=0)while(!key2)dis play(); alm_mi n+; if(alm_mi n=60) alm_mi n=0;/闹钟分减void alm_min_jia n() if(key3=0)delayms(5);if(key3=0)while(!key3)dis play(); alm_m
20、i n-; if(alm_mi n=-1) alm_mi n=59; /闹钟时加void alm_hour_jia() if(key2=0)delayms(5);if(key2=0)while(!key2) dis play(); alm_hour+; if(alm_hour =24) alm_hour =0;/闹钟时减void alm_hour_jia n() if(key3=0)delayms(5);if(key3=0) while(!key3) dis play(); alm_hour-;if(alm_hour=-1) alm_hour=23;II按键处理voidkey_ proc()b
21、ee p=0;if(key1=0)delayms(l);if(key1=0)while(!key1);delayms(1);nu m1+;if(nu m1=5) nu m1=0;if(n um1=1)/ 分调节分加的进制分减的进制key_min_jia();key_min_jia n();if(num1=2)/ 时调节时加的进制/时间的进制key_hour_jia(); / key_hour_jia n();if(num1=3)/闹钟,调节程序alm_min_jia();alm_min_jia n();if(num1=4)/闹钟,调节程序alm_hour_jia();alm_hour_jia
22、n();/闹钟void n aozh on g()if(clk_hour=alm_hour)&&(clk_mi n=alm_mi n) if(clk_miao%2=0&&clk_miao<=19)sp eaker=0;delayms(1);sp eaker=1;/秒表void miaobiao() bee p=0;if(key4=O)delayms(5);if(key4=0);while(!key4) dis play(); num 4+;if (num 4=5)num4=0;if(num 4=1)sec on d_miao=0 ,sec ond_min=
23、0;if(num 4=2) TR1=1;if(nu m4=3)TR1=0;if(num4=4)sec on d_miao=0 ,sec ond_min=0;void mai n()TMOD=Ox11;TH0=(65535-9216)/256;TL0=(65535-9216)%256;TH1=(65535-9216)/256;TL1=(65535-9216)%256;EA=1;ET0=1;ET1=1;TR0=1;alm_mi n=0; alm_hour=0;while(1) key_proc();dis play();n aozho ng(); miaobiao(); zhe ngdia n();中断void T0_i nt()i nterru pt 1TH0=(65535-9216)/256;TL0=(65535-9216)%256;count+;/中断次数累加if(cou nt=100)coun t=0;clk_miao+;if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产广告创意与策略方案范文
- 医院急救流程与急危重症对策
- 高等教育中教师心理调适的必要性与心得体会
- 2025中学校长述职报告范文
- 临时工劳动合同模板一7篇
- 对前期投入进行审计合同8篇
- 上海合组织今年第几次会议会议组织服务的合同10篇
- 饭店加盟合同样本8篇
- 第六章船舶租用合同模板
- 污水处理设施合同
- 个体工商户代持协议书(2篇)
- 2024年国网公司企业文化与职业道德试考试题库(含答案)
- 语文新课标“整本书阅读”深度解读及案例
- 基于激光导航的履带自走式机器人控制系统研究的开题报告
- 护坡施工方案施工方案
- 河南省2024年中考道德与法治真题试卷(含答案)
- 公司工资表模板
- 小学计算机室安全应急预案
- 上海市市辖区(2024年-2025年小学三年级语文)统编版期中考试(下学期)试卷(含答案)
- 废弃物生命周期评估与管理
- 2024年国开电大 高级财务会计 形考任务4答案
评论
0/150
提交评论