- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机原理及应用》课程设计报告
课题:单片机多功能系统设计
班级 电子1071班
学号 1071205236
学生姓名 张亮亮
专业 电子信息工程
系别 电子与电气工程学院
指导教师 朱霞 ,付丽辉
淮阴工学院
电子信息工程系
20010年9月
目录
一. 设计目的及意义 。。。。。。。。。。。。。。。。。。。。。。。。。。。(2)
二.设计过程 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。(2)
三.硬件电路总体设计。。。。。。。。。。。。。。。。。。。。。。。。。。(3)
3.1 系统硬件总框图。。。。。。。。。。。。。。。。。。。。(3)
3.2 系统设计原理
3、2、1 系统处理器 。。。。。。。。。。。。。。。。。。(3)
3、2、2 LED流水灯 。。。。。。。。。。。。。。。。(4)
3、2、3 扬声器模块 。。。。。。。。。。。。。。。。。。(5)
3、2、4 数码管兼容MCS51指令系统3个16位可编程定时/计数器中断2个串行中断 2个外部中断源2个读写中断口线低功耗空闲和掉电模式8k可反复擦写(1000次)Flash ROM256x8 bit内部RAM时钟频率0-24MHz可编程UART串行通道共6个中断源3级加密位软件设置睡眠和唤醒功能
图AT89C52单片机引脚图
图3 LED流水灯
图7. 扬声器电路
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声码管
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
图数码管引脚图
图8 主程序流程图
五、详细完整的程序清单及注释
#include reg52.h //包括一个52标准内核的头文件
#include intrins.h
/****************************IO口定义*****************************/
sbit P24 = P2^4;
sbit P26 = P2^6;
sbit P25 = P2^5;
sbit P27 = P2^7;
sbit P30 = P3^0;
sbit P31 = P3^1;
sbit P32 = P3^2;
sbit P33 = P3^3;
sbit P34 = P3^4;
sbit P35 = P3^5;
sbit P36 = P3^6;
sbit P37 = P3^7;
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit LCD_RS = P2^4;
sbit LCD_RW = P2^3;
sbit LCD_EN = P2^5;
void delay(int ms)
{
int i;
while(ms--)
{
for(i = 0; i 100; i++)
{
}
文档评论(0)