单片机实验报告三

2022-07-07

报告在写作方面,是有着极为复杂、详细的写作技巧,很多朋友对报告写作流程与技巧,并不是很了解,以下是小编收集整理的《单片机实验报告三》的文章,希望能够很好的帮助到大家,谢谢大家对小编的支持和鼓励。

第一篇:单片机实验报告三

单片机实验报告(三)

实验报告书

信息工程系

电气自动化

11班

姓名:张青

日期:2014.10.14 实验一:完成AT89S51单片机与PC机的RS232串行通信接口电路实物制作。该部分电路可在实物电路板Ⅰ上进行搭建。

实验二:设计串口初始化程序,要求:工作方式

1、查询方式、允许接收、波特率为2400bps,设时钟频率为12MHz。

实验三:串口查询方式设计带参数字符发送子程序,并在此基础上利用MOVC查表指令完成带参数串发送子函数设计,自定义被发送字符串。要求工作方式1,波特率4800,时钟频率为11.0592MHz。 实验四:串口中断方式编写单字符接收程序,存储收接收并进行回显,波特率设为9600,时钟频率为11.0592MHz。 实验五:完成PC机远程控制小灯系统的软硬件仿真设计,并在实物电路板上测试程序的功能实现。 实验六:利用MOVC查表指令在试验电路板Ⅰ上拓展完成小灯多种显示功能的实现。

实验七:拓展题:结合定时器中断程序拓展完成PC机远程控制小灯闪烁、左右移动等功能的实现。

实验二:ORG 0000H LJMP START ORG 0030H START: LCALL INIT_S ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;串行口初始化子程序 ;;;;;;;;;;

INIT_S: MOV SCON,#40H MOV TMOD,#20H

MOV TH1,#0FAH

MOV TL1,#0FAH

SETB TR1

SETB REN

RET END

实验三:

ORG 0000H

LJMP START

ORG 0030H START:

LCALL INIT_S

MOV DPTR,#HELLO_TAB

LCALL

SEND_STRENG

LJMP $

INIT_S: MOV

SCON,#40H

MOV

TMOD,#20H

MOV

TH1,#0FAH

MOV

TL1,#0FAH

SETB TR1

CLR EA

RET

SEND_STRENG:MOV R1,#00H SEND_NEXT : MOV A,R1

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R1

LJMP SEND_NEXT

SEND_BYTE:CLR TI

MOV SBUF,A

JNB TI,$

RET

ORG 0100H

HELLO_TAB:DB

"tang zi li shi ge da sb"

DB

0DH,0AH,0FFH

END 实验四:

RX_D_FIRST EQU 45H RX_D_P EQU 30H RX_COM_OK BIT 00H

ORG 0000H

LJMP START

ORG 0023H

LJMP INT_SERIAL

ORG 0030H START: LCALL INIT_S

MOV RX_D_P,#RX_D_FIRST

CLR RX_COM_OK

MOV DPTR,#HELLO_TAB

LCALL SEND_STRING

MOV DPTR,#COM_MESSAGE

LCALL SEND_STRING

LJMP $ 串行口初始化子程序

INIT_S: MOV SCON,#40H

MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

SETB TR1

SETB EA

SETB ES

SETB REN

RET SEND_BYTE: CLR TI

MOV SBUF,A

JNB TI,$ RETURN: RET ; SEND_STRING: MOV R4,#00H SEND_NEXT: MOV A,R4

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R4

LJMP SEND_NEXT INT_SERIAL: CLR EA

JBC RI, RX_DAT

JBC TI, INT_RETURN RX_DAT: MOV R1,RX_D_P

INC RX_D_P

MOV A,SBUF

CJNE A,#0DH,LOAD_DAT

MOV DPTR,#RECEIVE_OK

LCALL SEND_STRING

MOV RX_D_P,#RX_D_FIRST

SETB RX_COM_OK

LJMP INT_RETURN LOAD_DAT: MOV SBUF,A

MOV @R1,A

INT_RETURN: SETB EA

RETI

ORG 0100H HELLO_TAB: DB "Welcome to online operating system!"

DB 0DH,0AH,0FFH COM_MESSAGE: DB "Please input the command to control the LED."

DB 0DH,0AH,0FFH RECEIVE_OK: DB 0DH,0AH

DB "Receiving the command is ok!"

