收藏 分销(赏)

十单片机应用系统设计.ppt

上传人:精**** 文档编号:10271273 上传时间:2025-05-10 格式:PPT 页数:49 大小:1,005KB 下载积分:14 金币
下载 相关 举报
十单片机应用系统设计.ppt_第1页
第1页 / 共49页
十单片机应用系统设计.ppt_第2页
第2页 / 共49页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Beijing Institute of Petro-chemical Technology,*,可编辑,Kkkj,jh,课程名称:单片机原理与接口技术,第十章单片机应用系统设计,1,可编辑,一、设计要求,设计并制作出具有如下功能的电脑钟:,(1),自动计时,由,6,位,LED,显示器显示时、分、秒。,(2),具备校准功能,可以直接由,0,9,数字键设置当前时间。,(3),具备定时起闹功能。,(4),一天时差不超过,1,秒钟。,第十章单片机应用系统设计,2,可编辑,二、总体方案,1.,计时方案,方案一:采用实时时钟芯片。,方案二:软件控制。,2.,键盘,/,显示方案,方案一:串口扩展,,LED,静态显示。,方案二:,8155,扩展,,LED,动态显示。,显示方式框图,(a),静态显示框图;,(b),动态显示框图,3,可编辑,三、硬件设计,1.,电路原理图,4,可编辑,2.,系统工作流程,本电脑钟具备以下功能:,(1),时钟显示:,6,位,LED,从左到右依次显示时、分、秒,采用,24,小时计时。,(2),键盘功能:采用,4,3,键盘,包括:,0,9,数字键,键号为,00H,09HC/R,键 时间设定,/,启动计时键,键号为,0AH,ALM,键 闹钟设置,/,启闹,/,停闹键,键号为,0BH,(1),时间显示:上电后,系统自动进入时钟显示,从,00,:,00,:,00,开始计时,此时可以设定当前时间。,(2),时间调整:按下,C/R,键,系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间。按下,0,9,数字键可以顺序设置时、分、秒,并在相应,LED,管上显示设置值,直至,6,位设置完毕。系统将自动由设定后的时间开始计时显示。,(3),闹钟设置,/,启闹,/,停闹:按下,ALM,键,系统继续计时,显示,00,:,00,:,00,,进入闹钟设置状态,等待键入启闹时间。按下,0,9,数字键可以顺序进行相应的时间设置,并在相应,LED,管上显示设置值,直至,6,位设置完毕。这将启动定时启闹功能,并恢复时间显示。定时时间到,蜂鸣器鸣叫,直至重新按下,ALM,键停闹,并取消闹钟设置。,5,可编辑,四、软件设计,1.,系统资源分配,地 址,功 能,名 称,初始化值,30H35H,显示缓冲区,小时、分、秒(高位在前),DISP0DISP5,00H,3CH3FH,计时缓冲区,时、分、秒、,100 ms,HOUR,,,MIN,,,SEC,,,MSEC,00H,40H42H,闹钟值寄存区,时、分、秒,AHOUR,,,AMIN,,,ASEC,FFH,50H7FH,堆栈区,PSW.5,计时显示允许位(,1,:禁止,,0,:允许),F0,0,PSW.1,闹钟标志位(,1,:正在闹响,,0,:未闹响),F1,0,电子钟控制软件片内,RAM,及标志位分配表,6,2.,软件流程,主程序流程图,Beijing Institute of Petro-chemical Technology,7,计时程序流程图,Beijing Institute of Petro-chemical Technology,8,时间设置,/,闹钟定时流程图,Beijing Institute of Petro-chemical Technology,9,键盘设置子程序流程图,Beijing Institute of Petro-chemical Technology,10,键盘扫描流程图,(4),键盘扫描程序模块,KEYSCAN,:流程图如图,9.7,所示。,Beijing Institute of Petro-chemical Technology,11,显示流程图,Beijing Institute of Petro-chemical Technology,12,定时比较流程图,Beijing Institute of Petro-chemical Technology,13,可编辑,ORG0000H,AJMPMAIN,ORG 000BH,AJMPCLOCK,ORG 0030H,PORT EQU 8000H,PORTA EQU 8001H,PORTB EQU 8002H,;*主程序,MAIN*,14,可编辑,PORTCEQU 8003H,DISP0 EQU 30H,DISP1 EQU 31H,DISP2 EQU 32H,DISP3 EQU 33H,DISP4 EQU 34H,DISP5 EQU 35H,HOUR EQU 3CH,15,MIN EQU 3DH,SEC EQU 3EH,MSEC EQU 3FH,AHOUR EQU 40H,AMINEQU 41H,ASEC EQU 42H,F1 BIT PSW.1,MAIN,:,MOV SP,,,#50H,;设置堆栈区,MOVX DPTR,,,#PORT,MOVA,,,#03H,Beijing Institute of Petro-chemical Technology,16,MOVX DPTR,,,A,;,8155,初始化,CLR F1,;清零闹钟标志位,CLRF0,;允许计时显示,MOV AHOUR,#0FFH,MOV AMIN,#0FFH,MOV ASEC,#0FFH,MOV R7,#10H,MOV R0,#DISP0,CLR A,Beijing Institute of Petro-chemical Technology,17,LOOP:MOV R0,A,INCR0,DJNZ R7,LOOP,;设置初值,MOV TMOD,,,#01H,MOV TL0,,,#0B0H,MOV TH0,,,#3CH,;定时器,0,初始化,定时,时间,100 ms,SETB TR0,;启动定时器,SETB EA,SETB ET0,;开中断,Beijing Institute of Petro-chemical Technology,18,BEGIN,:,ACALL ALARM,;调用定时比较,ACALL KEYSCAN,;调用键盘扫描,CJNE A,,,#0AH,,,NEXT1,;是,CLR/RST,键否?,CLR TR0,;是则暂时停止计时,MOV R1,,,#HOUR,;地址指针指向计时缓冲区首地址,AJMPMOD,Beijing Institute of Petro-chemical Technology,19,NEXT1,:,CJNE A,,,#0BH,,,BEGIN,;是,ALARM,键否?,JBF1,,,NEXT2,;闹钟正在闹响否?,MOVR1,,,#AHOUR,;地址指针指向闹钟值寄存区首地址,MOD,:,SETBF0,;置位时间设置,/,闹钟定时标志,禁止显示计时时间,ACALLMODIFY,;调用时间设置,/,闹钟定时程序,SETBTR0,;重新开始计时,CLRF0,;清零时间设置,/,闹钟定时标志,恢复显示计时时间,Beijing Institute of Petro-chemical Technology,20,AJMPBEGIN,NEXT2,:,SETBP1.0,;闹钟正在闹响,停闹,CLRF1,;清零闹钟标志,AJMPBEGIN,;*时间设,置,/,闹钟定时模块,MODIFY*,MODIFY,:,ACALLKEYIN,;调用键盘设置子程序,ACALL COMB,;调用合字子程序,RET,键盘设置子程序,KEYIN,:,KEYIN,:,PUSHPSW,PUSHACC,Beijing Institute of Petro-chemical Technology,21,SETBRS1,;保护现场,MOVR0,,,#DISP0,;,R0,指向显示缓冲区首地址,MOVR7,,,#06H,;设置键盘输入次数,L1,:,CLRRS1,ACALLKEYSCAN,;调用键盘扫描程序取按下键,的键号,SETB RS1,CJNEA,,,#0AH,,,L2,;键入数合法性检测(是否大,于,9,),Beijing Institute of Petro-chemical Technology,22,L2,:,JNCL1,;大于,9,,重新键入,MOVR0,,,A,;键号送显示缓冲区,INCR0,DJNZR7,,,L1,;,6,位时间输入完否?未,完继续,否则返回,POPACC,POPPSW,CLRRS1,;恢复现场,RET,Beijing Institute of Petro-chemical Technology,23,;*键盘扫描子程序,KEYSCAN*,KEYSCAN:ACALLTEST,;调判按键是否按下子程序,TEST,JNZ REMOV,;有键按下调消抖延时,ACALLDISPLAY,ACALLALARM,AJMP KEYSCAN,;无键按下继续判是否按键,REMOV:ACALL DISPLAY,;调用显示子程序延时消抖,ACALLTEST,;再判是否有键按下,Beijing Institute of Petro-chemical Technology,24,2025/5/10 周六,25,JNZLIST,;有键按下转逐列扫描,ACALLDISPLAY,ACALL ALARM,AJMPKEYSCAN,;无键按下继续判是否按键,LIST:MOVR2,,,#0FEH,;首列扫描字送,R2,MOVR3,,,#00H,;首列键号送,R3,LINE0:MOVDPTR,,,#PORTA,;,DPTR,指针指向,8155,的,A,口,Beijing Institute of Petro-chemical Technology,26,MOV A,,,R2,;首列扫描字送,R2,MOVXDPTR,,,A,;首列扫描字送,8155,的,A,口,MOV DPTR,,,#PORTC,;,DPTR,指针指向,8155,的,C,口,MOVXA,,,DPTR,;读入,C,口的行状态,JB ACC.0,,,LINE1,;第,0,行键无键按下转第,1,行,MOVA,,,#00H,;第,0,行有键按下,行首键号送,A,AJMPTRYK,;求键号,Beijing Institute of Petro-chemical Technology,27,NEXT:INC R3,;扫描下一列,MOV A,,,R2,;列扫描字送,A,JNBACC.3,,,EXIT,;,4,列扫描完,重新进行 下一轮扫描,RL A,;,4,列未扫描完,扫描字左移扫描下一列,MOV R2,,,A,;扫描字送,A,AJMP LINE0,;转向扫描下一列,Beijing Institute of Petro-chemical Technology,28,EXIT:AJMP KEYSCAN,;等待下一次按键,TRYK:ADD A,,,R3,;按公式计算键码,求得键号,PUSH ACC,;键号入栈保护,LETK:ACALL TEST,;等待按键释放,JNZLETK,;按键未释放,继续等待,POPACC,;按键释放,键号出栈,RET,;键盘扫描结束,返回,Beijing Institute of Petro-chemical Technology,29,TEST:MOVDPTR,,,#PORTA,;,DPTR,指针指向,8155,的,A,口,MOV A,,,#00H,MOVX DPTR,,,A,;全扫描字,00H,送,8155,的,A,口,MOVDPTR,,,#PORTC,;,DPTR,指针指向,8155,的,C,口,MOVX A,,,DPTR,;读入,C,口行状态,CPLA,;,A,取反,以高电平表示有,键按下,ANLA,,,#07H,;屏蔽高,5,位,RET,Beijing Institute of Petro-chemical Technology,30,;*显示子程序,DISPLAY*,DISPLAY:JB F0,,,DISP,;允许时间显示标志,F0=1,转,DISP,ACALL SEPA,;否则调用,SEPA,刷新显示缓冲区,DISP:push psw,;动态扫描显示子程序,Pushacc,setb rs0,MOV dptr,,,#PORTA,Beijing Institute of Petro-chemical Technology,31,MOV A,,,#0FFH,MOVX DPTR,,,A,;关显示,mov r0,,,#disp0,mov r7,,,#00h,mov r6,,,#06h,mov r5,,,#0feh,dis1:mov dptr,,,#tab,mov a,,,r0,movc a,,,a+dptr,mov dptr,,,#portb,Beijing Institute of Petro-chemical Technology,32,movxdptr,,,a,mov dptr,,,#porta,mov a,,,r5,movx dptr,,,a,here:djnz r7,,,here,inc r0,mov a,,,r5,rl a,Beijing Institute of Petro-chemical Technology,33,mov r5,,,a,djnz r6,,,dis1,clr rs0,pop acc,pop psw,ret,tab:db 3fh,,,06h,,,5bh,,,4fh,,,66h,,,6dh,,,7dh,,,07h,db 7fh,,,6fh,,,77h,,,7ch,,,39h,,,5eh,,,79h,,,71h,;共阴极字型码表,Beijing Institute of Petro-chemical Technology,34,;*合字子程序,COMB*,COMB,:,MOV R0,,,#DISP1,;,R0,指向显示缓冲区小时,低位,ACALL COMB1,;合字,CJNE A,,,#24H,,,CHK,;小时大于,24,否?,CHK,:,JNCEXIT1,;大于,24,则取消本次设,置,退出,MOVR1,,,A,;否则小时送计时缓冲区,/,闹钟值寄存区小时单元,INCR1,Beijing Institute of Petro-chemical Technology,35,MOVR0,,,#DISP3,;,R0,指向显示缓冲区分低位,ACALLCOMB1,CJNEA,,,#60H,,,CHK1,CHK1,:,JNC EXIT1,MOV R1,,,A,INCR1,MOV R0,,,#DISP5,;,R0,指向显示缓冲区秒低位,ACALL COMB1,CJNEA,,,#60H,,,CHK2,Beijing Institute of Petro-chemical Technology,36,CHK2,:,JNCEXIT1,MOVR1,,,A,RET,EXIT1,:,AJMPMAIN,;输入不合法退出,重新清,零计时,COMB1,:,MOV A,,,R0,ANL A,,,#0FH,;取出低位,MOV43H,,,A,;暂存于,43H,单元,DECR0,;指向高位,Beijing Institute of Petro-chemical Technology,37,MOVA,,,R0,ANLA,,,#0FH,SWAPA,;高位送高,4,位,ORLA,,,43H,;高低位合并,RET,;*拆字子程序,SEPA*,SEPA,:,PUSH PSW,PUSH ACC,SETBRS0,Beijing Institute of Petro-chemical Technology,38,MOVR0,,,#DISP5,;指向显示缓冲区秒低位,MOVA,,,SEC,ACALLSEPA1,MOVA,,,MIN,ACALLSEPA1,MOVA,,,HOUR,ACALLSEPA1,POPACC,POPPSW,Beijing Institute of Petro-chemical Technology,39,RET,SEPA1,:,MOV 44H,,,A,;暂存,44H,ANLA,,,#0FH,;取出低位,MOV R0,,,A,;送显示缓冲区低位,DEC R0,;指向显示缓冲区高位,MOV A,,,44H,ANL A,,,#0F0H,;取出高位,SWAPA,;高位送往低,4,位形成高位数据,Beijing Institute of Petro-chemical Technology,40,MOVR0,,,A,;高位数据送显示缓冲区高位,RET,;*定时比较模块,ALARM*,ALARM,:,MOVA,,,ASEC,CJNEA,,,SEC,,,BACK,;秒单元相同则继续比较,否则返回,MOVA,,,AMIN,CJNEA,,,MIN,,,BACK,;分单元相同则继续比较,否则返回,MOVA,,,AHOUR,Beijing Institute of Petro-chemical Technology,41,CJNE A,,,HOUR,,,BACK,;小时单元相同定时时间到,CLRP1.0,;启动闹钟鸣叫,SETBF1,;置位闹钟标志,BACK,:,RET,;*定时器,0,中断服务子程序,CLOCK*,CLOCK,:,MOV TL0,,,#0B7H,MOVTH0,,,#3CH,;重装初值,时间校正,Beijing Institute of Petro-chemical Technology,42,PUSHPSW,PUSHACC,;保护现场,INCMSEC,MOVA,,,MSEC,CJNEA,,,#0AH,,,DONE,MOVMSEC,,,#00H,MOVA,,,SEC,INCA,Beijing Institute of Petro-chemical Technology,43,DAA,;二,十进制转换,MOVSEC,,,A,CJNEA,,,#60H,,,DONE,MOVSEC,,,#00H,MOVA,,,MIN,INCA,DAA,MOVMIN,,,A,Beijing Institute of Petro-chemical Technology,44,CJNEA,,,#60H,,,DONE,MOVMIN,,,#00H,MOVA,,,HOUR,INCA,DAA,MOVHOUR,,,A,CJNEA,,,#24H,,,DONE,MOVHOUR,,,#00H,Beijing Institute of Petro-chemical Technology,45,DONE,:,POPACC,POPPSW,;恢复现场,RETI,Beijing Institute of Petro-chemical Technology,46,可编辑,四、系统调试与脱机运行,1.,硬件调试,(1),脱机检查。,(2),联机调试。,2.,软件调试,(1),用仿真器修改显示缓冲区内容,屏蔽拆字程序,调试动态扫描显示功能。,(2),运行主程序调试计时模块,不按下任何键,检查是否能从由,00,:,00,:,00,开,始正确计时。,(3),调试键盘扫描模块,KEYSCAN,,,(4),调试时间设置,/,闹钟定时模块,MODIFY,。,(5),运行主程序联调,检查能否用键盘修改当前时间以及设置闹钟,能否正确计 时、启闹、停闹。,3.,脱机运行,47,END,Live for Yourself!,Beijing Institute of Petro-chemical Technology,48,2025/5/10 周六,49,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服