《微控制器技术》实验指导书20120306

上传人:woxinch****an2018 文档编号:38983191 上传时间:2018-05-10 格式:DOC 页数:12 大小:188.92KB
返回 下载 相关 举报
《微控制器技术》实验指导书20120306_第1页
第1页 / 共12页
《微控制器技术》实验指导书20120306_第2页
第2页 / 共12页
《微控制器技术》实验指导书20120306_第3页
第3页 / 共12页
《微控制器技术》实验指导书20120306_第4页
第4页 / 共12页
《微控制器技术》实验指导书20120306_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《微控制器技术》实验指导书20120306》由会员分享,可在线阅读,更多相关《《微控制器技术》实验指导书20120306(12页珍藏版)》请在金锄头文库上搜索。

1、软件使用说明:软件使用说明:1 1、 ProteusProteus 软件中软件中“电源电源”、“地地”:在最左侧工具栏,从上至下第:在最左侧工具栏,从上至下第 8 8 个工具按钮,其英文个工具按钮,其英文提示为提示为“Terminal“Terminal Mode”Mode”。2 2、 KeilKeil C C 说明说明1)1)新建工程:打开菜单新建工程:打开菜单“Project”“New“Project”“New Project”Project”,然后选择工程的保存路径,最好,然后选择工程的保存路径,最好单独新建一个文件夹,然后命名这个文件夹,如单独新建一个文件夹,然后命名这个文件夹,如“My

2、“My Project”Project”,之后命名工程的名称并,之后命名工程的名称并保存到该文件夹下;保存到该文件夹下;2)2)选择单片机型号:选择单片机型号:“Atmel”“Atmel” “AT89C51”“AT89C51” “确定确定”;3)3)英文提示英文提示“是否添加启动代码是否添加启动代码”,选择,选择“否否”;4)4)新建新建“c“c 文件文件”:打开:打开“File”“File” “New”“New”,然后命名,然后命名“xxx.c”“xxx.c” “保存保存”;5)5)鼠标左键放至左上角鼠标左键放至左上角“Source“Source GroupGroup 1”1”,然后右键下拉

3、菜单选择,然后右键下拉菜单选择“Add“Add FilesFiles toto GroupGroup SourceSource GroupGroup 1 1 ”,选择刚才的,选择刚才的“c“c 文件文件”,双击加入工程;,双击加入工程;6)6)右键单击左上角的右键单击左上角的“Target1”“Target1”,选择,选择“options“options forfor TargetTarget “Target1”“Target1”,选择,选择“output”“output”,然后将,然后将“Create“Create HEX”HEX”复选框选中。至此,工程创建完毕。复选框选中。至此,工程创建完

4、毕。实验一、流水灯实验一、流水灯1 1实验任务实验任务 做单一灯的左移右移,硬件电路如图做单一灯的左移右移,硬件电路如图 4.4.14.4.1 所示,八个发光二极管所示,八个发光二极管 L1L1L8L8 分别接在单片机分别接在单片机的的 P1.0P1.0P1.7P1.7 接口上,输出接口上,输出“0”“0”时,发光二极管亮,开始时时,发光二极管亮,开始时P1.0P1.1P1.2P1.3P1.7P1.6P1.0P1.0P1.1P1.2P1.3P1.7P1.6P1.0 亮,重复循环。亮,重复循环。 2 2电路原理图电路原理图图图 4.4.14.4.13 3系统板上硬件连线系统板上硬件连线 把把“单

5、片机系统单片机系统”区域中的区域中的 P1.0P1.0P1.7P1.7 用用 8 8 芯排线连接到芯排线连接到“八路发光二极管指示模块八路发光二极管指示模块”区区域中的域中的 L1L1L8L8 端口上,要求:端口上,要求:P1.0P1.0 对应着对应着 L1L1,P1.1P1.1 对应着对应着 L2L2,P1.7P1.7 对应着对应着 L8L8。 4 4程序设计内容程序设计内容 我们可以运用输出端口指令我们可以运用输出端口指令 MOVMOV P1P1,A A 或或 MOVMOV P1P1,DATADATA,只要给累加器值或常数值,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动

6、作。然后执行上述的指令,即可达到输出控制的动作。每次送出的数据是不同,具体的数据如下表每次送出的数据是不同,具体的数据如下表 1 1 所示所示P1.7P1.7P1.P1. 6 6P1.5P1.5P1.P1. 4 4P1.3P1.3P1.P1. 2 2P1.1P1.1P1.0P1.0说明说明L8L8L7L7L6L6L5L5L4L4L3L3L2L2L1L1 1 11 11 11 11 11 11 10 0L1L1 亮亮 1 11 11 11 11 11 10 01 1L2L2 亮亮 1 11 11 11 11 10 01 11 1L3L3 亮亮 1 11 11 11 10 01 11 11 1L4

7、L4 亮亮 1 11 11 10 01 11 11 11 1L5L5 亮亮 1 11 10 01 11 11 11 11 1L6L6 亮亮 1 10 01 11 11 11 11 11 1L7L7 亮亮 0 01 11 11 11 11 11 11 1L8L8 亮亮 表表 1 1 5 5程序框图程序框图图图 4.4.24.4.2 6 6汇编源程序汇编源程序ORGORG 0000H0000HMAIN:MAIN: MOVMOV A,#0FEHA,#0FEHLOOP1:MOVLOOP1:MOV R2,#8R2,#8LOOP2:MOVLOOP2:MOV P1,AP1,AACALLACALL DELAY

