




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机应用系统设计实验报告 姓 名: 王 璞 学 号: 22012313 院 系:仪器科学与工程学院 专 业: 测控技术与仪器 实 验 室: 机械楼5楼 同组人员: 全轶先 评定成绩: 审阅教师: 软件实验一 数据传送实验一、 实验目的1、熟悉单片机仿真开发器的使用;2、掌握编程方法;3、掌握8051内部RAM的数据操作二、 实验内容内部RAM 40H4FH单元置数A0HAFH,然后将40H4FH单元内容送到内部RAM50H5FH单元中。编辑、编译、运行程序,检查内部RAM中的结果。三、 实验程序 67 / 67 ORG 0000HRESET: AJMP MAIN ORG 003FHMAIN
2、: MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1: MOV R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#40H MOV R1,#50H MOV R2,#10H A2: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,A2A3: SJMP A3四、 实验结果实验显示RAM的40H4FH以及50H5FH的内容都为A0HAFH。五、 实验提高修改程序:将所置的数改为00H1FH,置数单元和传送单元分别改为内部RAM的40H5FH、60H7FH。 ORG 0000HRESET: AJMP MAIN ORG 0
3、03FHMAIN: MOV R0,#40H MOV R2,#20H MOV A,#00H A1: MOV R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#40H MOV R1,#60H MOV R2,#20H A2: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,A2A3: SJMP A3六、实验思考 因为是第一次用伟福单片机系统,来进行软件实验,在准备方面不够充分,但第一次的实验让我熟悉了伟福单片机系统,了解了在仿真器中查看寄存器内容变化的方法,掌握了51单片机内部RAM寻址方式:立即数寻址、寄存器寻址等。 软件实验二 多字节十进制
4、加法实验一、 实验目的掌握MCS-51汇编语言程序设计方法二、实验内容多字节十进制加法;加数存储单元首地址由R0指出,被加数和结果的存储单元首地址由R1指出,字节数由R2指出;编辑、编译、运行程序,检查内部RAM中的结果。三、实验程序加数存储单元为:31H、30H,被加数存储单元为:21H、20H,结果存储单元为:22H、21H、20H。- ORG 0000HRESET: AJMP MAIN ORG 0100HMAIN: MOV SP,#60H MOV R0,#31HMOV R0,#22H ;提高时将加数高位改为自定义的数的高位(如11H) DEC R0MOV R0,#33H ;提高时将加数低
5、位改为自定义的数的低位(如22H)MOV R1,#21HMOV R1,#44H ;提高时作为被加数的高位被修改(如改为44H)DEC R1MOV R1,#55H ;提高时作为被加数的低位被修改(如改为55H) MOV R2,#02HACALL DACEHERE: SJMP HEREDACE: CLR CDAL: MOV A,R0 ADDC A,R1DA AMOV R1,AINC R0INC R1DJNZ R2,DALCLR AMOV ACC.0,CMOV R1,ARET四、实验结果 被加数单元地址 (21H)(20H)加数单元地址 (31H)(30H) +) 结果单元地址 (22H)(21H)
6、(20H) 被加数数值 44H 55H加数数值 22H 33H +) 结果数值 00H 66H 88H五:修改加数与被加数,得到如下结果:被加数数值 44H 55H加数数值 11H 22H +) 结果数值 01H 55H 77H六、实验思考通过这次实验,我学习了多字节十进制加法,其中DA这条汇编指令是实现十进制加法的关键,当用BCD码十进制数进行加法运算时,其运算结果的和数不一定仍为十进制的BCD码,必须用DA指令调整成十进制的BCD码。软件实验三 十进制数排序实验一、实验目的掌握十进制数的排序方法二、实验内容本程序用的是“冒泡排序”法,是将一个数与后面的数相比较,如果比后面的数大,则交换,如
7、此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序,即从小到大排序。三、实验流程图四、实验程序 SIZE EQU 10ARRAY EQU 40HCHANGE EQU 0SORT: MOV R0,#ARRAYMOV R7,#SIZE-1CLR CHANGEGOON: MOV A,R0MOV R2,AINC R0MOV B,R0CJNE A,B,NOTEQUALSJMP NEXTNOTEQUAL: JC NEXT SETB CHANGEXCH A,R0DEC R0XCH A,R0INC R0NEXT: DJNZ R7,GOONJB CHANGE,
8、SORTLJMP $END五、实验结果实验时,运行程序前手动更改RAM 50H59H的内容为任意10个无序的数,如01H,00H,02H,03H,09H,05H,04H,07H,08H,06H。运行程序后可以看到50H59H的内容变为00H,01H,02H,03H,04H,05H,06H,07H,08H,09H即按升序排列的10个数。六、实验提高修改程序,按照从小到大的顺序排列。思考:只要将NOTEQUAL子程序中的JC改为JNC即可实现。运行后的数据将按照从大到小排列。七、实验思考本实验使用的是冒泡排序,这是一个很经典的排序算法,但是并不适用于需要排序的数很多时候的情况。硬件实验一 I/O口
9、输入/输出及控制实验 、I/O口输入/输出实验一、实验目的1、学习单片机I/O口的使用方法;2、学习延时子程序的编写和使用。二、实验内容1、I/O口输出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。2、I/O口输入/输出:P1.0、P1.1做输入口接两个拨动开关;P1.2、P1.3做输出口,接两个发光二极管。编写程序读取开关状态,将此状态在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。三、实验步骤1、I/O口输出硬件连接连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35P1.4L46P1.5L57P1.
10、6L68P1.7L7MCS51的P1口循环点灯2、I/O口输入/输出硬件连接连线连接孔1连接孔21K4P1.02K5P1.13P1.2L44P1.3L5MCS51的P1口输入/输出3、实验说明(1)对于MCS51,P1口是准双向口。它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。(2)8051延时子程序的延时计算问题,对于程序DELAY:MOV R6, #0HMOV R7, #0HDELAYLOOP:DJNZ R6, DELAYLOOP DJNZ R7, DELAYLOOPRET查指令表可知MOV和DJNZ指令均需两个
11、指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ = 1ms,该延时子程序延时:(256X256+2)X2X12/12=130ms。4、分别连接硬件并执行相关程序,记录结果。四、实验流程图五、实验程序1、I/O口输出(P1口循环点灯)LOOP:MOV A,#01H MOV R2,#8OUTPUT: MOV P1,A RL A CALL DELAY DJNZ R2,OUTPUT LJMP LOOPDELAY: MOV R6,#0 MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP RETEND2、I/O口输入/输出(P
12、1口输入/输出) KEYLEFT EQU P1.0 KEYRIGHT EQU P1.1 LEDLEFT EQU P1.2 LEDRIGHT EQU P1.3 SETB KEYLEFT SETB KEYRIGHTLOOP: MOV C,KEYLEFT MOV LEDLEFT,C MOV C,KEYRIGHT MOV LEDRIGHT,C LJMP LOOPEND六、实验结果I/O口输出实验,运行程序后可以看到LED从右向左循环点亮;I/O口输入/输出实验,运行程序并置1后,拨动某一个开关后会看到对应的LED发光。七、实验提高修改I/O口输出程序,改成先1,3,5,7灯亮,再2,4,6,8灯亮。L
13、OOP:MOV A,#55H MOV R2,#8OUTPUT: MOV P1,A RL A CALL DELAY DJNZ R2,OUTPUT LJMP LOOPDELAY: MOV R6,#0 MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP RETEND八、实验思考 本实验第一次使用延时程序,对于程序DELAY:MOV R6, #0HMOV R7, #0HDELAYLOOP:DJNZ R6, DELAYLOOPDJNZ R7, DELAYLOOPRET查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器
14、周期时间为:12/12MHZ = 1ms,该延时子程序延时:(256X256+2)X2X12/12=130ms。由于DJNZ指令是先对寄存器内容减1再与0比较,所以给R6R7赋值0可以获得最长延时。 、 继电器控制实验一、实验目的1、学习I/O端口的使用方法;2、掌握继电器控制的基本方法;3、了解用弱电控制强电的方法。二、实验内容用单片机端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。三、实验步骤1、硬件连线连线连接孔1连接孔21P1.0继电器输入25V继电器常闭输入3L0继电器中间输入2、实验说明现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的
15、控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子电路与电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一作用。本实验采用的继电器其控制电压是5V,控制端为高电平时,继电器工作常开触点吸合,连接触点的LED灯被点亮。当控制端为低电平时,继电器不工作,LED灯灭。3、分析并执行程序四、实验流程图5、 实验程序OUTPUT EQU P1.0 ; P1.0 PORTLOOP: CLR C MOV OUTPUT, C CALL DELAY SETB C MOV OUTPUT, C CALL DELAY LJMP LOOPDELAY: MOV R6
16、, #0 MOV R7, #0DLOOP: DJNZ R7, DLOOP DJNZ R6, DLOOP RETEND六、实验结果运行程序后可以看到LED灯呈亮、灭、亮、灭的循环。七、实验提高1、修改程序,改变继电器吸合的时间间隔;缩短时间:OUTPUT EQU P1.0 ; P1.0 PORTLOOP: CLR C MOV OUTPUT, C CALL DELAY SETB C MOV OUTPUT, C CALL DELAY LJMP LOOPDELAY: MOV R6, #28H DLOOP: DJNZ R6, DLOOP RETEND增大时间:OUTPUT EQU P1.0 ; P1.0
17、 PORTLOOP: CLR C MOV OUTPUT, C CALL DELAY SETB C MOV OUTPUT, C CALL DELAY LJMP LOOPDELAY: MOV R6, #28 MOV R7, #0DLOOP: DJNZ R7, DLOOP DJNZ R6, DLOOP RETEND2、查询资料,了解其他弱电控制强电的方法。答: 弱电控制强电是通过低压系统的设备如定时器、传感器等设备对强电(220V以上)供电系统实现自动延时开启或关闭功能,有固体继电器、可控硅、光电耦合可控硅等等。七、实验思考这次试验让我初步了解了继电器及其使用方法,控制较为简单。硬件实验二 数据输入
18、/输出口扩展实验 、 用74HC245读入数据一、实验目的1、了解CPU数据总线的使用;2、掌握利用74HC245数据输入/输出的方法。二、实验内容利用试验箱上的74HC245输入电路,用总线方式读入开关状态。三、实验步骤1、硬件连接连线连接孔1连接孔21K0245-I02K1245-I13K2245-I24K3245-I35K4245-I46K5245-I57K6245-I68K7245-I79CS0CS2452、实验说明一般情况下,CPU的总线会挂有很多器件,如何使这些器件不造成冲突,这就要使用一些总线隔离器件,例如74HC245就是一种。74HC245是三态总线收发器,利用它既可以输出也
19、可以输入数据。本实验74HC245的片选地址为CS0,即8000H,读这个地址,就是从74HC245读回开关的值。可以用单步的方式执行程序,改变开关状态,观察读回的值。3、分析并执行程序,观察并记录实验结果。四、程序流程图五、实验程序CS245 EQU 8000HORG 0000HLOOP: MOV DPTR,#CS245 MOVX A,DPTR LJMP LOOP END六、实验结果程序执行后,拨动八位开关,开为1,闭为0,开关状态表示8位二进制数,相应的寄存器显示对应的结果。七、实验提高连接拨动开关,利用发光二极管显示拨动开关的状态。如果利用74HC245输出,如何设计电路?答:将二极管与
20、开关一一对应相连即可。其中开关连接74HC245的输入端,LED连接74HC245的输出端。八、实验思考 这次试验第一次访问了外部RAM,使用MOVX指令,将外部RAM地址放入数据指针DPTR间接寻址,寻址范围可达64KB。 、 74HC273扩展数据输出一、实验目的1、学习在单片机系统中扩展简单I/O接口的方法;2、学习数据输出程序的设计方法;3、了解数据锁存的概念和方法。二、实验内容利用实验箱上的273输出电路,从总线上输出I/O口信号,控制八个LED灯。三、实验步骤1、硬件连接连线连接孔1连接孔21L0273-I02L1273-I13L2273-I24L3273-I35L4273-I46
21、L5273-I57L6273-I68L7273-I79CS0CS2732、实验说明本实验用74HC273扩展I/O端口。方法是:通过片选信号和写信号将数据总线上的值锁存在273中,同时在273的输出端口输出。当数据总线上的值撤销后,由于273能够锁存信号,所以273的输出端保持不变,直到下次有新的数据被锁存。本实验中,在数据输出同时输出片选信号和写信号。3、分析并执行程序,观察并记录结果。四、实验流程图五、实验程序CS273 EQU 8000HMOV DPTR,#CS273MOV A,#1LOOP: MOVX DPTR,A MOV R6,#0FFH MOV R7,#0FFHDELAYLOOP:
22、 DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP NOPRL A LJMP LOOPDELAY: END 六、实验结果执行程序后可以看到LED灯从右向左循环点亮。七、实验提高增加延时程序,让LED灯由左向右循环点亮。CS273 EQU 8000HMOV DPTR,#CS273MOV A,#1LOOP: MOVX DPTR,A MOV R6,#0FFH MOV R7,#0FFHDELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP NOPRR A LJMP LOOPDELAY: END七、实验思考我了解到74HC273具有八路边沿触发
23、,D 型触发器,带独立的D输入和Q输出。74HC273的公共时钟(CP)和主复位(MR)端可同时读取和复位(清零)所有触发器。每个D输入的状态将在时钟脉冲上升沿之前的一段就绪时间内被传输到触发器对应的输出(Qn)上。它适用于要求原码输出或者所有存储元件共用时钟和主复位的应用。硬件实验四 显示器/键盘实验 、八段数码管显示实验一、实验目的1、了解数码管动态显示的原理;2、了解用总线方式控制数码管显示。二、实验内容利用实验仪提供的显示电路,动态显示一行数据。三、实验步骤1、硬件连接连线连接孔1连接孔21KEY/LED_CSCS02、实验说明注意:当用总线方式驱动八段显示管时,请将八段的驱动方式选择
24、开关拨到“内驱”位置;当用I/O方式驱动八段显示管时,请将开关拨到“外驱”位置。本实验仪提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。本实验仪中 8位段码输出地址为0X004H,位码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004
25、H,位码地址为08002H。七段数码管的字型代码表如下表: 显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC011100139hd10111105ehE111100179hF111000171h3、分析并执行程序,观察并记录结果。四、实验流程图五、实验程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLED
26、BUF EQU 60HNUM EQU 70HDELAYT EQU 75HLJMP STARTLEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY: MOV R7,#0DELAYLOOP: DJNZ R7, DELAYLOOP DJNZ R6, DELAYLOOP RETDISPLAYLED: MOV R0, #LEDBUF MOV R1, #6 MOV R2, #00100000BLOOP: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV A,R0
27、 MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A MOV R6,#05 CALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,LOOP MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A RETSTART: MOV SP,#40H MOV NUM, #0 MLOOP: INC NUM MOV A,NUM MOV B,A MOV R0,#LEDBUFFILLBUF: MOV A,B ANL A,#0FH MOV DPTR,#LEDMAP MOV
28、C A,A+DPTR MOV R0,A INC R0 INC B CJNE R0,#LEDBUF+6,FILLBUF MOV DELAYT,#30DISPAGAIN: CALL DISPLAYLED DJNZ DELAYT,DISPAGAIN LJMP MLOOP END六、实验结果数码管动态地012345、123456、234567、·······、F012345、0123456、······不断循环显示。七、实验提高修改程序,显示1、2、3、4、5、6或A、B、
29、C、D、E、F。思考:显示16,将START第二行的0改为1且去掉MLOOP语句,主程序结尾处也不要跳转回MLOOP。显示AF,将START第二行的0改为10且去掉MLOOP语句,主程序结尾处也不要跳转回MLOOP。七、思考在单片机课的学习上我了解到数码管的显示有两种方式,静态显示和动态显示,静态显示占用的IO口较多,所以一般选用动态显示,而动态显示实际上利用的时人眼的视觉暂留。 、 键盘扫描显示实验一、实验目的1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和LED八段码显示器的工作原理。二、实验内容在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码
30、显示实验,把按键输入的键码在六位数码管上显示出来。实验程序可分成三个模块。键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。显示模块:将显示单元的内容在显示器上动态显示。主程序:调用键输入模块和显示模块。三、实验步骤1、硬件连接连线连接孔1连接孔21KEY/LED_CSCS0列码(0X002H)读回行码(0X001H)数据总线2、实验说明本实验仪提供了一个6×4的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,相应行码为高。在判断有键按下后,要有一定的延时,防止键盘抖动
31、。再通过输出的列码和读取的行码来判断按下的是什么键。地址中的X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如将KEY/LED CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号(参见键盘显示电路)。3、分析并执行程序,观察并记录结果。四、实验流程图显示程序框图见前个实验五、实验程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HLJMP STARTLEDMAP:
32、DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY: MOV R7,#0DELAYLOOP: DJNZ R7,DELAYLOOP DJNZ R6, DELAYLOOP RETDISPLAYLED: MOV R0,#LEDBUF MOV R1, #6 MOV R2, #00100000BLOOP: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV A,R0 MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2
33、MOVX DPTR,A MOV R6,#1 CALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,LOOP RETTESTKEY: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV DPTR,#IN MOVX A,DPTR CPL A ANL A,#0FH RETKEYTABLE: DB 16H,15H,14H,0FFH DB 13H,12H,11H,10H DB 0DH,0CH,0BH,0AH DB 0EH,03H,06H,09H DB 0FH,02H,05H,08H DB 00H,01H,04H,07HGETKE
34、Y: MOV DPTR,#OUTBIT MOV P2,DPH MOV R0,#LOW(IN) MOV R1,#00100000B MOV R2,#6KLOOP: MOV A,R1 CPL A MOVX DPTR,A CPL A RR A MOV R1,A MOVX A,R0 CPL A ANL A,#0FH JNZ GOON1 DJNZ R2,KLOOP MOV R2,#0FFH SJMP EXITGOON1: MOV R1,A MOV A,R2 DEC A RL A RL A MOV R2,A MOV A,R1 MOV R1,#4LOOPC: RRC A JC EXIT INC R2 DJN
35、Z R1,LOOPCEXIT: MOV A,R2 MOV DPTR,#KEYTABLE MOVC A,A+DPTR MOV R2,AWAITRELEASE: MOV DPTR,#OUTBIT CLR A MOVX DPTR,A MOV R6,#10 CALL DELAY CALL TESTKEY JNZ WAITRELEASE MOV A,R2 RETSTART: MOV SP,#40H MOV LEDBUF+0,#0 MOV LEDBUF+1,#0 MOV LEDBUF+2,#0 MOV LEDBUF+3,#0 MOV LEDBUF+4,#0 MOV LEDBUF+5,#0MLOOP: CA
36、LL DISPLAYLED CALL TESTKEY JZ MLOOP CALL GETKEY ANL A,#0FH MOV DPTR,#LEDMAP MOVC A,A+DPTR MOV LEDBUF+5,A LJMP MLOOP END六、实验结果键盘按下一个键后,数码管就显示相应的键值。七、实验提高1、修改程序,使键值在数码管上从右向左移动显示。2、设计程序 ,每按一次键,数码管显示加1,实现099的自加。3、查询资料,举出其他形式的键盘、显示器软硬件设计方法。分析其优缺点。2、设计程序 ,每按一次键,数码管显示加1,实现099的自加。主程序:START:MOV SP,#40HMOV LE
37、DBUF,#0MOVCOUNT,#0MLOOP: CALL DISPLAYLED CALL TESTKEY JZ MLOOP INCCOUNTMOVA,COUNT MOV DPTR,#LEDMAP MOVC A,A+DPTR MOV LEDBUF,ACALL DELAY LJMP MLOOPEND七、实验思考在判断按键时很重要的一点是要消除抖动,不然会重复判断造成错误,所以一定要有延时程序。硬件实验五 串行口实验 、串行数据转换并行数据实验一、实验目的1、掌握MCS51/MCS96串行口方式0工作方式及编程方法;2、掌握用MCS51/MCS96的P1口的I/O功能,输出串行数据;3、掌握利用串
38、行口入I/O口,扩展I/O通道的方法。二、实验内容利用单片机的串行口和I/O端口串行输出,利用板上的74HC164串转并电路,移位转换成并行数据,接在LED灯上显示。三、实验步骤1、硬件连接连线连接孔1连接孔21L0164-Q02L1164-Q13L2164-Q24L3164-Q35L4164-Q46L5164-Q57L6164-Q68L7164-Q79RXD(P3.0)164-AB11TXD(P3.1)164-CLK2、实验说明串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为Fosc/
39、12。3、分析并执行程序,观察记录结果。四、实验流程图五、实验程序MOV SCON,#0 ;串口方式0MOV A,#0AAHMOV SBUF,AJNB T1,$CLR T1LJMP $END六、实验结果LED灯的L0,L2,L4,L6亮,L1,L3,L5,L7灭。七、实验提高将串行数据转换成并行数据,驱动八段LED显示器,即利用串行口扩展LED显示器,画出线路图并说明工作过程。将接线改为:连线连接孔1连接孔21A164-Q02B164-Q13C164-Q24D164-Q35E164-Q46F164-Q57G164-Q68H164-Q7七、实验思考串口工作方式0是同步串口通讯。其特点是:在有效数
40、据信息开始传输前需用同步字符来指示有效数据信息传输的开始,其接收/发送的数据信息必须由时钟信号来进行严格的同步。 、 并行数据转换串行数据实验一、实验目的掌握并行数据转换为串行数据的方法。二、实验内容利用板上的74HC165并转串电路,读入外部的并行数据,移位转换成串行数,利用单片机串行口和P1口串行读入。三、实验步骤1、硬件连接连线连接孔1连接孔21K0165-P02K1165-P13K2165-P24K3165-P35K4165-P46K5165-P57K6165-P68K7165-P79P1.1165-Q710P1.2165-CLK11P1.0165-LOAD2、实验说明串行口工作在方式
41、0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率Fosc/12。利用P1.0控制74HC165护具输入/锁存。3、分析并执行程序,观察记录结果。四、实验流程图五、实验程序串行口方式: LD EQU P1.0 CLR LD SETB LD MOV SCON,#00010000BWAIT: JNB RI,WAIT MOV A,SBUF CLR RI LJMP $ ENDI/O口方式 LD EQU P1.0 DAT EQU P1.1 CLK EQU P1.2 SETB CLK CLR LD SETB LD MOV R7,#8NEXT: RR A MOV C,DAT 串口方式0读入 MOV ACC.7,C CLR CLK SETB CLK DJNZ R7,NEXT LJMP $ END六、实验结果通过改变开关的开闭情况使累加器输出此时的开关值。例如当开关的输入为10011001B时,可以看到累加器A的值为1七、实验思考 74HC165是8位并行输入串行输出移位寄存器,可在末级得到互斥的串行输出(Q0和Q7),当并行读取(PL)输入为低时,从D0到D7口输入的并行数据将被异步地读取进寄存器内。而当PL为高时,数据将从DS输入端串行进入寄存器,在每个时钟脉冲的上升沿向右移动一位(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 借款投资合作合同范本
- 公司厂房抵押合同范本
- ktv经营合同范本
- 与商户合同范本
- 亲戚之间租车合同范本
- 劳动合同范本 日语
- 2024年重庆市荣昌区人民医院招聘笔试真题
- 中国监理合同范本
- 中山餐饮合同范本
- 2024年河源市紫金县蓝塘镇招聘考试真题
- 农村生活污水检测服务方案
- 110kV全封闭组合开关电器GIS扩建及改造项目技术规范书通用部分
- 幼儿园食谱播报
- 驾驶员心理健康与安全驾驶
- 基于强化学习的特征选择技术
- 随车起重机吊装施工方案
- 《市场营销》课程标准
- 无违法犯罪记录证明申请表(个人)
- 苏科版六年级下册《劳动》全一册全部公开课PPT课件(共9课)
- 小学英语外研版(三起点)四年级下册全册课文翻译(1-10模块)
- WS 400-2023 血液运输标准
评论
0/150
提交评论