嵌入式微控制器技术实验任务书.docx

上传人:牧羊曲112 文档编号:3480982 上传时间:2023-03-13 格式:DOCX 页数:13 大小:41.50KB
返回 下载 相关 举报
嵌入式微控制器技术实验任务书.docx_第1页
第1页 / 共13页
嵌入式微控制器技术实验任务书.docx_第2页
第2页 / 共13页
嵌入式微控制器技术实验任务书.docx_第3页
第3页 / 共13页
嵌入式微控制器技术实验任务书.docx_第4页
第4页 / 共13页
嵌入式微控制器技术实验任务书.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《嵌入式微控制器技术实验任务书.docx》由会员分享,可在线阅读,更多相关《嵌入式微控制器技术实验任务书.docx(13页珍藏版)》请在三一办公上搜索。

1、嵌入式微控制器技术实验任务书“嵌入式微控制器技术”实验任务书 一、 实验目的与要求: 1、 熟练掌握基于SST89E554RC微控制器的Keil C51集成开发工具的操作及调试程序的方法;掌握其他相关微控制器集成开发工具的使用及调试方法; 2、 熟练掌握基于SST89E554RC单片机核心板及I/O扩展实验系统的电路结构原理、设计与应用;掌握其他相关微控制器最小系统设计与应用; 3、 熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下的基于51单片机控制器数字接口电路的硬件、软件设计方法与功能调试; 4、 完成本实验课程所要求的全部实验内容,并写出实验报告。 二、 微机原理与接口

2、技术综合实验室资源简介 实验室为以下实验活动提供条件: 1、 基于唐都实验系统的微机原理与接口技术实验; 2、 基于SST89E554RC微控制器技术软/硬件实验; 3、 基于DSP2407、DSP2812、DSP28335微控制器技术软件/硬件实验; 4、 基于Freescale的16位MC9S12XS128微控制器技术应用实验; 5、 基于ARM的16/32位ARM7LPC2103TDMI-S微控制器技术基础实验; 6、 基于ARM Cortex-M3先进内核的LM3S1138微控制器技术基础实验; 7、 基于LabVIEW虚拟仪器技术的NI ELVIS II+实验仪器,提供信号与系统实验

3、、单级倒立摆控制实验、基于面包板DIV设计 三、 嵌入式微控制器技术实验内容及要求 本课程实验学时为16学时,实验将以开放实验方式进行,实验内容包括SST89E554RC微控制器实验和DSP2812微控制器实验,鼓励学生自主学习,在完成相关实验内容后,及时提交给指导老师进行检查验收并自主进行相关微控制器技术应用学习与实验。 实验一 系统认识实验 基本部分: 按照实验指导书之“2.1 系统认识实验”内容要 求,熟悉实验环境及方法,完成基于汇编语言程序范例的实验调试与验证。 提高部分: 完成实验指导书之“2.2 数码转换实验”。 题目一:汇编语言实现BCD码整数转换二进制整数 题目二:汇编语言实现

4、二进制整数转换十进制整数的设计 实验二 数据传送与排序程序设计实验 基本部分: 按照实验指导书之“2.5 数据排序实验”内容要求完成调试与验证。 提高部分: 汇编语言编程实现把源RAM区首址内的个字节数据,传送到目的RAM区,完成目的区数据升序排列。 实验三 数字量输入输出实验 基本部分: 按照实验指导书之“3.1 数字量输入输出实验”基本实验项目要求,完成汇编语言和C语言基本程序功能调试与验证。 提高部分: 题目一:LED交通灯控制 要求:使用汇编语言和C语言编程。功能为:通过开关实现 LED灯工作方式即时控制,完成LED交通灯的开关控制显示功 能和LED交通灯自动循环显示功能。 题目二:L

5、ED灯控制 要求:使用汇编语言、C语言编程。功能为:通过KK1实现LED 灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、 右循环、间隔闪烁功能。 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0030H MAIN:MOV SP,#70H SETB IT0 SETB EA SETB EX0 CLR PX0 MOV DPTR,#0FF7FH MOV A,#80H MOVX DPTR,A MOV R0,#0 MOV DPTR,#0FF7CH LOOP: CJNE R0,#0,L1 MOV A,#0FFH MOVX DPTR,A W0: CJN

