- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《 单片机课程设计 》
系 别: 信息科学技术系
专业班级: 电信0803班
学 号: 20081186107
学生姓名: 刘 佩
指导教师: 刘 丽老师
(2010-2011学年第2学期)
华中科技大学武昌分校
第一部分 芯片资料介绍:
一: 89C52内部结构及芯片图
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes 的随即存储数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元。功能强大AT89C52单片机适合与许多较为复杂控制应用场合。
AT89C52提供以下标准功能:8K字节FLASH闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C52可降致0HZ的静态逻辑操作,并支持两种软件可选的节点工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个部件复位。
主要性能参数: ·与MCS—51产品指令和引脚兼容 ·8K字节可擦写FLASH闪速储存器 ·1000次擦写周期 ·全静态操作:0HZ——24MHZ ·三级加密程序存储器 ·256×8字节内部RAM ·32个可编程I/O口线 ·3个15位定时/计数器 ·8个中断源 ·可编程串行UART通道 ·低功耗空闲和掉电模式
第二部分 课程设计课题
课题一:电子钟
一:制作要求:用80C51/52单片机编程控制显示的电子钟。
1)要有8位LED显示器,分别显示 “年号:月份:日期”/“时:分:秒:毫秒”
例如“2005。10。 20”表示“2005年10月20日”/“10 52 49” 表示“10时52分49秒XX毫秒”
2)要有四位输入按键,功能分别是“移位”,“数字+”,“存储”
即“SHIFT”,“NUM+”,“SAVE”
3)显示过程:实验板通电开机后,8位LED显示器显示“时:分:秒”
按下“SHIFT”后第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。
再按“NUM+”数字增加,按“NUM-”数字减少,按“SAVE”储存修改结果。
二:硬件结构:80C52/51,8位LED显示器,CD4511-BCD译码器。参考电路见(附录一)
三:软件思路:可以分四个部分:参考子程序段见(附录六)
1》动态扫描显示LED电路程序
设立8个内部RAM 显示缓冲区 ,将要显示的数据的BCD码送显示缓冲区,程序只需要将显示缓冲区的BCD码,送相应的端口即可。动态扫描显示
例如:将40H-48H 为“时:分:秒”显示区
将49H-4FH 为“年:月:日”显示区
2》动态扫描键盘程序:
循环扫描有无按键,有:判断是何按键,转入相应子程序处理。
无:返回主程序执行。
3》定时器设置与时间处理的程序:
此段为该程序段的关键所在,它决定时间的准确性,和进位的正确性。
定时器计数可用中断方式,也可以用软件查询方式进行。定时器中断定时方式的精确度高。采用软件延时方式要注意每条指令的机器周期的精确计算,否则会造成时间的不准。
4》各项功能键的子程序模块:
⑴移位子程序:按下“SHIFT”后左边第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。程序中可设置第二显示缓冲区,将移到要闪动的数字位设为不显示(黑)“0FFH/00H”,程序只需要将两组显示缓冲区的BCD码,分时间间隔发送出去,就会产生数字闪动效果。
⑵数字+/-:将要显示的数据缓冲区的内容取出加一/减一,注意每个位都有自己的位限制,如“时”的位最大数23,“分、秒”最大数59,“月”最大数 12,“日” 最大数 31。两位数一起调整比较方便。还要注意的是计数后二/十进制之间的转换问题。
⑶“存储”:即将修改好的数值存储到显示缓冲区,并返回,进入主程序运行。
#includeu.h
#define temp 20000
uint flag,flag_1 = 0;
uint flag_2,flag_3 = 1;
sbit K0=P0^0;
您可能关注的文档
- 土木工程毕业论文计算书(商场).doc
- 小功率调幅发射机设计毕业论文.doc
- 虚拟数字电压表的毕业设计.doc
- 洋岩煤矿防治煤与瓦斯突出专项毕业设计.doc
- 用Popov抗干扰的模型参考自适应控制研究毕业论文(论文).doc
- 中空成型机液压系统的毕业设计.doc
- SRP基于单片机的红外测温仪.doc
- VFP工资管理系统 毕业论文论文.doc
- 毕业论文(单片机控制自动售货机控制器设计系统).doc
- 毕业论文_立体车库.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)