8、DELAYRLRL A ADJNZDJNZ R2,LOOP2R2,LOOP2AJMPAJMP MAINMAIN DELAY:MOVDELAY:MOV R6,#255R6,#255DLY0:DLY0: MOVMOV R7,#255R7,#255DLY1:DLY1: NOPNOPNOPNOPNOPNOPDJNZDJNZ R7,DLY1R7,DLY1DJNZDJNZ R6,DLY0R6,DLY0RETRET7 7C C 语言源程序语言源程序#include#include voidvoid delay()delay() intint i;i;i i = = 40000;40000;while(i-)

9、;while(i-); voidvoid main()main() charchar i;i;P1P1 = = 0xff;0xff;while(1)while(1) P1P1 = = 0xff;0xff;for(i=0;iunsignedunsigned charchar tcount2s;tcount2s;unsignedunsigned charchar tcount02s;tcount02s;unsignedunsigned charchar ID;ID;voidvoid main(void)main(void) TMOD=0x01;TMOD=0x01;TH0=(65536-50000)

10、/256;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TL0=(65536-50000)%256;TR0=1;TR0=1;ET0=1;ET0=1;EA=1;EA=1;while(1);while(1); voidvoid t0(void)t0(void) interruptinterrupt 1 1 usingusing 0 0 tcount2s+;tcount2s+;if(tcount2s=40)if(tcount2s=40) P1=0xff;P1=0xff;tcount2s=0;tcount2s=0;ID+;ID+;if(ID=4)if(ID=4

11、) ID=0;ID=0; tcount02s+;tcount02s+;if(tcount02s=4)if(tcount02s=4) tcount02s=0;tcount02s=0;switch(ID)switch(ID) casecase 0:0:P1_0=P1_0;P1_0=P1_0;break;break;casecase 1:1:P1_1=P1_1;P1_1=P1_1;break;break;casecase 2:2:P1_2=P1_2;P1_2=P1_2;break;break;casecase 3:3:P1_3=P1_3;P1_3=P1_3;break;break; 实验三、实验三、

12、动态数码显示技术动态数码显示技术1实验任务实验任务 如图如图 4.13.14.13.1 所示,所示,P0P0 端口接动态数码管的字形码笔段,端口接动态数码管的字形码笔段,P2P2 端口接动态数码管的数位选择端口接动态数码管的数位选择端,端,P1.7P1.7 接一个开关,当开关接高电平时,显示接一个开关,当开关接高电平时,显示“12345”“12345”字样;当开关接低电平时,显字样;当开关接低电平时,显示示“HELLO”“HELLO”字样。字样。 2电路原理图电路原理图图图 4.13.14.13.1 3系统板上硬件连线系统板上硬件连线 (1把把“单片机系统单片机系统”区域中的区域中的 P0.0

13、/AD0P0.0/AD0P0.7/AD7P0.7/AD7 用用 8 8 芯排线连接到芯排线连接到“动态数码显示动态数码显示”区域中的区域中的 a ah h 端口上;端口上;(2把把“单片机系统单片机系统”区域中的区域中的 P2.0/A8P2.0/A8P2.7/A15P2.7/A15 用用 8 8 芯排线连接到芯排线连接到“动态数码显示动态数码显示”区域中的区域中的 S1S1S8S8 端口上;端口上;(3把把“单片机系统单片机系统”区域中的区域中的 P1.7P1.7 端口用导线连接到端口用导线连接到“独立式键盘独立式键盘”区域中的区域中的 SP1SP1 端口端口上;上; 4程序设计内容程序设计内

14、容 (1 1动态扫描方法动态扫描方法动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。另一接口完成各数码管的轮流点亮(数位选择)。(2 2在进行数码显示的时候,要对显示单元开辟在进行数码显示的时候,要对显示单元开辟 8 8 个显示缓冲区,每个显示缓冲区装有显个显示缓冲区,每个显示缓冲区装有显示的不同数

15、据即可。示的不同数据即可。(3 3对于显示的字形码数据我们采用查表方法来完成。对于显示的字形码数据我们采用查表方法来完成。5 程序框图程序框图开始K1 按键识别成功否?置显示“12345”字形码首地址置显示“HELLO”字形码首地址置字形码偏移量和位选代码查表并送出显示延时 2ms,并指向下一个偏移量5 个数码管显示完否?图图 4.13.24.13.2 6.6.汇编源程序汇编源程序ORGORG 00H00HSTART:START:JBJB P1.7,DIR1P1.7,DIR1MOVMOV DPTR,#TABLE1DPTR,#TABLE1SJMPSJMP DIRDIRDIR1:DIR1:MOVMOV DPTR,#TABLE2DPTR,#TABLE2DIR:DIR:MOVMOV R0,#00HR0,#00HMOVMOV R1,#11111110B;bitR1,#11111110B;bit codecodeNEXT:NEXT:MOVMOV P2,#0FFHP2,#0FFHMOVMOV A,R0A,R0MOVCMOVC A,A+DPTRA,A+DPTRMOVMOV P0,A;P0,A;段码段码MOVMOV A,R1;bitA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号