欢迎来到天天文库
浏览记录
ID:51862269
大小:262.81 KB
页数:29页
时间:2020-03-17
《单片机课程设计实验指导书 (2).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机课程设计实验指导书(2) “综合性”实验实验一工业顺序控制(INT 0、INT1)综合实验1.实验目的掌握工业顺序控制程序的简单编程,中断的使用。 2.实验内容8031P1.0-P1.6控制注塑机七道工序,现模拟控制七只发光二极管的点亮,高电平点亮。 设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。 P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出。 设定7道工序只有一位输出。 3.程序框图中断服务子程序主程序流程图开始开中断,P 1、P3口初始化等开工工序1延时工序2延时工序7延时关输出保护现场报
2、警故障清除了吗?恢复现场返回N第?节4.接线图案5.实验步骤按图接好连线。 执行程序,把K0接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K1置为低电平,看是否有声音报警。 恢复中断1,报警停,又从刚才报警时一道程序执行下去。 6.思考问题修改程序,使每道工序中有多位输出。 实验二扩展时钟系统实验(DS12887)11.实验目的掌握MSC-51单片机扩展时钟电路的设计方法;了解DS12887的工作原理。 22.实验内容编程实现下列功能 (1)程序第一次运行后,初始化时间显示为000000,即6位数码管显示为00.00.00。
3、 通过键盘[MON]设定小时为07,通过键盘[LAST]设定分钟为08,通过键盘[NEXT]设定秒为09,两分钟后即在7.10.09时关掉电源,等待2分钟后再打开电源,这时时间应为7.12.09,即停电后DS12887中的时钟不会停止运行。 33.实验器材 (1)超想-3000TB综合实验仪1台 (2)超想3000仿真器1台 (3)连线若干根 (4)计算机1台44.实验原理在很多应用场合要求单片机系统不仅能够准确地采集数据,而且还需要了解产生这些数据的时刻,为单片机系统增加日历时钟是一项非常有用的技术,掌握这项技术便是本实验的目的。 实验中
4、使用DALLAS公司生产的日历、时钟加RAM芯片DS12887。 它具有接口简单,使用方便等特点,曾被用在586计算机中。 其引脚分布如图所示,内部有128字节的非易失SRAM,具体分配也如图所示。 引脚分布图存储器分布图通过对寄存器A、B、C、D的编程可以控制DS12887的工作方式。 寄存器AD7D6D5D4D3D2D1D0UIPDV2DV1DV0RS3RS2RS1RS0UIP位当其为0时指示更新在244μS内不会发生;DV2DV1DV0当其为010时,打开晶振,并允许时钟开始计时;RS3RS2RS1RS0用于选择周期中断或输出方波频率,当其
5、分别为 0111、 1000、 1001、 1011、 1101、 1110、1111时,对应频率为512Hz、256Hz、128Hz、64Hz、32Hz、16Hz、8Hz、4Hz、2Hz。 寄存器BD7D6D5D4D3D2D1D0SETPIEAIEUIESQWEDM12/24DSESET位为0时,每秒计数一次,置1后,更新转换被禁止;PIE、AIE、UIE位当它们为1时,分别允许周期中断、报警中断和时钟数据更新结束中断,为0时,禁止中断产生;SQWE位当其为1时,按以寄存器A中由RS3RS2RS1RS0设定的频率从SQW引脚输出方波,当其
6、为0时,SQW为低电平;当DM为1时选用二进制数据格式,反之为BCD数据格式;12/24位为1时,指定24小时时间格式,否则为12小时时间格式;DSE为1时允许夏时制发生。 寄存器CD7D6D5D4D3D2D1D0IRQFPFAFUF0000寄存器C的内容是周期中断标志位PF、报警中断标志位AF、更新结束中断标志位UF和中断请求标志位IRQF,它们之间的关系为IRQF=PF*PIE+AF*AIE+UF*UIE,只要IRQF为1,/IRQ引脚输出就保持低电平,读寄存器C后将清除所有标志或则RESET引脚为低电平。 14BYTE000DFF00SECON
7、DS01SECODESALARM02MINUTES114BYTE03MINUTESALARM04HOURS05HOURSALARM06DAYOFTHEWEEK07DAYOFTHEMONTH08MONTH09YEAR0AREGISTERA0BREGISTERB0CREGISTERC0DREGISTERDD3D2D1D0没有使用,只能读,不能写。 寄存器DD7D6D5D4D3D2D1D0VRT0000000寄存器D中仅D7有定义,读时应总为1,若为0则说明内部锂电池已耗尽。 为防止锂电池在芯片装入系统前被耗尽,DS12887在出厂时先关掉了其内部的晶振,
8、编程时必须首先给寄存器A的DV2DV1DV0位写入010以打开晶振,然后读寄存器
此文档下载收益归作者所有