当前位置:首页 > 单片机实验指导书终稿
石家庄铁道大学 单片机实验指导书
实验一 清零、移数、判断
一、实验目的
1、 掌握汇编语言程序设计和调试方法。 2、 掌握RAM存储器读写及存储块操作方法 3、熟悉分支结构程序的设计。 二、实验内容
将片内30H~40H及片外0010H~0100H清零,然后将片内41H~47H的内容移到片外0041H~0047H,判断:
若(0041H)<15,则求其平方存到0050H中,并将位00H置1。 (0041H)=15, 则加15存到0050H中,并将位01H置1。 (0041H)>15, 则减15存到0050H中,并将位02H置1。 三、实验说明
通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片 机编程,调试方法。 四、实验框图
片内外RAM清零流程图 移数流程图
1
石家庄铁道大学 单片机实验指导书
取数与15是否同是数加15,01H置位是否大于15是减15,02H置位否否求平方,00H置位存数结束
判断流程图
五、思考题
1、如果平方数超过255,怎样将数放到片内RAM 30H和31H单元内,写出指令。
2、位的表示方法有哪些,举例说明?将01H位清零的方法有几种,写出指令。
2
石家庄铁道大学 单片机实验指导书
实验二 排序、加法
一、实验目的
1、 进一步掌握汇编语言程序设计和调试方法。 2、掌握数据排序的算法及加法运算。 二、实验内容
1、有两个长度为10个字节的无符号数分别放在片内30H和40H为首的存储单元中(低字节),求其和(带进位位),放在50H为首的单元中。
2、将50H为首单元中的数按升序排列放在60H为首的单元中。
三、实验说明
通过本实验,学生可以了解单片机排序的算法,本程序采用“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。 四、实验框图
设置起始地址数据块长度加法运算 存数数据块移动(60H开始的地址)冒泡法排序地址加1否是否加完是结束是否排序完是结束否
加法运算流程图 排序流程图
五、思考题
1、-125与-9相加,PSW中OV、AC、CY的值是多少?各表示什么含义?
2、两个压缩BCD码59和22相加,结果放到片内RAM 30H单元中,写出程序。
3
石家庄铁道大学 单片机实验指导书
实验三 查表、多分支
一、实验目的
1、 掌握查表指令。
2、 掌握多分支结构程序的设计。 二、实验内容
设有一表格,表中数为:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根据片外0000H单元的低4位的数,取出表中相应的值存到片内30H中;根据片外0000H单元的高4位的数,将片内RAM区中可位寻址的相应的位置1(从位00H~位0FH,只可有一个位地址为1) 三、实验说明
通过本实验,学生可以掌握多分支结构程序的设计,本程序采用查表指令和散转指令进行程序设计。 四、实验框图
从片外取数得到低四位根据第四位查表得到相应的值存数得到高四位根据高四位得到跳转地址跳转到相应程序段进行位操作调用返回结束
查表指令查数流程图 散转指令位操作流程图
五、思考题
1、如果表中对应的数是一个字,该如何操作,例如:
根据片内RAM 50H单元中的数,给出的数在00-05H之间,数据表存放在片内ROM 20H开始的单元中,数据表存放在20H开始的片内ROM中,查表所得数据字(双字节,高位字节在后)高位字节存于52H、低位字节存于51H。写出程序。
50H单元中的数据:00 01 02 03 04 05H 对应的数: 1011H 1234H 3456H 4578H AA10H FF89H
2、写出远程查表和近程查表指令的查表范围。
4
共分享92篇相关文档