6、E R0,#0,LOOP AJMP W0 L1: CJNE R0,#1,L2 MOV A,#00H MOVX DPTR,A W1: CJNE R0,#1,LOOP AJMP W1 L2: CJNE R0,#2,L3 MOV A,#0FEH ; MOV R1,#8 W2: MOVX DPTR,A LCALL DELAY RL A CJNE R0,#2,LOOP SJMP W2 ;DJNZ R1,W2 ;LJMP LOOP L3: CJNE R0,#3,L4 MOV A,#7FH W3: MOVX DPTR,A LCALL DELAY RR A CJNE R0,#3,LOOP SJMP W3 L4

7、: MOV A,#0FEH W4: MOVX DPTR,A LCALL DELAY RL A RL A CJNE R0,#4,LOOP SJMP W4 DELAY: MOV R7,#255 D1: MOV R6,#255 DJNZ R6,$ DJNZ R7,D1 RET ORG 0FFH INT00: PUSH ACC PUSH PSW INC R0 CJNE R0,#5,LL MOV R0,#0 LL: POP PSW POP ACC RETI END 实验四 中断系统实验 基本部分: 按照实验指导书之“3.2 中断系统实验”中相关实验项目要求,完成汇编语言和C语言基本程序功能调试与验证。

8、提高部分: 在完成交通灯基本功能基础上,当有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验题以按键为中断申请,表示有急救车通过。 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0030H MAIN:MOV SP,#70H SETB IT0 SETB EA SETB EX0 CLR PX0 MOV DPTR,#0FF7FH MOV A,#80H MOVX DPTR,A MOV DPTR,#0FF7CH LOOP: MOV A,#1EH MOVX DPTR,A LCALL D

9、ELAY2 MOV R1,#3 LH2:MOV A,#1DH MOVX DPTR,A LCALL DELAY MOV A,#1FH MOVX DPTR,A LCALL DELAY DJNZ R1,LH2 MOV A,#33H MOVX DPTR,A LCALL DELAY2 MOV R1,#3 LH3:MOV A,#2BH MOVX DPTR,A LCALL DELAY MOV A,#3BH MOVX DPTR,A LCALL DELAY DJNZ R1,LH3 LJMP LOOP DELAY2: MOV R0,#8 LH1:LCALL DELAY DJNZ R0,LH1 RET DELAY:

10、 MOV R4,#25 MOV R5,#100 MOV R6,#100 D2:DJNZ R6,D2 MOV R6,#100 DJNZ R5,D2 MOV R5,#100 DJNZ R4,D2 RET INT00: PUSH ACC PUSH PSW MOV A,#1BH MOVX DPTR,A ; MOV R0,#5 LH: LCALL DELAY ; DJNZ R0,LH POP PSW POP ACC RETI END 实验五 定时器/计数器实验 基本部分: 按照实验指导书之“3.3 定时/计数器实验”基本实验项目要求、完成汇编语言和C语言程序功能调试与验证。 提高部分: 题目一:定时器控

11、制LED灯 要求:由单片机内部定时器1,按方式1工作,即作为16位 定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7 分别接八个发光二极管。编写程序模拟时序控制装置。开机 后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5, L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮, 第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第 八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮 一直循环下去。 题目二:计数器实验 要求:单片机内部定时计数器,按计数器模式和方式1工作, 对P3.4(T0)引脚进行计数。使用T1作定时器,50ms中断一

12、 次,看T0内每0.50来了多少脉冲,将其数值按二进制在LED 灯上显示出来,5秒后再次测试。 ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 ORG 0030H MAIN: MOV SP,#60H MOV TH0,#3CH MOV TL0,#0B0H MOV TMOD,#1 MOV IE,#82H MOV R0,#20 MOV R1,#1 MOV A,#0FAH SETB TR0 HERE: MOV P1,A AJMP HERE INTT0: PUSH PSW DJNZ R0,GH MOV R0,#20 CJNE R1,#1,L1 MOV A,#0FAH S

