关于单片机最小系统板的制作总结.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于单片机最小系统板的制作总结

关于单片机最小系统板的制作总结 通过制作最小系统板,我们对单片机内部硬件结构、工作原理有了基本的认识,同时掌握了程序设计的基本方法;其次,我们学会了电子电路设计的基本流程,熟悉了89C51/C52芯片及一些基础电路。最后,我们学会了基于C语言的Proteus仿真,熟悉了调试单片机的应用系统的一般方法! 系统设计 最小系统 采用89C52芯片,外接时钟电路,复位电路。芯片的所有引脚与排针相连,以方便以后的使用,并且特别引出了特殊引脚,以与其它引脚区分。 实现跑马灯 在系统板的P2端口,从 P20—P27 I/O端口依次连接一个发光管二极管,在软件的控制下实现花样跑马灯! 电路 本次设计使用单片机芯片STC89C52,单片机最小系统电路如下: 硬件单元电路 复位电路 本次设计复位电路采用的是上电复位方式。上电复位时通过外部复位路的电容充电来实现的,为了保证复位成功,只要RST引脚保持足够时间。复位电路如下图所示 时钟电路 本次设计采用的是12MHz的晶振,两只电容在20pF~100pF之间取值,其取值在60pF~70pF时振荡器频率稳定性较高,按照一般经验,外接晶体时两个电容取值为30pF,本次设计选为30pF。晶振电路如下图所示 3.89C52芯片引脚 通过学习,我们认识到:STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功:8k字节Flash256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。 另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作允许RAM、定时器/计数器、串口、中断继续工作。 材料详单 系统组件 89C51芯片,晶振(12MHZ,1个),30pf电容(2个),20pf电容(2个),电阻(10K,1个),单排插针; 跑马灯 电阻(10K,10个),发光二极管(10个); 3.焊接工具 烙铁,烙铁架,焊锡。 四.软件部分 1.依次循环亮 #include reg52.h void delay(unsigned int i); void delay(unsigned int i) { unsigned char j; for(i; i 0; i--) for(j = 255; j 0; j--); }char LED; main() { unsigned char i; while (1) { LED = 0xfe; for (i = 0 ;i 4 ; i++) { P2 = LED; delay(500); LED = LED 1; LED = LED | 0x01; } for (i = 0 ;i 4 ; i++) { P2 = LED; delay(500); LED = LED 1; LED = LED | 0x80; } } } 2.两边往中间跑 #includereg52.h void delay(int t) { int i; for(i=0;it;i++); } int led[4]={0x7e,0xbd,0xdb,0xe7}; void main(void) { int i; P2=0xff; while(1) { for(i=0;i4;i++) { P2=led[i]; delay(20000); } for(i=3;i;i--) { P2=led[i]; delay(20000); } } } 3 依次累加 #includereg52.h void delay(int t) { int i; for(i=0;it;i++); } unsigned int led1[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,

您可能关注的文档

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档