DB 0DH,0AH,0FFH

END

第二篇:单片机实验三 双机通信实验程序

实验三 双机通信实验

一、实验目的

UART 串行通信接口技术应用

二、实验实现的功能

用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。

三、系统硬件设计

实验所需硬件:电脑一台;

开发板一块;

串口通信线一根; USB线一根;

四、系统软件设计

实验所需软件:编译软件:keil uvision3;

程序下载软件:STC_ISP_V480; 试验程序:

#include sbit W1=P0^0; sbit W2=P0^1; sbit W3=P0^2; sbit W4=P0^3; sbit D9=P3^2; sbit D10=P3^3; sbit D11=P3^4; sbit D12=P3^5; sbit DP=P1^7; code unsigned char table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; sfr P1M1=0x91; sfr P1M0=0x92; sbit H1=P3^6; sbit H2=P3^7; sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; unsigned char dat; unsigned char keynum; unsigned char keyscan(); void display(); void delay(void);

- 1 L1=1; L2=1; L3=1;

H1=0; if(L1==0)

return 1; else if(L2==0)

return 2; else if(L3==0)

return 3;

H1=1; H2=0; if(L1==0)

return 4; else if(L2==0)

return 5; else if(L3==0)

return 6; H2=1; return 0;

} unsigned char keyscan() { static unsigned int ct=0; static unsigned char lastkey=0; unsigned char key; key=getkey();

if(key==lastkey) {

ct++;

if(ct==900)

{

ct=0;

lastkey=0;

return key;

} } else {

- 3

第三篇:单片机实验二实验报告

实验报告

课程名称:微机原理与接口技术

指导老师:李素敏

学生姓名:

学号:

专业: 自动化

日期:2014-04-10 地点:理工楼603

实验二

1. 实验目的和要求

① 掌握keil软件和STC-ISP 软件的使用方法 ② 熟悉发光管的工作原理 ③ 通过编程体验发光管的延时闪烁及移位等功能

2. 主要仪器设备

PC机

单片机学习开发套件(型号:89C52RC)

3. 实验内容

①实验内容1:第一个发光管以间隔200ms闪烁

源程序:

#include #define uint unsigned int

//宏定义

main() {

while(1) { P1=0xfe; delay(200); P1=0xff; delay(200); } } void delay(uint z) //延时函数,z的取值为这个函数的延时ms数 {

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

一台一件

}

实验结果说明:要使发光管闪烁,只需设置合适的时间延时即可。

②实验内容2 : 8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。

源程序:

#include

#include //后面要用到它里面的_crol_(k,l)函数 //这个函数的意思是把一个字符变量k 循环左移l 位 #define uint unsigned int

//宏定义

unsigned char a,b,k,j;

//定义五个字符变量 sbit beep=P2^3; // 定义蜂鸣器的接口

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数 {

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); }

void main() {

k=0xfe; //先给k一个初值11111110等待移位 while(1) {

delay500ms();

beep=0; //打开蜂鸣器

delay500ms(); //让它响500ms

beep=1; //关闭蜂鸣器

j=_crol_(k,1); //把k循环左移一位

k=j; //把移完的值再送给k

P1=j; //同时把值送到P1口点亮发光二极管 } //再次循环 }

实验结果说明:在此程序中用到了_crol_(k,l)函数,此函数的功能在于循环移位,在每次发光管闪烁相应时间后左移一位,把移完的值再送到P口,点亮对应的发光管。这样循环往复,达到发光管流动的效果。

③实验内容3 :用8个发光管演示出8位二进制数累加过程,即用8个二极管表示8个二进制位(亮为1,灭为0),依次以二进制形式显示0,1,2,……255。

源程序: #include

#include //包含有左右循环移位子函数的库 #define uint unsigned int

//宏定义 #define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数, {

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } void main()

//主函数 {

} uchar a; while(1)

//大循环 {

} a++; P1=~a; delay(200);

实验结果说明:在此定义一个无符号字符变量a,a的值进行累加,但是由于表示的二进制数要求亮为1,灭为0,与发光管的0亮1灭正好相反,所以将a的计数取反并设置相应延时,重复此过程就得到了在发光管上显示八位二进制数的累加过程。

④实验内容4 :间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。

源程序:

#include //52单片机头文件

#include //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义

