• 整机评测
  • 专项体验
  • 对比评测
  • 拆机
  • 手机
  • 5G
  • 软件
  • 发布会
  • 小道消息
  • 专题
  • 导购
  • 行情
  • 手机报价
  • 产品大全
  • 品牌大全
  • 当前位置: 天一资源网 > 并口 正文

    【单片机并口简单应用(流水灯)实验报告】单片机实验报告

    时间:2020-07-16 08:18:38 来源:天一资源网 本文已影响 天一资源网手机站

     单片机并口简单应用(流水灯)实验报告

     实验一 单片机并口简单应用

     一、 实验目的1、 了解单片机汇编语言程序的基本结构

     2、 了解单片机汇编语言程序的设计和调试方法 3、掌 握顺序控制程序的简单编程

     二、 实验仪器

     单片机开发板、万利仿真机、稳压电源、计算机

     三、 实验原理

     1、 流水灯硬件电路 如图4-1所示,流水灯硬件电路移 位寄存器74LS164、功能选择开关J502、二极管、三极管、 单片机并口、限流电阻等组成。发光二极管连接成共阳极结 构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制 74LS164的Q0端。Q0端输出0, 公共端阳极就接成高电平,然后再按一定规则从 P0 口输出数据,发光二极管就会点亮。

     图4-1流水灯电路图

     2、 单片机流水灯程序设计 上图可知,发光二极管要点

     亮,需要先把J502的2、3脚相连,三极管 Q500导通,然 后从P0 口输出数据。控制三极管导通程序

     控制三极管有两种方法,第一种:在 74LS164的第8脚 产生一个正脉冲,此时 1脚为0,三极管就导通;为 1,三 极管就截止。第二种:在单片机10模拟74LS164时序,一次输出一 个字节,只要Q0=0即可控制三极管开通。

     为1,三极管截止。两种方法的程序流程如图 4-2所示。

     三极管导

     三极管导

     DIN=0,CLK=Q输出8位DIN=0 输出数据=07FH产生 流水灯效果程序

     三极管导通后,就可以从 P0 口输出数据控制发光二极

     管。P0 口输出数据既可以编写程序逐个输出, 也可以将输出

     数据序列定义在存储器中,然后用读程序存储器指令逐个取 出并输出到P0 口。

     程序流程图如图4-3所示。

     流水灯 流水灯 偏移位 置为8 P0 口输出 从程序存储器中取出 延时秒 偏移位置 的数据 P0 口输出延时秒,偏移位 置计数减1延时秒N 取数完。。丫 返回返回 图4-3流水灯程序流程图四、 实验内容

     1、直接输出法输出数据序列

     五、 实验步骤及调试信息

     1、新建实验项目hua

     2、 输入实验程序并补充完整 程序如下:

     #include

     #define uint unsigned int sbit CLK=P3A4; sbitDIN=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;num++) {P0=table[num--];

     delay(500);} } }

     3、 编译下载实验程序,全速运行

     实验现象:全速运行程序,指示灯从第一个开始亮, 8

     个指示灯依次亮了以后。指示灯就没有规律的几盏一起亮,

     原因是 for(num=0;num<8;num++) {PO=table[num--];程序运行到num=O时,递减以后就为OFFH此时程序的取值是任意的,修改如下:

     for(num=0;num<8;num++) {PO=table[num];

     实验现象:全速运行程序,指示灯从第一个开始亮, 8

     个指示灯依次亮起。4、整理实验设备

     六、 实验现象

     指示灯从左到右逐一变亮。

     七、 实验心得

     通过本次的实验,我对单片机的基本使用和程序的编写

     有了初步的了解,但是在实验过程中对程序的编写还不够熟

     练,仍然需要继续学习。

     八、 思考题

     1、 请把学号后两位数进转换成二进制数,然后依次点

     亮其中为1对应的二极管,写出输出序列。例如, 60号转换 成二进制后是0011 1100B,依次点亮四个1对应的二极管, 输出序列是 0DFH, 0EFH, 0F7H, 0FCH.答:

     31 号(0001 1111B)

     输出序列是 0EFH, 0F7H, ,0FAH.

     2、 参考实验内容2,编写程序把输出序列增加到 30个。

     答:

     LCALL LEDSequence

     SJMP START LEDCLK bit LEDDIN bit

     LedSequence:

     LCALL LedLight

     MOV R6,#30

     MOV DPTR,#LedSequenceTab-1

     LedSequence1:

     MOV A,R6

     MOV(A,@A+DPTCPL A MOV P0,A MOV R7,#200 LCALLDelayNms

     DJNZ R6,LedSequence1 RET

     LedSequenceTab: DB

     70H,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,5

     0H

     DelayNms:

     LCALL Delay1ms DJNZ R7, $-3 RETDelay1ms:

     PUSH 07 MOV R7,#250 ;1ms NOP NOP

     DJNZ R7, $-2 POP 07 RET LedLight: MOV B,#8MOV A,#0FEH CLR LEDCLK CLR LEDDIN LedLightl:RLC A MOV LEDDIN,C

     SETB LEDCLK NOP CLR LEDCLK

     DJNZ B,LedLight1 RET

    相关关键词: 并口
    相关热词搜索: 并口 单片机 流水 实验 简单

    • 范文大全
    • 教案下载
    • 优秀作文
    • 励志
    • 课件
    • 散文
    • 名人名言