C51学习实验例程.docx
《C51学习实验例程.docx》由会员分享,可在线阅读,更多相关《C51学习实验例程.docx(121页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、20.数字钟()1 .实验任务(1.开机时,显示12: 00(2. P0.0/AD0 控制“秒”(3. P0.1/AD1控制“分”(4. P0.2/AD2 控制“时”2 .电路原理图:的时间开始计时;的调整,每按一次加1秒;的调整,每按一次加1分;的调整,每按一次加1个小时;U2LED84SAT89s51SP1oGNDU1LED84s日日日日。色田xxx岀阖SWLQ dddddddd rst日日日日d。P P D Ms三aged E*6 P52 IKE W9d 艮6EAVee avaod law1民 zavRod Eav?od b avqod a0od 9aVZ90d nawcod nv I
2、we及 Hvbzd EIVKSd usd II V品 2d sVRSd 6V二 Zd gvasdX及同用HR3蒲治常图 4. 20. 13 .系统板上硬件连线(1.把“单片机系统”区域中的PL0P1. 7端口用8芯排线连接到“动态数 码显示区域中的A-H端口上;(2.把“单片机系统:区域中的P3. 0P3. 7端口用8芯排线连接到“动态数 码显示区域中的S1S8端口上:(3.把“单片机系统”区域中的PO. O/ADO、PO. 1/AD1, PO. 2/AD2端口分别用 导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4 .相关基本知识(1.动态数码显示的方法(2.独立式按键识别过
3、程(3.“时”,“分”,“秒”数据送出显示处理方法5 .程序框图6 .汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT PO. 0MINITEK BIT PO. 1SECONDK BIT PO. 2DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG OOHLJMP STARTORG OBHLJMP INT_T0START: MOV SECOND, #OOHMOV MINITE, #OOHMOV HOUR, #12MOV DISPBIT,
4、 #OOHMOV T2SCNTA, #OOHMOV T2SCNTB, #OOHMOV TEMP, #OFEHLCALL DISPMOV TMOD, #O1HMOV THO,#(65536-2000) / 256MOV TLO,#(65536-2000) MOD 256SETB TROSETB ETOSETB EAWT: JB SECONDK, NK1LCALL DELY10MSJB SECONDK, NK1INC SECONDMOV A, SECONDCJNE A, #60, NS60MOV SECOND, #00HNS60: LCALL DISPJNB SECONDK, $NK1: JB M
5、INITEK, NK2LCALL DELY10MSJB MINITEK, NK2INC MINITEMOV A,MINITE CJNE A, #60, NM60 MOV MINITE, #00H NM60: LCALL DISP JNB MINITEK, $ NK2: JB HOURK, NK3 LCALL DELY10MS JB HOURK, NK3 INC HOUR MOV A, HOUR CJNE A, #24, NH24 MOV HOUR, #00H NH24: LCALL DISP JNB HOURK, $ NK3: LJMP WT DELY10MS:MOV R6,#10 DI: M
6、OV R7, #248 DJNZ R7, $ DJNZ R6, DI RET DISP:MOV A, #DISPBUF ADD A, #8 DEC AMOV RI, A MOV A, HOUR MOV B,#10 DIV AB MOV R1, A DEC RI MOV A,B MOV R1, A DEC RI MOV A, #10 MOVR1, A DEC RI MOV A, MINITE MOV B,#10 DIV ABMOV R1, A DEC RI MOV A,B MOV R1, ADEC RIMOV A, #10MOVR1,ADEC RIMOV A, SECONDMOV B,#10DI
7、V ABMOV R1, ADEC RIMOV A,BMOV R1, ADEC RIRETINT_TO:MOV THO,#(65536-2000) / 256MOV TLO,#(65536-2000) MOD 256MOV A, #DISPBUFADD A, DISPBITMOV RO, AMOV A, R0MOV DPTR, #TABLEMOVC A,A+DPTRMOV Pl, AMOV A, DISPBITMOV DPTR, #TABMOVC A,A+DPTRMOV P3, AINC DISPBITMOV A,DISPBITCJNE A, #08H, KNAMOV DISPBIT, #00H
8、KNA: INC T2SCNTAMOV A, T2SCNTACJNE A, #100, DONEMOV T2SCNTA, #00HINC T2SCNTBMOV A, T2SCNTBCJNE A, #05H, DONEMOV T2SCNTB, #00H INC SECOND MOV A, SECOND CJNE A, #60, NEXT MOV SECOND, #00H INC MINITEMOV A,MINITECJNE A, #60, NEXTMOV MINITE, #00HINC HOURMOV A, HOURCJNE A, #24, NEXTMOV HOUR, #00HNEXT: LCA
9、LL DISPDONE: RETITABLE: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 40HTAB: DB OFEH, OFDH, OFBH, 0F7H, OEFH, ODFH, OBFH, 07FHEND7 . C语言源程序#include unsigned char code dispcode = 0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71, 0x00;unsigned char di
10、spbitcode = Oxfe, Oxfd, Oxfb, 0xf7,Oxef, Oxdf, Oxbf, 0x7f;unsigned char dispbuf 8 = 0, 0, 16, 0, 0, 16, 0, 0;unsigned char dispbitcnt;unsigned char second;unsigned char minite;unsigned char hour:unsigned int tent;unsigned char mstent;unsigned char i,j;void main(void)TM0D=0x02;TH0=0x06;TL0=0x06;TRO=1
11、;ETO=1;EA=1;while(l)if(PO_O=O)for(i=5;i0;i) for(j=248; j0; j); if(PO_O=O)second+;if(second=60)(second=0;)dispbuf0=second%10; dispbufl=second/10; while(P0_0=0):)if(PO_1=O)(for(i=5;i0;i-) for(j=248;j0;j-): if(P0_l=0)(minite+;if (minite=60)(minite=0;dispbuf3=minite%10; dispbuf4=minite/10; while(P0_l=0)
12、;)if(P0_2=0)(for(i=5;i0;i-) for(j=248;j0;j); if(P0_2=0)( hour+;if(hour=24)hour=0;)dispbuf6=hour%10;dispbuf7=hour/l0;while(P0_2=0);void tO(void) interrupt 1 using 0 (mstcnt+;if(mstcnt=8)(mstcnt;Pl=dispcodedispbufdispbitcnt;P3=dispbitcodedispbitcnt;dispbitcnt+;if(dispbitcnt=8)dispbitcnt=O;tcnt+;if(tcn
13、t=4000)tcnt=0;second+;if(second=60)second=0;minite+;if(minite=60)(minite;hour+;if(hour=24)(hour=0;dispbuf0=second%10;dispbuf1=second/10;dispbuf3=minite%10;dispbuf4=minite/10;dispbuf6=hour%10;dispbuf7=hour/10;21.拉幕式数码显示技术1 .实验任务用AT89S51单片机的PO. 0/AD0-P0. 7/AD7端口接数码管的a-h端,8位数码管 的S1-S8通过74LS138译码器的Y0-Y7
14、来控制选通每个数码管的位选端。AT89s51单片机的PL0-PL2控制74LS138的A, B, C端子。在8位数码管上 从右向左循环显示“ 12345678”。能够比较平滑地看到拉幕的效果。2 .电路原理图GND卜74LS138U j P q。LE1 0.0.B,B.为 S 於 Sq g j ) p q B.B.B.B.0sssU4LED的;S3Elivcc图 4.21. 1svozd 6V二 d s/r 二 nd 2,2 2VKC mzd 6L N随U41VZOVQOd 90V、90d 八 OVKSKlvms zov/rod lovnod 0Q3 Ts:9S: :md 氐1a ps PMZ
15、Sg 貝1/12 Qsa2D 1 2 GNX XAT89S51 20 C6 30pFX| 卜 TedC73 .系统板上硬件连线(1.把“单片机系统”区域中的PO. O/ADO-PO. 7/AD7用8芯排线连接到“动 态数码显示区域中的ah端口上:(2.把“三八译码模块”区域中的Y0Y7用8芯排线连接到“动态数码显示” 区域中的S1-S8端口上;(3.把“单片机系统”区域中的Pl. 0-P1. 2端口用3根导线连接到“三八译 码模块”区域中的A、B、C “端口上;4 .程序设计方法(1.动态数码显示技术;如何进行动态扫描,由于一次只能让一个数码管 显示,因此,要显示8位的数据,必须经过让数码管个
16、个轮流显 示可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以 为了保证正确显示,我必须每隔1ms,就得刷新一个数码管。而这刷 新时间我们采用单片机的定时/计数器TO来控制,每定时1ms对数码 管刷新一次,TO采用方式2。(2.在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显 示缓冲区装有显示的不同数据即可。5 .程序框图主程序框图中断服务程序框图CNT 加 1位选数据送PlTO中断入口位选数据加1根据CNT来决定显示几位数据通过查表方式,获得显示代码送入P0位选数据=0CNT=9 吗?CNT=O中断返回图 4.21.26 .汇编源程序DISPBUF EQU 30HDIS
17、PCNT EQU 38HDISPBIT EQU 39HT1CNTA EQU 3AHT1CNTB EQU 3BHCNT EQU 3CHORG 00HLJMP START ORG OBH LJMP INT TOSTART: MOV DISPCNT, #8MOV A, #10MOV R1,#DISPBUFLP: MOV R1, AINC RIDJNZ DISPCNT, LPMOV DISPBIT, #00HMOV T1CNTA, #00HMOV T1CNTB, #00HMOV CNT, #00HMOV TMOD, #01HMOV THO,#(65536-1000) / 256MOV TLO, #(6
18、5536-1000) MOD 256SETB TROSETB ETOSETB EASJMP $INT_TO:MOV THO, #(65536-1000) / 256MOV TLO, #(65536-1000) MOD 256MOV A, DISPBITADD A, #DISPBUFMOV RO, AMOV A, R0MOV DPTR, #TABLEMOVC A,A+DPTRMOV PO,AMOV A, PlANL A, #0F8HADD A, DISPBITMOV Pl, AINC DISPBITMOV A, DISPBITCJNE A, #08H, NEXTMOV DISPBIT, #00H
19、NEXT: INC T1CNTAMOV A.T1CNTACJNE A, #50, LL1MOV T1CNTA, #00HINC T1CNTBMOV A,T1CNTBCJNE A, #8, LL1MOV T1CNTB, #00HINC CNTMOV A, CNTCJNE A, #9, LLXMOV CNT, #OOHMOV A, CNTLLX: CJNE A, #O1H, NEX1MOV 30H, #8LL1: LJMP DONENEX1: CJNE A, #02H, NEX2MOV 31H, #8MOV 30H, #8LJMP DONENEX2: CJNE A, #03H, NEX3MOV 3
20、2H, #8MOV 31H, #8MOV 30H, #8LJMP DONENEX3: CJNE A, #04H, NEX4MOV 33H, #8MOV 32H, #8MOV 31H, #8MOV 30H, #8LJMP DONENEX4: CJNE A, #05H, NEX5MOV 34H, #8MOV 33H, #8MOV 32H, #8MOV 31H, #8MOV 30H, #8LJMP DONENEX5: CJNE A, #06H, NEX6MOV 35H, #8MOV 34H, #8MOV 33H, #8MOV 32H, #8MOV 31H, #8MOV 30H, #8LJMP DON
21、ENEX6: CJNE A, #O7H, NEX7MOV 36H, #8MOV 35H, #8MOV 34H, #8MOV 33H, #8MOV 32H, #8MOV 31H, #8MOV 30H, #8LJMP DONENEX7: CJNE A,#08H, NEX8MOV 37H, #8MOV 36H, #8MOV 35H, #8MOV 34H, #8MOV 33H, #8MOV 32H, #8MOV 31H, #8MOV 30H,#8LJMP DONENEX8: CJNE A,#OOH, DONEMOV 37H,#10MOV 36H,#10MOV 35H,#10MOV 34H,#10MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 学习 实验 例程
限制150内