单片机课程设计--基于51单片机的定时闹钟设计内容摘要:
时器来计时,然后通过来判断计时器和闹铃时间来使闹铃响,通过对单片机的一些端口进行扫描来判断时分秒的调整,选择计时器调时还是定时闹钟的调时以及是否闹铃。 单片机课程设计报告 10 主程序开始 初始化 LCD 程序流程图 初始化变量 初始化计时器 ,初始化闹铃 扫描显示器更新时间数据, 闹钟时间是不是到了。 是否按下 4 个按键 NO YSE K1:调时 K2:调分 K3:完成 K4:打开闹铃 图 6 程序流程图 单片机课程设计报告 11 四、 proteus 仿真说明 1,开始程序 图 7 显示器开始及定时 图 8 定时闹铃开并调定时闹钟的时间 ,计时时间到了定时闹铃的时间后,喇叭开始叫 单片机课程设计报告 12 图 9 仿真结果 五、课程设计体会 这次课程设计一个星期,刚知道课程设计的时候感觉题目很简单,应该花很少的时间就可以完成课程设计,感觉如果用汇编语 言的话感觉程序会有点多,所以我决定用 C 语言编程,开始编程时,发现编程的时候就有些问题了。 要学会怎么用 KEIL,然后把生成的HEX 文档,把它加载到 Proteus 里的 89C52 芯片,使芯片能工作。 这次仿真要用到单片机种最重要的两个部分,外部中断和外部计时器,另外学会了如何驱动 1602 液晶显示器。 这次课程设计让我学会了怎么用 C 语言来编写程序以供单片机使用,对单片机中的外部中断还有一些 P0, P1, P2 口的使用, P0 需要添加上拉电阻,对单片有了更加深入的了解,对 Proteus, keil 的使用更加熟练了。 实验中同样出现 些问题,比如闹钟的设定以及 K4 功能的实现,还有延时功能的实现,所以要对单片机的执行程序需要的机器周期得完全了解清楚,用汇编语言容易计算所用的机器周期,用 C 语言的话就难些,这次课程设计使单片机能够实现定时闹钟的功能,实现了这次设计的要求。 这次课程设计让我更加认真的自己做了些以前想做想学的东西,并且认识到要多请教同学。 单片机课程设计报告 13 六、 参考文献 [1]余发山 .单片机原理及应用技术 .中国矿业大学出版社 [2]刘和平 . 单片机编程与入门 .重庆大学出版社 [3]郭天祥、 51 单片机 C 语言教程、电子工业出版社、 [4]刘瑞新 . 单片机原理及应用教程 .北京机械工业出版社 七、 程序 源程序代码 include define uchar unsigned char define uint unsigned int uchar code shuzi[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39, 0x20}。 //阿拉伯数字 9 0x2a 表示: * uchar kongbai=0x20。 sbit rs=P2^5。 sbit rw=P2^6。 sbit en=P2^7。 sbit k1=P1^0。 sbit k2=P1^1。 sbit k3=P1^2。 sbit k4=P1^3。 sbit led_miao=P1^7。 sbit buzz=P2^3。 sbit lamp=P2^4。 uchar shi1=0x85,shi2=0x86。 uchar fen1=0x88,fen2=0x89。 uchar ns1=0xcb,ns2=0xcc。 uchar nf1=0xce,nf2=0xcf。 uchar aaak1=1,aaak2=1,aaak3=1,aaak4=1,clockon,ringoff。 单片机课程设计报告 14 uchar b,c,d,e,ch,hou=10。 uchar bn,dn,chn,houn=10。 uchar tt0,tt1,tt2,tt3,tt4,change,ho=10。 int tt5,a,an。 uchar pt。 //时钟说明 // // a b : c d // //// //闹钟说明 // // an bn : dn // //// void delay(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 } void wc(uchar ) { rs=0。 P0=。 delay(5)。 en=1。 delay(5)。 en=0。 } void wd(uchar date) { rs=1。 P0=date。 单片机课程设计报告 15 delay(5)。 en=1。 delay(5)。 en=0。 } void init() { en=0。 rs=0。 rw=0。 //写数据或指令时,的口必须为低电平 wc(0x38)。 wc(0x0c)。 wc(0x06)。 //写一个字符后地址指针加 wc(0x01)。 } void showtime(uchar fen_1,uchar fen_2,uchar f1,uchar f2) { wc(fen_1)。 delay(1)。 wd(shuzi[f1])。 delay(1)。 wc(fen_2)。 delay(1)。 wd(shuzi[f2])。 delay(1)。 } void showmao(uchar kkkkk) { if(kkkkk==0) { wc(0x87)。 delay(1)。 wd(0x3a)。 delay(1)。 } else if(kkkkk==1) { wc(0xcd)。 delay(1)。 wd(0x3a)。 delay(1)。 } else { wc(0xcd)。单片机课程设计--基于51单片机的定时闹钟设计
相关推荐
(定时器/计数器1计数脉冲输入端)WR(片外数据存储器写选通信号输出端) RD(片内数据存储器读选通信号输出端) 时钟电路的选择与设计单片机的时钟信号用来提供单片机内各种微操作的时间基准,89S52片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。 外部方式的时钟很少用
本身就是自然、社会、经济、技术等要素组成的 多重结构的生态经济系统。 土地利用不仅是自然技术问题和社会经济问题 .而且也是个资源合理利用和环境保护的生态经济问题,同时承受着客观上存在的自然、经济和生态规律的制约。 所以南水北调工程对焦作大量被废弃的山体通过种植植被来恢复这里的景观生态环境,完全遵循了生态经济的宗旨。 河南理工大学万方科技学院本科毕业论文 9 3 南水北调
和神秘感,通过引导学生自己动手实践,在实践中合作学习,理解学习中的重点和难点。 2020 年 9 月 1 日 教 学 进 度 2020~ 2020 学年度(第一学期) 科目:信息技术 年级:四年级 周 次 日 期 内 容 完成 时间 备注 1 2 9 月 1 日~ 9 日 认识信 息处理工具 1 3 12 日~
器称为过电流继电器;低于整定值时动作的继电器称为欠电流继电器。 过电流继电器在正常工作时,电流线圈通过的电流为额定值,所以产生的电磁力不足以克服反作用弹力;常闭触头 仍保持闭合状态,当通过线圈的电流超过整定值后,电磁吸力大于反作用弹簧拉力,铁心吸引衔铁,使常闭触头断开,常开触头闭合,过电流细继电器主要用于频繁、重载启动场合、作为电动机或主电路的短路和过载保护
加工编程 8 确定加工方案 零件上比较精密表面加工,常常是通过粗加工、半精加工和精加工逐步达到的。 对这些表面仅仅根据质量要求选择相应的最终加工方法是不够的,还应正确的确定毛坯到最终成形的加工方案。 毛坯先夹持右端 车右端轮廓 95mm 处,先用中心钻打 中心孔,再用 Φ 8 的钻头钻 25mm 的孔,再用 Φ 20 的钻头扩孔,再用镗刀镗 Φ 的孔, 再用内槽刀镗 Φ 28 的槽
计(论文) 7 位又分按键脉冲复位和按键电平复位。 电平复位将复位端通过电阻与 Vcc相连,按键脉冲复位是利用 RC分电路产生正脉冲来达到复位的。 C1 0R2V C CS2.. .. 图 复位电路原理图 时钟电路设计 单片机内部有一个高增益反向放大器,输入端为芯片引脚 ,输出端为引脚。 而在芯片外部 和 之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。 晶体震荡频率高