void delay(uint z) //延时函数,z的取值为这个函数的延时ms数 {

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } void main() //主函数 { uchar a,i,j; while(1) //大循环

} {

} a=0xfe; //赋初值

for(j=0;j<8;j++) { for(i=0;i<8-j;i++) //左移

} {

P1=a; //点亮小灯

delay(300); //延时300毫秒

a=_crol_(a,1); //将a变量循环左移一位

} a=_crol_(a,j); //补齐,方便下面的左移一位 P1=0xff; //全部关闭

a=a<<1; //左移一位让多一个灯点亮

4.心得体会:此次实验中练习较多的就是闪烁和移位,在编程过程中,设置闪烁的时间必须达到人眼正常观察的要求,这就需要计算合适的闪烁时间,不停的尝试,最终选择适宜观察的时间间隔。发光管的循环移位时调用_crol_(k,l)函数

可以大大简化编程的行数。所以熟悉单片机的函数库,可以方便我们编程。所以在以后的实验中还得继续学习这个函数库,从而更轻松的完成实验内容。

第四篇:单片机实验报告

51单片机控制流水灯

目录

(1)51精简开发板简介 (2)实验目的 (3)实验内容 (4)元件 (5)原理图 (6)实验步骤

(7)主要功能介绍

(8)实验错误及分析 (9)调试及程序 (10)系统测试 (11)实验心得

一、51精简开发板简介

它是一款以8051系列单片机为核心的精简开发板。8051系列单片机是一款应用非常广泛的8位微处理芯片,由于其功能齐全,产品技术成熟,资料广泛,又是学习其他很多单片机的基础,所以它是初学者学习单片机的不二之选,是大学生进行电子实习、课程设计、毕业设计的必备的单片机。

本款51单片机精简开发板较市面上所出售的一般开发板的方便之处在:

1 支持STC及ATMEL AT全系列51/52单片机芯片,具有两种方便的下载方式,并且能够通过串口方便地和电脑进行通信。

2.省去了一般开发板高成本的外围扩展器件,但仍可以进行单片机I/O口输入输出、定时/计数器、中断、串口通信等常用实验项目。方便的扩展功能使用户能够根据自身需要配备实用的外围器件。

3.具有市面上一般单片机所不具有的超强扩展性能。每组I/O口两侧都与单片机供电电源相连,免去了以往单片机接扩展板时还需另行供电的麻烦。

4.开发板总体布局美观、大方,所有元件均采用直插式封装,便于焊接。 学习51板单片机应由浅入深,逐步掌握,先是模仿实验,再是自己动手。51板单片机的开发环境是Keil uVision3,简单易懂,详细用法本书后面也做了说明。另外书后还附有几个有趣的实验,方便学生测试51板,也作为学生学习、修改之用。

二.实验目的

1.了解“51” 精简开发板的工作原理及结构;

2.了解复杂电子产品生产制造的全过程;

3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践观念。

三.实验内容

学会焊接电路,在开发板上实现八个流水现象以及通过使用汇编语言,控制流水灯过程。 四.元件

1、单片机

STC89C52 一块

2、晶振 11.0592MHz一只

3、PCB板

4、电阻 三支

5、电容 八只

6、双路自锁开关 一个

7、LED 发光二极管 八只

8、排针

9、4.5V电池盒

10、串口下载线 1.5米

11、串口电平转换芯片 NAX232

12、9针排阻 10千欧姆

13、复位按键

14、

14、PCB板 五.原理图

本产品是一套完整的8位单片机开发系统,若将程序下到51板上,它将成为一个极其有趣的智能玩具。

1.主要性能指标

输入电压:DC 4.5V~5V;典型值:5V

2.功能分区与模块简介

图10.1 51板框图

[1] 单片机

单片机也称单片微控制器(Single Chip Microcontroller),它集成度高、运算快、体积小、运行可靠、价格低廉,在过程控制、数据采集、机电一体化、智能仪器仪表、家用电器以及网络技术等方面得到广泛应用。MCS-51单片机结构框图如图10.2所示。

图10.2单片机结构

[2] 电源部分

电源部分由开关、稳压集成、电源指示灯几部分组成,本款51板输入电压4.5V~5V,典型输入电压为5V,也可通过板上的稳压集成芯片78M05给单片机提供5V电压,可使单片机正常工作。图10.1中的DS0为电源指示灯。 [3] 串行下载部分

