毕业论文-基于AT89S52单片机的水温控制器的设计.doc_第1页
毕业论文-基于AT89S52单片机的水温控制器的设计.doc_第2页
毕业论文-基于AT89S52单片机的水温控制器的设计.doc_第3页
毕业论文-基于AT89S52单片机的水温控制器的设计.doc_第4页
毕业论文-基于AT89S52单片机的水温控制器的设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生毕业论文(设计)题目 基于AT89S52单片机的水温控制器的设计 学院 物电学院 专业 电子信息工程 学生姓名 学号 指导教师 职称 讲师 完成日期 2014 年 3 月 19 日论文题目 基于STC89c52的水温控制器的设计 中文摘要本水温控制器以单片机AT89S52为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。本系统具有。什么什么优点,可以用于热水器温度控制系统和饮水机等各种热水器电路中。关键词: 单片机;数码管显示;单总线;DS18B20 英文题目THEDESIGNOFTHECONTROLLERFORWATERTEMPERATUREBASEDONMCU 学生姓名、学院(英文): Renhai. Engineering of Physics and electronic information英文摘要Thissystemcanbeusedinthedesignofthewaterheatertemperaturecontrolsystemandvariouselectricalappliancessuchasricecookerscircuit.ThecoreofitisamicrocomputerAT89S52.Itrealizeinteractivebetweenpeopleanddevicebythreedigitaldisplaytemperatureandfourkeys.Thetemperatureconversion1WIREBUSchipDS18B20real-timesamplinganddisplaythetemperaturethroughthedigitalandprovidevariousindicatortoindicatedifferentstatesofthesystemnow,eg.settingstemperature,heating,stopetc.Thewholesystemusefourkeystosetuptheheatingtemperatureandcontrolmode. 英文关键词 Microcomputer;DigitalDisplay;1WIREBUS;DS18B20 目 录1 绪论- 5 -2 系统总体设计- 5 -2.1硬件总体设计- 6 -2.1.1硬件系统子模块- 6 -2.2 软件总体设计- 6 -3 硬件系统设计- 7 -3.1硬件电路分析和设计报告- 4 -3.1.1单片机最小系统电路- 4 -3.1.2 键盘电路- 5 -3.1.3 数码管及指示灯显示电路- 5 -3.1.4 温度采集电路- 11-3.1.5 电源电路- 12 -3.1.6报警电路设计- 12 -3.1.7加热管控制电路设计- 12 -4 系统软件设计- 13 -4.1主程序流程图- 14 -5 系统调试-15 -5.1 硬件电路调试- 15 -5.2 软件调试- 15 -5.3 系统操作说明- 15 -总 结- 16 -附录一:系统源程序- 17 -附录二:系统硬件总图- 26 -1 绪论本系统的设计可以用于水温控制系统和电饭煲等各种电器电路中。它以单片机AT89S52为核心,通过数码管显示温度和语音提示实现人机对话,使用温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。自动控制仪器仪表总的发展趋势是高性能、数字化、集成化、智能化和网络化。智能温度控制系统的设计是为了满足市场对成本低、性能稳定、可远程监测、控制现场温度的需求而做的课题,具有较为广阔的市场前景。本系统的核心控制芯片选用的是51系列单片机AT89S52,单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关: 单片机构成的应用系统有较大的可靠性。 系统构建简洁、易行,能方便的实现系统功能。 由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点。 有优异的性能价格比。2 系统总体设计2.1硬件总体设计设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2-1:电源单片机AT89S52数码管显示继电器温度传感器DS18B20报警键盘指示灯图 21 系统结构框图2.1.1硬件系统子模块(1) 单片机最小系统电路部分(2) 键盘扫描电路部分(3) 数码管温度显示和运行指示灯电路部分(4) 温度采集电路部分(5) 继电器控制部分(6) 报警部分2.2 软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1) 根据需求按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4) 按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。3 硬件系统设计3.1硬件电路分析和设计报告本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。P2.3接继电器。P3.1是温度信号线。整个电路都是通过软件控制实现设计要求。3.1.1单片机最小系统电路因为89S52单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路。如图31,单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以必须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。图31 单片机最小系统图3.1.2 键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT89S52的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:(1) SW1:设定按键(设定按键)(2) SW2:加法按键(当前位加5)(3) SW3:减法按键(当前位减5)(4) SW4:退出设置键(系统初始化) 图32 单片机最小系统3.1.3 数码管及指示灯显示电路(1)数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1。表3-1 数码管编码表段码位码显示器状态08H01H0abH02H112H04H222H08H3a1H10H424H20H504H40H6aaH80H7本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。第三位数码管静态显示符号“”。(2)运行指示灯说明本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。右上角的红色LED是电源指示灯;数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5以下时,绿色LED灭,红色加热的LED灯亮,不断循环。图33 LED数码管显示电路图3.1.4 温度采集电路(1) DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装结构如图3-4所示。 图3-4 DS18B20封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 (2)DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20 与微处理器间采用串行数据传送。因此, 在对DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20 有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端单点接地。本文以广泛应用的数字温度传感器DS18B20为例,说明了1Wire总线的操作过程和基本原理。事实上,基于1Wire总线的产品还有很多种,如1Wire总线的E2PROM、实时时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。本设计将温度传感器DS18B20与单片机TXD引脚相连,读取温度传感器的数值。DS18B20与单片机连接图如图所示3-10所示。图3-10 DS18B20与单片机连接图3.1.5 电源电路采用L7805稳压块,输出为5V。电子组件要正常运作都需要电源电压供电,一般常用的电源电压为+5V或+12V,因为数字IC (Ingegrated Circuit:集成电路)所供给的电压为+5V,而CMOS IC所供给的电压为+12V,7805是一个稳压块。7805稳压管把高电压转换到低电压,7805稳压管具有保护单片机的作用。L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。本设计采用两种供电方式,一种为DC718V直流稳压电源变换成5V的直流电;另一种为四节干电池共6V经二极管加压后得到将近5V的直流电源,电源配以开关和指示灯,以方便使用。黄色发光二极管表示保温,红色的表示加热状态。图3-11 系统电源设计图3.1.6报警电路设计同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。报警电路原理图如图所示。图3-12 报警电路图图中的三极管8550的作用是增加驱动能力,比9012的驱动电流还大些,因此选用8550。当程序进入报警子程序时,把P2.7置0,就会触发蜂鸣器,为了使报警声音效果更好,对P2.7取反,发出报警嘟噜声音。3.1.7加热管控制电路设计继电器是常用的输出控制接口,可以做交直流信号的输出切换。它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器控制接点操作说明如下:COM:Common,共同点。输出控制接点的共同接点。NC:Normal Close常闭点。以Com为共同点,NC与COM在平时是呈导通状态的。NO:Normal Open常开点。NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。当89S52的P2.5输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。图3-13 单片机控制继电器电路图4 系统软件设计本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。4.1主程序流程图(这两个图简单说明一下)图 4-1 主程序流程图- 14 -5 系统调试5.1 硬件电路调试仔细检查所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显示,则应该检查线路是否正确,或是因为单片机没有工作,还有集电极和发射极是否接对。如果只显示两个八,则可能是DS18B20没有接正确,检查上拉电路是否接好。另外要注意的是,由单片机输出的控制信号比较小,需要进行放大才能驱动继电器工作,否则就不能实现升温过程,通常选用8550三极管来进行放大。还有220V交流电绿色接头和加热管黄色接头必须接正确,否则导致电路烧坏。蜂鸣器是低电平有效。如果能注意这些问题,电路基本不会出错。5.2 软件调试如果硬件电路检查后,没有问题却实现不了设计要求,则可能是软件编程的问题,首先应检查初始化程序,然后是读温度程序,显示程序,以及继电器控制程序,对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。还有一个容易忽略的问题就是,源程序生成的代码是否烧入到单片机中,如果这一过程出错,那不能实现设计要求也是情理之中的事。本人在设计的时候在伟福仿真软件进行调试,通过此软件进行调试可以很方便的观察单片机内部各个寄存器及内部存储器变化情况,以方便进行调试。图为单片机功能调试图。图5-1 单片机功能调试图硬件与软件调试相结合,仔细检查各个模块的设计,旧能顺利完成任务,实现设计要求,在调试过程中必须认真耐心,不能有一点马虎,否则遗漏一个小的问题就会导致整个设计的失败。5.3 系统操作说明本系统上电后数码管显示当前测量温度,此时加热指示灯和保温指示灯均不点亮;若此时按“自动加热”键,则单片机自动将预加热温度设置为80并开始加热,送出一个加热信号,并点亮加热指示灯;若按“温度设置”键,则进入预加热温度设置界面,此时数码管闪烁显示预设置温度,此时通过按键“”和“”进行设置温度,预设置温度按“5”递增或递减,设置好温度后再按一次“温度设置”键确定,单片机保存预设置温度,并开始加热。此时单片机通过数码管显示实时检测的温度并和预设置温度进行对比,如果实测温度大于或等于预设置温度,则单片机发出停止加热信号并熄灭加热指示灯,点亮保温指示灯,且当超过预设温度时发出报警;当温度下降到预设置温度以下5度时,单片机再次发出加热信号,同时熄灭保温指示灯,点亮加热指示灯,依次循环控制。总 结 通过本次的设计,使我们不仅对单片机这门课程有了更深刻的认识,懂得了如何运用课本知识结合实际来完成定时器的显示和编程方法以及数码显示电路的驱动方法,使我们能够很快的适应现代控制技术发展的需求,同时也提高了我们的思维能力和实际操作能力,为以后更好的走上工作岗位奠定了坚实的基础。另外,这次的设计还让我更进一步的认识了关于AT89S52等芯片的引脚功能以及使用方法,使我学会了应用不同的芯片来配合完成整个设计的操作。在做硬件电路的这段时间里,从思考设计到对电路的调试经过了许多困难。同样在对软件进行设计时,也可为一路坎坷。但是通过对软硬件不断撞墙,不断思考解决问题的过程中,我学会了很多东西,同时对单片机也有了更深的认识。在做设计的时候,很需要耐心和对事物的细心,很多时候一个简单问题的一个简单的疏忽就会导致整个电路的不工作,只有不断的检查不断的调试,才能真正完成一个设计的制作。只有不断的发现问题解决问题,才能从问题中改变自己,提升自己对单片机的能力。此设计虽然能够完成温度的显示和控制,但功能和精度有待于进一步提高。以后可以通过加入PID算法优化控制功能,并通过液晶显示屏实时显示温度。附录一:系统源程序EMPER_LEQU29H;用于保存读出温度的低8位TEMPER_HEQU28H;用于保存读出温度的高8位FLAG1EQU38H;是否检测到DS18B20标志位A_BITEQU20H;数码管个位数存放内存位置B_BITEQU21H;数码管十位数存放内存位置B1EQU70H;温度小数点位A1EQU71H;设定温度值DQEQUP3.1;DQ为DS18B20数据位BELLEQUP2.7;/蜂鸣报警ORG0000H;单片机内存分配申明!AJMPMAIN0;/前面的都是定义MAIN:MOVR0,#10M1:CPLP2.3ACALLDELAY125DJNZR0,M1;/此段为灯闪5次,无实际意义;/MAIN0:MOVA1,#80;默认加热为80度MAIN1:LCALLD1820;调用读温度子程序 LCALLDISPLAY;调用数码管显示子程序 MOVA,29H CLRC CJNEA,A1,MAIN1_1 SETBBELL;/温度相等,关闭蜂鸣器 AJMPMAIN1_1_A;/下等不用叫蜂鸣器MAIN1_1:JCMAIN1_2;为1转移,表示小于设定温度 CPLBELL;蜂鸣器断续鸣叫MAIN1_1_A:CLRP2.3;/下面是表示没达到温度 SETBP2.5 AJMPMAIN2;/主要是检测温度是否小于设定的温度,小于,则开发热管CLRP2.3MAIN1_2:SETBBELL;/关闭蜂鸣器 CLRP2.5;/开发热管 SETBP2.3;/上面的是大于,关发热管MAIN2:JBP1.0,MAIN1;/看P1.0有否按下 ACALLDELAY125;/延时防抖动,常用的手法,网上很多介绍的 JBP1.0,MAIN1;/再次查看 CLRP2.3 JNBP1.0,$;/等按键完全松手才进入! SETBP2.3 SETBP2.5;/检测到P1.0按键后后进入设定温度MAIN2_1:ACALLDISPLAY1 JBP1.2,MAIN2_2 ACALLDELAY125 JBP1.2,MAIN2_2 JNBP1.2,$ MOVA,#5 ADDA,A1 CLRC CJNEA,#100,MAIN2_1_1 MOVA,#99 AJMPMAIN2_1_3;/上面这一段是+5度按键,按下+5度MAIN2_1_1:JCMAIN2_1_3MAIN2_1_2:CLRCMOVA,#99MAIN2_1_3:MOVA1,AMAIN2_2:JBP1.4,MAIN2_3ACALLDELAY125JBP1.4,MAIN2_3JNBP1.4,$MOVA,A1CJNEA,#99,ZY1MOVB,#4AJMPZY2ZY1:MOVB,#5ZY2:CLRCMOVA,A1SUBBA,BMAIN2_2_1:JNCMAIN2_2_2MOVA1,#0AJMPMAIN2_3;/上面这一段是-5度按键,按下-5度MAIN2_2_2:MOVA1,AMAIN2_3:JBP1.6,MAIN2_1ACALLDELAY125JBP1.6,MAIN2_1CLRP2.3JNBP1.6,$SETBP2.3AJMPMAIN1;/上面这一段是退出的意思的!D1820:LCALLGET_TEMPER;调用读温度子程序MOVB1,29HMOVA,29HMOVC,40H;将28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,AMOVA,B1MOVB,#10HMULABMOVB,#10HDIVABMOVB,#10MULABMOVB,#10HDIVABMOVB1,ARET;/上面这一段是读取温度后进行转换的意思!;/;/;/INIT_1820:SETBDQ;这是DS18B20复位初始化子程序NOPCLRDQ;主机发出延时537微秒的复位低脉冲MOVR1,#3TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBDQ;然后拉高数据线NOPNOPNOPNOPMOVR0,#25HTSR2:JNBDQ,TSR3;等待DS18B20回应DJNZR0,TSR2LJMPTSR4;延时TSR3:SETBFLAG1;置标志位,表示DS1820存在LJMPTSR5TSR4:CLRFLAG1;清标志位,表示DS1820不存在LJMPTSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6;时序要求延时一段时间TSR7:SETBDQRETGET_TEMPER:SETBDQ;读出转换后的温度值LCALLINIT_1820;先复位DS18B20JBFLAG1,TSS2RET;判断DS1820是否存在?若DS18B20不存在则返回TSS2:MOVA,#0CCH;DS18B20已经被检测到!跳过ROM匹配LCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820LCALLDISPLAY;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALLINIT_1820;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200;将读出的温度数据保存到35H/36HRETWRITE_1820:MOVR2,#8;一共8位数据CLRC;写DS18B20的子程序(有具体的时序要求)WR1:CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBDQNOPDJNZR2,WR1SETBDQRETREAD_18200:MOVR4,#2;将温度高位和低位从DS18B20中读出MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOVR2,#8;数据一共有8位RE01:CLRC;读DS18B20的程序,从DS18B20中读出两个字节的温度数据SETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR3,#9RE10:DJNZR3,RE10MOVC,DQMOVR3,#23RE20:DJNZR3,RE20RRCADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00RET;/上面的这些都是温度采集的!DISPLAY:MOVA,29H;将29H中的十六进制数转换成10进制MOVB,#10;10进制/10=10进制DIVAB;显示子程序MOVA_BIT,A;十位在AMOVB_BIT,B;个位在BMOVDPTR,#NUMTAB;指定查表启始地址MOVR0,#1DPL1:MOVR1,#25;显示1000次DPLOP:MOVA,B_BIT;取个位数MOVCA,A+DPTR;查个位数的7段代码MOVP0,A;送出个位的7段代码CLRP2.2;开个位显示ACALLD1MS;显示1MSSETBP2.2MOVA,A_BIT;取十位数MOVCA,A+DPTR;查十位数的7段代码MOVP0,A;送出十位的7段代码CLRP2.1;开十位显示ACALLD1MS;显示1MSSETBP2.1MOVP0,#0FFHDJNZR1,DPLOP;100次没完循环DJNZR0,DPL1;4个100次没完循环RET;/上面这段显示实时温度;/DISPLAY1:MOVA,A1;将29H中的十六进制数转换成10进制MOVB,#10;10进制/10=10进制DIVAB;显示子程序MOVA_BIT,A;十位在AMOVB_BIT,B;个位在BMOVDPTR,#NUMTAB;指定查表启始地址MOVR0,#1DPL11:MOVR1,#25;显示1000次DPLOP1:MOVA,B_BIT;取个位数MOVCA,A+DPTR;查个位数的7段代码MOVP0,A;送出个位的7段代码CLRP2.2;开个位显示ACALLD1MS;显示1MSSETBP2.2MOVA,A_BIT;取十位数MOVCA,A+DPTR;查十位数的7段代码MOVP0,A;送出十位的7段代码CLRP2.1;开十位显示ACALLD1MS;显示1MSSETBP2.1MOVP0,#0FFHDJNZR1,DPLOP1;100次没完循环DJNZR0,DPL11;4个100次没完循环RET;/上面这段显示设置温度D1MS:MOVR7,#50;1MS延时DJNZR7,$RETDELAY10:MOVR6,#20;10MS延时D3:MOVR5,#255DJNZR5,$DJNZR6,D3RETDELAY125:MOVR6,#255;125MS延时D1:MOVR5,#255DJNZR5,$DJNZR6,D1RETDELAY1S:MOVR7,#8;1S延时D2:LCALLDELAY125DJNZR7,D2RET;/这些都是延时,长短而已NUMTAB:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,90H,88H,83HDB0C6H,0A1H,86H,8EH;/数码管的具体值END附录二:系统硬件总图安徽师范大学本科生毕业论文(设计)评定意见指导教师评语百分制成绩: 签名: 年月日评阅教师评语百分制成绩: 签名: 年月日评语主要内容包括:学生写作态度、科研作风,论文选题的理论意义和实践价值,论据是否充分、可靠,掌握基础理论、专门知识、研究方法和技能的水平,写作的逻辑性、技巧及其他优缺点。安徽师范大学本科生毕业论文(设计)评定意见教研室答辩组评定意见成绩: 教研室主任(答辩组组长)签名:年月日学院意见成绩: 院长签章:年月日附件3:安徽师范大学本科生毕业论文(设计)开题报告书题目学生姓名学 号指导教师学 院专 业职称选题的意义及研究状况:主要内容、研究方法和思路:准备情况(查阅过的文献资料及调研情况,现有仪器、设备情况、已发表或撰写的相关文章等):总体安排和进度(包括阶段性工作内容及完成日期):指导教师意见(研究的意义、创新点、前期基础工作、存在的难点和困难、建议等):指导教师签名:年月日学院选题指导组意见:学院选题指导组组长签名: 年月日附件4:安徽师范大学本科毕业论文(设计)指导过程记录表题目学生姓名学 号指导教师学 院专 业职称指导内容记录一时间:年月日指导内容记录二时间:年月日指导内容记录三时间:年月日指导内容记录四时间:年月日指导内容记录五时间:年月日指导内容记录六时间:年月日指导内容记录七时间:年月日注:指导内容和记录的次数可根据实际情况决定,表格填写不下的内容以及其他材料可另附纸。请删除以下内容,O(_)O谢谢!The origin of taxation in the United States can be traced to the time when the colonists were heavily taxed by Great Britain on everything from tea to legal and business documents that were required by the Stamp Tax. The colonists disdain for this taxation without representation (so-called because the colonies had no voice in the establishment of the taxes) gave rise to revolts such as the Boston Tea Party. However, even after the Revolutionary War and the adoption of the U.S. Constitution, the main source of revenue for the newly created states was money received from customs and excise taxes on items such as carriages, sugar, whiskey, and snuff. Income tax first appeared in the United States in 1862, during the Civil War. At that time only about one percent of the population was required to pay the tax. A flat-rate income tax was imposed in 1867. The income tax was repealed in its entirety in 1872. Income tax was a rallying point for the Populist party in 1892, and had enough support two years later that Congress passed the Income Tax Act of 1894. The tax at that time was two percent on individual incomes in excess of $4,000, which meant that it reached only the wealthiest members of the population. The Supreme Court struck down the tax, holding that it violated the constitutional requirement that direct taxes be apportioned among the states by population (pollock v. farmers loan & trust, 158 U.S. 601, 15 S. Ct. 912, 39 L. Ed. 1108 1895). After many years of debate and compromise, the sixteenth amendment to the Constitution was ratified in 1913, providing Congress with the power to lay and collect taxes on income without apportionment among the states. The objectives of the income tax were the equitable distribution of the tax burden and the raising of revenue. Since 1913 the U.S. income tax system has become very complex. In 1913 the income tax laws were contained in eighteen pages of legislation; the explanation of the tax reform act of 1986 was more than thirteen hundred pages long (Pub. L. 99-514, Oct. 22, 1986, 100 Stat. 2085). Commerce Clearing House, a publisher of tax information, released a version of the Internal Revenue Code in the early 1990s that was four times thicker than its version in 1953. Changes to the tax laws often reflect the times. The flat tax of 1913 was later replaced with a graduated tax. After the United States entered world war i, the War Revenue Act of 1917 imposed a maximum tax rate for individuals of 67 percent, compared with a rate of 13 percent in 1916. In 1924 Secretary of the Treasury Andrew W. Mellon, speaking to Congress about the high level of taxation, stated, The present system is a failure. It was an emergency measure, adopted under the pressure

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论