




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告专业09自动化(2)班姓名周传剑学号0905072004指导教师储忠完成时间2012年3月20目录摘要3实验一构建单片机最小系统和实验环境熟悉311单片机的工作原理3111运算器3112控制器4113单片机最小系统组成电路图6114实验总结7实验二跑马灯实验及74HC138译码器821实验内容8211实验原理8212实验原理图8213实验程序流程图9214实验程序代码9215系统仿真922实验总结10实验三8255控制交通灯实验1131实验内容11313实验原理11312实验原理电路图11313实验程序流程图12314实验程序代码12315系统仿真13328255A寻址原理1433实验总结15实验四8253方波实验1641实验内容16411实验原理16412实验原理电路图16413程序流程图17414程序流程代码17414系统仿真1842实验总结18附件191、完整版电路仿真图192、实物图193、完整版程序代码20单片机课程设计报告摘要本课程设计完成的是构建单片机最小系统和实验环境熟悉,跑马灯实验及74HC138译码器,8255控制交通灯实验,8253方波实验。最小系统包括晶振,复位等模块。138的译码实验,根据138的译码特性建立一个译码表。0XF0,0XF1,0XF2,0XF3,0XF4,0XF5,0XF6,0XF7用P1口给74HC138的A、B、C口赋值,在此过程中其实只用到了P10,P11,P12。8255A交通的实验选择PA口控制交通灯,核心思想就是延时时间的控制。8253方波实验采用的是CLK0进行一次分频,输出方波,通过改变延时的时间可以改表方波的频率。关键词74HC1388255A825380C51实验一构建单片机最小系统和实验环境熟悉11单片机的工作原理111运算器运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。1算术逻辑单元ALUALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。MCS51中位处理具有位处理功能,特别适用于实时逻辑控制。2累加器ACC累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。MCS51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。3寄存器B寄存器B是8位寄存器,主要用于乘、除运算。乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。寄存器B也可作为一般的寄存器用。4程序状态字PSW程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。PSW中各标志位名称及定义如下位序D7D6D5D4D3D2D1D0位标志CYACF0RS1RS0OVPCY(PSW7)进(借)位标志位,也是位处理器的位累加器C。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。在位操作中,CY作为位累加器C使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态(第三章讨论)。AC(PSW6)辅助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。F0(PSW5)用户标志位,由用户通过软件设定,决定程序的执行方式。RS1(PSW4),RS0(PSW3)寄存器组选择位。用于设定当前通用寄存器组的组,其对应关系如下RS1RS0寄存器组R0R7地址00组00007H01组1080FH10组21017H11组3181FHOV(PSW2)溢出标志位。它反映运算结果是否溢出,溢出时OV1;否则OV0。OV可作为条件转移指令中的条件。PSW1未定义位。P(PSW1)奇偶标志位。P1,表示ACC中1的个数为奇数;否则P0。P也可以作为条件转移指令中的条件。112控制器控制器包括定时控制逻辑(时钟电路、复位电路),指令寄存器,指令译码器程序计数器PC,堆栈指针SP,数据指针寄存器DPTR以及信息传送控制部件等。1时钟电路MCS51系列单片机芯片内部有一个高增益反相放大器,输入端为XTAL1,输出端为XTAL2,一般在XTAL1与XTAL2之间接石英晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,就是单片机的内部时钟电路,如图(A)所示。时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。电容C1和C2为微调电容,可起频率稳定、微调作用,一般取值在530PF之间,常取30PF。晶振的频率范围是12MHZ12MHZ,典型值取6MHZ。XTAL1接地,XTAL2接外部震荡器,外接信号应是高电平持续时间大于20NS的方波,且脉冲频率应低于12MHZ。如图(B)所示。(A)内部时钟电路(B)外部振荡源2复位电路对于使用12MHZ的晶振的单片机,复位信号持续时间应超过4S才能完成复位操作。产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST引脚上加了一个高电平完成复位操作。上电自动复位电路如图(A)所示。按键手动复位电路。按键手动复位是通过按键实现人为的复位操作,按键手动复位电路如图(B)所示。复位后内部暂存器的状态如下PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIP000000BSBUF不定IE0000000BPCON00000BTMOD00H3指令寄存器和指令译码器指令寄存器中存放指令代码,CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。4程序计数器PCPC是一个16位计数器,其内容为单片机将要执行的指令机器码所在存储单元的地址。PC具有自动加1的功能,从而实现程序的顺序执行。由于PC不可寻址的,因此用户无法对它直接进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。PC的寻址范围为64KB,即地址空间为00000FFFFH。5堆栈指针SPSP为8位寄存器,用于指示栈顶单元地址。所谓堆栈是一种数据结构,它只允许在其一端进行数据删除和数据插入操作的线性表。数据写入堆栈叫入栈(PUSH),数据读出堆栈叫出栈(POP)。堆栈的最大特点是“后进先出”的数据操作原则。MCS51系统复位后,SP初始化为07H。6数据指针DPTR数据指针DPTR为16位寄存器,它是MCS51中唯一的一个16位寄存器。编程时,既可按16位寄存器使用,也可作为两个8位寄存器分开使用。DPH为DPTR的高八位寄存器,DPL为DPTR的低八位寄存器。DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64KB。113单片机最小系统组成电路图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。在构建单片机最小系统板是在VCC引脚出加上10UF和01UF的滤波电容,以减小电源对系统工作的稳定性的影响,提高系统工作的稳定性。单片机最小系统电路图114实验总结该实验中,单片机系统电路的基本模块有复位电路,晶振电路,JTAG下载口等主要模块。其中P0口作为输出使用必须对单片机的I/O口,因为P0为集电极开路,可以提高其功率和电平转换。在单片机最小系统的构建中,EA脚拉高是非常必要的,它可以影响单片机的正常工作。在检测单片机是否正常工作,可以通过检测晶振两端的信号的波形形状。在单片机正常工作条件下,其信号为正弦波。通过本次试验我了解了单片机的工作原理,知道了硬件部分的重要性,单片机最小系统板的焊接最主要是晶振部分的焊接,它为单片机提供了做工作的频率,是单片机的心脏。实验二跑马灯实验及74HC138译码器21实验内容1、熟悉集成环境软件或熟悉KEILC51集成环境软件的安装和使用方法。2、照接线图编写程序使用P1口控制G6区的8个指示灯,循环点亮,瞬间只有一个灯亮。3、设计74HC138接口电路,编写程序使用单片机的P10、P11、P12控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。2、运行程序,验证译码的正确性。211实验原理本次实验是根据138译码器的工作原理,当G1G2AG2B111时,译码器工作,根据74LS138的3个译码信号A、B、C来选择Y0、Y1、Y2、Y3、Y4、Y5、Y6作为输出,各输出为低电平时,当共阳极的LED灯节高电平时,就会使相应的灯亮。给单片机的端口赋初值,点亮第一个LED,然后延时一段时间后,点亮下一个LED,依次循环下去。采用思想,根据138的译码特性建立一个译码表UCHARCODETABLE0XF0,0XF1,0XF2,0XF3,0XF4,0XF5,0XF6,0XF7用P1口74HC138的A、B、C口赋值,在此过程中其实只用到了P10,P11,P12;212实验原理图74HC138跑马灯电路原理图213实验程序流程图74HC138跑马灯实验程序流程图214实验程序代码WHILE1FORNUM0NUM0I/黄灯闪烁三次PA0X2EDELAY100PA0X3EDELAY100PA0X33/东西红灯,南北绿灯DELAY5000FORI3I0I/黄灯闪烁三次PA0X35DELAY100PA0X37DELAY100315系统仿真PA0PA1PA2PA5CLK0PA3PA5PA3PA1PA0PA2PA0PA2PA1PA3PA4PA5PA4PA4OUT0GATE0D08D17D26D35D44D53D62D71RD2WR23A019A120CS21CLK09GATE01OUT010CLK115GATE114OUT113CLK218GATE216OUT217U48253AD034D13D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB42PB523PB624PB725PC014PC115PC216PC317PC413PC512PC61PC710U3825AD10LEDREDD1LEDREDD12LEDREDD13LEDREDD14LEDGREND15LEDGREND16LEDGREND17LEDGREND18LEDYELOWD19LEDYELOWD20LEDYELOWD21LEDYELOW8255交通灯系统仿真图328255A寻址原理在本次试验中程序是用C语言写的8253驱动函数。使用C语言会给8255的寻址带来了一个难题,在这里是借助KEIL软件里的库函数ABSACCH来进行寻址的。一下是ABSACCH库函数的介绍/ABSACCHDIRECTACCESSTO8051,EXTENDED8051ANDPHILIPS80C51MXMEMORYAREASCOPYRIGHTC19882002KEILELEKTRONIKGMBHANDKEILSOFTWARE,INCALLRIGHTSRESERVED/IFNDEF_ABSACC_H_DEFINE_ABSACC_H_DEFINECBYTEUNSIGNEDCHARVOLATILECODE0DEFINEDBYTEUNSIGNEDCHARVOLATILEDATA0DEFINEPBYTEUNSIGNEDCHARVOLATILEPDATA0DEFINEXBYTEUNSIGNEDCHARVOLATILEXDATA0DEFINECWORDUNSIGNEDINTVOLATILECODE0DEFINEDWORDUNSIGNEDINTVOLATILEDATA0DEFINEPWORDUNSIGNEDINTVOLATILEPDATA0DEFINEXWORDUNSIGNEDINTVOLATILEXDATA0IFDEF_CX51_DEFINEFVAROBJECT,ADDROBJECTVOLATILEFARADDRDEFINEFARRAYOBJECT,BASEOBJECTVOLATILEFARBASEDEFINEFCVAROBJECT,ADDROBJECTCONSTFARADDRDEFINEFCARRAYOBJECT,BASEOBJECTCONSTFARBASEELSEDEFINEFVAROBJECT,ADDROBJECTVOLATILEFARADDR0X10000LDEFINEFCVAROBJECT,ADDROBJECTCONSTFARADDR0X810000LDEFINEFARRAYOBJECT,BASEOBJECTVOLATILEFARBASE0X10000LDEFINEFCARRAYOBJECT,BASEOBJECTCONSTFARBASE0X810000LENDIFENDIF在程序中,用“INCLUDE”即可使用其中定义的宏来访问绝对地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD。例如DEFINECOM8255XBYTE0X060FF后面若出现COM8255,则单片机端口P0和P2联合输出0X060FF绝对物理地址地址指向82C55指令寄存器。P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P00A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0A0A100XXXXXXXXXXXXXX11XXXXXXXXXXXXXX表格的第四行表示8255的A1,A0口分别于单片机的P27,P26相连接,表格是五行是表示8255PA口的实际物理地址,即0X3FFF,表格的第六行表示8255控制字寄存地的实际物理地址。33实验总结通过本次交通灯实验,学会了使用8255芯片的初始化和编程方法。同时认识到通过8255实现了I/O口的扩展。本实验使用的是8255的方式0。利用8255完成交通灯的四中状态切换。第一种状态是东西方向是绿灯,南北方向是红灯。第二种状态是东西方向是黄灯并且闪烁,南北方向是红灯。第三种状态是东西方向是红灯,南北方向是绿灯。第四种状态是东西方向是红灯,南北方向是黄灯,最后变到第一种状态。在实现具体的硬件时,采用8255控制十二个LED,三个一组,分成两组来模拟实际交通灯,其中的对面两组状态变化是相同一致的,所以将对面的对应相同颜色的灯用8255的一个口来控制。在本试验中还有诸多不足之处,比如没有考虑到左右拐弯的红绿灯,没有计时功能等,只完成了最基本的功能,还有许多有待优化之处。实验四8253方波实验41实验内容1、设计接口电路,编写程序使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。2、连接线路,验证8253的功能,熟悉它的使用方法。411实验原理利用8253的通道0工作于方式3,方波发生器模式。利用单片机定时器延时1MS,是单片机P30口产生250HZ的方波,作为8253的时钟。然后给8253装机数初值,所装初值为250,8253产生的频率为方波频率时钟频率/计数初值然后利用8253产生的方波驱动NPN三极管的通断,使得蜂鸣器以1HZ的频率鸣叫,发光二极管以1HZ的频率闪烁。412实验原理电路图8253方波实验原理电路图413程序流程图8253方波实验程序流程图414程序流程代码VOIDFANGBO()TMOD0X01/工作方式为定时器0A11A01CT0X16/控制字寄存器选择通道0工作于方式3A00A10T0244/装计数初值,方波频率时钟频率/计数初值WHILE1GATE1/GATE高电平输出方波CLK1/利用P30口产生250HZ的方波DELAY5CLK0DELAY5414系统仿真8253方波实验系统仿真图42实验总结本实验使用8253的计数器0得到一个周期为1秒的方波。然后用此方波控制LED的闪亮和蜂鸣器的发声。是验证单片机定时器产生一个250HZ的方波,作为8253的时钟信号。将此方波作为时钟信号送给8253的通道0,通过分频产生需要的方波的频率。在实际电路中单片机产生的时钟频率为244HZ,所以8253预装的初值是244。这是实验通过8253的连线和程序的编写,我学会了8253芯片的使用方法。学会如何用8253产生特定频率的方波。8253的寻址原理如同8255实验的原理。附件1、完整版电路仿真图BUS07BUS07P12P10P12Y0Y1Y2Y3Y4Y5Y6Y7Y01Y23Y45Y67PA01PA2PA5BUS01BUS23BUS45BUS67BUS01BUS23BUS45BUS67P201P23实验四实验二实验三P2P23P24P2010CLK0BUS01BUS23BUS45BUS67RDWWRP27PA3PA5PA3PA1PA0PA2PA0PA2PA134PA5PA4PA4OUT0GAECLK0GATEOUT0WR6P256P254OUT0DDXTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47P10P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15U180C51C23PFC13PFX1CRYSTALC32UR210KA1B2C3E1624E35Y0514Y2132Y4150Y697U274HC138D0817D2635D453D6271RD2W3A019120CS21CLK09GATE1OU00CLK115GATE4OU113CLK218GATE6OU217U48253AR1002KR102KR102KR1302KR1402KR1502KR1602KR1702KD1LEDRED2LEDRED3LEDGREN4LEDGREND5LEDYELOW6LEYELOW7LEDBLUE8LEDBLUED0341D231D430529D6872RD5W36A0918REST35CS6PA0413PA2231PA440539PA68737PB01819PB22031PB4253PB62475PC01415PC21637PC41352PC6170U3825ALS1PEAKERD9LEBLUED10LEREDD1LEREDD12LEDREDD13LEDRED14LGREN15LEDGREN16LEDGREN17LEDG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022公务员招聘《公安辅警基础知识》考试题与答案解析(A卷)
- 2025成都中考道法真题及答案解析
- 行政员工薪酬福利发放细则
- 《高等数学》上册课件复习题四
- 《连锁门店店长管理实务》课件项目5门店团队管理
- 2025年公共政策评论与分析考试试卷及解答
- 肢体坏死疑难病例讨论
- 2025年工程管理硕士入学考试试卷及答案
- 2025年环保工程师考试试题及答案
- 婴儿肺炎翻转课堂教学设计
- 2025年全国统一高考数学试卷(全国一卷)含答案
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- (高清版)DZT 0432-2023 煤炭与煤层气矿产综合勘查规范
- 高血糖高渗状态课件
- 一年级10以内加减混合计算题比大小
- 闲置资源统计表
- 画册设计制作报价单
- DBJ∕T13-354-2021 既有房屋结构安全隐患排查技术标准
- 某市印染纺织公司清洁生产审核报告全文
- 维修电工高级技师论文(6篇推荐范文)
- 人民币教具正反面完美打印版
评论
0/150
提交评论