单片机C语言例程.docx

上传人:文*** 文档编号:68358787 上传时间:2022-12-27 格式:DOCX 页数:200 大小:4.08MB
返回 下载 相关 举报
单片机C语言例程.docx_第1页
第1页 / 共200页
单片机C语言例程.docx_第2页
第2页 / 共200页
点击查看更多>>
资源描述

《单片机C语言例程.docx》由会员分享,可在线阅读,更多相关《单片机C语言例程.docx(200页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录第一章AT89S51单片机实验及实践系统板简介2第二章Keil C软件使用12第三章实验及实践课题1901.闪烁灯1902.模拟开关灯2203.多路开关状态指示2304.广告灯的左移右移2705.广告灯(利用取表方式)2906.报警产生器3207.I/O并行口直接驱动LED显示3408.按键识别方法之一3718 .“嘀、嘀、”报警声7919 .“叮咚”门铃8320 .数字钟()8621 .拉幕式数码显示技术939923 .模拟计算器数字输入及显示11124 .8X8 LED点阵显示技术11826. 阵式LED简单图形显示技术12813228. 数字电压表13829. 两点间温度控制1413

2、0. 四位数数字温度计14631. 6位数显频率计数器14932. 电子密码锁设计15233. 4X4健盘及8位数码管显示构成的电子密码锁15834. 带有存储器功能的数字温度计一DS1624技术应用17035. DS18B20数字温度计使用182第一章AT89S51单片机实验及实践系统板简介AT89s51单片机实验及实践系统板(以后简介系统板)集成多个硬件资源模块,每个模块各自可以成为独立的单元,也可以相互组合,因此,可以为不同阶层的单片机爱好者及单片机开发者提供不同的开发环境。每个硬件模块介绍如下:1 .继电器控制模块系统板上提供了2路继电器控制模块,分布在系统板的最左上端区域中,输入信号

3、由Realy in 1和Realy in 2端口输入分别控制两路继电器,继电器控制的信号分别由最上端的两个插针输入和输出。分别称为coml openl short 1 v ,“com2 open2 short2”,由于这个两个继电器是单刀单掷控制,当继电器不吸合时,“coml”和“shortl”相通,“com2”和“short2”相通;当继电器吸合时,“coml”和“openl”相通,“com2和open2相通。其电路原理图1.1所示。GNDGHD图1.12 .参考电压源模块在系统板上写有“参考电压源”区域中,是由TL431来完成参考电压的调节,调节范围在02.50V 之间;主要为是系统板上需

4、要参考电压芯片或是为外部设备提供参考电压,由Var Vref Out端口输出。其电路原理图如图1.2所示。图1.2图1.33 .三路可调电压模块此模块主要是用于提供05V之间的可变的模拟电压值,即可以作为参考电压源也可以作为模拟电压信号。这三路是相互独立的。分别对应着由VR1, VR2, VR3端口输出。具体的电路原理图如图1.3所/J O4 .电源模块电源模块为系统板上其它模块提供+5V电源,电源输入有两种方式,一种为交直流电源从电源插座输入,输入的电压要求,直流输入应大于7.5V,交流输入应大于5V,通过7805三端稳压器得到5V的直流电源供给系统其它模块工作,另一种为从USB接口获取+5

5、V电源,只要用相应配套的USB线从电脑主机获取+5V直流电源,在电源模块中加有保护电路,即电路中有短路,不会对7805三端稳压器及电脑主机电源有损害!其电路原理图如图L4所示。图L45 .程序下载模块该模块完成源程序代码下载到AT89s51或者是AT89s52芯片中,它需要和微机上的ISP下载器软件配合使用来完成这样的功能。具体的电路原理图如图1.5所示。Cl11,0592MHzPl.5Pl.4X2XIT 亡 *-C14RST VCCP3.0/RXP1.7P3.irrxpi.64 T TRXC2TXC3SOpF3OpF 89ioGNDP3.2/IT0P1.3 P3.3/TT1PL2 P3.4?

6、TO Pl.l zP3.5m P1.0GND P3.72051C15VCC |111GND104IN4148R454.7KR44VCC 22T 19 可16 15 U- IE Tz T1图L56 .232电平转换模块232电平转换采用MAX232芯片把TTL电平转换成RS232电平格式,可以用于单片机与微机通信,以及单片机与单片机之间的通信,在该系统板上提供了两个DB9的接口,其中一个用ISP下载器模块的程序下载接口,称为“ISP Interface”,另一个接口为单片机与其它具有RS232接口的通信端口,称为“Common Port”。具体的电路原理图如图L 6所示。J66ISP Inlcr

7、fucc附 网 GNDJ65 TXD RXDR21NT2OvccGNDT1ORUNRIOT1INT2INR2O图1.6c VCCC瓦R“VCC/GND7 .频率产生器模块该模块采用555芯片产生一些连续频率的方波信号,由“WAVE GND”端口输出,其稳定可调的频率范围在5KHzlOOKHz之间变化。电路原理图如图L 7所示:VCCTRIGFREQ3CVoh0 OluFGND WAVEGNDgndH8 .音频放大模块该音频放大模块采用LM386芯片作为音频的功率放大,音频信号由“SPK IN”端口输入,信号的输出由“SPK OUT”端口输出,只要在“SPK OUT”接一个喇叭即可。具体的电路原

8、理图如图1.8所示:9 .模数转换模块系统板上的模数转换模块采用ADC0809芯片,组成8路8位的A/D转换,8路模拟电压的输入由IN0一 IN7的端口输入,控制ADC0809芯片工作的控制信号由“CLK OE EOC ST A2 Al A0”端口输入,转换的数据从DO D7的端口输出。具体的电路原理图如图L9所示: SI |ISJ3807 D6 05 04 D3 D2 DI DO2 3 4 N-N.N.-l2-, 11 A. I71 13 AECD4 X ADCUM 3 AX。2 14 ADCDl 17 ADTTOE -A-B.C ddd Dod aaa 5 6 N-N.IN-7QND AL

9、EVCC re(E)NABLE START reffPLOCK 1Utf 8X8 LEDVUU R.13 nr二二I一J18vccKEIKB 2KE 4 KEr, KI”,KB73 URRRRRRRR * R1J2O0123567 BBBD3EBB户KI3工3KB2AKKK1 UKB 16KHUI 1KRW1 与KB 71 uKEULK.l OR2 金5,R4 K 7 阳 DR?VDU | OIK. ONO74LS2451L234L5167L8图1.1213 .八路发光二极管指示模块该模块采用8个发光二极管作为指示信号作用,即可以用排线来控制,也可以单个地控制每个发光二极管的亮灭,当控制信号为

10、低电平时,发光二极管亮,为高电平时,发光二极熄灭;控制电平的输入由“L1-L8”输入。电路原理图如图1.13o14 .三八译码模块在系统板上提供了三八译码模块,控制译码器译码信号由“C B A”端口输入,译出的控制信号由“YOY7”输出。电路原理图如图1.14。15 .串并转换模块该系统板上采用了四个74LS164(移位寄存器)作为串并转换模块,这四路串并转换模块已经级连起来。串行数据从“RXD TXD”端口输入;具体的电路原理图如图1.15所示。图 1. 13J73 C B AU29UF 1GZDUF2UF301234567 VYVYYYYY12 3ABC EEE15 FF1 14 FF2

11、13 FF312 FF41 1 FF5 IO FF6 9 FF77 FF8Y05Y2Y3Y4Y5Y6Y7 7212 3 4 5 6 7 8图 1. 14JUJ29J30J31图1.1516 .数模转换模块系统板上的数模转换模块采用了8位的D/A转换芯片DAC0832来完成数模转换过程,DAC0832是电流输出型D/A转换芯片,因此,后面接有集成运放LM358来完成电流到电压的转换。其中的数字信号的输入从“DOD7”端口输入,控制DAC0832工作的控制信号由“WR CS”端口输入,模拟量的输出从“AOU端口输出,由于LM358工作在双电源条件下,因此要给LM358加入12V电压,从“+12V

12、GND -12V”端口加入。具体的电路原理图如图L 16所示:图 1. 1617 .四路拨动开关模块开关控制信号由“KI K2 K3 K4”端口输出,具体的电路原理图如图1.17所示:J23图1.1718 .单片机系统该系统板上的单片机系统把全部的I/O端口资源提供出来,因此,在实际应用的时候,可以灵活地组合成不同的单片机应用系统,该单片机采用12MHz晶振,具体的电路原理图如图1.18所示。19 .分频模块该系统板上的分频电路采用2片74LS74来完成最大16分频,输入的时钟信号由“CK IN”端口输入,经过2片74LS74分频后的信号分别由“/I /2/4/8/16”端口输出,分别表示未分

13、频,2分频,4分频,8分频,16分频;具体的电路原理图如图1.19所示sgaiQ cCi44*图1.2021 .二线总线模块(re总线)为了适应新技术的需要,增加了2路12c总线接口,适用8脚的12c总线芯片,左边的“PIN1 PIN2PIN3 PIN4 PIN5 PIN6”与上面的接口连接,右边的“PIN1 PIN2 PIN3 PIN4 PIN5 PIN6”与下面的接口连接;具体的电路原理图如图1.21所示:J49PIN1 PIN2 PIN3 PIN4 PIN5 PIN6PN PIN2 PIN3 P24 PIN5 PIN6图1.2122 .独立式键盘模块键盘是人机通信不可缺少的部件,独立式键

14、盘是最基本的一种键盘方式,在本系统中提供了四个独立式按键;具体的电路原理图如图L 22所示:J2223 .4X4行列式键盘模块行列式键盘也即矩阵式键盘,它由行和列组成,在每个行列的交叉点上放置一个按键,这样4义4行列式键盘共需要16个键盘组成;具体的电路原理图如图1.23所示:图1.2324 .32KB数据存储器模块为了适应大容量的数据处理的需要,在系统板上加入了32KB数据存储器(RAM),数据总线从“DO 一D7”的端口输入,高8位地址总线从“A8A15”端口输入,控制数据存储器的读写控制信号从“ALE CS WR RD”端口输入,具体的电路原理图如图1.24所示:J698 76 5 A

15、3 21GNDU27OCCJ71ALE CS WR RDRAMDO2RAMD13RAMD24RAMD35RAMD46RAMD57RAMD68RAMD79RAMALE 11ID 2D3D 4D 5D 6D 7D 8DIQ 2Q 3Q4Q 5Q6QRAMCS20八RAMWR27 P19ADRO10 18ADRI917ADR2816ADR3715ADR4614A: 1513二 R -412ADR73C0N874HC578 76 5 A 32 1ADR825ADR924ADR1021ADRU23ADR122ADR1326ADR141RAMRD 22 cCEQ0WEQiAOQ2AlQ3A2Q4A3Q5A

16、4Q6A5Q7A6A7A8A9A10AllA12A13A14三11 RAMDO12 RAMD113 RAMD215 RAMD316 RAMM17 RAMD518 RAMD6 )RAWRAMCSA15 A14 A13 A12 Al 1 A10 A9 A8图1.24以上是“AT89s51单片机实验及实践系统板”的所有硬件资源简介,通过这24个模块之间的相互组合,可以设计出从基本的单片机系统到复杂的单片机应用控制系统的设计,是初学者对单片机入门和开发不可缺少的过程。ttinclude sbit Kl=P30;sbit Ll=PrO;void main(void)(while(l)(if (Kl=0)

17、(Ll=0;灯亮elseLl=l;灯灭#include sbit L1=POAO;sbit kl=P3A0;void mian(void)while (1)if(kl=O)(Ll=0;else Ll=l;第二章Keil C软件使用Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C语言的程序设计,界面友好,易学易用。下面介绍Keil C51软件的使用方法进入Keil C51后,屏幕如下图所示。几秒钟后出现编辑界0Y日幺 SOFTWARETPue IntegrationVISION目IDE forMicrocontrollerThis p

18、rogram is protected by U.S. and international copyright laws.启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机

19、的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.CFVVn4or Dv “AT89C52CS-5IR,Q “, U Ktr pta (BOBI b4 Full Static CSQS cMroiler va tb Thr-Lavwl Fr -132 X/0 liaes,3 Tars/Cwwitwr*8 I*trvta Bwre*8 K 了12aary,256yt On-chip RAH4)完成上一步骤后,屏幕如下图所示到

20、现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“

21、Source Group 1”上单击右键,弹出如下菜单 C mrD0TS33opC51Tsll.Select Device for Target Target.1 Optioxlm for Group f Source Group 1,Opn FilvO gil.P7季i_,; Li:-A4d Filas Group , Source Group 1Groups, FilsGroup Sours Group 1* and a t s Fils然后单击“Add File to Group Source Group 1”屏幕如下图所示选中Test. c,然后单击“Add ”屏幕好下图所示注意到“S

22、ource Group 1”文件夹中多了一个子项“Textl.c”了吗?子项的多少与所增加的源程序的多少相同7)现在,请输入如下的C语言源程序:#include 包含文件#include void main (void)主函数SC0N=0x52;TM0D=0x20;THl=0xf3:TR1=1;此行及以上3行为PRINTF函数所必须printf( HHello I am KEIL.n);打印程序执行的信息printf( u I will be your friend.nM );whiled);)在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,

23、并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键 F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Sessionn (或者使用快捷键Ctrl+F5),屏幕如下所示9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”

24、菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果,其结果如下图所示至此,我们在Keil C51上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程Options for Target , Target 1序下载器看一看程序运行的结果呢?在下图中,10)单击“Project”菜单,再在下拉菜单中单击“单击“Output”中单击“Create HEX File选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中。第三章实验及实践课题01.闪烁灯1 .实验任务如图4.1.1所示:在PL0端口上接一个发光二极管

25、L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。2 .电路原理图ONDlvccoo Y1 oJ 口三UN =l 2MW-4ATS9s31Ln.apppppppp图 4. 1. 13 .系统板上硬件连线把“单片机系统”区域中的PL0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。4 .程序设计内容(1)延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:如图4.1.1所示的石英晶体为

26、12MHz,因此,1个机器周期为1微秒机器周期微秒MOV R6,#202个2DI:MOV R7,#2482个22+2X248=49820 XDJNZ R7,$2个2X248(498DJNZ R6, DI2个2X20=4010002因此,上面的延时程序时间为10.002mso由以上可知,当R6=10、R7=248时,延时5ms, R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10msXR5=200ms,则R5=20,延时子程序如下:DELAY:MOVR5,#20DI:MOVR6,#20D2:MOVR7,#248DJNZ R7,$DJNZ R6,

27、 D2DJNZ R5,D1RET(2)输出控制如图4. LI所示,当PL 0端口输出高电平,即PL 0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当PL0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用 SETB PL0指令使PL0端口输出高电平,使用CLR PL 0指令使PL 0端口输出低电平。5 .程序框图如图4.1.2所示图4.1.2ORG 0START:CLR P1.0LCALL DELAYSETB Pl.0LCALL DELAYLJMP STARTDELAY:MOV R5,#20DI:MOV R6,#20D2:MOV R7,#248DJNZ R7,

28、$DJNZ R6, D2DJNZ R5,D1RETEND6.汇编源程序7. C语言源程序include sbit LI = P00;;延时子程序,延时0.2秒void delay02s(void)(unsigned char i, j, k: for(i=20;i0;i) for(j=20; j0; j) for(k=248;k0;k);延时0.2秒子程序void main(void)8 WO Nd 2VR Zd 二 V/Zd ZMQ Nd 2VK Zd wvz Zd swczd 乙at97VL2F0d 9OVQ0d ov/sod KIVG Od mov/ Od zav# odod oov/o

29、 od cVCX2D NLi/5 gd osmd LLhn?c*sd PI日力 OX1H s oxwomdGND图 4. 2. 1L1=O;while(l)L1=O;delay02s ();Ll=l;delay02s ();02.模拟开关灯1 .实验任务如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。2 .电路原理图600r 9c pgZi vcc 40肯I于lOuF R210K3 .系统板上硬件连线(1)把“单片机系统”区域中的PL 0端口用导线连接到“八路发光二极管指示模块”区域中的

30、L1端口上;(2)把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上;4 .程序设计内容(1)开关状态的检测过程对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用JB BIT, REL或者是JNB BIT, REL指令来完成对开关状态的检测即可。(2)输出控制如图3所示,当PL 0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即

31、P1.0=0时,发光二极管L1亮:我们可以使用SETB PL0指令使PL0端口输出高电平,使用CLR P1.0指令使PL0端口输出低电平。5 .程序框图图4.2.26 .汇编源程序ORG 00HSTART:JB P3.0, LIGCLR P1.0SJMP STARTLIG:SETB P1.0SJMP START END7 . C语言源程序#include sbit K1=P3*O;sbit L1=P10; void main(void)(while(l)(if(Kl=0)Ll=0;灯亮) else (Ll=l;灯灭)03.多路开关状态指示1.实验任务如图4.3.1所示,AT89s51单片机的P

32、L0PL3接四个发光二极管L1-L4, PL 4 PL 7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)2.电路原理图ZZzzcsiZdd d d d d d dL2L s Cid 90VqOd 9Id Su Sid Kvs Da Id ECWGod Eld ZOVNod Zld nod Id oov、o od 0【d c * T rcx囱 V -E RX2遑一 Sd 2承9 Ed EDS Gd ox/Ga LUU/C nd FN1/Z Sd axui md axM/o EdXI图4.3.13 .系统板上硬件连线(1)把“单片机系统”

33、区域中的PLO - PL 3用导线连接到“八路发光二极管指示模块”区域中的 L1-L4端口上;(2)把“单片机系统”区域中的P1.4P1.7用导线连接到“四路拨动开关”区域中的K1K4端口上;4 .程序设计内容(1)开关状态检测对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JB Pl.X, REL或JNB Pl.X, REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV A, Pl指令一次把Pl端口的状态全部读入,然后取高4位的状态来指示。(2)输出控制根据开关的状态,由发光二极管L1-L4来

34、指示,我们可以用SETB P1.X和CLR PL X指令来完成,也可以采用MOV Pl,#1111XXXXB方法一次指示。5 .程序框图I开:)读Pl 口数提到Acc(Age内容右移4次)Ac。内容与F0H相或Acc内容送入Pl 图4.326 .方法一(汇编源程序) ORG 00HSTART: MOV A, PlANL A,#OFOH RR A RR A RR A RR AXOR A,#OFOH MOV Pl, A SJMP START END7 .方法一(C语言源程序)#include unsigned char temp;void main(void)(while(l)(temp=Pl4;

35、 temp=temp | OxfO; Pl=temp;)8 .方法二(汇编源程序) ORG OOHSTART: JB Pl.4, NEXT1CLR P1.0SJMP NEX1NEXT1: SETB Pl.0NEX1: JB Pl.5.NEXT2CLR Pl.1SJMP NEX2NEXT2: SETB Pl.1NEX2: JB Pl.6.NEXT3CLR Pl.2SJMP NEX3NEXT3: SETB Pl.2NEX3: JB Pl.7, NEXT4CLR Pl.3SJMP NEX4NEXT4: SETB Pl.3NEX4: SJMP STARTEND9 .方法二(C语言源程序)include

