1单片机最小系统设计报告2学校:湖南科技大学学院:信息与电气工程学院班级:09级电子一班姓名:田坎3目录1、设计……………………………………………………………………1.1主要芯片简介……………………………………………………1.1.1HD7279芯片…………………………………………51.1.2MAX232芯片…………………………………………51.1.3DS1302芯片…………………………………………61.1.424C02芯片…………………………………………61.2目的要求………………………………………………………1.2.1目的…………………………………………………61.2.2任务…………………………………………………72.系统原理………………………………………………………………2.1电源…………………………………………………72.2复位及时钟电路……………………………………82.3八段数码显示管……………………………………92.4液晶显示电路………………………………………92.5按键电路……………………………………………102.6温度测量电路………………………………………102.7实时时钟电路………………………………………102.8储存电路……………………………………………112.9串口…………………………………………………113.具体步骤…………………………………………………………124.设计总结…………………………………………………………135.软件设计…………………………………………………………13附录1材料清单4一、摘要:单片机最小系统设计主要在STC89C52单片机上,用MAX232芯片实现串口程序下载,用HD7279A片驱动4*4键盘和8位数码管显示,用DS1302实现实时钟电路,用18b20数字温度传感器实现温度的测量,用24C02芯片实现储存电路,液晶以并行通信的方式连接单片机I/O口。软件编程控制数码管显示、液晶显示、实时时钟以及储存电路。二、关键字:STC89C52、MAX232、HD279A、24C20、DS1302、18B20、按键、LCD、8段数码管三、整体结构框图如图所示。STC89C52串口8位数码管显示时钟电路储存电路液晶显示51.设计1.1主要芯片简介1.1.1HD7279AHD7279A是一片具有串行接口的,可驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。特点:1、串行接口,无需外围元件可直接驱动LED2、各位独立控制译码/不译码及消隐和闪烁属性3、(循环)左移/(循环)右移指令4、具有段寻址指令,方便控制独立LED5、64键键盘控制器,内含去抖动电路1.1.2MAX232MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。其主要特点如下:1、符合所有的RS-232C技术标准2、只需要单一+5V电源供电3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-4、功耗低,典型供电电流5mA5、内部集成2个RS-232C驱动器66、内部集成两个RS-232C接收器7、高集成度,片外最低只需4个电容即可工作。1.1.3DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。电源电压范围:-0.5V…6V1.1.324C02串行E2PROM是基于I2C-BUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。随着世界上各公司对该器件的开发,市场上推出了许多牌号的24C02器件,甚至还有一些冒牌的24C02器件,这样就使批量生产的单片机控制系统的质量出现时好时坏的问题。笔者经过大量的设计实践和试验摸索找出了24C02在应用中之所以出现数据被冲掉的原因,并总结了一套保护24C02数据安全的软硬件设计方法。1.1.31.2目的要求1.2.1目的:通过对单片机最小系统的研究,掌握单片机各引脚功能,理解单片7机工作过程及原理,以及与各种外部扩展器件的连接,能够自己运用单片机来解决实际问题。1.2.2任务:根据单片机最小系统的原理图,完成单片机最小系统的焊接以及调试。掌握keil等单片机相关软件的使用。理解小系统的工作原理,掌握实际运用单片机小系统。2.系统原理电路是由电源、复位电路、串口、八段数码管显示电路、按键及储存电路、时钟电路、温度测量电路、LCD电路等部分组成。2.1电源:5V电源电路图2.2复位及时钟电路:8复位及时钟电路图复位电路由按键复位和上电复位两部分组成。STC89系列单片机为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。STC89C52RC使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。2.3HD72729驱动数码管和按键:9数码管及按键电路图电路包含两个共阴四位8段数码管显示器,使用HD7279驱动。HD7279是一片具有串行接口的,可以同时驱动8位共阴式数码管的智能显示驱动芯片,该芯片还可以连接多达64键的键盘矩阵,单片即可完成全部功能。2.4液晶显示电路:10液晶电路电路采用12864液晶显示器,液晶的D(0…7)数据线连接在单片机的P0口上。RS、WR、LCDEN连接在P2.2、P2.3、P2.4上。2.6温度测量电路:温度测量电路图2.7实时时钟电路:11实时时钟电路图2.8储存电路:、24c02储存电路图2.9串口:12串口下载电路图3.具体步骤3.1先按照器件规格要求,找到对应的具体器件,特别是电阻和电容的大小,单片机等各个芯片的缺口要与底座对应。3.2按照对应的器件把器件牢固的焊接到板子对应的焊盘上,要注意不要让针脚脱落。3.3使用单片机编程软件keil编写调试所用的程序,比如数码管、时钟程序、液晶显示等。3.4检测完所有模块没有问题就说明单片机最小系统制作完成,然后撰写课程设计报告。六、设计总结单片机最小系统经过我们一段时间的焊接、调试,终于能够达到预定的功能,虽然只是简单的焊接和调试,但从中我们也接触了不少的关于单片机的知识。此次设计让我对单片机有了初步的认识,能够了解单13片机工作的模式和具体过程,明白了怎样利用单片机来设计满足自己设定功能的作品,怎样利用单片机来控制系统。同时,这也让我了解到怎样进行单片机编程。还有就是通过具体焊接过程掌握了焊接的技巧,锻炼了自己的焊接能力。掌握了这些就可以在大学期间利用单片机最小系统来拓展功能,制作自己想做的东西,对科研立项等活动有很大的帮助作用。七、软件设计#includelcd12864.h#includehd7279.h#includeds1302.h#includeat24c02.h#includeds18b20.h#includestdio.h#includetop.hvoiddisplay_lcd2(){unsignedchardate[]={'2','0',0,0,'.',0,0,'.',0,0,0};unsignedchartime[9]={0,0,':',0,0,':',0,0,0};unsignedcharnumber[4]={'','','0',0},i=2,temp;unsignedchartem[7];sprintf(tem,%6.2f,read_ds18b20());time[0]=read_time_buf[2]/16+'0';time[1]=read_time_buf[2]%16+'0';time[3]=read_time_buf[1]/16+'0';time[4]=read_time_buf[1]%16+'0';14time[6]=read_time_buf[0]/16+'0';time[7]=read_time_buf[0]%16+'0';date[2]=read_time_buf[5]/16+'0';date[3]=read_time_buf[5]%16+'0';date[5]=read_time_buf[4]/16+'0';date[6]=read_time_buf[4]%16+'0';date[8]=read_time_buf[3]/16+'0';date[9]=read_time_buf[3]%16+'0';temp=count;while(temp){number[i]=temp%10+'0';temp/=10;i--;}write_12864_cmd(1);display_12864(0,0,日期:);display_12864(1,0,时间:);display_12864(2,0,温度:°C);display_12864(3,0,开机:);display_12864(0,3,date);display_12864(1,3,time);display_12864(2,3,tem);display_12864(3,5,number);}voidmain(){15//unsignedchari;EA=0;delay(200);count=read_add(0);count++;write_add(0,count);init_12864();init2402();lcd_display1();hd7279_test();write_12864_cmd(0x01);EA=1;EX0=1;while(1){Clock_Get_Time(read_time_buf);delay(100);display_time();display_lcd2();}}voidint0()interrupt0{EX0=0;switch(read7279(0x15)){16case58:set_time_date();break;case55:flag=!flag;break;}EX0=1;}附录1材料清单