单片机工程实践报告.doc_第1页
单片机工程实践报告.doc_第2页
单片机工程实践报告.doc_第3页
单片机工程实践报告.doc_第4页
单片机工程实践报告.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机工程实践单片机工程实践 ( (第六组第六组) ) 题题 目目: AD7109 性能检测 (任务四) 组组长长:吴增杰(自 10-3 班)学号: 201021205059 组组员员:黄逸洲(自 10-3 班)学号: 201021205057 高怀正(自 10-3 班)学号: 201021205062 指指导导教教师师 :刘刘伟伟、裴裴岩岩 、 斯斯日日古古楞楞、吕吕少少中中 韩海波、韩海波、高高鹏鹏 、王华超(研)、王华超(研) 、李金莹、李金莹 (研)(研) 设设计计时时间间 :20132013 年年 7 7 月月 1 1 日日20132013 年年 7 7 月月 1212 日日 学校代码:学校代码: 1012810128 一、设计目的设计目的: 1、熟悉了解并掌握单片机的工作原理 2、学习 ICL7109 芯片的工作原理,了解其工作特性。 3、掌握通过设计框图完成对应程序,学习应用系统软件的模块化设计方法 二、二、设计任务:设计任务: 要求明确设计任务内容及任务分工等; 1、掌握并完成蜂鸣器、键盘、LED 显示器的自检程序的设计 2、通过拨盘、ICL7109 芯片、LED 显示器程序的有机组合完成 ICL7109 芯片的检测 3、先列出框图后,根据框图设计程序 4、完成小组成员个人体会(不少于 300 字) 5、任务分工: 组长 吴增杰:负责主程序和框图的构思和结合组员思想以及工作分配 组员 黄逸洲:负责程序思想的优化和编辑及配合组长工作 组员 高怀正:负责程序检查和提出问题及记录实验数据、结果和实训报告及配合 组长工作 三、三、框图:框图: 喇叭自检硬件框图喇叭自检硬件框图: 硬件环境:蜂鸣器、P2.3 P2.3 说明说明:执行指令 CLR P2.3 后,P2.3 为“0” ,晶体管导通,蜂鸣器 BEP 得电发声。 据此可以判断蜂鸣器电路是正确的。注意:如果蜂鸣器未带振荡器,要想让 蜂鸣器产生声音必须要让晶体管按照一定的频率不断地导通、截止交互变化, 即 P2.3 不断地输出“0” 、 “1” ,输出的频率不同时,声音也不同。如果蜂鸣 器带振荡器,则只需控制其通、断即可 通过 P2.3 电平的高低控制蜂鸣器是否响。 当 P2.3=0,喇叭响,当 P2.3=1,喇叭不响。 BEEP: SETB P2.3 不响 ACALL DELAY1 延时 CLR P2.3 响 ACALL DELAY1 延时 SJMP BEEP 七段七段 LEDLED 显示器自检硬件框图:显示器自检硬件框图: 硬件环境:单片机、74HC245L 、LED、BEEP 字字 型型 口口 P0.7 P0.0 P0 字字 位位 口口 P2.7 P2.6 P2.5 说明:说明: LED 显示器由若干个发光二极管组成,它有共阴极和共阳极两种结构。 该图结构为共阳极,且是动态扫描显示(动态显示是一位一位地轮流点 亮各位数码管,这种逐位点亮显示器的方式称为位扫描。 ) ,COM 端为高 电平时,显示器工作,反相驱动器的功能是使 LED 稳定的亮。P0 口控制 LED 显示什么字形的即字形口,P2.5、 P2.6 、P2.7、是选择字位的即 哪位 LED 亮,R 的作用是泄流。 R R a b h COM a f b g e c d h 反 相 驱 动 器 2803 P0.7 P0.0 P0 +5V Q1 DT1 SEL1 A Y0 B Y1 C Y2 138 Y7 P2.7 P2.6 P2.5 说明:P0 口负责字型口,P2 口负责字位口,实验中的数码管都是共阳极的。 键盘自检硬件框图:键盘自检硬件框图: 硬件环境:74HC245L 、LED、BEEP P1 LED P2.5 P2.6 P2.7 说明说明:从 P1 口读键盘的状态,通过 P1 口的高低电位判断按键,通过 P2.5 P2.6P2.7 选择字位,通过 LED 显示状态。K1,K2,K3,K4 的开关值对应 P1 口的低 4 位, 自 检开关由高 4 位控制。然而,此程序要求保护自检开关,检验 K1,K2,K3,K4 的 正 确性。调用 SEL8 可以打开 74HC245L 的三态门。然后将最终表现结果巧妙的利 用 LED 或喇叭表现出来。 71097109 性能检测的硬件框图性能检测的硬件框图 硬件环境:单片机、AD7109、74HC245L 、LED、BEEP INT0 P1 P2.0 P2.1 P2.2 说明说明:P2.0、P2.1、P2.2 口是控制 7109 进行 16 位数据采集的,INT0 是控制中 断的以便完成 AD 的转换。 LED 显示 模拟量输入 05V 71097109 功能简介功能简介 : ICL7109 是一种高精度,低噪声,低漂移双斜 率积分型 12 位 A/D 转换器。另有一位符号位, 一位溢出标志位,实际上具有 14 位 A/D 的精 度。ICL7109 转换速度较低,但内藏基准电压 源,且价格便宜,适用于低速度,高精度的 测量场合。 1 1、主程序框图、子程序框图及相关说明主程序框图、子程序框图及相关说明 主程序框图: 主程序的一级框图 开始 数据初始化 拨盘采集 SW1 按下SW3 按下SW2 按下 调用 BEEPZJ 子程序 调用 7109ZJ 子程序 调用 KEYZJ 子程序 调用 LEDZJ 子程序 N N N Y N 初始化 开中断 采高位 采低位 判断是否溢出? 、 开始 LED 数据显示 延时 LED 数据显示 延时 关中断 结束 子程序 7109ZJ: 主程序的二级框图 N Y N Y 开始 关闭蜂鸣器 延时 延时 打开蜂鸣器 判断是否发出六种声音? 查表改变延时 声音响 1S? 初始化 结束 子程序 BEEPZJ: 开始 初始化 位选 1 蜂鸣器响 位选 5 位选 2 位选 4 位选 3 LED 逐段自检 LED 逐段自检, 逐一显示 09 蜂鸣器响 蜂鸣器响 蜂鸣器响 蜂鸣器响 蜂鸣器响 结束 LED 逐段自检, 逐一显示 09 LED 逐段自检, 逐一显示 09 LED 逐段自检, 逐一显示 09 子程序 LEDZJ: 开始 LED 位选 2 打开三态门 键盘采值 LED 显示 “1” 去拨盘 是否有键按 下? K1?K2?K3?K4? LED 位选 3 LED 显示 “2” 蜂鸣器响 LED 位选 4 LED 显示 “3” LED 显示 “4” LED 位选 5 Y NNN 关闭三态门 结束 N YYY 子程序 KEYZJ: 四、四、程序清单:程序清单: 1.蜂鸣器自检程序: MAIN: MOV DPTR,#TAB MOV A,#00H MOV R7,#06H RUN: MOVC A,A+DPTR MOV R1,#0FFH Y1: CLR P2.3 ;蜂鸣器响 ACALL DELAY1 SETB P2.3 ;蜂鸣器停 ACALL DELAY1 DJNZ R1,Y1 CLR A INC DPTR DJNZ R7,RUN SJMP MAIN RET DELAY1: MOV R5,#09H D1: MOV R6,A D2: DJNZ R6,D2 DJNZ R5,D1 RET TAB: DB 89H,70H,54H,4EH,32H,1FH 2.LED 自检程序: START: MOV R1,#03H ;LOVE 子程序循 环次数 LCALL BEEP;开始自检,蜂鸣器 响 LCALL SEL1 LCALL LED LCALL SEL2 LCALL LED1 LCALL BEEP LCALL SEL3 LCALL LED1 LCALL BEEP LCALL SEL4 LCALL LED1 LCALL BEEP LCALL SEL5 LCALL LED1 LCALL BEEP LCALL ALL LCALL BEEP LCALL LOVE LCALL DATE SEL1: CLR P2.7 ;位选 1 CLR P2.6 CLR P2.5 RET SEL2: SETB P2.7 ;位选 2 CLR P2.6 CLR P2.5 RET SEL3: CLR P2.7 ;位选 3 SETB P2.6 CLR P2.5 RET SEL4: SETB P2.7 ;位选 4 SETB P2.6 CLR P2.5 RET SEL5: CLR P2.7 ;位选 5 CLR P2.6 SETB P2.5 RET LED: MOV P0,#01H ;自检 h 段 CALL DELAY MOV P0,#04H ;自检 b 段 CALL DELAY MOV P0,#08H ;自检 c 段 CALL DELAY MOV P0,#80H ;自检 g 段 CALL DELAY MOV P0,#0CH ;显示 1 CALL DELAY MOV P0,#8CH ;显示-1 CALL BEEP CALL DELAY RET LED1: MOV DPTR,#ZIDUAN ;自检每个字段,并显示 0- 9 MOV R0,#12H LP: MOV A,#0 MOVC A,A+DPTR MOV P0,A LCALL DELAY INC DPTR DJNZ R0,LP RET ZIDUAN:DB 01H,02H,04H,08H, 10H,20H,40H,80H,7EH,0CH, 0B6H,9EH,0CCH,0DAH,0FAH,0EH, 0FEH,0DEH BEEP: CLR P2.3 ;蜂鸣器响子程 序 CALL DELAY SETB P2.3 RET DELAY: MOV R5,#02H ;延迟子程序 延迟时间: 198.4ms LOP1: MOV R6,#0C8H LOP2: MOV R7,#0F8H LOP3: DJNZ R7,LOP3 DJNZ R6,LOP2 DJNZ R5,LOP1 RET W: MOV R6,#0FFH ;八段全亮码值子程序 MOV A,R6 MOV P0,A RET ALL: MOV R4,#0EEH ;所有 LED 八段全亮子程 序 R: MOV R3,#0FFH Q: LCALL SEL1 LCALL W LCALL SEL2 LCALL W LCALL SEL3 LCALL W LCALL SEL4 LCALL W LCALL SEL5 LCALL W DJNZ R3,Q DJNZ R4,R RET LOVE: MOV DPTR,#TAB;查表显示 LOVE 子程序 MOV A,#0 MOVC A,A+DPTR MOV P0,A LCALL SEL2 LCALL DELAY INC DPTR CLR A MOVC A,A+DPTR MOV P0,A LCALL SEL3 LCALL DELAY INC DPTR CLR A MOVC A,A+DPTR MOV P0,A LCALL SEL4 LCALL DELAY INC DPTR CLR A MOVC A,A+DPTR MOV P0,A LCALL SEL5 LCALL DELAY LCALL BEEP DJNZ R1,LOVE RET TAB: DB 70H,7EH,7CH,0F2H DATE: LCALL SEL2 ;显示日期子程 序 MOV P0,#7EH ACALL T1 SE3: LCALL SEL3 MOV P0,#0FH ACALL T1 SE4: LCALL SEL4 MOV P0,#7EH ACALL T1 SE5: LCALL SEL5 MOV P0,#9EH ACALL T1 JMP DATE T1: MOV R6,#10 L1: MOV R7,#0D8H L2: DJNZ R7,L2 DJNZ R6,L1 RET 3.键盘自检程序: MAIN: MOV P0,#0 ;灭显示 LCALL SEL8 ;打开三态门 MOV P1,#0FFH ;P1 作为输入 MOV A,P1 ;采集键盘值 LCALL DEL ;调用延时 MOV P1,#0FFH MOV A,P1 LCALL SEL7 ;关闭三态门 ANL A,#0FH; 屏蔽拨盘 CJNE A,#0FH,K1 ;是否有键按 下 AJMP MAIN SEL8: SETB P2.7 ;打开三态门 SETB P2.6 SETB P2.5 RET SEL7: CLR P2.7 ;关闭三态门 SETB P2.6 SETB P2.5 RET K1: CJNE A,#0EH,K2;是否 K1 按下 LCALL LED1;调用显示日期第一 位 AJMP MAIN K2: CJNE A,#0DH,K3;是否 K2 按下 LCALL LED2;调用显示数字 2 AJMP MAIN K3: CJNE A,#0BH,K4;是否 K3 按下 LCALL LED3;调用显示数字 3 AJMP MAIN K4: CJNE A,#7H,MAIN;是否 K4 按下 LCALL LED4;调用显示数字 4 LJMP MAIN RET LED1 :MOV P0,#7EH;显示日期第一位 0 LCALL SEL2 ;位选 2 LCALL DEL LCALL BEEP RET LED2 :MOV P0,#0FH ;显示数字 3 LCALL SEL3 ;位选 3 LCALL DEL LCALL BEEP RET LED3: MOV P0,#7EH ;显示数字 2 LCALL SEL4 ;位选 4 LCALL DEL LCALL BEEP RET LED4:MOV P0,#0CCH ;显示数字 1 LCALL SEL5 ;位选 5 LCALL DEL LCALL BEEP RET SEL5:CLR P2.7 ;位选 5 CLR P2.6 SETB P2.5 RET SEL4:SETB P2.7 ;位选 4 SETB P2.6 CLR P2.5 RET SEL3:CLR P2.7 ;位选 3 SETB P2.6 CLR P2.5 RET SEL2:SETB P2.7 ;位选 2 CLR P2.6 CLR P2.5 RET BEEP: CLR P2.3 ;蜂鸣器响 LCALL DEL SETB P2.3 LCALL DEL RET DEL: MOV R0,#0FFH ;延时子程序 D1: MOV R1,#0FFH D2: DJNZ R1,D2 DJNZ R0,D1 RET 4.大程序 7109 性能测试的程序: ORG 00H AJMP MAIN ORG 03H AJMP INT0 MAIN: LCALL SEL8 ;打开三态门 MOV P1,#0FFH ;P1 作为输入 MOV A,P1 ;采集键盘值 LCALL SEL7 ;关闭三态门 ANL A,#0F0H ;屏蔽键盘按下 ;AJMP MAIN SW1: CJNE A,#0E0H,SW2 ;是否 SW1 按下 LCALL BEEPZJ ;调用蜂鸣器自 检 SW2: CJNE A,#0D0H,SW3 ;是否 SW2 按下 LCALL LEDZJ ;调用数码管自 检 SW3: CJNE A,#0B0H,S7109;是否 SW3 按下 LCALL KEYZJ ;调用键盘自检 ;AJMP MAIN S7109: MOV SP,#60H MOV R7,0FFH AD_BUF EQU 0AH LED22 EQU 31H LED33 EQU 32H LED44 EQU 33H LED55 EQU 34H SETB EA SETB EX0 XWQ: LCALL START MOV R7,#0FFH MOV R0,#AD_BUF SETB EA LCALL DELAY4 JMP MAIN INT0: PUSH A PUSH PSW CLR RS1 SETB RS0 CLR EA MOV R0,#AD_BUF AD1: CLR P2.0 CLR P2.1 MOV A,P1 SETB P2.1 MOV C,ACC.4 JC AD3 ANL A,#3FH MOV R0,A INC R0 CLR P2.2 MOV A,P1 SETB P2.2 SETB P2.0 MOV R0,A AD3: MOV R0,#AD_BUF AD2: SETB EA POP PSW POP A RETI START: MOV DPTR,#TAB3 MOV A,0AH ANL A,#0FH MOVC A,A+DPTR MOV LED22,A MOV P0,LED22 LCALL SEL2 LCALL D5MS MOV A,0BH ANL A,#0FH MOVC A,A+DPTR MOV LED33,A MOV P0,LED33 LCALL SEL4 LCALL D5MS MOV A,0BH ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED44,A MOV P0,LED44 LCALL SEL3 LCALL D5MS DJNZ R7,START RET TAB3: DB 7EH,0CH,0B6H,9EH, 0CCH,0DAH,0FAH,0EH DB 0FEH,0DEH,0EEH,0F8H, 72H,0BCH,0F2H,0E2H ;调用 7109 性能测试 LJMP MAIN RET BEEPZJ: MOV DPTR,#TAB1 MOV A,#00H MOV R7,#06H RUN: MOVC A,A+DPTR MOV R1,#0FFH Y1: CLR P2.3 ACALL DELAY1 SETB P2.3 ACALL DELAY1 DJNZ R1,Y1 CLR A INC DPTR DJNZ R7,RUN RET TAB1: DB 89H,70H,54H,4EH,32H,1FH LEDZJ: MOV R1,#03H ;LOVE 子 程序循环次数 LCALL BEEP ; 开始自检,蜂鸣器响 LCALL SEL1 LCALL LEDA LCALL SEL2 LCALL LEDB LCALL BEEP LCALL SEL3 LCALL LEDB LCALL BEEP LCALL SEL4 LCALL LEDB LCALL BEEP LCALL SEL5 LCALL LEDB LCALL BEEP LCALL ALL LCALL BEEP RET LEDA: MOV P0,#01H ;自检 h 段 CALL DELAY2 MOV P0,#04H ;自检 b 段 CALL DELAY2 MOV P0,#08H ;自检 c 段 CALL DELAY2 MOV P0,#80H ;自检 g 段 CALL DELAY2 MOV P0,#0CH ;显示 1 CALL DELAY2 MOV P0,#8CH ;显示-1 CALL BEEP CALL DELAY2 RET LEDB: MOV DPTR,#TAB2 ;自检每个字段,并显示 0- 9 MOV R0,#12H LP: MOV A,#0 MOVC A,A+DPTR MOV P0,A LCALL DELAY2 INC DPTR DJNZ R0,LP RET TAB2:DB 01H,02H,04H,08H,10H, 20H,40H,80H,7EH,0CH, 0B6H,9EH,0CCH,0DAH, 0FAH,0EH,0FEH,0DEH W: MOV R6,#0FFH ;八段全亮码值子程序 MOV A,R6 MOV P0,A RET ALL: MOV R4,#0EEH ;所有 LED 八段全亮子程 序 R: MOV R3,#0FFH Q: LCALL SEL1 LCALL W LCALL SEL2 LCALL W LCALL SEL3 LCALL W LCALL SEL4 LCALL W LCALL SEL5 LCALL W DJNZ R3,Q DJNZ R4,R RET KEYZJ: MOV P0,#0;灭显示 LCALL SEL8 ;打开三态门 MOV P1,#0FFH;P1 作为输入 MOV A,P1 ;采集键盘值 LCALL DELAY3 ;调用延时,去 抖 MOV P1,#0FFH MOV A,P1 LCALL SEL7 ;关闭三态门 ANL A,#0FH ;屏蔽拨盘 CJNE A,#0FH,K;是否有键按下 AJMP KEYZJ RET K1: CJNE A,#0EH,K2;是否 K1 按 下 LCALL LED1 ;调用显示数字 1 K2: CJNE A,#0DH,K3;是否 K2 按 下 LCALL LED2 ;调用显示数字 2 K3: CJNE A,#0BH,K4;是否 K3 按 下 LCALL LED3 ;调用显示数字 3 K4: CJNE A,#7H,KEY;是否 K4 按 下 LCALL LED4 ;调用显示数字 4 LCALL DELAY1 RET LED1 : MOV P0,#0CH;显示日期第 一位 0 LCALL SEL2 ;位选 2 LCALL DELAY3 LCALL BEEP RET LED2 : MOV P0,#0B6H ;显示数字 3 LCALL SEL3 ;位选 3 LCALL DELAY3 LCALL BEEP RET LED3: MOV P0,#9EH ;显示数字 2 LCALL SEL4 ;位选 4 LCALL DELAY3 LCALL BEEP RET LED4: MOV P0,#0CCH ;显示数字 1 LCALL SEL5 ;位选 5 LCALL DELAY3 LCALL BEEP RET SEL1: CLR P2.7 ;位选 1 CLR P2.6 CLR P2.5 RET SEL2: SETB P2.7 ;位选 2 CLR P2.6 CLR P2.5 RET SEL3: CLR P2.7 ;位选 3 SETB P2.6 CLR P2.5 RET SEL4: SETB P2.7 ;位选 4 SETB P2.6 CLR P2.5 RET SEL5: CLR P2.7 ;位选 5 CLR P2.6 SETB P2.5 RET SEL7: CLR P2.7 ;关闭三态门 SETB P2.6 SETB P2.5 RET SEL8: SETB P2.7 ;打开三态门 SETB P2.6 SETB P2.5 RET BEEP: CLR P2.3 ;蜂鸣器响 LCALL DELAY1 SETB P2.3 LCALL DELAY1 RET DELAY1: MOV R5,#09H D1: MOV R6,A D2: DJNZ R6,D2 DJNZ R5,D1 RET DELAY2: MOV R5,#02H ;延迟子程序 延迟时间: 198.4ms LOP1: MOV R6,#0C8H LOP2: MOV R7,#0F8H LOP3: DJNZ R7,LOP3 DJNZ R6,LOP2 DJNZ R5,LOP1 RET DELAY3: MOV R0,#0FFH;去抖延时 D3: MOV R1,#0FFH D4: DJNZ R1,D4 DJNZ R0,D3 RET DELAY4: MOV R5,#0BH LOOP3: MOV R6,#0FFH LOOP4: MOV R7,#0FFH LOOP5: DJNZ R7,LOOP5 DJNZ R6,LOOP4 DJNZ R5,LOOP3 RET D5MS: MOV R6,#0FH LOOP1: MOV R7,#0FFH LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 RET SETB P2.2 SETB P2.0 MOV R0,A AD3: MOV R0,#AD_BUF AD2: SETB EA POP PSW POP A RETI START: MOV DPTR,#TAB3 MOV A,0AH ANL A,#0FH MOVC A,A+DPTR MOV LED22,A MOV P0,LED22 LCALL SEL2 LCALL D5MS MOV A,0BH ANL A,#0FH MOVC A,A+DPTR MOV LED33,A MOV P0,LED33 LCALL SEL4 LCALL D5MS MOV A,0BH ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED44,A MOV P0,LED44 LCALL SEL3 LCALL D5MS DJNZ R7,START RET TAB3: DB 7EH,0CH,0B6H,9EH, 0CCH,0DAH,0FAH,0EH DB 0FEH,0DEH,0EEH,0F8H, 72H,0BCH,0F2H,0E2H ;调用 7109 性能测试 LJMP MAIN RET BEEPZJ: MOV DPTR,#TAB1 MOV A,#00H MOV R7,#06H RUN: MOVC A,A+DPTR MOV R1,#0FFH Y1: CLR P2.3 ACALL DELAY1 SETB P2.3 ACALL DELAY1 DJNZ R1,Y1 CLR A INC DPTR DJNZ R7,RUN RET TAB1: DB 89H,70H,54H,4EH,32H,1FH LEDZJ: MOV R1,#03H ;LOVE 子程 序循环次数 LCALL BEEP ; 开始自检,蜂鸣器响 LCALL SEL1 LCALL LEDA LCALL SEL2 LCALL LEDB LCALL BEEP LCALL SEL3 LCALL LEDB LCALL BEEP LCALL SEL4 LCALL LEDB LCALL BEEP LCALL SEL5 LCALL LEDB LCALL BEEP LCALL ALL LCALL BEEP RET LEDA: MOV P0,#01H ;自检 h 段 CALL DELAY2 MOV P0,#04H ;自检 b 段 CALL DELAY2 MOV P0,#08H ;自检 c 段 CALL DELAY2 MOV P0,#80H ;自检 g 段 CALL DELAY2 MOV P0,#0CH ;显示 1 CALL DELAY2 MOV P0,#8CH ;显示-1 CALL BEEP CALL DELAY2 RET LEDB: MOV DPTR,#TAB2 ;自 检每个字段,并显示 0-9 MOV R0,#12H LP: MOV A,#0 MOVC A,A+DPTR MOV P0,A LCALL DELAY2 INC DPTR DJNZ R0,LP RET TAB2: DB 01H,02H,04H,08H,10H,20H,40H,80H,7 EH,0CH,0B6H,9EH,0CCH,0DAH,0FAH,0E H,0FEH,0DEH W: MOV R6,#0FFH ;八段全亮 码值子程序 MOV A,R6 MOV P0,A RET ALL: MOV R4,#0EEH ;所有 LED 八段全亮子程序 R: MOV R3,#0FFH Q: LCALL SEL1 LCALL W LCALL SEL2 LCALL W LCALL SEL3 LCALL W LCALL SEL4 LCALL W LCALL SEL5 LCALL W DJNZ R3,Q DJNZ R4,R RET KEYZJ:MOV P0,#0 ;灭显示 LCALL SEL8 ;打开三态门 MOV P1,#0FFH ;P1 作为输入 MOV A,P1 ;采集键盘值 LCALL DELAY3;调用延时,去抖 MOV P1,#0FFH MOV A,P1 LCALL SEL7 ;关闭三态门 ANL A,#0FH ;屏蔽拨盘 CJNE A,#0FH,K1;是否有键按下 AJMP KEYZJ RET K1: CJNE A,#0EH,K2 ;是否 K1 按 下 LCALL LED1 ;调用显示数字 1 K2: CJNE A,#0DH,K3 ;是否 K2 按下 LCALL LED2 ;调用显示数字 2 K3: CJNE A,#0BH,K4;是否 K3 按下 LCALL LED3 ;调用显示数字 3 K4: CJNE A,#7H,KEY;是否 K4 按下 LCALL LED4 ;调用显示数字 4 LCALL DELAY1 RET LED1 : MOV P0,#0CH;显示日期第一位 0 LCALL SEL2 ;位选 2 LCALL DELAY3 LCALL BEEP RET LED2 : MOV P0,#0B6H ;显示数字 3 LCALL SEL3 ;位选 3 LCALL DELAY3 LCALL BEEP RET LED3: MOV P0,#9EH ;显示数字 2 LCALL SEL4 ;位选 4 LCALL DELAY3 LCALL BEEP RET LED4: MOV P0,#0CCH ;显示数字 1 LCALL SEL5 ;位选 5 LCALL DELAY3 LCALL BEEP RET SEL1: CLR P2.7 ;位选 1 CLR P2.6 CLR P2.5 RET SEL2: SETB P2.7 ;位选 2 CLR P2.6 CLR P2.5 RET SEL3: CLR P2.7 ;位选 3 SETB P2.6 CLR P2.5 RET SEL4: SETB P2.7 ;位选 4 SETB P2.6 CLR P2.5 RET SEL5: CLR P2.7 ;位选 5 CLR P2.6 SETB P2.5 RET SEL7: CLR P2.7 ;关闭三态门 SETB P2.6 SETB P2.5 RET SEL8: SETB P2.7 ;打开三态门 SETB P2.6 SETB P2.5 RET BEEP: CLR P2.3 ;蜂鸣器响 LCALL DELAY1 SETB P2.3 LCALL DELAY1 RET DELAY1: MOV R5,#09H D1: MOV R6,A D2: DJNZ R6,D2 DJNZ R5,D1 RET DELAY2: MOV R5,#02H ;延迟子程序 延迟时间: 198.4ms LOP1: MOV R6,#0C8H LOP2: MOV R7,#0F8H LOP3: DJNZ R7,LOP3 DJNZ R6,LOP2 DJNZ R5,LOP1 RET DELAY3: MOV R0,#0FFH;去抖延时 D3: MOV R1,#0FFH D4: DJNZ R1,D4 DJNZ R0,D3 RET DELAY4: MOV R5,#0BH LOOP3: MOV R6,#0FFH LOOP4: MOV R7,#0FFH LOOP5: DJNZ R7,LOOP5 DJNZ R6,LOOP4 DJNZ R5,LOOP3 RET D5MS: MOV R6,#0FH LOOP1: MOV R7,#0FFH LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 RET AD7109AD7109 线性度分析:线性度分析: 采集数据表: 坐 标 模拟 量 数字 量 标准 值 00380 0.17179 0.31291 0.51431 0.65567 0.79678 11.05876821 1.321096 1.571283 1.81474 22.0716911641 2.281858 2.622115 2.82282 33.0324472461 3.332699 3.612894 3.83066 44.0832633281 4.573651 4.853833 5541014101 EXCEL 数据线新分析: 0 500 1000 1500 2000 2500 3000 3500 4000 4500 012345 模拟量 数字量 模拟量 数字量 标准值 AD7109 的性能小组分析:的性能小组分析: 通过使用小组编写 AD7109 性能检测的程序对 AD7109 的测试,我们得到了大量的数 据,通过上述数据表格可以得到 EXCEL 所做的线性分析坐标。通过坐标我们可以看出来我 们小组所使用的 AD7109 转换器的 1-4v 线性度最好,但是相比于设计标准值相对于都小了 一点。 我们小组最终得到的结论是我们小组的 AD7109 转换器 1-4v 线性度最好,但是比 实际理论标准值小,所以我们建议在使用 AD7109 进行模拟量转换时使用 1-4v 之间的部分 并进行相关线性补偿,以便达到更加精确的是理论值。 五、五、设计体会设计体会 心得体会 两周的单片机实习让我受益匪浅,不仅锻炼了自己的动手实践能力,而且培养了我 们的团队协作能力,懂得了一个团队良好的分工合作对于完成一项任务是多么的重要。 理论只是理论,经过实训才得知原来拥有完备的理论只是实践过程的一步,实践更注重于 实际,比如实现蜂鸣器的持续发声要调用延迟,比如实现数码管能同时显示几个不同的数 字,根据理论根本无法实现,但是实践

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论