实验二:8个发光二极管依次点亮
- 格式:doc
- 大小:45.50 KB
- 文档页数:1
图1 流水灯硬件原理图从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
3.软件编程单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。
下面我们以最简单的流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。
3.1位控法这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。
程序如下:ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HCLR P1.0 ;P1.0输出低电平,使LED1点亮ACALL DELAY ;调用延时子程序SETB P1.0 ;P1.0输出高电平,使LED1熄灭CLR P1.1 ;P1.1输出低电平,使LED2点亮ACALL DELAY ;调用延时子程序SETB P1.1 ;P1.1输出高电平,使LED2熄灭ACALL DELAY ;调用延时子程序SETB P1.2 ;P1.2输出高电平,使LED3熄灭CLR P1.3 ;P1.3输出低电平,使LED4点亮ACALL DELAY ;调用延时子程序SETB P1.3 ;P1.3输出高电平,使LED4熄灭CLR P1.4 ;P1.4输出低电平,使LED5点亮ACALL DELAY ;调用延时子程序SETB P1.4 ;P1.4输出高电平,使LED5熄灭CLR P1.5 ;P1.5输出低电平,使LED6点亮ACALL DELAY ;调用延时子程序SETB P1.5 ;P1.5输出高电平,使LED6熄灭CLR P1.6 ;P1.6输出低电平,使LED7点亮ACALL DELAY ;调用延时子程序SETB P1.6 ;P1.6输出高电平,使LED7熄灭ACALL DELAY ;调用延时子程序SETB P1.7 ;P1.7输出高电平,使LED8熄灭ACALL DELAY ;调用延时子程序AJMP START ;8个LED流了一遍后返回到标号START处再循环DELAY:;延时子程序MOV R0,#255;延时一段时间D1:MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回END ;程序结束3.2循环移位法在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。
单片机八个灯依次亮的编程汇编语言哎呀,这可是个不简单的活儿啊!单片机八个灯依次亮,听起来就像是在玩连连看,可是可不是那么简单的事情哦!不过别着急,我来给你讲讲怎么搞定这个“连连看”吧!我们得了解一下单片机的基本知识。
单片机就像一个小电脑,里面有好多好多的芯片,可以完成各种各样的任务。
这次我们要让单片机控制八个灯依次亮起来,就像是在跳一个八步舞一样,一步一步地来。
第一步,我们得给这八个灯分别取个名字。
比如说,第一个灯叫做“小明”,第二个叫做“小红”,以此类推。
这样一来,我们就可以用名字来代替它们了,方便我们进行编程。
第二步,我们得告诉单片机该怎么做。
这就需要用到编程语言了。
编程语言就像是我们跟单片机沟通的工具,它告诉单片机:“小明先亮一下,然后是小红,再是小刚......”这样一来,单片机就知道该按照什么顺序来控制灯了。
第三步,我们得把这个程序写到单片机里。
这可不是一件容易的事情,需要我们仔细地思考每一个步骤,确保没有漏洞。
写完之后,我们还得把程序烧录到单片机的芯片里,让它变成真正的“活”程序。
第四步,我们得测试一下这个程序是否正常工作。
这就像是在排练一场舞蹈一样,我们需要不断地调整步伐和节奏,直到完美无缺。
如果发现有什么问题,我们就得赶紧修改程序,让它重新开始跳舞。
终于到了最后一步——让我们看看这个八步舞到底有多精彩吧!当所有的灯都亮起来的时候,你会感觉就像是看到了一场绚丽多彩的烟花表演,让人陶醉其中。
这就是单片机控制八个灯依次亮起来的魅力所在!虽然这个任务看起来有点儿复杂,但是只要我们一步一步地来,就一定能够成功。
就像学习任何一门新技能一样,只要肯下功夫、勤奋努力,就一定能够取得好成绩!加油吧!。
嵌入式系统实验报告学院:计算机科学与工程姓名:___________学号:_______________专业:_______________指导老师:______________完成日期:______________实验一:流水灯案例、8位数码管动态扫描案例一、实验目的1.1 进一步熟悉Keil C51集成开发环境调试功能的使用;1.2 学会自己编写程序,进行编译和仿真测试;1.3 利用开发板下载hex 文件后验证功能。
二、实验原理2.1 :实验原理图030B 〜I ।卜RSI I ™Hi 」 口 UICDR Hr hJJK RR 18q U I. 海水灯电浒周LhE U_EEM^Li > > 第 X > k >n - » =白 L a £0EBS2.2:工作原理2.2.1:流水灯电路中有LO,1,L2,L3,4,L5,L6,L7共八个发光二极管,当引脚LED_ SEL输入为1,对于A、B、C、D、E、F、G、H引脚,只要输入为1,则点亮相连接的发光二极管。
A〜H引脚连接STM32F108VB芯片的PE8〜PE15,程序初始化时,对其进行初始设置。
引脚LED_SEL为1时,发光二极管才工作,否则右边的数码管工作。
注意,LED SEL 连接于PB3,该引脚具有复用功能,在默认状态下,该引脚的I0不可用,需对AFIO_ MAPR寄存器进行设置,设置其为10可用。
2.2.2: 8位数码管数码管中的A~G、DP段分别连接到电路图中的A~G、H线上,当某段上有一-定的电压差值时,便会点亮该段。
当£3输入为1,也就是LED_ 5£1输入为0时,根据SELO〜SEL2的值确定选中的数码管,即位选,再根据A~H引脚的高低电平,点亮对应段,即段选。
三、实验结果3.1:流水灯对于给出的流水灯案例,下载HEX文件后,在开发板上可观察到L0-L7从左至右依次点亮,间隔300ms。
综合实验:流水灯控制一、实验要求:根据开关状态选择八个流水灯的工作方式,且在任何状态下如有开关状态发生改变,则能立即转入最新开关状态所对应方式工作。
模式一:顺序点亮八个灯,一直循环,直到开关状态改变。
模式二:八个灯闪烁,即八盏灯全亮后全灭,一直循环,直到开关状态改变。
模式三:间隔点亮八个灯,如对八盏灯编号为L1、L2、L3、L4、L5、L6、L7、L8 ,则灯亮的方式为:L1 L3 L5 L7 ,L2 L4 L6 L8 ,L1 L3 L5 L7 ,L2 L4 L6 L8(从左往右循环)。
二、实验内容:开关S1、S2 分别与P3.1、P3.0连接,用于流水灯工作方式控制,开关组合为00、01、02、03,其中00为无效状态,01、02、03分别对应连续方式点亮灯、闪烁、间隔点亮。
八盏灯L1、L2、L3、L4、L5、L6、L7、L8分别与P1.0~P1.7连接,八盏灯为共阴极连接,即高电平点亮。
由于灯的状态改变时间间隔小于肉眼能分辨的最小时间间隔,所以在程序实现的时候必须在灯两种状态之间引入延时处理,以便肉眼能够分辨。
1.延时子程序(条件转移侧N,竖Y此页有效)四、程序代码:ORG 0000HSJMP MAINORG 0030HMAIN:MOV SP,#60HRESCAN:MOV A,#00HMOV P1,A ;灯全灭LCALL SCAN ;扫描P3口状态CJNE R0,#01H,NEXT1AJMP MODE1 ;如果P3=FDH,则转入MODE1执行(灯连续点亮)NEXT1: CJNE R0,#02H,NEXT2AJMP MODE2 ;如果P3=FEH,则转入MODE2执行(灯闪烁)NEXT2: CJNE R0,#03H,NEXT3AJMP MODE3 ;如果P3=FFH,则转入MODE3执行(间隔点亮灯)NEXT3: SJMP RESCAN ;如果P3=FCH(无效状态),则不停的对P3口扫描MODE1: ;灯连续点亮,从左往右(MODE1), P3=FDH MOV A,#00HMOV P1,AMOV R2,#80H ;R2=1000,0000LOOP1: MOV A,R2MOV P1,ARR AMOV R2,A ;A向右移一位后回送R2LCALL DEL200 ;调用200Ms延时子程序LCALL SCAN ;扫描P3口状态CJNE R0,#01H,NEXT01SJMP LOOP1 ;如果P3状态没变,跳到LOOP1执行NEXT01:CJNE R0,#02H,NEXT02AJMP MODE2 ;如果P3变为P3=FEH,跳到MODE2执行NEXT02: CJNE R0,#03H,NEXT03AJMP MODE3 ;如果P3变为P3=FFH,跳到MODE3执行NEXT03: AJMP RESCAN ;如果P3=FCH(无效状态),则不停的对P3口扫描MODE2: ;灯闪烁(MODE2), P3=FEHMOV A,#00HLOOP2: MOV P1,ACPL ALCALL DEL200 ;延时200MsPUSH ACC ;扫描P3状态前,保护现场LCALL SCAN ;扫描P3口POP ACC ;恢复现场CJNE R0,#02H,NEXT001SJMP LOOP2 ;如果状态没变,转到LOOP2执行NEXT001: CJNE R0,#01H,NEXT002AJMP MODE1 ;如果模式改变,P3=FEH,跳到MODE2NEXT002: CJNE R0,#03H,NEXT003SJMP MODE3 ;如果模式改变,P3=FFH,跳到MODE3NEXT003: AJMP RESCAN ;如果P3=FCH(无效状态),则不停的对P3口扫描MODE3:MOV A,#00H ;间隔点亮灯(MODE3),R0=03HMOV P1,AMOV R3,#04H ;R3,R4都用来控制当前趟第一个灯亮的初始位置MOV R4,#04HMOV A,#80H ;准备给P1送1000,0000LOOP3 :MOV P1,ARR ARR ALCALL DEL200 ;延时200MsDJNZ R3,LOOP3 ;判断当前(从第一个开始亮)趟结束MOV R3,#04H ;如果此趟结束,重设计数,为下一次做准备MOV A,#40H ;设置下一趟灯亮的初始位置(第二个)LOOP4: MOV P1,ARR ARR ALCALL DEL200 ;延时200MsPUSH ACC ;保护现场LCALL SCAN ;扫描P3口POP ACC ;现场恢复CJNE R0,#03H,NEXT21DJNZ R4,LOOP4 ;如果模式不变,且该趟没结束,则到LOOP4MOV R4,#04H ;如果此趟结束(模式没变),则重置计数,为下一次做准备MOV A,#80HSJMP LOOP3 ;执行当前模式的第二次亮灯NEXT21:CJNE R0,#01H,NEXT22AJMP MODE1 ;模式改变为MODE1则装到对应位置执行NEXT22: CJNE R0,#02H,NEXT23AJMP MODE2 ;模式改变为MODE2则装到对应位置执行NEXT23: AJMP RESCAN ;如果R0=00H(无效状态),则不停的对P3口扫描DEL200: ;如果晶振频率f=6MHz,误差为0MOV R7,#13HDL1: MOV R6,#14HDL0: MOV R5,#82HDJNZ R5,$ ;R5-1<>0时重复执行此句DJNZ R6,DL0DJNZ R7,DL1RETSCAN:JB P3.0,MM ;P3口状态扫描子程序JB P3.1,VVMOV A,#00HMOV R0,ARETVV:MOV A,#02HMOV R0,ARETMM:JB P3.1,NNMOV A,#01HMOV R0,ARETNN:MOV A,#03MOV R0,ARETEND五、实验分析1、误差分析:假如晶振频率f = 6MHz,那么一个机器周期t = 0.002Ms。
实验一P1口的亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。
掌握8051单片机输入/输出端口的使用方法。
(1)P1口对准双向口,每一位都可独立地定义为输出线或输入线。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
二、实验仪器PC机一台、单片机实验开发箱、MCS51仿真开发系统三、实验原理8051单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O 端口,不使用定时器、中断、串行口时,4个端口的32根口线均可作输入或输出使用。
作输出时,P0口须加上拉电阻,其余不用加;但作为输入端口时,必须先向该端口写“1”。
AT89S51单片机P1口引脚功能单片机实验板通过单片机P1口分别控制8个发光二极管的。
二极管是有单向导通性的,而发光二极管则是在导通的同时使它发光。
硬件电路连接如上图,我们只要把8个发光二极管的一端接上高电平“1”(接电源+5V),另一端分别由单片机的P1口去控制,只要相应的位给出低电平“0”,发光二极管就会接通发亮。
因为其原理比较简单,所以应用性也比较广。
实验电路原理图四、实验内容及步骤P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
1.用P1口控制八个LED全亮全灭2.用P1口控制八个LED逐个轮流点亮(P1口单灯左/右循环)3.用P1口控制八个LED逐个轮流点亮(P1口单灯来回跑)五、实验程序ORG 0790HSE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环ORG 07A0HSE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RETEND六、实验结果分析及问题讨论再单片机实验开发箱上可看到P1口控制八个LED逐个轮流点亮(P1口单灯来回跑)。
第二次上机作业通过编程可实现P1口上的八个发光二极管出现不同的闪烁效果,就是要改变I/O口上的电平变化来控制的,既低电平亮、高电平灭。
要让二极管循环闪烁,就是让低电平从右到左循环移动。
下面简单的编写一段使P1.0、P1.5、P1.7口上的三个二极管闪烁的程序,延时时间约为1s。
通过编译可知:如果连接这三个二极管的I/O口处于低电平,二极管就亮了;如果连接这三个二极管的I/O口处于高电平,则灭了。
程序如下:#include <reg51.h>sbit p1_0=P1^0;sbit p1_5=P1^5;sbit p1_7=P1^7;#define uint unsigned int#define uchar unsigned charvoid delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){p1_0=0;p1_5=1;p1_7=1;delay(1000);p1_0=1;p1_5=0;p1_7=0;delay(1000);在调试界面"View"-“Serial Window #1串行输出窗口可以看到4433221100这10个数字。
以下做个简单说明:1、在程序中进行串口初始化时设置相应的波特率。
2、在程序中定义了整形数据a和i以及分别赋予2和10,当程序执行到while(i--)时,会循环执行10次每次输出一个数字,所以就会看到串行输出调试窗口中输出10个数字。
3、每执行一次printf(“%d\n“,i/a)就会输出一次。
4、“\n”这时换行符,所以我们看到一行只有一个数字。
5、“i/a”是i的值除以a的值的商的整数部分,在执行printf(“%d\n“,i/a)之前,i的值已经先自减1变成9了,所以9/2商4余1,所以输出的第一个数字是4,执行完后i的值不为0再自减1变成8,8/2商4,所以第二个输出的数字也是4,以此类推,当i值减为0时,0/2商0,所以输出的是0.在调试界面"View"-“Serial Window #1串行输出窗口可以看30。
一、设计题目流水灯设计二、设计要求1、通过本次课程设计对80C51单片机对数据的处理和输出显示的认识和理解。
2、能够结合单片机对数据的处理输出显示了解单片机软件的应用。
3、将软、硬件有机地结合,软件系统采用汇编语言编写程序,并在WAVE中调试运行。
三、设计内容功能描述:1.功能要求:程序运行后,将依次循环出现8只LED依次逐个点亮,依次逐个叠加,依次逐个递减,从两边靠拢后分开,从两边叠加递减的流水灯效果。
2.使用说明:总体分三大部分(1)8个发光二极管(2)80C51单片机(3)软件部分按照硬件电路图把8个发光二极管依次连接P1.0~P1.7如图所示,EA (80C51 31脚) 为访问外部程序存储器控制信号,低电平有效当。
当EA端保持高电平时,单片机访问片内程序存储器的程序。
若超出该范围时,自动转去执行外部程序存储器的程序。
当EA端保持低电平时,无乱片内有无程序存储器,均只访问外部程序存储器,所以硬件电路要保持31脚高电平。
18 、19脚是接外部晶振的两脚,根据硬件电路图接上12MHz的外部晶振。
9脚是复位脚即为RESET,该引脚为单片机的上电复位端,当单片机晶体振荡器工作时,该引脚上出现两个机器周期的高电平,就可以实现复位操作,使单片机回复到初始状态。
图9脚就是上电复位电路连接图。
3.基础知识:80C51单片机的寻址方式包括寄存器寻址、直接寻址、寄存器间接寻址、立即寻址以及基址寄存器加变址寄存器间接寻址5种寻址方式。
其中基址寄存器加变址寄存器间接寻址方式一般用于访问程序存储器中的数据表格。
这种寻址方式是以DPTR 或PC作基址寄存器,以累加器作变址寄存器,并以两者内容相加成的16位地址作为操作数的地址,以达到访问数据表格的目的。
即熟悉运用查表指令编写程序。
查表指令可用于复杂代码转换显示,通过查表指令可以实现复杂的显示效果,并可以减少程序代码。
四、程序设计1、程序内容;----------------------------------------------- ;流水灯实例;功能:点亮发光管LED并闪烁;-----------------------------------------------ORG 0000H ;伪指令,指定程序从0000HLJMP MAIN ; 跳转指令,程序跳转到MAIN处ORG 0100H ; 伪指令,指定以下程序从0100H开始存放 MAIN:MOV SP ,#60H ; 给堆栈指针赋初值MOV P1,#0FFH ;给P1赋初值,LED全熄灭;以下为查表程序MOV DPTR,#LED TABLELIGHT :MOV R7, #42LOOP :MOV A , #42SUBB A , R7MOVC A ,@A+DPTRMOV P1 , A ; 输出显示LCALL DELAY ; 调延时子程序DJNZ R7 , LOOPSJMP LIGHT ;跳转,程序继续;延时子程序DELAY :MOV R7 ,#10HDELAY0 :MOV R6 ,#7FHDELAY1 :MOV R5 ,#7FHDJNZ R5 ,$DJNZ R6 ,DELA Y1DJNZ R7 ,DELA Y0RET; 表格数据LED TABLE :DB 0FFH ;全部熄灭DB 0FEH, 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;依次逐个点亮DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,080H,000H; 依次逐个叠加DB 080H,0C0H,0E0H,0F0H,0F8,0FCH,0FEH,0FFH; 依次逐个递减DB 07EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,07EH;两边靠拢后分开DB 07EH,03CH,018H,000H,000H,018H,03CH,07EH; 两边叠加后递减DB 000H ;全部点亮END六、成员分工七、心得体会这次这个单片机的课程设计我们完成的不太理想,我们小组有四个人。
八路循环彩灯设计报告课程设计任务书循环彩灯电路设计摘要:设计了一个循环彩灯电路,该电路可以实现8个彩灯从左到右依次点亮,然后依次熄灭,且点亮和熄灭的时间间隔均为1秒的功能。
该电路主要由555定时器、74LS164移位寄存器、74LS00与非门、LED等组成,555定时器提供周期为1s的脉冲信号,74LS164和74LS00共同提供顺序脉冲,从而达到设计要求。
经Multisim仿真测试,该电路可以实现功能要求。
利用Altium Designer软件对电路进行了原理图设计和PCB设计,并对电路进行了安装和调试,调试结果正常。
关键词:循环彩灯;555定时器;74LS164移位寄存器;74LS00与非门;电路仿真;PCB设计目录1.设计背景 (1)1.1数字电路的介绍 (1)1.2时钟电路的作用及基本结构 (1)1.3Multism和Aultism软件的功能及使用 (1)2.设计方案 (2)2.1 课题任务 (2)2.2 任务分析 (2)3.实施方案 (2)3.1原理图设计 (2)3.2电路仿真 (5)3.3 PCB制作 (7)3.4安装与调试 (7)4.结果与结论 (8)5.收获与致谢 (8)6.参考文献 (9)7.附件 (9)7.1电路原理图 (9)7.2仿真图 (11)7.3PCB布线图 (11)7.4实物图 (12)7.5元器件清单 (13)1.设计背景1.1数字电路的介绍数字电子技术是信息、通信、计算机、自动控制等领域工程技术人员必须掌握的基本理论和技能。
数字电路系统的主要内容:数值、逻辑门电路、数模/模数转换电路、半导体存储器等。
数字电路系统一般包括输入电路、控制电路、输出电路、时钟电路和电源等。
输入电路主要作用是将被控制信号转换成数字信号,其形式包括各种输入接口电路。
比如数字频率计中,通过输入电路对微弱信号进行放大、整形,得到数字电路可以处理的数字信号。
模拟信号则需要通过模数转换电路转换成数字信号在进行处理。
一、内容及要求内容:设计制作一个51最小系统,用最小系统控制8个发光2极管。
要求:全部点亮,依次点亮,交换点亮;用最小系统控制蜂鸣器;用最小系统控制电机。
二、设计思路使用AT89C51单片机时无须外扩存储器。
因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机.八个发光二极管D1-D8分别接在单片机的P2。
0-P2.7接口上,当给P2。
0口输出“0”时,发光二极管点亮,当输出“1"时,发光二极管熄灭。
可以运用输出端口指令MOV P0,A或MOV P0,#DATA,只要给累加器值或常数值,同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现图2-1 主程序流程图流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的成流水灯了.在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。
程序启动时跳转到键盘判断模块程序中,此程序里面包含Key1~Key5的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示的花型模块,与此同时,当按键Key6有闭合时,程序中调用延时程序程序时,给延时参数赋值上另一个值,是延时程序延时时间发生改变,以达到不同快慢节奏闪烁的彩灯.具体程序流程图2-1所示。
三、硬件设计3。
1 直流稳压电源电路对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础.电子设备除用电池供电外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定的直流电。
直流稳压电源是电子设备的重要组成部分!本项目直流稳压电源为+5V。
如下图所示:直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。
摘要“微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。
该课程以INTER 8086微处理器和IBM PC系列微机为主要对象,系统。
深入地介绍了微型计算机的基本组成、工作原理、接口技术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。
本文详述了8个LED灯循环闪烁的课程设计。
设置8个LED灯,首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。
然后是2、4、6、8号LED 依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。
本课程设计,由于自身能力和学习水平有限,可能存在一定的错误和不当之处,敬请批评和指正。
一、设计目的1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.进一步了解8255A各引脚的功能, 8255A和系统总线之间的连接, 8255A和CPU 之间的数据交换,以及8255A的内部逻辑结构。
深入掌握8255A显示电路的基本功能及编程方法,8255等芯片的工作方式、作用。
4.培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、设计内容根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。
设计8个LED灯,实现如下要求:首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。
然后是2、4、6、8号LED依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。
三、设计要求使用8255A可编程接口芯片实现8个LED灯以十种不同的方式显示。
实验二:8个发光二极管依次点亮
一、实验目的:
1、掌握并行I/O接口的工作原理;
2、掌握延时函数的编写及调用方法。
二、实验要求:
1、将8个发光二极管连接到单片机的并行I/O接口;
2、编写程序使得8个发光二极管按照LED0~LED7的顺序依次点亮,时间间隔
为1秒。
3、下载并调试。
三、实验原理图:
四、思考题:
若要求8个发光二极管每两个一起点亮,硬件及软件如何修改?