基于AT89C51单片机的最小系统设计.docx
《基于AT89C51单片机的最小系统设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的最小系统设计.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于AT89C51单片机的最小系统设计 基于AT89C51单片机的最小系统设计 组员:田竹、王维、袁倍明 摘要: 本次实验课题为设计一个基于AT89C51单片机的最小系统。用P1口设计流水灯,用P2口和P0口分别作段选和位选设计了六位数码管的静动态显示和简易的电子钟,用P3口设计了一个4*4的矩阵键盘,并用蜂鸣器实现了唱歌功能和键盘按下的声响,用62256扩展内部RAM,还扩展并实现了LCD1602的静动态显示,最后通过ADC0809和DAC0832分别实现了A/D、D/A转换功能。 一、系统电源 用MC7805集成稳压器将输入电压转为+5V稳压给系统供电。 二、晶振(12MHZ)及复位电路
2、采用12MHz的外部晶振,给系统提供时钟信号。并采用了按键复位电路。 三、流水灯 功能描述:让8个led灯循环闪烁 源程序: 流水灯 ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV A,#11111110B LOOP:MOV P1,A;给P1口送值LCALL DLY RL A ;循环左移 LJMP LOOP DL Y:MOV R7,#250 ;延时子程序DLY1: MOV R6,#200 DJNZ R6,$ DJNZ R7,DLY1 RET END 四、数码管 功能描述:数码管动态显示16 源程序: ORG 0000H LJMP START ORG 0100H S
3、TART: MOV P0,#0 MOV P2,#0F9H SETB P0.0 LCALL DELAY CLR P0.0 MOV P2,#0C4H SETB P0.1 LCALL DELAY CLR P0.1 MOV P2,#0D0H SETB P0.2 LCALL DELAY CLR P0.2 MOV P2,#99H SETB P0.3 LCALL DELAY CLR P0.3 MOV P2,#92H SETB P0.4 LCALL DELAY CLR P0.4 MOV P2,#82H SETB P0.5 LCALL DELAY CLR P0.5 LJMP START DELAY: MOV R
4、5,#10 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END 五、4*4矩阵键盘和蜂鸣器 功能描述:通过按键让数码管显示0-F,按键按下时,蜂鸣器响一下。 源程序: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV P0,#0FFH MOV B,#4 MOV P3,#0F0H;列置0,看行电平 JNB P3.4,L1 JNB P3.5,L2 JNB P3.6,L3 JNB P3.7,L4 AJMP MAIN L1: MOV R1,#0 AJMP LL1 L2: MOV R1
5、,#1 AJMP LL1 L3: MOV R1,#2 AJMP LL1 L4: MOV R1,#3 AJMP LL1 LL1: ACALL DL10MS;消抖 MOV A,P3 XRL A,#0F0H JZ MAIN MOV P3,#0FH;行置0,看列电平 JNB P3.0,L5 JNB P3.1,L6 JNB P3.2,L7 JNB P3.3,L8 L5: MOV 20H,#0 AJMP KEY L6: MOV 20H,#1 AJMP KEY L7: MOV 20H,#2 AJMP KEY L8: MOV 20H,#3 AJMP KEY KEY:MOV A,R1;计算键值并查表赋值 MUL
6、 AB ADD A,20H MOV R2,A MOV DPTR,#TABLE MOV A,R2 MOVC A,A+DPTR MOV P2,A CALL BEEP_BL LCALL DELAY LJMP MAIN BEEP_BL: CLR P2.7;蜂鸣器子程序 ACALL DELAY SETB P2.7 RET DELAY: MOV R5,#50;延时 D1: MOV R6,#20 D2: MOV R7,#50 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET DL10MS:MOV R7,#05H LOOP1: MOV R6,#0F9H LOOP2:NOP NOP DJN
7、Z R6,LOOP2 DJNZ R7,LOOP1 RET TABLE:DB 0A0H,0F9H,0C4H,0D0H,99H DB 92H,82H,0F8H,80H,90H DB 88H,83H,0A6H,0C1H,86H DB 8EH END 六、时钟 功能描述:在数码管上实现时钟功能,并通过矩阵键盘的3个键实现复位,调时,调分。 源程序: ORG 0000H LJMP 1000H ORG 001BH AJMP 0100H ORG 0100H MOV TH1,#0D8H MOV TL1,#0F0H DJNZ 69H,TT1 MOV 69H,#100 SETB 4FH TT1:RETI;中断延时
8、 ORG 1000H MOV 30H,#1 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 MOV TMOD,#10H MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#88H XS0: SETB TR1 MOV 69H,#100 CLR 4FH XS00:LJMP KEYKEY;判断按键有无按下LX1: CJNE A,#0A0H,LX2 LJMP P100 LX2: CJNE A,#0F9H,LX3 LJMP P1000 LX3: CJNE A,#0C4H,XS LJMP P10000 XS: MOV 40H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 最小 系统 设计
限制150内