36、 void main(void)(while(l)(if(Pl_4=0)(Pl_0=0;)else(if(Pl 5=0)(Pl 1=0;)else()if(Pl_6=0)Pl_2=0;)elsePl_2=l;)if (Pl_7=0)(Pl_3=0;)else(Pl_3=l;04.广告灯的左移右移1实验任务做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1 L8分别接在单片机的PL0-PL7接口上,输出0时,发光二极管亮,开始时 PLOfPl. l-PL 2fpi.3*P1.7-*Pl.6-*fPLO亮,重复循环。2 .电路原理图JOKcoP3.O/RXD P3 1/TXD P3

37、 2/fHTOP3 3/INT1P3 4/TOP3 5TT1 P3 6AVR P3.7/RD-VCC3OpFC212MHC -C330pF后Pl OP1】P1.2P1.3P1 4P1 58 A PO O/ADO PO 1/AD1 PO.2/AD2 P0.3/AD3 PO 4/AD4 PO 5/AD5 PO 6/AD6 PO 7/AD7 ALX PSEH P2.7/A15 P2.6/A14 P25/A13 P24/A12 P23/A11 P22/A1O P21/A9 P2.O/A8 Q 二GND图4.4.13 .系统板上硬件连线把“单片机系统”区域中的Pl.o-PL 7用8芯排线连接到“八路发光

38、二极管指示模块”区域中的 L1-L8端口上,要求:P1.0对应着LI, PL1对应着L2,,PL7对应着L8。4 .程序设计内容我们可以运用输出端口指令MOV Pl, A或MOV Pl,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。每次送出的数据是不同,具体的数据如下表1所示P1.7P1.6P1.5P1.4P1.3P1.2Pl.1P1.0说明L8L7L6L5L4L3L2L111111110L1亮11111101L2亮11111011L3亮11110111L4亮1101111L5亮11011111L6亮10111111L7亮01111111L8亮5 .程序框图如图4.4.2所示6 .汇编源程序ORG 0STA

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