单片机并口简单应用实验报告.docx

上传人:scccc 文档编号:12145568 上传时间:2021-12-02 格式:DOCX 页数:6 大小:45KB
返回 下载 相关 举报
单片机并口简单应用实验报告.docx_第1页
第1页 / 共6页
单片机并口简单应用实验报告.docx_第2页
第2页 / 共6页
单片机并口简单应用实验报告.docx_第3页
第3页 / 共6页
单片机并口简单应用实验报告.docx_第4页
第4页 / 共6页
单片机并口简单应用实验报告.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《单片机并口简单应用实验报告.docx》由会员分享,可在线阅读,更多相关《单片机并口简单应用实验报告.docx(6页珍藏版)》请在三一文库上搜索。

1、实验一 单片机并口简单应用(流水灯)一、实验目的1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程二、实验仪器单片机开发板、万利仿真机、稳压电源、计算机三、实验原理1、流水灯硬件电路如图4-1所示,流水灯硬件电路由移位寄存器 74LS164功能选择开关J502、 二极管、三极管、单片机并口( P0)、限流电阻等组成。发光二极管连接成共阳 极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通 过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再 按一定规则从P0 口输出数据,发光二极管就会点亮。

2、图 4-1 流水灯电路图2、单片机流水灯程序设计由上图可知,发光二极管要点亮, 需要先把 J502 的 2、 3 脚相连,三极管 Q500 导通,然后从P0 口输出数据。( 1 )控制三极管导通程序控制三极管有两种方法,第一种:在 74LS164的第8脚产生一个正脉冲,此 时 1 脚为 0,三极管就导通;为 1,三极管就截止。第二种:在单片机10模拟74LS164时序,一次输出一个字节,只要 Q0=0即 可控制三极管开通。为 1,三极管截止。两种方法的程序流程如图4-2所示三极管导DIN=O, CLK=0 输出 8 位输出数据=07FH (最高位为输出数据左移一位,把移 出的位送到DIN,CL

3、K产生输出数据位数减1三极管导图4-2流水灯位选信号控制(2)产生流水灯效果程序三极管导通后,就可以从P0 口输出数据控制发光二极管。P0 口输出数据既 可以编写程序逐个输出,也可以将输出数据序列定义在存储器中, 然后用读程序 存储器指令逐个取出并输出到 P0 口。程序流程图如图4-3所示流水灯偏移位置为8从程序存储器中取出 偏移位置的数据延时秒,偏移位置计 数减1返回图4-3流水灯程序流程图四、实验内容1、直接输出法输出数据序列五、实验步骤及调试信息1、新建实验项目 hua2、输入实验程序并补充完整程序如下:#include<>#define uint unsigned ints

4、bit CLK=P3A4;sbit DIN=P2A3;uint num;uint code table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;void delay(uint z)uint i,j;for(i=z;i>0;i-)for(j=100;j>0;j-);void main()DIN=0;CLK=0; /*/delay(5);/* 在74LS164的第8脚,产生一个正脉冲*/CLK=1; /* 此时 1 脚为 0, 三极管就导通 */delay(5);/*/CLK=0; /*/while(1) for(num=0;num<8;n

5、um+) P0=tablenum-;delay(500);3、编译下载实验程序,全速运行实验现象:全速运行程序,指示灯从第一个开始亮, 8 个指示灯依次亮了以后 指示灯就没有规律的几盏一起亮,原因是for(num=0;num<8;num+)P0=tablenum-;程序运行到num=O时,递减以后就为OFFH此时程序的取值是任意的,修改如 下:for(num=0;num<8;num+)P0=tablenum;实验现象:全速运行程序,指示灯从第一个开始亮, 8 个指示灯依次亮起。4、整理实验设备六、实验现象指示灯从左到右逐一变亮。七、实验心得通过本次的实验, 我对单片机的基本使用和程

6、序的编写有了初步的了解, 但是在实验过程中 对程序的编写还不够熟练,仍然需要继续学习。八、思考题1、请把学号后两位数进转换成二进制数,然后依次点亮其中为1 对应的二极管,写出输出序列。例如,60号转换成二进制后是0011 1100B,依次点亮四 个1对应的二极管,输出序列是 ODFH, OEFH, 0F7H, OFCH.(从低位到高位也可 以)答:31 号(0001 1111B)输出序列是 0EFH, 0F7H, ,0FAH.2、参考实验内容 2,编写程序把输出序列增加到 30个。 答:LCALL LEDSequenceSJMP STARTLEDCLK bitLEDDIN bitLedSequ

7、ence:LCALL LedLightMOV R6,#30MOV DPTR,#LedSequenceTab-1LedSequence1:MOV A,R6MOVC A,A+DPTRCPL AMOV P0,AMOV R7,#200LCALL DelayNmsDJNZ R6,LedSequence1RETLedSequenceTab:DB70H,30H,20H,10H,70H,04H,02H,60H,01H,60H,90H,40H,01H,60H,02H,40H,30H,10H,70H,04H,02H,01H,30H,30H,08H,02H,01H,04H,10H,50HDelayNms:LCALL Delay1msDJNZ R7, $-3RETDelay1ms:PUSH 07MOVR7,#250 ;1msNOPNOPDJNZ R7, $-2POP 07RETLedLight:MOVB,#8MOVA,#0FEHCLR LEDCLKCLR LEDDINLedLight1:RLC A MOVLEDDIN,C SETB LEDCLKNOPCLR LEDCLK DJNZ B,LedLight1 RET

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1