13、JMP ED L1: CJNE R1,#2,L2 RL A SJMP ED L2: CJNE R1,#3,L3 MOV A,#0AFH SJMP ED L3: CJNE R1,#4,L4 RL A SJMP ED L4: CJNE R1,#5,L5 MOV A,#0AAH SJMP ED L5: CJNE R1,#6,L6 RL A SJMP ED L6: CJNE R1,#7,L7 MOV A,#00H SJMP ED L7: MOV A,#0FFH MOV R1,#0 ED: INC R1 GH: POP PSW RETI END 实验六 /、/转换实验 基本部分: 按照实验指导书之“4.

14、3 A/D转换实验”项目要求和“4.4 D/A 转换实验”项目要求,完成汇编语言和C语言程序功能调试与验证。 提高部分: 小键盘给定,选择信号源输出波形类型,经过A/D采样后,将采样数据用LED灯显示当前模拟信号值大小及变化状态。 #include #include #include #define uchar unsigned char sbit S1=P20; sbit S2=P21; sbit S3=P22; sbit S4=P23; sbit DA_DIN=P24; sbit DA_CLK=P25; sbit DA_CS=P26; sbit cs=P30; sbit clk=P31;

15、sbit dat=P32; sbit P3_3 = P33; bdata uchar addata; sbit adin0=addata0; unsigned char cishu; void quyan(void); void delay_s(unsigned char n) unsigned char i; for(i=0;in;i+); uchar tlc549ad(void) uchar i; clk=0; cs=0; _nop_; for(i=0;i8;i+) /dat=1; clk=1; delay_s(20); adin0=dat; addata=addata1; clk=0;

16、cs=1; return addata; void TLC5615_DA_conver(unsigned int DA_data) unsigned char i; DA_data=DA_data2; DA_CS=1; DA_CLK=0; DA_DIN=0; DA_CS=0; for(i=0;i16;i+) DA_data=DA_data1; /TLC5615DA转换程序 DA_DIN=CY; DA_CLK=1; delay_s(0x02); DA_CLK=0; delay_s(0x02); DA_CS=1; for(i=0;i13;i+) delay_s(0xff); /P1=tlc549a

17、d; delay_s(0xff); void sin_fun(unsigned char APx) float x,y; unsigned int DA; quyan; while(1) for(x=0;x(2*3.1415);x+=0.1) y=sin(x); DA=APx+y*APx; TLC5615_DA_conver(DA); if(S1=0)|(S2=0)|(S3=0)|(S1=1)&(S2=1)&(S3=1)&(S4=1) TR0=0; break; void sanjiao(unsigned int APx,unsigned char step) unsigned int x;

18、quyan; while(1) for(x=0;x1;x-=step) TLC5615_DA_conver(x); if(S1=0)|(S2=0)|(S4=0)|(S1=1)&(S2=1)&(S3=1)&(S4=1) TR0=0; break; void fangb(unsigned char APx,unsigned int num) unsigned int x; quyan; while(1) for(x=0;xnum;x+) TLC5615_DA_conver(2*APx); for(x=0;xnum;x+) TLC5615_DA_conver(0); if(S4=0)|(S2=0)|

19、(S3=0)|(S1=1)&(S2=1)&(S3=1)&(S4=1) TR0=0; break; void jvcb(unsigned char APx,unsigned int wide) unsigned int x,Y; quyan; while(1) for(x=0;xwide;x+=1) Y=APx-10*x; TLC5615_DA_conver(Y); if(S1=0)|(S3=0)|(S4=0)|(S1=1)&(S2=1)&(S3=1)&(S4=1) TR0=0; break; void quyan(void) cishu=10; TH0=0x3c; TL0=0xb0; TMOD

