您好,欢迎访问三七文档
目录:一、设计的目的和意义二、主要功能三、硬件电路设计四、软件设计五、部分代码六、课程设计体会七、参考文献一、课程设计的目的和意义信息电子技术学院1、设计的目的1)了解设计要求2)独立完成设计任务3)绘制系统硬件总框图4)绘制系统原理电路图5)制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释;6)制定编写调试方案,编写用户操作使用说明书7)写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。2、意义现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于1秒的定义,通过计数方式进行满60秒分钟进1,满60分小时进1,满24小时小时清零。从而达到计时的功能,是人民日常生活不可缺少的工具。高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,信息电子技术学院这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。二、主要功能电子钟设计一个简单的单片机编程设计,要求电子钟软件程序必须具备测温、时钟和音乐功能。三、硬件电路设计1、部分原件使用说明中文名1602字符液晶VSS一般接地VDD接电源BLA背光电源正极BLK背光电源负极显示16x02即32个字符(1)简介1602字符型LCD模块的应用非常广泛,而各种液晶厂家均有提供几乎都是同样规格的1602模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同;1602字符型LCD模块最初采用的LCD控制器采用的是HD44780,在各厂家生产的1602模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的;当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。(2)操作1602液晶的基本的操作分为以下四种:状态字读操作:输入RS=低、RW=高、EP=高;输出:DB0~7读出为状态字;信息电子技术学院数据读出操作:输入RS=高、RW=高、EP=高;输出:DB0~7读出为数据;指令写入操作:输入RS=低、RW=低、EP=上升沿;输出:无;数据写入操作:输入RS=高、RW=低、EP=上升沿;输出:无。(3)指令/*显示模式指令*/#defineLCD_Display_mode0X38//设置16x2显示5x7点阵8位数据接口/*显示开/关及光标设置*/#defineLCD_shows00X0C//开显示不显示光标光标不闪烁#defineLCD_shows20X0E//开显示显示光标光标不闪烁#defineLCD_shows10X0F//开显示显示光标光标闪烁#defineLCD_shows30X08//关显示不显示光标光标不闪烁/*指针设置*/#defineLCD_cursor10X04//写一个字符地址指针减1#defineLCD_cursor20X05//写一个字符地址指针减1并屏幕右移#defineLCD_cursor30X06//写一个字符地址指针加1#defineLCD_cursor40X07//写一个字符地址指针加1并屏幕左移/*清屏指令*/#defineLCD_clear0x01//清屏指令数据指针清零所有显示清零/*忙状态字*/#defineLCD_WAY0x80//状态字信息电子技术学院/*宏定义显示起始地址*/#defineLCD_ADDH0X80//第一行地址0x80-0xA7#defineLCD_ADDL0XC0//第二行地址0xC0-0xE7/*IO口定义*/#defineLCD1602_DATAP0//宏定义8位数据线IO为P0口D0~D7=P00~P078位数据线D0=P00;sbitLCD1602_RS=P2^5;//数据/命令选择端(H/L)sbitLCD1602_RW=P2^6;//读/写选择端(H/L)sbitLCD1602_E=P2^7;//使能信号/*函数声明*/voidLCD1602_init();//液晶初始化函数voidLCD1602_writecd(bitlcd_rs,ucharLCD1602_d);//写命令/数据函数bitlcd_rs是数据还是命令ucharLCD1602_d要写入的数据ucharLCD1602_readway();//读忙状态函数由写入和读取函数调用ucharLCD1602_readata();//读数据函数voidLCD_DELAY(ucharLCD_delay);///*液晶初始化函数*/voidLCD1602_init()//液晶初始化函数{LCD_DELAY(LCD_15MS);//延时15MS初始化LCD1602_writecd(LCD1602_COM,LCD_Display_mode);//写指令38H设置16x2显示5x7点阵8位数据接口信息电子技术学院LCD1602_writecd(LCD1602_COM,LCD_shows0);//开显示不显示光标光标不闪烁LCD1602_writecd(LCD1602_COM,LCD_cursor1);//检查忙状态LCD1602_writecd(LCD1602_COM,LCD_clear);//写指令01H:显示清屏}/*液晶写命令/数据函数*/voidLCD1602_writecd(bitlcd_rs,ucharLCD1602_cd)//写命令/数据函数{ucharLCD1602_NUM;//定义变量用来液晶无忙回答的退出死循环LCD1602_NUM=255;//忙状态检测次数while(LCD1602_readway())//检查忙状态{LCD1602_NUM--;//检测次数自减if(LCD1602_NUM==0)//判断检测次数等于0{break;}//退出循环判断忙}LCD1602_RW=LCD1602_L;//读/写选择端(H/L)LCD1602_RS=lcd_rs;//数据/命令选择端(H/L)LCD1602_DATA=LCD1602_cd;//IO口赋值LCD1602_E=LCD1602_H;//拉高使能信号开始传输数据LCD1602_E=LCD1602_L;//拉低使能信号锁存数据LCD1602_DATA=0xff;//IO口数据清除}信息电子技术学院/*忙状态读取函数*/ucharLCD1602_readway()//读状态函数由写入和读取函数调用{ucharLCD1602_way;//状态字变量LCD1602_DATA=0xff;//IO口数据清除LCD1602_RS=LCD1602_COM;//数据/命令选择端(H/L)命令LCD1602_RW=LCD1602_H;//读/写选择端(H/L)LCD1602_E=LCD1602_H;//拉高使能信号开始接收状态LCD1602_way=LCD1602_DATA;//读取状态LCD1602_E=LCD1602_L;//拉低使能信号锁存数据LCD1602_way=LCD1602_way&LCD_WAY;//取忙状态字return(LCD1602_way);//返回状态字}/*液晶读数据函数*/ucharLCD1602_readata()//读数据函数{ucharLCD1602_data;//数据暂存变量while(LCD1602_readway());//检查忙状态--------------------LCD1602_DATA=0xff;//IO口数据清除LCD1602_RS=LCD1602_DAT;//数据/命令选择端(H/L)数据LCD1602_RW=LCD1602_H;//读/写选择端(H/L)LCD1602_E=LCD1602_H;//拉高使能信号开始接收状态LCD1602_data=LCD1602_DATA;//读取状态LCD1602_E=LCD1602_L;//拉低使能信号锁存数据信息电子技术学院return(LCD1602_data);//返回数据}/*延时函数*/voidLCD_DELAY(ucharLCD_delay)//{ucharlcd_del;while(LCD_delay--)//自减{lcd_del=100;while(lcd_del--);}}中文名DS1302外文名DS1302公司DALLAS公司国家美国类型时钟芯片(1)简介DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。(2)操作信息电子技术学院控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,位1表示进行读操作,控制字节总是从最低位开始输出。(3)结论DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。外文名DS18B20体积小硬件开销低抗干扰能力强工作电压3V~5.5V超低功耗静态功耗3uA(1)简介DS1820数字温度计提供9位温度读数,指示器件的温度。信息电子技术学院信息经过单线接口送入DS1820或从DS1820送出,因此从中央处理器到DS1820仅需连接一条线(和地)。读、写和完成温度变换所需的电源可以有数据线本身提供,而不需要外部电源。因为每个DS1820有唯一的系列号(siliconserialnumber),因此多个DS1820可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。(2)操作根据定义,单线总线只有一根线;这一点是重要的,即线上的第一个器件能在适当的时间驱动该总线。为了做到这一点,第一个连接到单线总线上的器件必须具有漏极开路或三态输出。DS1820的单线接口(I/O引脚是漏极开路的)。多站(multidrop)总线由单线总线和多个与之相连的从属器件组成。单线总线要求近似于5KΩ的上拉电阻。单线总线的空闲状态是高电平。不管任何原因,如果执行需要被挂起,那么,若要重新恢复执行,总线必须保持在空闲状态。如果不满足这一点且总线保持在低电平时间大于480us,那么总线上的所有器件均被复位。存在脉冲(presencepulse)使总线主机知道DS1820在总线上并已准备好工作。(3)结论独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5信息电子技术学院V无需备用电源测量温度范围为-55°C至+125℃。华氏相当于是-67°F到257华氏度-10°C至+85°C范围内精度为±0.5°C温度传感器可
本文标题:微机原理课程设计1
链接地址:https://www.777doc.com/doc-2435723 .html