这一部分由串口、下载缓冲器MAX232组成,通过MAX232芯片把TTL电平转换成RS-232电平格式,可以用于单片机与微机通信。再通过DB9接口由一条串口线与电脑串口相连,可以利用程序下载软件(下载方法书后将做介绍)向单片机下载程序,也可通过一些串口调试软件与电脑进行串口通信。但是,只有STC89S系列单片机支持串口下载,而AT89S系列单片机不支持串口下载。 [4] ISP下载

ISP下载是AT89S系列单片机的下载方式,不能用于STC89S系列单片机,它由一条并口线与电脑并口相连,通过Easy下载软件向单片机下载程序,但下载器需另行购买。

[5] 输入/输出接口

51板将32个I/O口全部引出:其中P0口、P1口、P2口、P3口各有8个I/O口用排针引出,排针两端为与单片机共地的5V电源,方便进行外接扩展,而单片机的EA、ALE、PSEN端口也在靠近排阻下方引出,以方便日后进行一些高级扩展。P1口接有8个发光LED,以供测试之用,P0口外接10K的上拉电阻。这些I/O口即可做输出,又可做输入口,51单片机内部可自行识别,不必要设置。

[6] 外部复位

复位是对单片机硬件的初始化,51单片机具有外部复位功能,高电平有效,即在单片机9脚加上高电平单片机就被复位。此产品的复位电路由按键S2,电容C3和电阻R9组成。

六.实验步骤:

1.拿到51单片机套件后,首先应按照附录的元器件清单表逐一检查元件数目和规格,确保产品完整。

2.详细阅读硬件说明部分,并将元件对号入座,确保一次性焊接成功。

3.先对较矮小的元件进行焊接,比如电阻、稳压集成,再对高一些的元件进行焊接,比如芯片座、排阻等,依此类推,最后焊接高大的元件,比如串口、ISP下载口等。焊接时应注意一些元件的正负极和方向。

4.由于此套件标准配置不包含稳压集成VR1(78M05),所以焊接完成后要用导线将VR1的

1、3焊盘短接,芯片才能正常供电,此时只能使用4.5-5V的直流稳压电源供电;如果将自购VR1(78M05)焊接在板子上,那么就可以使用7.2V-15V的宽电源供电。

5.焊接并检查无误后先不要急于插入芯片,应该先对芯片供电电压进行测量。插上电源,用万用表检查单片机的20、40脚及MAX232的

15、16脚间电压,看是否为+5V(±0.5V),然后用跳线帽接通P6的中间一针和上面一针,使单片机EA端(31脚)与电源正极相接,之后再插上芯片,进行系统测试。 七.主要功能介绍: MCS-51单片机

也称单片微控制器,;它集成度高,运算快,体积小,运行可靠,价格低廉,在过程控制数据采集,机电一体化,智能仪表,家用电器, 及网络技术等方面得到广泛应用。 串口下载部分

由串口,下载缓冲器MAX232组成,通过MAX232芯片把TTL电平转换为RS232电平格式可以用单片机与电脑通信,再通过DB9接口有一条串口线与电脑串口相连,可以利用程序下载软件向单片机下载程序,也可以通过一些串口调试软件与电脑串口通信,而我们所使用的STC89C系列单片机只支持串口下载。 电源部分

电源部分有开关,稳压集成,电源指示灯几部分组成,熟人电压4.5V到6V。典型值为5V. ISP下载

ISP下载是AT89S系列单片机下载方式而我们所用的是STC89C所以在此不多详细介绍。 输入/输出接口

本开发板将4个并行I/O端口全部用排针引出来,共32个个排针,

排针两端为与单片机共地的5V电源,方便进行外拓展;单片机的ALE,PSEN端口也靠近排阻下方引出以方便日后进行高级拓展。 外部复位

对单片机硬件初始化操作,在系统加电时或出现故障时,在单片机RESET引脚加上一定时间的高电平就可以使单片机复位,这次制作的单片机复位系统是由按键,电容C1和电阻R3构成。 八.实验错误及分析:

1.接好电源盒,电源指示灯不亮。

原因:1电源插座存在虚焊现象,接触不良。

2 电源拔断开关存在虚焊现象,接触不良。 方法:修复虚焊点。 2.不能正常下载程序。

原因:1 电路板电源没有正常接通

2 下载线焊接组装有误

