《2023年嵌入式实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年嵌入式实验报告.pdf(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ARM实 验 报 告 姓 名:学 号:专 业:学 院:指 导 老 师:一、GP 1 0 输 出 与 按 键 控 制 实 验 按 键 控 制 流 水 灯 实 验 实 验 原 内 容:通 过 数 组 认 为 定 义 流 水 灯 把 戏;一 个 按 键 控 制 一 种 流 水 灯 花 色;实 验 电 路 图:史 2_V D D 33A_ 4963_ 15 1aXTAL1 PO JJTXDCWIAIM1XTAL2 PD.1/RxDMWMa*EINTUP02SCIO CAPDDRTXJC1 PD3SDMlZMATD.iyEINTIRTXC2 PO.USC kUCAP0.1MD0j6P O SZU iso
2、aaiATD.m DO.7R S f PDJ 6 IO S D C A P 0 2 D 1DP0.TJ SSEUMWM2EINT2POWTXO 1/PlfUM M W 1.1POARXD 1/PWMCEINTJPQ.ltM?TS1X:AP 11M W 12PD.11JCTS1JCAP I.I J SC LIPH12/DSR1/UAT1BWD13P0.13WJTR 1/MAT1.1JWD 1.4P0.1 VDC D1/EINT1JGDA1PD.ISfl?l1/EINT2flD 1SPD.IG-EINTtMWATDajCAPDiPD.1TJCAP 12 S C K1/UAT12PO 13CAP1
3、UU 8 1/UAT13P0.19kflMAT12/11OSI1QAP12P0JCMIJAT13QSEL1/EINT3PQ21/PIAIMSMD1 J&CAP13P022flKD 1 7J C APODIIATODP023P025i0Q.MlDD2CAPD3illATD3PDQWDDEINT31CAPDDP031P1.1GTRACEPKTDP1.17/TRACEPKT1V8AT P1.1S/TRACEPKT2P1.1SVTRACEPKT3VREF P1 aifTRAC ESYNCV3A P12VPIPBSTATDV3 P122rtIPeSTAT1V3 P123IPBSTAT2V3 P154JT
4、RACBCLKPI2SflEXTINDV9SA P126/RTCKVSS P12T/TDOVSS P12SH-DIV 9S P129UTCKv s s P i.j y r u sVSS P131/TRST.PC213519 D021CiT00000000源 程 序:#in c I u de C onf i g.h#inc I u d e Targe t.h/*名 称:DelayNS。功 能:长 软 件 延 时 入 口 参 数:d 1 y。延 时 参 数,值 越 大,延 时 越 久*/void DelayNS(u int32 dly)u i nt 3 2 i;fo r(i=0;i 0;d ly-
5、)0 0,0 x00,Ox 0 0,0 x 0 0,0 xFF),/所 有 点 亮。设 立 管 脚 连 接 G PIO 0 x 00,O x 0 1,0 x0 2,0 x0 4,0 x0 8,0 x 1 0,0 x 2 0,0 x40,Ox 8 0,0 x F F,/依 次 逐 个 点 亮 0 xOO,0 x 0 1,0 x03,Ox 0 7,0 xO F,OxlF,0 x3 F,0 x 7F,O xFF,0 x FF,/依 次 逐 个 叠 加 0 xFF,0 x7 F,0 x3F,Ox IF,0 x 0F,0 x 0 7,0 x03,0 x01,O x 0 0,OxF F,/依 次 逐 个
6、递 减 Ox 0 0,0 x81,0 x42,0 x24,0 x18,0 x18,Ox 2 4,0 x 4 2,0 x81,0 x F F,/两 个 靠 拢 后 分 开 0 xOO,0 x81,0 x C 3,0 xE7,O xFF,0 x FF,OxE 7,0 xC3,0 x8 1,OxFF,/从 两 边 叠 加 后 递 减 OxA A,0 x 55,OxAA,0 x55,0 x AA,0 x5 5,OxAA,0 x5 5,0 xFF,0 x FF,0 x00,OxFF,0 x 00,OxF F,0 x00,OxFF,0 x 0 0,0 x F F,0 x 0 0,0 x FF;/*函 数
7、名 称:keysc a n()函 数 功 能:按 键 扫 描,每 按 一 次 键 对 相 应 的 L E D进 行 取 反*/v o i d k eyscan(v o i d)uint32 i,j,k,m;IOO D I R=Ox 0 O O OOOff;k=lOOPIN;if(k&keycon)!=key c on)f o r(j=0;j500 0 0;j+);/延 时 去 抖 k=l O 0 P I N;i f(k&keycon)!=k e y con)i=(k&k e ycon)|(keycon);i=i;。swi t ch(i)c as e K E Y1:for(m=0;m 1 0;m
8、+)I O 0SET=(LED_TBLO m);De 1 a y NS(3);lO0CLR=(L E D _ T B L0 m);D e 1 ay N S(3);b r ea k;c a s e KE Y 2:f or(m=0;m 1 0;m+)I O0SET=(LED_T BL1m);D e la y N S(3);IOOCLR=(L E D _T BL1 m);De 1 a y NS(3):)b rea k;c a s e KEY3:for(m=0;m10;m+)IO0 S ET=(LED_TBL 2 m);D e layNS(3);IOOCLR=(LE D _ T BL2E m);D e
9、 1 a yN S(3);PINSELO=0 x0000 0 000;b r e a k;。case KEY4:fo r(m=O;m l 0;m+)10 0 S E T=(LED_ T BL 3m);D elayNS;I 0 0 C LR=(L E D_ TBL3m);DelayN S(3);)break;c a s e K EY 5:for(m=0;m 10;m+)l00S ET=(LED_TBL 4 m);Dela y NS(3);l。0 CLR=(L E D _ T BL4m);DelayNS(3);br e a k;。case K EY 6:fo r(m=0;m 1 0;m+)I OO
10、SET=(LED_TBL5m);D elayNS;IOOCLR=(LED_TBL5 m);D e la y NS(3);)beak;。ca s e K E Y7:f o r(m=0;m 1 0;m+)l 0 OSET=(LED_T B L6 m);D ela y NS(3);I OOCLR=(L ED_T BL6m);DelayNS;br e ak;c a s e KEY8:f o r(m=0;ml0;m+)IO 0 SET=(LED_TBL7 m);D e lay N S(3);IOO C L R=(LE D_TB L 7m);De 1 ay N S(3);)w h il e(k&k e y
11、 c o n)!=k e y con)k=IOOP IN;/*函 数 名 称:main()*函 数 功 能:每 按 一 次 键,对 相 应 L E D 的 状 态 取 反*/in t mai n(v o id)(T a rg e tR e set I n i t();PINSELO=0 x0000000 0;。设 立 所 有 管 脚 连 接 G PIOPINSEL1=0 x0 0 00000 0;IOODIR=OxOOOOOOff;/设 立 P0.0-P0.7为 输 出,其 余 为 输 入 IOOCLR=0 xffffffff;wh i Ie。keysca n();br e a k;二、GPI
12、O输 出 实 验 流 水 灯 实 验 实 验 内 容:通 过 数 组 认 为 定 义 流 水 灯 把 戏;有 六 种 把 戏 的 流 水 灯 依 次 闪 烁;实 验 电 路 图:D P T 至 6 3 谢 b&2 a 0 5 3 D D 631 0 7.L E D 5严 y _ E D 6源 程 序:#in c I u d e config,h/*函 数 名 称:DelayNS()函 数 功 能:长 软 件 延 时 入 口 参 数:dl y 延 时 参 数,值 越 大,延 时 越 久*/vo i d Dela y NS(uint32 d I y)u i nt32 i;for(;dl y 0;d
13、 I y-)f o r(i=0;i5 0 000;i+);/*函 数 名 称:main()函 数 功 能:GPIO输 出 测 试,把 戏 流 水 灯。*/c onst u int32 LE D _ TBL=。把 戏 流 水 灯,注 意 调 用 时 候 用 了 取 反 操 作 OxOO,OxFF,。/所 有 熄 灭 后,再 所 有 点 亮 0 x 01,0 x02,0 x0 4,0 x0 8,0 x10,0 x 20,0 x40,Ox 8 0,/依 次 逐 个 点 亮 0 x01,0 x0 3,O x0 7,OxOF,OxlF,Ox3F,0 x7F,Ox F F,/依 次 逐 个 叠 加0 X
14、F F,0 X 7F,O X 3F,0 xlF,0 x 0 F,0 x 07,0 x 0 3,0 x0 1,/依 次 逐 个 递 减 0 x81,0 x42,0 x 2 4,0 x18,0 x l8,0 x2 4,0 x 4 2,0 x 81,两 个 靠 拢 后 分 开 0 x8 1,0 x C 3,0 xE7,Ox F F,0 x FF,0 x E 7,0 x C3,0 x8 1;从 两 边 叠 加 后 递 减 int m a i n(vo i d)u in t 8 i;PINSELO=0 x00 0 00000;。/设 立 管 脚 连 接 G P I OI OOD I R=0 xOOOOO
15、Off;。设 立 PO.O-PO.7 控 制 口 为 输 出 w h ile(1)。for(i=0;i 4 2;i+)。/把 戏 流 水 灯 显 示 IOOSET=(LED_TBLi);DelayNS(3);I O 0 CLR=(LED_TBL i);DelayN S(3);三、单 路 按 键 控 制 LED/蜂 鸣 器 实 验 内 容:按 键 k e y l一 按,蜂 鸣 器 响,L E D 灯 亮;实 验 电 路 图:R rXTAL1X T A L2R T X C 1 T X C 2PaVTYDafVnllATD.IirEINT1P O.J C ac:APO.im o o 万 PaXVM
16、tSOtVMATU.lJnDD.Tp口 JG/M O Q K U C APCJ S M D i nPQ?X&ELanM2INT2POJtVTXD 1/PUVM C9D 1.1POVRxD 1ZPW M OEINT3PQ.ICVR-TSlJCAP 1 OHAD 1 3P O.11 Q T S,Q A P 1 I C L IPQ.12/D SR 1/M A T 1 1 与 PD.13rtTR 1/UA T1,1JD 1.0.1 S C O V C IZ T V S O A 1PO.JWW H/E IN T Z W O 1SPO.16EIN7TinUATD2CAPO2PO.1 T C A P 1 K
17、 1/M A T 1 2PD.IWlCAP I 3/11 ISO V M A T 1 QPa.19u 12PO2CUMAT1 JUSeL1/CINT3POJ2ZPVWM5XlO1J6iCAP1,P a 22 jA D 1.TjC A Panm iA TD IJPO 23PDJ9SDD.4J 9*O U TPQ2&0KOQSP Q N m O Q D C A P Q.1&A T D.1PQ 12SW W 1Q A P Q 12/M A TD 2PQ jauC B lD D C A PO M A TnP O 3a m.o a vE iN T 3u cA p aaPO RIP 1.16ZTR A C
18、 EP K raP1.1T/TRA C EP KT1P 1.1W TRAC EP KT2P 1.1AH-RAC EP KF3P IiIM T R A C e S V N CP 12 1/F IP ESTATOP 1 22/P IP ESTAT1P 1 N3W IP eS T A T 2P 1 NJTKAC BC LKP1_26/EXTIZQP ia S R T C Kp 1 a r r/r o oP I B/T O I多 弩 叠 裳 毒 垩 虐 S量 鎏 耋 羹 鎏 羹 A源 程 序:#i nc 1 ude c on f ig.h#d e fine BEEP 1 7/P 0.7控 制 蜂 鸣
19、器,低 电 平 蜂 鸣#d efine KEY1 1 8/*函 数 名 称:DelayNS()函 数 功 能:长 软 件 延 时*入 口 参 数:d l y 延 时 参 数,值 越 大,延 时 越 久 出 口 参 数:无*/voi d Del a y N S(ui n t32 dly)uint32 i;fo r(;d ly 0;dly-)fo r(i=0;i50000;i+);/*函 数 名 称:main。*函 数 功 能:用 P0.7控 制 BEEP,让 蜂 鸣 器 蜂 鸣*/i n t m a in(v oid)。P I N S E L O=0 x000 0 0 0 00;/设 立 引 脚
20、 连 接 G P I。PINSE L 1=O x 0 00000 0 0;IO0D I R=BEEP;Q。/设 立 BEEP控 制 口 为 输 出 w h ile(1)b if(IOOPIN&KEY1)=0)IO0CLR=BEEP;else IO 0 S ET=B E EP;)四、定 期 器 0 控 制 数 码 管 一 亮 一 灭 实 验 内 容:0.5 定 期 时 间 一 到,数 码 管 闪 烁 一 次:实 验 电 路 图:62H ZU 1 LEDXTAL1XTAL2RTXC1RTXC2RSTP0.0/TXD04W41P0.1/R xD 0/PW W BM lDP0.2/SCLD/CWDDP
21、0.3/$D/50A4ATD.CyBMnP0.4/SCKD/CAP0.100J8P0.5/MISO0/MATO.1M)0.7PD.6/MOSI0/CAPD2AfiO1DP0.7/SSELD/PWMSM12PD.8/TxD1/PWM4W1.1P0.9/RxD1/PVWy&BM13PD.10/RTS1/CAP1Wil12P0.11/CTS1/CAP1.1/SCL1P0.12/DSR1MAT1DWO13P0.13/DTR1/h4AT1.1/WO1.430T T3335Z3E38P 0.14/D C D 1/E m/S D/M|-P 0.1 5/R I1/E IN T m)15P0.16,日 NTD
22、加 M E).2O T O 2P0.17/C/!(P1.2/SCK1jMSn2P0.18/C AP1.3/M IS01AW 134i47ZU-X A203i zR8源 程 序:#i nclud e Confi g.h#in c lud e Ta r get.h#def i n e LED(1 7)/*P0.7 引 脚 控 制 LED,低 电 平 点 亮*/*函 数 名 称:ma i n()*函 数 功 能:通 过 查 询 定 期 器 0 中 断 标 志 位 控 制 LED点 亮*/int main(v o i d)PINS E L I=0 x00000000;/设 立 管 脚 连 接 GPIO
23、 I OODIR=L E D;。设 立 L E D 控 制 口 输 出。T OTC=0;TOPR=9 9;T O M C R=0 x03;。T0M R 0=6 0 024;TOTCR=0 x0 3;TOTCR=0 x O l;w hile(1)。w h i 1 e(TO I R。/定 期 器 0 初 始 化/设 立 定 期 器 0 分 频 为 1 0 0分 频,得 1202 3 0Hz/匹 配 通 道。匹 配 中 断 并 复 位 T OTC 比 较 值(0.5 s 定 期 值)/启 动 并 复 位 TOTC&0 x 0 1)=0);/等 待 定 期 时 间 到。TO I R=0 xOl;。/清
24、 除 中 断 标 志。1 f(IOOS E T&LED)=0)/取 反 L E D状 态。I O O S ET=LED;。oelse I 0 OCL R=LED;。五、数 码 管 动 态 显 示 实 验 电 路 图:4“e,EeP0.1TM*T1.WAH,P C M 1/EIMTimAITPa3AM3rGIIIT3iCAK0 IE 3H 55JP0.ismw6i-raAi5源 程 序:#i n clud e c on f i g.hvo i d delay(uint32 x)(uint8 i;。w h il e(x-)f o r(i=50000 0;i 0;i-);)uint8 table=0
25、 x3f,O x 0 6,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,O x 7 f,0 x6f,0 x77,0 x7c,0 x 3 9,0 x 5e,0 x79,0 x71;u i nt 8 table 1=0 x01,O x 0 2,0 x 04,Ox 0 8,0 x 1 0,0 x2 0,0 x40,0 x 8 0);s u int8 i,j,p=l 6;PINSE L 0=0 x0 0 00 0 0 00;PINSEL 1=0 x00 0 00000;olO 0 DIR=O xOO f fffOO;while(1)(for(i=0;i8;i+)(IOOCLR
26、=IOO CLR|0 xffOO;I O O S ET=table i 8;fo r(j=O;j 8;j+)(I O O C L R=I OOCLR|Oxf f 0 000;10 0 SE T=1 p;delay;int mai n(v oid)P+;i f(p=2 4)p=1 6;六、将 读 取 的 DS18B20温 度 值 转 换 为 十 进 制 实 验 电 路 图:#in c 1 ude DS18B 2 0.h u i n t 8 Tp L 12/温 度 显 示 数 据 S-着 窒 詈 工#慧 蜜 鬟 盍 第 券 鬟 ft善 詈 三 产;u i n t 8 T M ark=0;窑 CG
27、N D/温 度 正 负 标 志/*u i n t l 6 tt;*函 数 名 称:I nit()Tpl t v al u e/1000+0 x 3 0;*函 数 功 能:I/O端 口 初 始 化,设 立 引 脚 连 接。/百 位 数 模 块*Tp2=tval ue%10 0 0/I 0 0+0 x30;/十 位*数*/v o id Ini t(v oi d)。P I NSELO|=0 x0 0 000000;/设 Tp 3=t v alu e%100/10+0 x30;/个 位 数 T p 4=O x 2 E;立 引 脚 连 接 模 块 P I N S ELI|=0 x00000088?PIN
28、SEL2&=0 x 00000 0 0 4;/*函 数 名 称:Conver t T e mpera t ure()*函 数 功 能:将 读 取 的 D S 1 8B20温 度 值 转 换 为 十 进 制 数*入 口 参 数:t v a lu e读 取 的 DS18B20当 前 温 度 值*/v oid C onvertT e mpe r atur e(u intl6 t/显 示 小 数 点 Tp5=tva 1 u e%10+0 x30;/显 示 温 度 小 数 位 T p 6 O x 0 1;/显 示 自 定 义 字 符,用 于 温 度 符 号 显 示 Tp 7=0 x 43;/显 示 字
29、符 C。T p 8=0 x20;显 示 字 符 符 Tp9=0 x20;显 示 字 符 CT p 10=0 x20;/显 示 字 符 C。T p ll=0 x20;/显 示 字 符 Co if(TMark=0)0 T p 0=O x 2 0;v a 1 u e)/正 温 度 不 显 示 符 号e 1 se TpO=0 x2D;/负 温 度 显 示 负 号:-。if(T p l=0 x30)T p 1=0 x2 0;/假 如 百 位 为 0,不 显 示 if(Tp2=0 x30)。Tp 2=O x 2 0;/假 如 十 位 为 0,不 显 示 e e)/*函 数 名 称:Delay N S()*
30、函 数 功 能:软 件 延 时*入 口 参 数:d 1 v 延 时 参 数,值 越 大,延 时 越 久*夫*/u i nt 3 2 i;o fo r(;dly0;d 1 y)fo r(i=0;i50000;i+);/*函 数 名 称:main()*函 数 功 能:主 函 数*/i nt main(v o i d)uint8 i;I ni t();/I/O 端 口 初 始 化 1 c d J n i t();o/L C D 初 始 化 DisTex t(Ox 8 0/C u rr e n t T e mpe ratur e:);for(i=0;i l 1 0;i+)R e adT em p();
31、。预 读 D S 1 8 B20wh i I e(1)e Con v e rtTemp e ra t ure(R e ad T emv oi d D e layN S(ui n t32 dl y)p();/温 度 转 换度)Di s Text(0 xc4,T P);。显 示 当 前 温 七、LCD 1602显 示 1实 验 电 路 图:3839祈 P U.il/蚤 92”意 仿 r,归“理 32 丸 器 8S2 R-3aaaa-a-BB-Baapg.12,P 0.13/LCD1 u n in 9 y u e2 0 1 2 lf i2 6 B源 程 序:#include c o nfig.h#d
32、 e f i ne r s(15)#d e fi n e rw(1 6)#d efine en(1 7)*#define b u sy(115)*函 数 名 称:C h kBusy()*函 数 功 能:检 查 总 线 是 否 忙*/void ChkBus y()(o IOODIR=OxfO;a w h i l e(1)(e。IOOC LR=rs;I OOSE T=rw;eo I O 0 SET=en;3 if(!(I OOPIN&bu s y)b r eak;。IO 0 C L R=en;IOO D IR=0 x f f f f ffff;)/*函 数 名 称:WrOp()*函 数 功 能:写
33、 命 令*入 口 参 数:d a t,待 写 入 L C D 的 命 令*/vo i d W r 0 p(u i nt8 da t)(。C h kBusy();IOOCL R=rs;o o oIOOC L R=rw;IOOC L R=l 0 OC L R|OxffO 0;/先 清 零 o|OOSET=dat8;。再 送 数 I OO SET=e n;。IOOCLR=en;)I*函 数 名 称:W rDat()*函 数 功 能:写 数 据*入 口 参 数:d a t,待 写 入 L C D的 数 据*,j l j*/v o id WrD a t(uint8 d at)(ChkBu s y();o
34、 I O O SET=rs;o IO 0 CLR=rw;I OOCLR=I OOCL R|0 x f f00;/先 清 零。I OOSET=d a t 8;。再 送 数 IOOS E T=e n;。I OOCLR=e n;/*函 数 名 称:lcd_ i nit()*函 数 功 能:le d初 始 化*/v oid lcd_ i n it(voi d)(3 WrOp(Ox38);0 o WrO p(0 x06);e WrOp(0 x0c);oo)/*夫*入 口 参 数:posx LC D列 位 置,p osy LC D行 位 置*/v o id L o ca t eXY(u i n t 8 p
35、 o s x,uin t8 p o s y)。uint81 e mp;。t emp=p os x&0 xf;p o s y&=0 x 1;if(p os y)temp|=0 x 40;o tem p|=0 x80;Wr 0 p(tem p);/*函 数 名 称:D i s p OneCha r()*函 数 功 能:显 示 单 字 符*入 口 参 数:x LCD列 位 置,y L C D 行 位 置,W d a t a 显 示 字 符*函 数 名 称:LocateXYO*/*函 数 功 能:显 示 光 标 定 位 vo i d Di s p OneChar(uint8 x,u int 8y,ui
36、nt 8 Wd a t a)L o c a t e X Y(x,y);/定 位 显 示 字 符 的 x,y位 置 WrDat(Wdata);/写 字 符)/*火*函 数 名 称:ePutstr()*函 数 功 能:显 示 字 符 串*入 口 参 数:x L C D列,y LCD行,j 字 符 串 长 度,*P t r字 符 串 指 针*/void eP u t s t r(uint8 x,u int8 y,u int8 j,u i nt8*p tr)uint8 i,1=0;for(i=0;i j;i+)。DispO n eCha r(x+,y,pt r i);o i f(x=16)4 o x=
37、0;y=I;)1*函 数 名 称:DisTe x t()*函 数 功 能:显 示 文 本*入 口 参 数:ad dr LCD DDRAM 地 址,*p文 本 指 针*Ivoi d Di s Text(u i nt 8 a d d r zc h ar*p)(o WrO p(addr);whil e(*p!=0)W rDat(*(p+);/*J V*函 数 名 称:m a i n()*函 数 功 能:L C D 初 始 化,自 定 义 汉 字 字 符,LCD显 示 英 文 和 汉 字 字 符。*/i n t mai n(v o id)(uint8 i;uint8 exam p 1=0X32,0 x
38、30,0 x31,0 x32,0 x00,0 x 3 1,0 x01,0 x32,0 x36,0 x02);u i nt 8 H z zim o=0 x08,0 xOF,0 x l2,0 x0 F zOxOAzO x 1 F,0 x0 2,0 x00,/年。Ox O F,0 x 0 9,Ox 0F,0 x09,OxOF,0 x 0 9,0 x11,0 x0 0,/月。0 xOF,0 x09,0 x09,0 xO F,O xO 9,0 x 0 9,0 x0F,0 xOO;/日 1 c d _ini t();。/L C D/第 一 行 从 第 0 位 开 始 显 示 英 文 字 符。ePutstr
39、(4,1,1 0,exampl);。/第 二 行 从 第 4 位 开 始 显 示 2 0 2 3年 1 月 2 6日。whi 1 e(1);)初 始 化 W r Op(Ox 4 0);。/自 定 义 汉 字 字 符:年、月、日 fo r(i=0;i 24;i+)W rD a t(H zzim oi);。)DisTe x t(0 x80,lu m i ng yue);八、LCD 1602显 示 2实 验 电 路 图:33 ZRSTU 1abcdef9 hi9kInnroHXTAL1XTAL2R7XC1RTXC2PD.1&EINTOMAIU2JCAP02P0.17CAP12SCK1/MAT12P0
40、.1&CAP 1 tSO 1/I1AT13PD.IdOlATI 2010SI1JCAP12P0ZMJAT13GSEL1/HINTJPQ21/PIAIUSMD1 J&CAP 13P022D 1.7JCAP0IWIIATDDPD23P025WD0.WCIUTon-oicmnncponmcDowMiP C J.1 尔 XDM 则 U M IN EPajCLOCAPODPD3eDMMIAra.IWEINT1PD.iCMlCAPD.1X-P0.15/源 程 序:#in c lude co n f ig.h#d e f ine rs(15)#d e f ine r w(16)#de f i ne e n(
41、17)#d efin e b u sy(1 1 5)/*函 数 名 称:C h kB us y()*函 数 功 能:检 查 总 线 是 否 忙*/void ChkB u sy()I OOD I R=Oxf 0;。w h i le(l)。I OOCLR=rs;lOOSET=r w;。100 S E T=en;i f(!(IOOPIN&bus y)break;I 0 O C L R=en;IO0DIR=0 x f fffff f f;/*函 数 名 称:WrOp()*函 数 功 能:写 命 令*入 口 参 数:d a t,待 写 入 LCD的 命 令*/voi d WrOp(u i n t 8 d
42、 a t)C h k B u sy();10 0 C L R=rs;I OOCL R=r w;IOOCLR=IO 0 CLR|0 xf f 00?/先 清 零 IOOS E T=dat8?。/再 送 数 I O0SET=e n;IOOCLR=en;/*函 数 名 称:WrD a t()*函 数 功 能:写 数 据*入 口 参 数:d a t,待 写 入 LCD的 数 据*/void W rD at(ui n t 8 d a t)。C C h kB u sy();I O 0 SET=rs;IOOC L R=rw;olOO C LR=IO OCLR|OxffOO?先 清 零。I O OSE T=d
43、 a t 8;再 送 数 10 0 SET=en;IO 0 C LR=e n;/*函 数 名 称:I c d jn i t()*函 数 功 能:led初 始 化*/。WrOp(a d d r);vo i d 1 cd_ i nit(v o id)。W r Op(0 x 3 8);Wr 0 p(0 x 0 6);WrOp(0 x0 c);)/*函 数 名 称:D isText()*函 数 功 能:显 示 文 本*入 口 参 数:ad d r L C D DDRAM 地 址,*P 文 本 指 针*/voi d D i s Te x t(u i nt 8 ad d r,cha r*P)w h i l
44、e(*p!=0)WrD a t(*(p+);/*函 数 名 称:ma i n()*函 数 功 能:L C D 初 始 化,自 定 义 汉 字 字 符,LCD显 示 英 文 和 汉 字 字 符。*/i n t m a in(vo id)。u i nt8 i;1 cd_init();/LCD 初 始 化 D i sText(0 x80,l u m i n g yue);。Dis T e xt(0 xcO,abcdefg hi j kl mn);w hile(1);九、L C D 1602显 示 3实 验 电 路 图:RTXC1RD0C2XTAL1XTAL2panmcDtvpwmPO.1/RXD(M
45、IA)U3INTDPOJCLUCAPDflPD3SDMMHA7D.iyEINT1PD.4JGCM1CAPD.1ADOJ5POSWEOtWlA-ra.IDO?PDjaM0SnCAPD2D1DP0.7J SSEUMWM2INT2PD5mD1/PWUWD1.1POSVExOI/FWUe/EIWDPD.KW?TS1J CAP1HWD12PO.11X:TSlJCAP1.lJeCL1P0.12SR1/UAT1IWi.D13PO.13rt)TR1/MAT1.1AD1.4PD.1M)CD1/EINT1J SDA1PD.1SI1/HINT2WD1SPD.1IN-niMATT2CAPO2PD.1?J CAP 12
46、GC K1/MAT12PD.18CAP 1301 ISO 1/MAT13P0.iaillAT12AI0SI1iCAP 12PDZVUAT136SEL1/EINT3PU21 枷 IM 54D 16cA p 13P022MD1.TJCAPOIWJAnJDP023PD25jftDO.WOUTP025MD0J5P02rDDBCAPa.1/UA7T.1abcdefS h iJkIn nIn nin9 yue带 需 一 号 斋 一 崖 源 程 序:#i n e lu d e config.h#d e f i ne r s(1 5)#def i n e e n(1 7)#d efine b u sy(1 1
47、5)#de f i n e rw(16)/*函 数 名 称:C h kBusy()*函 数 功 能:检 查 总 线 是 否 忙*/v oid ChkBusy()IOODIR=Oxf 0;w h i 1 e(l)10 0 C LR=rs;100S ET=r w;。I O 0 SET=en;。i f(!(IOOPIN&b u sy)break;lO0CLR=en;IOODlR=Oxffffffff;/*函 数 名 称:WrOp()*函 数 功 能:写 命 令*入 口 参 数:da t,待 写 入 LCD的 命 令*/v oi d W r Op(uint8 d a t)Ch k B u s y();
48、IOOCLR=rs;IOOCL R=rw;。IOOCL R=IOOCLR|OxffOO?。先 清 零 olOOSET=dat 8;。/再 送 数。10 0 SET=e n;I 0 0 C L R=e n;/*函 数 名 称:W rDat()*函 数 功 能:写 数 据*入 口 参 数:d a t,待 写 入 L C D 的 数 据*/v o i d WrD a t(uint 8 dat)ChkBusyO;lO0SET=rs;IOOCLR=rw;。IOOCLR=I 0 0 CLR|OxffOO7 先 清 零 I 0 0 S E T=dat8;/再 送 数 I 0 0 SET=e n;IOOC L
49、 R=en;/*函 数 名 称:I c d _ i nit()*函 数 功 能:led初 始 化*/void lc d _ ini t(v oi d)WrOp(0 x 3 8);WrO p(0 x06);Wr 0 p(0 xOc);)/*函 数 名 称:DisText()*函 数 功 能:显 示 文 本*入 口 参 数:addr LCD DDRAM 地 址,*p文 本 指 针*/v oid DisT e xt(u i nt8 ad d r,char*p)(WrOp(a ddr);while(*p!=0)Wr D at(*(p+);/*函 数 名 称:main()*函 数 功 能:L C D初
50、始 化,自 定 义 汉 字 字 符,L C D 显 示 英 文 和 汉 字 字 符。*/i n t main(vo i d)。u int8 i;I c d J n it();/LC D 初 始 化 D i s Te x t(0 x 8 0,a b c d ef g h i jk1 m n);Dis T ex t(Oxc 0,l u ming yu e);while(1);十、PWM脉 宽 调 制 实 验 内 容:LPC2 1 3 1芯 片 PWM模 块 可 以 实 现 6 路 单 边 沿 控 制 或 者 3路 双 边 沿 控 制,或 者 两 者 混 合 输 出。实 验 电 路 图:X-11li