




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机数字钟设计实习报告 目录一设计方案:3二设计内容:3三相关总线及芯片介绍:31.SPI总线:32.74LS595芯片:53. 实验箱电路图:6四系统软件程序设计:6五设计程序:8六程序调试及显示:11七实习心得:12八参考文献:13一设计方案: 通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。二设计内容:这里采用应用广泛的C51作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,秒计60次形成分,分计60形成小时,小时计到12或者24。通过外部中断实现12进制与24进制的切换。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。三相关总线及芯片介绍:1.SPI总线: SPI(Serial Peripheral Interface-串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。由于SPI系统总线一共只需34位数据线和控制即可实现与具有SPI总线接口功能的各种I/O器件进行接口,而扩展并行总线则需要8根数据线、816位地址线、23位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。由此可见,在MCS51系列等不具有SPI接口的单片机组成的智能仪器和工业测控系统中,当传输速度要求不是太高时,使用SPI总线可以增加应用系统接口器件的种类,提高应用系统的性能。 利用SPI总线可在软件的控制下构成各种系统。如1个主MCU和几个从MCU、几个从MCU相互连接构成多主机系统(分布式系统)、1个主MCU和1个或几个从I/O设备所构成的各种系统等。在大多数应用场合,可使用1个MCU作为控机来控制数据,并向1个或几个从外围器件传送该数据。从器件只有在主机发命令时才能接收或发送数据。其数据的传输格式是高位(MSB)在前,低位(LSB)在后。当一个主控机通过SPI与几种不同的串行I/O芯片相连时,必须使用每片的允许控制端,这可通过MCU的I/O端口输出线来实现。但应特别注意这些串行I/O芯片的输入输出特性:首先是输入芯片的串行数据输出是否有三态控制端。平时未选中芯片时,输出端应处于高阻态。若没有三态控制端,则应外加三态门。否则MCU的MISO端只能连接1个输入芯片。其次是输出芯片的串行数据输入是否有允许控制端。因此只有在此芯片允许时,SCK脉冲才把串行数据移入该芯片;在禁止时,SCK对芯片无影响。若没有允许控制端,则应在外围用门电路对SCK进行控制,然后再加到芯片的时钟输入端;当然,也可以只在SPI总线上连接1个芯片,而不再连接其它输入或输出芯片。对于不带SPI串行总线接口的MCS-51系列单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出。对于不同的串行接口外围芯片,它们的时钟时序是不同的。对于在SCK的上升沿输入(接收)数据和在下降沿输出(发送)数据的器件,一般应将其串行时钟输出口P1.1的初始状态设置为1,而在允许接收后再置P1.1为0。这样,MCU在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出1位数据至MCS-51单片机的P1.3口(模拟MCU的MISO线),此后再置P1.1为1,使MCS-51系列单片机从P1.0(模拟MCU的MOSI线)输出1位数据(先为高位)至串行接口芯片。至此,模拟1位数据输入输出便宣告完成。此后再置P1.1为0,模拟下1位数据的输入输出,依此循环8次,即可完成1次通过SPI总线传输8位数据的操作。对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置P1.1为1,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为0,使外围接口芯片接收1位数据(MCU发送1位数据),从而完成1位数据的传送。2.74LS595芯片:74595的数据端:QA-QH: 八位并行输出端,可以直接控制数码管的8个段。QH: 级联输出端。我将它接下一个595的SI端。SI: 串行数据输入端。74595的控制端说明:/SCLR(10脚): 低点平时将移位寄存器的数据清零。通常我将它接Vcc。SCK(11脚):上升沿时数据寄存器的数据移位。QA-QB-QC-.-QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。注:1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。3. 实验箱电路图:图1.实验箱电路四系统软件程序设计:1.主程序: 先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和中断处理模块,当有外部中断按下时,则转入相应的功能程序。2.数码管显示模块: 本实验有8个数码管,从右到左为时、横线、分、横线、秒。在本系统中数码管显示利用SPI总线进行传输显示。3.定时器/计数器T0中断服务程序: T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到12则对时单元清0,标志一天时间计满。在对各单元计数的同时,把他们的值放到存储器单元的指定位置。4. 外部中断服务程序:对小时进行12进制与24进制切换。5.流程图如下:开始开始N1S到?定时器T0初始化Y计数自加开中断N调用显示子程序60S到?是否有中断N计数单元清零Y 恢复现场进入中断处理程序返回恢复现场 图2. 主程序 图3.中断处理程序1记录外部中断次数显示初始化查表取字型码奇数还是偶数?奇数偶数延时显示切换至24进制切换至12进制8位显示扫描完?N恢复现场返回数据显示 图4.数据显示模块 图5.外部中断处理程序五设计程序:ENA EQU P2.0ENB EQU P2.1ENC EQU P2.2CLK EQU P1.0DIN EQU P1.1COUNT EQU 0FHCISHU EQU 2EHORG 0000HAJMP MAINORG 0003HAJMP INT0ORG 000BHAJMP I0MAIN: MOV COUNT,#0 MOV CISHU,#12 CALL L2WAIT: LCALL IN LCALL XIANSHI SJMP WAITL2: MOV R3,#0AH MOV R4,#55 MOV R5,#59 MOV R6,#11 MOV TMOD,#11H MOV TH0,#03CH MOV TL0,#0B0H SETB IT0 SETB EX0 SETB ET0 SETB EA SETB TR0 RETIN: MOV A,R6 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 6FH,A MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV 6EH,A MOV A,#0BFH MOV 70H,A MOV A,R5 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 72H,A MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV 71H,A MOV A,#0BFH MOV 73H,A MOV A,R4 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 75H,A MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV 74H,A RETXIANSHI: CLR ENA SETB ENB SETB ENC MOV R1,6EHLOOP3: MOV A,R1 MOV R0,#08HLOOP2: LCALL LOOP INC R1 CJNE R1,#76H,LOOP3 SETB ENA RETI0: DJNZ R3,LOOP1 MOV R3,#14H INC R4 CJNE R4,#60,LOOP1 MOV R4,#0 INC R5 CJNE R5,#60,LOOP1 INC R6 MOV R5,#0 MOV A,R6 CJNE A,CISHU,LOOP1 MOV R6,#0LOOP1: MOV TH0,#03CH MOV TL0,#0B0H SETB TR0 RETILOOP: RLC A MOV DIN,C NOP NOP SETB CLK NOP NOP CLR CLK DJNZ R0,LOOP RETINT0: INC COUNT MOV A,COUNT MOV B,#2 DIV AB MOV A,B CJNE A,#0,L3L1: MOV CISHU,#12 RETIL3: MOV CISHU,#24 RETI TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END六程序调试及显示:1.输入源程序输入源程序时,应以西文方式输入字母和符号,且中文注释前要加分号。2.对源程序进行汇编和纠错根据自动汇编提供的错误信息逐条纠正错误,直至汇编信息提示“错误(0)”、“汇编结束”。3.确定调试方案在调试程序前一定要认真分析源程序,明确各功能程序运行的预期结果。然后结合源程序应达到的结果,确定出如何通过某些关键参数和实验现象检验程序运行结果正确与否。例如:程序运行过程中路径的变化、累加器A内容的变化、其他特殊寄存器内容的变化等。并针对具体的分析和观察对象选择较合适的调试方法。如单步运行、跟踪运行、连续运行、快速运行至光标处、设置断点等调试方法。4.调试程序(1)调试主程序。主程序运行后,在无任何外部中断时观察有无显示,时钟是否工作,其时、分、秒显示的变化过程是否正确。若运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。例如:若定时/计数器的初始化出错,则时钟将不能工作;若显示程序出错,则将不能正确显示时钟单元内容;若定时/计数器中断服务子程序出错,则其显示数据的变化规律将不正常。(2)调试子程序。在调试主程序时,必然要调用相关的功能子程序。因此,首先应明确子程序的具体功能,通过对子程序的分析,确定子程序的入口、出口参数及相关标识位的状态,然后在满足入口条件的状态下,设法检查从主程序进入子程序,再由子程序返回到主程序的运行过程。可采用跟踪运行或运行至光标处的方法,检查从主程序进入子程序内部的运行过程,再通过单步运行等方法检查子程序内部的运行情况和返回主程序的过程。通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期目的。5. 下载实验箱运行 将程序下载到实验箱上显示及调试。如图6所示:图6.下载七实习心得: 一周的实习很快就过去了,在一周时间里,我从上课对单片机知识的懵懵懂懂的,到实习后,略有感悟,总的来说迈出了很大一步。之前,学过C语言,掌握还不错,对编程并不陌生。所以此次实习关键在于单片机的汇编语言。学过C这样高级语言之后,我感觉汇编语言
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 坐月子饮食调理常识试题及答案
- 2025年文化产业引导资金申请项目可持续发展战略报告
- 推拿治疗学考试题库附参考答案详解(夺分金卷)
- 2025年肿瘤精准医疗临床实践中的临床试验信息化技术应用支持服务研究报告
- 2025年职业技能培训在乡村振兴中的需求与供给研究报告
- 推拿治疗学考试题库及参考答案详解【夺分金卷】
- 2025年老龄化趋势下老年教育课程体系构建与创新实践报告
- 2025至2030年中国国际旅游度假市场行情动态分析及发展前景趋势预测报告
- 解析卷-华东师大版8年级下册期末试题及参考答案详解【培优】
- 2025至2030年中国大黄提取物行业市场发展现状及未来发展趋势预测报告
- 《石油钻采设备》课件
- 质量安全员试题及答案
- 老人居家治疗指南解读
- 新《治安管理处罚法》考试参考题库500题(含各题型)
- 药浴培训课件
- 煤矿通风安全培训课件
- 2025年特种设备(电梯)安全管理人员A证考试试题(200题)含答案
- 销售公司红线管理制度
- 创新园管理制度
- 阿尔兹海默症康复护理
- 小学一年级第一学期数学兴趣小组计划
评论
0/150
提交评论