20、=0x01; IE=0x82; TR0=1; time0 interrupt 1 using 1 TH0=0x3c; TL0=0xb0; cishu-; if(cishu=0) P1=tlc549ad; cishu=10; void main(void) while(1) P0=0xc0; P1=0x00; TLC5615_DA_conver(0); if(S1=0)&(S2=1)&(S3=1)&(S4=1) P0=0xf9; fangb(255,50); else if(S1=1)&(S2=0)&(S3=1)&(S4=1) P0=0xa4; jvcb(250,25); else if(S1=

21、1)&(S2=1)&(S3=0)&(S4=1) P0=0xb0; sanjiao(250,25); else if(S1=1)&(S2=1)&(S3=1)&(S4=0) P0=0x99; sin_fun(250); 实验七 步进电机控制实验 基本部分: 1、按照实验指导书之“5.1步进电机实验”项目要求,完成基于SST89E554RC微控制器的C语言程序功能调试与验证; 2、按照DSP2812开发板使用说明书之“实验二十二 步进电机实验(四相单四拍)”项目要求,完成基于DSP2812微控制器的C语言程序功能调试与验证; 提高部分: 1、在分析掌握基于SST89E554RC微控制器实现步进电机控

22、制原理基础上,实现步进电机速度可调和方向可调; 2、在分析掌握基于DSP2812微控制器实现步进电机控制原理基础上,实现步进电机速度可调和方向可调 #include sbit p30=P30; sbit p32=P32; sbit p31=P31; unsigned char L_value28 = 0x0E0, 0x0C0, 0x0D0, 0x090, 0x0B0, 0x030, 0x070, 0x060,0x060, 0x070, 0x030, 0x0B0, 0x090, 0x0D0, 0x0C0,0x0E0;/步进电机正反转表 unsigned char a4 = 0xff,0x08,

23、0xfc,0xfe ; unsigned char speed=3; void delay(unsigned int time) unsigned int i; for(i=0; itime; i+); void main unsigned char m; IT0=1; EA=1; EX0=1; PX0=0; p30=1; p31=1; while(1) while(p30) P2=aspeed; for(m=0; m8; m+) P1 = L_valuep31m; delay(4000*speed); if(p30) for(;p30=1;) P2=a0; void extern0inter

24、rupt 0 speed-; if(speed=0) speed=3; P2=aspeed; 实验八 直流电机开环控制实验 基本部分: 1、按照实验指导书之“5.2直流电机PWM调速实验”项目要求,完成基于SST89E554RC微控制器的C语言程序功能调试与验证; 2、按照DSP2812开发板使用说明书之“实验二十一 直流电机实验”项目要求,完成基于DSP2812微控制器的C语言程序功能调试与验证; 提高部分: 3、在分析掌握基于SST89E554RC微控制器实现直流电机控制电路原理基础上,实现电机速度可调; 4、在分析掌握基于DSP2812微控制器实现直流电机控制原理基础上,实现电机速度波段

25、式可调 #include #define T_value (unsigned char)0xf0 / T 周期值 #define TH0_value (unsigned char)0xFE / 定时器 T0 计数值 #define TL0_value (unsigned char)0x00 / 定时器 T0 计数值 unsigned char a4 = 0xfe,0xfc,0x08,0xff; unsigned char speed3 = 0xb0,0x80,0x40; sbit DRV = P17; sbit KG = P10; unsigned char T_Count; / 延时次数 u

26、nsigned char T1_value=0xb0; / T 周期中高电平周期 T1 值 unsigned char Tx; unsigned char j=0; void int_tim0 interrupt 1 TH0 = TH0_value; TL0 = TL0_value; T_Count-; void intern0 interrupt 0 j+; TR0=0; if(j=3) j=0; T1_value=speedj; Tx = T1_value; T_Count=0; DRV=1; TR0=1; P2=aj; void main TMOD = 0x01; / 定时器0初始化,定

27、时基数 TH0 = TH0_value; TL0 = TL0_value; TR0 = 1; ET0 = 1; IT0=1; /外中断0 EX0=1; PX0=1; DRV =1; /P17电平 T_Count = T1_value; Tx = speed0; while(1) if(KG) for(;KG=1;) P2=a3; DRV =1; EA=0; j=0; Tx=speedj; T_Count =0; while(KG) EA = 1; P2=aj; if(T_Count = 0) DRV = DRV; Tx = T_value - Tx; T_Count = Tx; 四、 实验报告基本内容要求 1、实验题设计内容、目的和要求;2、软件、硬件环境要求; 3、给出硬件电路原理图并分析; 4、程序设计框图及程序清单; 5 、实验调试步骤及结果分析;6、结论

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号