3 51板、下载线、PC机没有正常连接 4 电池电压低 方法:1 电源正常接通

2 更正正确

3 换新

4 更换或修复焊点

3.下载程序完成后,不能完成流水灯功能 原因:1 电池电压过低

2 发光二极管损坏或管脚虚焊 3 电阻R1开路或管脚虚焊 方法:1 更换电池

2 更换或修复焊点 3更换或修复焊点 九.程序:

#include "reg51.h" void main() { unsigned inti=10; P1=0xfe; while(1) {

while(--i) {; } P1=(P1<<1) | 0x01; if(P1==0xff) P3 = 0x7f;

while(P1==0xff) { while(--i){;} P3=(P3>>1) | 0x80;

if(P3==0xff)

{

P1=0xfe; P3=0xff; } } } }

十、系统测试

1.串口测试

接上单片机电源和串口线,打开电源开关,电源指示灯DS0亮,使用STC89C系列单片机,其本身自带了一个测试程序,上电之后DS1-DS7便会两个两个的闪烁。或者自己下载一个程序,如果下载成功,说明串口正常,如不成功,请仔细检查焊点及串口线。

2.I/O口测试

下载程序一,将跳线P5接ON一端,如发现上排LED逐个亮或有规律的亮,说明P1检测正常;

根据程序一的特点,仔细分析程序二各语句功能,并猜测其结果,接着将程序二下载到单片机上,仍将跳线P5接ON一端,自己观察小灯跳变规律,看与自己分析结果是否一致。 十一.心得体会:

在通过本次课程中,我遇到很多问题,但是与此同时,我也学到了很多,对于本次课题的心得体会,我觉得有以下几点:

1、不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。

2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。

3、要识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。

4、,在本次课题中,我也注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我不仅仅要有整体意学会了不懂就问,不仅事半功倍,而且发现了一些好的有趣的构想,使我对单片机有了更浓的兴趣。

5、最后,也是最重要的一点,通过这次课题,我学到了很多有关单片机方面的知识,也对单片机有了更深入的了解,受益匪浅。

算 机 基 本 技 能 训 练

学校:西安科技大学

班级:电气工程及其自动化1202班

姓名:张小雨

学号:1206060202

日期:2014年1月2日

第五篇:单片机实验报告

一、实验目的

1.熟练使用Keil、Protues两款软件 2.通过上机操作,增强个人动手实践能力 3.加深对理论知识的理解

4.培养运用汇编语言进行初步编写程序的能力

二、实验内容

1.将片外RAM3050-306FH中数据转移至片内70-8FH中。

要求:可以从Keil或Protues上看到RAM的数据转移结果。 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。

要求:开发板或Prrotues演示

3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。

要求:在Keil或Protues上看到数据转换结果。

4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。

要求:Protues使软件间示波器显示方波。

三、实验程序

1. 将片外RAM3050-306FH中数据转移至片内70-8FH中

ORG 0000H AJMP MAIN 上电,转向主程序

ORG 0030H 主程序入口

MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器

MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一

DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行

MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1

SJMP $ 等待

END 2. 设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮 ORG 0000H SJMP MAIN 上电,转向主程序

ORG 0003H 外部中断0向量入口

AJMP INSER ORG 0030H 主程序入口

MAIN: SETB EX0 SETB IT0

SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行

RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP

允许外部中断0中断 选择边沿触发方式 开中断 等待中断 设置循环次数 赋初值,设置高电平亮 将初值送往P2口 延时 左移一位

判断循环次数,是否跳转到中断返回 延时程序 DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波

ORG 0000H

AJMP MAIN

ORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值

MOV TL1,#0F0H

SETB ET1 开中断

SETB EA CPU开中断

SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断 ORG 001BH T1中断向量地址

CLR TF1 将TF1清零

CPL P2.0 P2.0取反输出

MOV TH1,#0D8H 重装初值

MOV TH0,#0F0H

RETI;中断返回

END 4.2 查询方式产生50HZ方波

ORG 0000H

AJMP MAIN

ORG 0030H 主程序入口

MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值

MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待

CLR TF1

产生溢出,清标志位

CPL P2.0 P2.0取反输出

SJMP LOOP 循环

END

四、实验结果截图

1.

2

3.

4.1

4.2

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:贷前调查报告范本下一篇:电气安全技术交底