2023年proteus单片机pcbarm实验报告.pdf
《2023年proteus单片机pcbarm实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年proteus单片机pcbarm实验报告.pdf(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录 实 验 一、单 片 机 间 的 多 机 通 信。错 误!未 定 义 书 签。实 验 二、12c总 线 应 用 技 术 错 误!未 定 义 书 签。实 验 三、层 次 原 理 图 设 计。错 误!未 定 义 书 签。实 验 四、元 件 封 装 的 创 建。错 误!未 定 义 书 签。实 验 五、自 动 布 局。错 误!未 定 义 书 签。实 验 六、开 关 控 制 LED 错 误!未 定 义 书 签。实 验 七、中 断 计 数 器 错 误!未 定 义 书 签。实 验 八、UART。错 误!未 定 义 书 签。实 验 一、单 片 机 间 的 多 机 通 信(1)实 验 题 目 采 用 C语
2、 言 实 现 单 片 机 间 的 多 机 通 信。实 现 内 容:三 个 5 1单 片 机 进 行 多 机 通 信。一 个 单 片 机 用 于 温 度 的 采 集(可 采 用 可 变 电 阻 模 拟 温 度 值),一 个 单 片 机 用 于 控 制 8 个 LED灯 循 环 显 示,显 示 的 时 间 间 隔 从 主 机 中 获 得,主 机 用 于 发 送 温 度 的 大 小 值 及 循 环 显 示 的 时 间 给 从 机。(2)实 验 目 的 掌 握 p r ote u s 和 软 件 环 境 一 一 k e i IC的 联 机 调 试 过 程 掌 握 基 于 ARM c 编 程 基 础(3
3、)实 验 设 备 l.Prote u s 8 P ro f ess i onal 仿 真 开 发 环 境;2.Keil uV i sion4(4)实 验 环 节 1.1 打 开 Proteus 8,选 择 isis绘 制 电 路 图,点 击 p 添 加 元 件 AT8 9 c 51,BUTTON,CA P,CAP-ELEC,C R Y S TAL,R E S.1.2 绘 制 电 路 图 如 图 所 示:2.1 打 开 K e il uVi s ion5,n e w p r oje c t 和 new f ile2.2 编 写 代 码:(c 语 言)/*实 验 一*主 机*发 送 循 环 显 示
4、 时 间 和 温 度 值 给 从 机*/#in c lu d e#i n c 1 u d e#defi n e _SUCC_ OxOf/数 据 传 送 成 功#define _ERR_Ox f 0/数 据 传 送 失 败#de f ine uchar uns i gned c h ar#define u i nt u n s i g ned i n tui n t Time 口=0,1,2,3,4,5,6,7;/循 环 显 示 时 间 间 隔(s)uintT=22,33,66,77,8 8,9 9;sbi t K E Y 1=P 3*3;sb i t KEY 2=P 3A5;uchar co
5、u n t=0;/延 时 lm s 函 数 voi d dela y _lm s(uint t)u i n ty;w h ile(t-)for(y=110;y0;y)/串 口 初 始 化 函 数 void serialjnit()(TM 0 D=0 x20;/定 期 器 1工 作 于 方 式 2T H l=0 x f d;T L l=0 xfd;/波 特 率 为 9600PCO N=0;SCON=OxdO;。/串 口 工 作 于 方 式 3TR1=1;。/启 动 定 期 器 T I=0;R l=0;)发 送 数 据 函 数 vo i d S END_data(ui n t*B u f f)(T
6、 1=0;-发 送 数 据 长 度 TB8=0;。/发 送 数 据 帧 P2=B uf f c o u nt;SBU F=Bu f f c o u n t;w h i 1 e(!T I);TI=0;coun t+;coun t=cou n t%5;/向 指 定 从 机 地 址 发 送 数 据 void ADDR_ da t a(uchar addr,ui n t*Bu f f)(。uchar t e mp=0 x f f;while(tem p!=a d d r)主 机 等 待 从 机 返 回 其 地 址 作 为 应 答 信 号(T I=0;发 送 从 机 地 址 oTB8=l;。发 送 地
7、址 帧SBU F=a d dr;w h ile(!T I);T l=0;o3 RI=0;3while(!R I);te m p=SBUF;0 RI=0;SEND_ dat a(Bu f f);/m a i n 函 数 void mai n()(seri a 1 J n i t();w h i le(1)(i f(KEY1=O)delay_lms(5);if(KEYl=0)(。wh i 1 e(!KE Y l);o ADDR_data(O x 01,T im e);0)o i f(KEY2=0)。d e lay_lm s(5);。if(KEY2=0)(3。while(!KEY 2);A D D
8、R_data(O x 0 2,T);。)/*火*实 验 一*从 机 1*接 受 主 机 发 送 的 温 度 值*/#i n c I u d e#inclu d e#i n clude#d e fine a d dr 0 x02/从 机 2 的 地 址#d e fin e _ S U C C _ OxOf/数 据 传 送 成 功#def i n e _E R R_ O x f 0/数 据 传 送 失 败#d e f in e uint unsi g n e d i n t#d e f i n e u c har u ns i gned c ha run s ig n ed c h ar Buff
9、 2 0;/数 据 缓 冲 区uc h a rf 1 ag=0;请 求 标 志 s bit c s=P 1 0;sbit c I k=P l-1;。sbit d i o=P 1 A2;串 口 初 始 化 函 数 v o i d serial_ i n i t()TMOD=0 x20;定 期 器 1 工 作 于 方 式 2T H 1=0 xf d;TL 1=0 x fd;/波 特 率 为 9 6 0 0PCON=0;SCON=OxdO;串 口 工 作 于 方 式 3TR 1=1;/启 动 定 期 器 Tl=0;R I=0;)延 时 vo i d delay(u i n t x)(。uint i;
10、w h i I e(X-)f o r(i=0;i 120;i+);)/-得 至 U a d 转 结 果 uchar get_ a d _res u lt()(u c har i,dat 1=O,dat 2=0;cs=0;。clk=0;d io=1;#_ n o p _();_ n o p _();c 1 k=1;_ n o p j);_nop_();o c 1 k=0;d i o=l?_nop_();_n o p _();oelk=1;_no p_();_nop_();c 1 k=0;dio=0;_no p _();_nop();6 c lk=1;d io=1;_nop_();_nop_();
11、c lk=0;dio=1;。nop_();_n o p_();ofo r(i=0;i8;i+)o c lk=l;_no p J);_no p _();。0 c lk=0;_ nop_();_ nop_();。datl=d a tl l|d i o;f o r(i=0;i 8;i+)(dat2=dat2|(uc h ar)(dio)i);c lk=1/_ n o p _();_no p J);c 1 k=0?_nopj);_nop_();。)o c s=1;return(d a t 1=dat 2)?dat 1:0;)-/主 函 数 v oid mai n()(u i n t i=0,j=0;u
12、 ch a r t e mp=0,tern p 2=0;。ucha r aa=0 x ff;seri a I_ init();w h i 1 e(l)(SM2=1;接 受 地 址 帧 o aa=O x f f;whil e(aa!=ad d r)/从 机 等 待 主 机 请 求 自 己 的 地 址(R I=0;while(!RI)。temp=g e t _ a d _ r e su 1 t();/温 度 采 集 结 果 if(t em p!=t em p 2)0 P 2=temp;。t emp2=t e m p;aa=SBU F;R I=0;)TI=0;/一 旦 被 请 求,从 机 返 回 自
13、 己 地 址 作 为 应 答,等 待 接 受 数 据 TB8=0;SB UF=addr;w h ile(!Tl);T l=0;SM 2=0;接 受 数 据 帧 RI=0:wh i Ie(!RI);Buffi=S B U F;/数 据 帧 R I=0;,P2=B u ff i;查 看 接 受 到 的 数 据)/*实 验 一*从 机 2*接 受 主 机 发 送 的 循 环 显 示 时 间*/#include#in c lude#in c lude#define addr 0 x 0 1/从 机 2 的 地 址#d e f i ne _ SU C C_ O x 0 f 数 据 传 送 成 功#d e
14、 f i ne_E R R _ OxfO 数 据 传 送 失 败#defi n e u i n t uns i gned in t#de f i n e u c ha r u n s i gned charui n t codesT a ble=0,l 0,20,40,60,80,100,150;uint B u ff 20;数 据 缓 冲 区 u c h a r light=0 x0 0;uint s p e e d=0;u i nt t c oun t=0;串 口 初 始 化 函 数 v o i d s e rial_ ini t()(TMOD=0 x 2 0;定 期 器 1工 作 于 方
15、 式 2T H l=0 x fd;TLl=Oxfd;波 特 率 为 9 6 0 0PCON=0;SC ON=OxdO;串 口 工 作 于 方 式 3T R 1=1;启 动 定 期 器 TI=0;R I=0;/延 时vo i d TO_INT()interr u pt 1(if(t c o u nt+s p e ed)retu r n;tco u nt=0;P 1=light;li g ht=_ c rol_(l i g h t,1);)主 函 数 void m a i n()(uint i=0,j=0;uint m;u c har aa=0 xff;s e r ia ljn i t();。I
16、E=OX 82;oTR 0=1;while(l)(SM2=1;/接 受 地 址 帧 a a=Oxff;while(aa!=addr)从 机 等 待 主 机 请 求 自 己 的 地 址RI=O;whil e(!RI);a a=SBUF;R I=0;)T I=0;一 旦 被 请 求,从 机 返 回 自 己 地 址 作 为 应 答,等 待 接 受 数 据 TB 8=0;SBUF=a ddr;w h i l e(!TI);TI=0;SM2=0;/接 受 数 据 帧。RI=0;while(!R I);m=S B U F;/数 据 帧 R l=0;s p e e d=sTa b le m;P2=m;查 看
17、 接 受 到 的 数 据 lig h t=O x 0 1;2.3 compi 1 efil e,生 成.HEX 文 献(5)实 验 小 结 本 次 实 验,实 验 二、1 2 c总 线 应 用 技 术(1)实 验 题 目 实 验 题 目:采 用 C语 言 完 毕 1 2 c 的 通 信。实 现 内 容:放 置 两 个 I2C芯 片,一 个 是 2 4 c o i存 储 器,一 个 是 24co 2,分 别 向 两 个 芯 片 中 写 入 0 16,1 7 33。然 后 读 出 相 加 并 将 值 写 入 单 片 机 相 关 单 元。(2)实 验 目 的 掌 握 p r o t e u s 和
18、软 件 环 境 一 一 keilC的 联 机 调 试 过 程(3)实 验 设 备 1.Pr o t e u s 8 P r o fes s i o n al 仿 真 开 发 环 境;2.Ke il uV i s ion5(4)实 验 环 节 1.1 打 开 P ro te u s 8,选 择 is is绘 制 电 路 图,点 击 p 添 加 元 件 A T 8 9 c 51,BUTTON,CAP,CAP-ELEC,CRYSTAL,R E S.1.2绘 制 电 路 图 如 图 所 示:为 E4-壬 2.1 打 开 Keil u Vi s ion5,n ew project 和 new fi 1
19、e0 E:课 件 收 三 课 件 g 片 机&ARMproject2test1.uvproj-pVisionFile Edit View Project Flash Debug Peripherals Tools SVCS Window Help.A i-5 d*r-I 源 心/A-I 曰 参 国 鳍 q:Target 1 毯 给 一 黠 Project。Qa fcj Torqt iB。S o u rc e G ro c o I今 因 t o s t I.cS3 Pr.1 4 ft Ba I l l i(1 国 testlx1 2*in c lu d e 3 v o id m a in()4
20、l5 c h a r*p im0 x 0 0 3 0;6 c h a r wp o s-0 x 0 0 4 0;7 c h a r n e g 0 x 0 0 5 0;8 c h a r c o u t 0 x 0 0 6 0;9 c h a z c o u t l-2,c o u t 2-:,c o u t3 0;1 0 c h a r11 c h a r l 0;12 c h a r n 0 x 8 0;13 f o r(;i 1 6;+)”(151 6 m+;17 p i+;18)19 1-0;2 0-0 x 0 0 3 0;2.2编 写 代 码:(c 语 言)/实 验 二、1 2 c总
21、 线 应 用 技 术 采 用 C语 言 完 毕 I 2C的 通 信。实 现 内 容:放 置 两 个 1 2 c芯 片,一 个 是 2 4 c o i存 储 器,一 个 是 24co2,分 别 向 两 个 芯 片 中 写 入 0 1 6,1733。然 后 读 出 相 加 并 将 值 写 入 单 片 机 相 关 单 元。/-#includ e#inc I u d e#define u char unsigned char#defin e u i nt u n s i g n ed in t#d e f i ne N O P4()Lnop_();_nop_();_nopj);_nop_();sb i
22、 t SCL=P 3A0;sb i tSDA=P3A1;u c har*ptr=Ox 3 0;/保 存 相 加 结 果 的 地 址/延 时 函 数vo i d delayms(u i n t x)(ucha r i;wh i Ie(x-)for(i=0;i120;i+);)/开 始 v o id s t a r t()(SD A=1;SCL=1;NOP4();SDA=0;NOP4();SCL=0;)/停 止 void stop()o(SDA=0;S C L=0;N O P 4();S C L=1;NOP4();SDA=1;)/写 完 等 待 从 器 件 应 答bit A C K(void)(u
23、 chari;SCL=1;N O P 4();i=SDA;S C L=1;NOP4();SCL=0;i f(i=1)re tu rn 0;e I se re t urn 1;)/读 完 发 送 停 止 读 的 信 号 V O i dNO_ACK()(SDA=1;SCL=1;NOP4();SC L=0;S D A=0;)/写 字 节 void 12C_wr i t e b y t e(ucha r d)(uin t i;for(i=0;i8;i+)d=1;SDA=CY;_nop _();SCL=1;NOP4();SCL=0;ACK();读 字 节 u c h a rI2 C _ r e a d
24、b y te()(uchar i,d;f or(i=0;i8;i+)SC L=1;d=1;d|=S D A;S C L=O;ooretu r n d;)/写 地 址 及 数 据/-v o id I2C _ wr i te_ a ddr(uch a r s I,u c har ad dr,ucha r d a t)(s t art();l2C_w r i t e byt e(si);ol2C_writebyte(a ddr);l2C_write b yte(d a t);stop();de I ayms(10);)读 当 前 地 址 的 数 据/,-u ch a r I2C_ r ead_cur
25、 r en t(uchar s)(u ch a r d;s t a r t();o I 2C_writebyte(s+0 x01);d=I2C _ r ead b y te();oNO_ACK();os t o p();re t u r n d;)/读 指 定 地 址 的 数 据 uchar I 2 C _read_random(ucharsi,uchar a d d r)(u c har d;s t art();I 2C _w r i teb yte(si);ol2C_w r itebyt e(add r);od=l2C_read_curre n t(s I);retu m d;)主 函 数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 proteus 单片机 pcbarm 实验 报告
限制150内