免费预览已结束,剩余29页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计任务书分院专业学生姓名学号设计题目基于单片机校园作息时间控制系统课程设计内容及要求:内容: 1设计电路,选择器件 2 利用protel画原理图 3 编程,调试 4 焊接电路,调试要求: 1.系统时间设计,设计以24小时为周期的时间钟。 2.led数码管显示时间。 3.设计键盘,通过键盘修改时间、设定闹铃。进度及安排:(10天) 1查资料(2天) 2设计电路画电路图(2天) 3编程与调试(2天) 4焊接硬件电路并调试(2天) 5写报告(2天)指导教师(签字): 年 月 日分院院长(签字): 年 月 日摘 要单片机作息时间控制系统设计的目的和意义:随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。随着科技的进步和技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。以at89s52为核心控制器件的作息时间控制钟,由键盘、声音输出模块、电源转换模块和存储模块四部分组成。它利用at89s52的定时/计数器来计算时间,并用存储器记录数据,保证了系统的可靠性。at89s52单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程。整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。本次校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。如上下课打铃及扩音设备的开与关。采用at89s52单片机来实现对上述开关量的控制,利用24c02芯片来存储数据,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。关键词:作息时间控制; at89s52; 24c02目 录1 绪论11.1背景介绍11.2作息时间控制钟概述12 硬件介绍22.1硬件仿真环境介绍22.2系统整体设计22.3控制钟硬件设计32.4 系统整体电路图43作息时间控制钟软件设计63.1总体介绍63.2软件环境介绍63.3流程图介绍6 3.3.1 系统主程序6 3.3.2 系统数据读写子程序10 3.3.3 显示子程序14 3.3.4 报警扫描子程序19 3.3.5 键盘扫描子程序20 3.3.6 设置时钟子程序22 3.3.7 t1定时器中断子程序254 系统调试285结论296附录24 6.1 参考文献30 6.2主要元件列表311 绪论1.1 背景介绍随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。16位单片机的问世,使得单片机的科技含量及应用跃上一个新的台阶。因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。本设计是一个具有报时功能的作息时间控制钟。它利用at89s52单片机的定时器计时,进行时间计算;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。由键盘和显示部分组成,系统扩展八个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。1.2 作息时间控制钟概述科技的进步需要技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。该系统以at89s52为主体的设计,整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。2 硬件介绍2.1 硬件仿真环境介绍:protues软件是英国labcenter electronics公司出版的eda工具软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。支持当前的主流单片机,如51系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列、68000系列等。 1)提供软件调试功能 2)提供丰富的外围接口器件及其仿真 ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。 3) 提供丰富的虚拟仪器 利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。 4) 具有强大的原理图绘制功能2.2 系统整体设计 根据设计要求画出系统框图,如图1.1所示:上拉电阻 单片机数码管电源驱动电路时钟存储器复位电路响铃键盘电路 图2.1系统总体框图该系统是由微处理器、存储器、数码显示部分以及键盘输入部分所组成。该控制系统用led数码管显示时、分、秒时间,可以显示实时时钟,显示闹铃时间,尽量减少时间积累误差,具有秒闪功能。显示电路采用了7407芯片来完成驱的功能,利用上拉电阻共同驱动数码管显示时间。系统采用at89s52作为处理器,利用24c02芯片作为数据存储器,打铃时间点数据存储于非易失存储器存储24c02中,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。系统还设有输入键盘,用以校正实时时钟,设定闹铃时间,键盘设计简单、易于操作。输出驱动电路部分,利用220v电源为系统提供供电,利用继电器驱动,便于控制220v的电铃。同时利用直流交流转换模块为整个系统提供电源,更方便实际应用。2.3 控制钟硬件设计按系统框图分五个部分设计如下图2.1。键盘部分显示部分单片机控制部分响铃部分图2.2 硬件系统框图 系统以单片机为基本核心,利用24c02芯片可以记录40个闹铃时间,并且可以长时间记录时间,不会造成时间混乱,可以满足正常的作息时间设置,简单实用,可以满足正常的生活。根据学校作息时间,可以得到需要打铃的时间如下表所示:表2.1 作息时间控制表时间事件动作8:00第一节课上课铃响;延时20s8:45第一节课下课铃响;延时20s8:55第二节课上课铃响;延时20s9:40第二节课下课铃响;延时20s10:00第三节课上课铃响;延时20s10:45第三节课下课铃响;延时20s10:55第四节课上课铃响;延时20s11:40第四节课下课铃响;延时20s13:00第五节课上课铃响;延时20s13:45第五节课下课铃响;延时20s13:55第六节课上课铃响;延时20s14:40第六节课下课铃响;延时20s14:50第七节课上课铃响;延时20s15:35第七节课下课铃响;延时20s15:45第八节课上课铃响;延时20s16:30第八节课下课铃响;延时20s16:40第九节课上课铃响;延时20s17:25第九节课下课铃响;延时20s17:35第十节课上课铃响;延时20s18:20第十节课下课铃响;延时20s2.4 系统整体电路图系统的整体的电路图如下图所示: 图2.3作息时间控制钟系统整体电路图3 作息时间控制钟软件设计3.1总体介绍硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。本程序用汇编语言设计。3.2软件环境介绍:keil uvision2是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。 keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面,使您能在很短的时间内就能学会使用keil c51来开发您的单片机应用程序 。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.3 流程图介绍软件设计以定时器t1、t2定时、内存读取、时钟显示、键盘扫描、报警程序为主程序。在设计中利用单片机时钟计时集成电路完成计时的任务,并500ms向单片机发一个中断,中断子程序有时钟显示及时间比较,如比较相等,则说明作息时间已到,发出指令控制电铃开、关操作。3.3.1 系统主程序根据控制钟的设计要求,设计的程序的主流程图如图所示: 开始 设置定时器t1、t2 调用读取存储器内容程序 显示时间初值 调用动态扫描程序调用报警扫描子程序调用键盘扫描子程序 不相等 比较键值是否相等调用设置报警子程序 调用设置时钟子程序 不等 比较键值 图3.1 主程序流程图流程图程序如下:tf2equ 0cfh;t2中断标志控制位tr2equ0cah;t2启动/停止控制位et2equ0adh;t2允许中断控制位pt2 equ0bdh;t2优先级控制位rcap2lequ0cah;t2自动重载低位rcap2hequ0cbh;t2自动重载高位tl2equ0cch;t2计数器低位th2equ0cdh;t2计数器高位i2cstartequ 55h;i2c开始标志i2cstopequ0aah;i2c结束标志sdaequ0b2h;i2c数据线sclequ0b3h;i2c时钟线show_codeequ 80h;显示段码show_bitequ 0a0h;显示位码keyflagequ 00h;按键标志位s_flashequ 01h;秒闪标志位led_flagequ 02h;lde显示模式标志位beforkeyequ 22h;上次采样键值nowkeyequ 23h;现在次采样键值ls_sequ 24h;临时变量1ls_mequ 25h;临时变量2ls_hequ 26h;临时变量3clock_data0equ 27h;时钟秒clock_data1equ 28h;时钟分clock_data2equ 29h;时钟时show_moudeequ 2ah;显示模式show_pcequ 2bh;显示数据指针ringcountequ 2ch;报警数据个数showringequ 2dh;显示报警数据地址ringdatahequ 2eh;报警数据高位起始地址ringdatalequ 57h;报警数据低位起始地址org 0000hmov sp,#10hsjmp startorg 0001bhajmp int_t1org 0002bhcpl p3.5clr tf2retiorg 00035hstart:mov th2,#3ch ;设置t2定时50msmov tl2,#0b0hmov rcap2h,#3chmov rcap2l,#0b0hsetb pt2setb et2mov tmod,#60h ;设置t1定时500ms(t2中断10次,t1中断5次)mov th1,#0fbhmov tl1,#0fbhsetb et1acall read_datasetb easetb tr2setb tr1mov clock_data0,#0mov clock_data1,#0mov clock_data2,#12setb led_flagclr p3.4again:mov show_moude,#0 ;显示模式0mov show_pc,#clock_data0;显示时钟(传时钟地址指针)acall display;调用动态扫描子程序acall comp_data;调用报警扫描子程序mov beforkey,nowkeyacall getkey ;调用键盘扫描子程序mov nowkey,acjne a,beforkey,againcjne a,#0,next_key0setb keyflagsjmp againnext_key0:jnb keyflag,againclr keyflagcjne a,#1,next_key2acall settimer;调用设置时钟子程序sjmp againnext_key2:cjne a,#2,againacall setring;调用设置报警子程序sjmp again;-/主程序结束/3.3.2 系统数据读写子程序系统中利用24c02存储系统数据,该芯片为单电源供电,工作电压范围为1.8-5.5v,低功耗cmos技术,自定时写周期,页面写周期的典型值为2ms,具有硬件写保护。通过串行i2c总线扩展技术对数据进行读写操作,节省了接口引脚数,只利用两根传输总线就可以实现全双工同步数据传送。其程序流程图如下: 开始调用设置i2c起始子程序 读开始 错误 刷新24c02 写入数据 读24c02高位 数据读取结束 读取结束 读24c02低位 未读完 是否读完 结束 图3.2 数据读写子程序流程图程序如下:i2c_start: ;i2c开始setb sdasetb sclnop clr sda nopclr sclreti2c_stop: ;i2c结束clr sdanopsetb scl nopsetb sdareti2c_send: ;i2c发送一个字节 mov r7,#08clr csend_bit:rlc amov sda,c nopsetb sclnopclr scl djnz r7,send_bitsetb sda nopsetb sclnopclr sclreti2c_receive:;i2c接收一个字节 mov r7,#08receive_bit:setb sclnop mov c,sdarlc aclr scldjnz r7,receive_bitsetb sdanopsetb sclnopclr sclretread_24c02:;读24c02acall i2c_startmov a,#0a0hacall i2c_sendmov a,r0acall i2c_sendacall i2c_startmov a,#0a1hacall i2c_sendacall i2c_receiveacall i2c_stopretwrite_24c02:;写24c02acall i2c_startmov a,#0a0hacall i2c_sendmov a,r0acall i2c_sendmov a,r1acall i2c_sendacall i2c_stopretread_data:;-从24c02中读取数据更新内存mov r2,#10read_start_again:;读开始标志位mov r0,#0clr eaacall read_24c02setb eacjne a,#i2cstart,read_subsjmp write_stopread_sub:djnz r2,read_start_again;读开始位错误刷新24c02write_stop:xrl a,#i2cstartjz read_next1mov r0,#0mov r1,#i2cstartclr eaacall write_24c02;写开始字节setb eamov r7,#5acall delay1msmov r0,#1mov r1,#i2cstopclr eaacall write_24c02;写结束字节setb eamov r7,#5acall delay1msread_next1:mov r0,#1;读数据地址;r1为间地址寻址寄存器mov r3,#0;读数据总数;r2为数据缓存器read_data_again:clr eaacall read_24c02;读高位setb eainc r0cjne a,#i2cstop,read_next2;判断是否是结束标志sjmp read_exitread_next2:mov r2,amov a,#ringdatahadd a,r3mov r1,amov a,r2mov r1,aclr eaacall read_24c02;读低位setb eainc r0mov r2,amov a,#ringdataladd a,r3mov r1,amov a,r2mov r1,ainc r3cjne r3,#40,read_data_againread_exit:mov ringcount,r3;更新报警数据个数ret3.3.3显示子程序对多位led显示器的动态显示,通常都是采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现led显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位led显示器接口电路需要有两个输出口,其中一个用于输出8位信号;另一个用于输出段控制信号。其显示模式有五种:0:正常显示数据;1:显示调试模式(0,1位闪烁);2:显示调试模式(2,3位闪烁);3:显示调试模式(4,5位闪烁);4:显示特殊字符模式。其程序流程图如下: 开始 a=0 a=0调用得到位数据子程序 未完 全显示 显示模式为4则显示null 数码 管 显示数据屏蔽 显示数据屏蔽 结束 图3.3 显示子程序流程图 程序如下:show_number:;段码db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdb 40hshow_null:;空码db 00h,38h,38h,3eh,37h,00hshow_bit_code:;位码db 0dfh,0efh,0f7h,0fbh,0fdh,0feh;-display:;显示子程序mov r1,#6show_again:mov a,show_moudexrl a,#4jz show_charmov a,r1acall getcode ;调用得到位数据子程序mov dptr,#show_numbermovc a,a+dptrsjmp show_to_codeshow_char: ;显示模式为4则显示字符nullmov dptr,#show_nullmov a,r1dec amovc a,a+dptrshow_to_code:mov show_bit,#0ffh;-显示数据屏蔽mov show_code,amov a,r1mov dptr,#show_bit_code-1movc a,a+dptrmov show_bit,amov r7,#1acall delay1msdjnz r1,show_againmov show_bit,#0ffh;-显示数据屏蔽retdelay1ms: ;-延时1msmov r5,#2delay:mov r6,#0djnz r6,$djnz r5,delaydjnz r7,delay1msretgetcode:;得到位数据子程序mov b,#10dec a rl amov dptr,#find_bitjmp a+dptrfind_bit:;位散转sjmp show_0sjmp show_1sjmp show_2sjmp show_3sjmp show_4sjmp show_5show_0:;得到位0数据mov r0,show_moudecjne r0,#1,show_led_0jb s_flash,show_led_0mov a,#10retshow_led_0:mov r0,show_pcmov a,r0div abmov a,bretshow_1:;得到位1数据mov r0,show_moudecjne r0,#1,show_led_1jb s_flash,show_led_1mov a,#10retshow_led_1:mov r0,show_pcmov a,r0div abretshow_2:;得到位2数据mov r0,show_moudecjne r0,#2,show_led_2jb s_flash,show_led_2mov a,#10retshow_led_2:mov r0,show_pcinc r0mov a,r0div abmov a,bretshow_3:;得到位3数据mov r0,show_moudecjne r0,#2,show_led_3jb s_flash,show_led_3mov a,#10retshow_led_3:mov r0,show_pcinc r0mov a,r0div abretshow_4:;得到位4数据mov r0,show_moudecjne r0,#3,show_led_4jb s_flash,show_led_4mov a,#10retshow_led_4:mov r0,show_pcinc r0inc r0mov a,r0div abmov a,bretshow_5:;得到位5数据mov r0,show_moudecjne r0,#3,show_led_5jb s_flash,show_led_5mov a,#10retshow_led_5:mov r0,show_pcinc r0inc r0mov a,r0div abret3.3.4 报警扫描子程序通过扫描时钟与定时时间是否相同来控制电铃,其程序流程图如下: 开始 未到时间 比较 铃响 数据加一 结束 图3.4 报警扫描子程序流程图 程序如下:comp_data:;报警扫描子程序mov a,ringcountjz comp_exitmov a,clock_data0jnz comp_exitmov r2,ringcountcomp_loop:mov a,ringdatahcjne a,clock_data2,next_compmov a,ringdatalcjne a,clock_data1,next_compsetb p3.4sjmp comp_exitnext_comp:inc r0inc r1djnz r2,comp_loopcomp_exit:ret3.2.5 键盘扫描子程序 系统利用独立式键盘,作为系统的输入设备,可以实现对时钟的调整,以及对响铃报警时间的设置,具有设计简单,方便,使用的特点。其流程图如下: 开始 键值相等 与键值1比较 与键值2比较 与键值3比较 与键值4比较 与键值5比较 与键值6比较 与键值7比较 与键值8比较 结束 图3.5 键盘扫描子程序流程图程序如下:getkey:;扫描键盘得到键值子程序mov a,p1cjne a,#0feh,goto_key2mov a,#1retgoto_key2:cjne a,#0fdh,goto_key3mov a,#2retgoto_key3:cjne a,#0fbh,goto_key4mov a,#3retgoto_key4:cjne a,#0f7h,goto_key5mov a,#4retgoto_key5:cjne a,#0efh,goto_key6mov a,#5retgoto_key6:cjne a,#0dfh,goto_key7mov a,#6retgoto_key7:cjne a,#0bfh,goto_key8mov a,#7retgoto_key8:cjne a,#07fh,key_exitmov a,#8retkey_exit:mov a,#0ret3.3.6 设置时钟子程序:利用键盘设置,通过模式左移右移来实现对时间的修改设置以及保存。其程序流程图如下: 开始 调用显示扫描程序调用报警扫描子程序调用键值扫描程序 键值相 等 比较键值 模式左移调整时间 保存退出 结束 图3.6 设置时钟子程序流程图程序如下:settimer:;时钟设置子程序mov ls_s,clock_data0;时钟数据放临时变量mov ls_m,clock_data1mov ls_h,clock_data2mov show_moude,#1;显示模式1mov show_pc,#ls_s;显示数据指针转临时变量settimer_again: acall display;调用显示扫描子程序acall comp_data;调用报警扫描子唾弃mov beforkey,nowkeyacall getkey ;调用键值扫描子程序mov nowkey,acjne a,beforkey,settimer_againcjne a,#0,settimer_key0setb keyflagsjmp settimer_againsettimer_key0:jnb keyflag,settimer_againclr keyflag;健值控制cjne a,#03,settimer_key4;模式左移mov a,show_moudecjne a,#3,show_moude_addmov show_moude,#1ajmp settimer_againshow_moude_add:inc show_moudeajmp settimer_againsettimer_key4:cjne a,#04,settimer_key5mov a,show_moudecjne a,#1,add_m;秒加mov a,ls_scjne a,#59,not_reset_smov ls_s,#0ajmp settimer_againnot_reset_s:inc ls_sajmp settimer_againadd_m:;分加cjne a,#2,add_hmov a,ls_mcjne a,#59,not_reset_mmov ls_m,#0 ajmp settimer_againnot_reset_m:inc ls_majmp settimer_againadd_h:;时加mov a,ls_hcjne a,#23,not_reset_hmov ls_h,#0ajmp settimer_againnot_reset_h:inc ls_hajmp settimer_againsettimer_key5:cjne a,#05,settimer_key6mov a,show_moudecjne a,#1,sub_m;秒减mov a,ls_scjne a,#0,not_set_smov ls_s,#59ajmp settimer_againnot_set_s:dec ls_sajmp settimer_againsub_m:;分减cjne a,#2,sub_hmov a,ls_mcjne a,#0,not_set_mmov ls_m,#59ajmp settimer_againnot_set_m:dec ls_majmp settimer_againsub_h:;时减mov a,ls_hcjne a,#0,not_set_hmov ls_h,#23ajmp settimer_againnot_set_h:dec ls_hajmp settimer_againsettimer_key6:;模式右移cjne a,#06,settimer_key7mov a,show_moudecjne a,#1,show_moude_submov show_moude,#3ajmp settimer_againshow_moude_sub:;退出dec show_moudeajmp settimer_againsettimer_key7:cjne a,#07,settimer_key8sjmp exit_settimersettimer_key8:;保存退出cjne a,#08,return_settimermov clock_data0,ls_smov clock_data1,ls_mmov clock_data2,ls_hsjmp exit_settimerreturn_settimer:ajmp settimer_againexit_settimer:ret3.3.7 t1定时器中断子程序 主程序利用t1定时器的中断来修改时间值,同时修改秒闪状态、数码管的闪烁,同时修改响铃的状态,当响铃经过20s后断电。其流程图如下: 开始 堆栈操作 a=1 判断 数码管标志 秒闪标志位置1 输出秒闪原始状态 未达到 判断是否达到 满分满秒 时间置0 时间加1 铃响20s结束 结束 图3.7 t1定时器中断子程序流程图程序如下:int_t1:;t1中断子程序push pswpush acccpl s_flashjb led_flag,not_control0 setb p3.1sjmp not_controlnot_control0:mov c,s_flashmov p3.1,cnot_control:jb s_flash,int_ti_exitmov a,clock_data0cjne a,#59,inc_clock_data0mov clock_data0,#0mov a,clock_data1cjne a,#59,in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年细胞基础知识题库及答案
- 2025年可再生能源与清洁能源知识考察试题及答案解析
- 2024年金堂县教育局所属事业单位招聘教育专业技术人员考试真题
- 2025年西昌民族幼儿师范高等专科学校单招职业技能测试题库附答案
- 井下作业井控(专业技术人员作业队干部)题库(含答案)
- 2025年电力监控系统网络安全防护体系考核试卷及答案
- 初升高试卷测试题及答案
- 安全生产车间创意绘画讲解
- 2025年体外诊断仪器合作协议书
- 未来五年卸料离心机行业直播电商战略分析研究报告
- 16.2 整式的乘法教学设计 2025~2026学年人教版数学八年级上学期
- 制药企业安全生产培训
- 营养减脂餐搭配讲解
- 护理十八项核心制度考核试题(附答案)
- 胃镜室护士出科考试试题及答案
- 2025部编版八年级历史上册 第二单元 早期现代化的初步探索和民族危机加剧(大单元教学设计)
- 建筑施工质量安全标准化管理手册
- 医院环境感染监测制度
- 2025年国家公务员金融监督管理总局招考(金融监管综合类)历年参考题库含答案详解(5套)
- 【MOOC期末】《机械制造技术》(成都工业学院)期末考试慕课答案
- 胆道肿瘤健康宣教
评论
0/150
提交评论