当前位置:文档之家› 单片机-分支程序设计教案

单片机-分支程序设计教案

单片机-分支程序设计教案
单片机-分支程序设计教案

一、复习上次课内容

1、什么是标识符?

答:标识符是程序员选择的名字,用来标识常量、变量、过程、段名等。

2、什么是伪指令?

答:注释性的,没有对应的机器码,不令计算机做任何操作,不产生目标程序,不影响程序的执行。。

二、讲授新课

4.3分支程序设计

在很多实际问题中,都需要根据不同的情况进行不同的处理。这种思想体现在程序设计中,就是根据不同条件而转到不同的程序段去执行,

所示。

这就构成了分支程序。分支程序的结构有两种,如图4.2

图4.2(a)结构使用条件转移指令来实现分支,当给出的条件成立时,执行程序段A,否则执行程序段B。

图4.2 (b) 结构使用散转指令JMP来实现多分支转移,它首先将分支程序按序号的值来实现分支转移。

分支程序的特点是改变程序的执行顺序,跳过一些指令,去执行另外一些指令。应注意:对每一个分支都要单独编写一段程序,每一分支的开始地址赋给一个标号。

在编写分支程序时,关键是如何判断分支的条件。在MCS-51系列单片机中可以直接用来判断分支条件的指令并不多,只有累加器为零(或不为零)、比较条件转移指令CJNE 等,MCS-51单片机还提供了位条件转移指令,如JC ,JB 等。把这些指令结合在一起使用,就可以完成各种各样的条件判断。

【例4-5】设补码X 放在内部RAM30H 单元中,函数Y 与X 有如下的关系

式:

试编写程序,根据X 的值求出Y ,并放回原单元。

解 取出X 后先做取值范围的判断,用累加器A 状态转移指令判断X 是否为0,用位状态转移指令判断X 是大于0还是小于0。程序流程图如图4.3所示。

程序如下: MOV A ,30H JZ ZER0 JNB ACC.7,PLUS

ADD A,#5

MOV 30H,A

PLUS: SJMP $

ZERO: MOV 30H,#20H

SJMP $

END

【例4-6】内部RAM40H和41H单元中各有一无符号数,比较其大小,将大数存放于内部RAM60H单元,小数存放于内部RAM61H单元,如两数相等,则分别送往这2个单元。

解用比较不等转移指令CJNE比较力两个无符号书,先确定它们是否相等,若不相等时再根据借位标志确定这两个无符号书的大小。程序框图如图4.4所示。

程序如下:

MOV A, 40H

MOV 61H, 41H

CJNE A, 41H, LOOP

AJMP AGEQ

JNC AGEQ ;A≥(41H)则无借位

LOO

P:

XCH A, 61H ;A<(41H)有借位

MOV 60H, A ;A与(61H)交换

AGE

Q:

SJMP $

END

【例4-8】将ASCII码制转换为十六进制数。如果不是十六进制数得ASC II码,用户标志位置1。解:由ASCII码表知,30H~39H为0~9的ASC II码,41H~46H为A~F的ASCII码。在这一范围的ASCII码减去37H 就可以获得对应的十六进制。设ASCII码放在累加器A中,转换结果放

所示

回A中。程序流程图如图4.5

三、课堂巩固

四、课堂小结

五、作业

单片机 查表程序设计实验

2.4 查表程序设计实验 2.4.1 实验目的 学习查表程序的设计方法,熟悉 51 的指令系统。 2.4.2 实验设备 PC 机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51 系统平台”、或 “TD-PITE 教学实验系统+TD-51 系统平台” 2.4.3实验内容 1. 通过查表的方法将 16 进制数转换为 ASCII码; 2 2. 通过查表的方法实现y=x ,其中x为 0~9 的十进制数,以BCD码表示,结果仍以BCD 码形式输出。 2.4.4 实验步骤 1. 采用查表的方法将 16 进制数转换为 ASCII 码 根据 ASCII码表可知,0~9 的 ASCII码为 30H~39H,A~F的 ASCII码为 41H~46H,算 法为(假定待转换的数存放在 R7 中): 当 R7≤9 时,相应的 ASCII码为:R7+30H; 当 R7>9 时,相应的 ASCII码为:R7+30H+07H。 实验程序清单:(Asm4-1.asm) ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV DPTR, #ASCTAB ;表格首地址送DPTR MOV A, R7 ;R7中为待转换的数 ANL A, #0FH ;取低4位 MOVC A, @A+DPTR ;查表 MOV R5, A ;低4位转换结果送R1 MOV A, R7 ANL A, #0F0H ;取待转换数的高4位 SWAP A ;高4位与低4位交换 MOVC A, @A+DPTR ;查表 MOV R6, A ;高4位转换结果送R2 SJMP MAIN ;设置断点观察结果 ;ASCII码表 ASCTAB: DB 30H, 31H, 32H, 33H, 34H DB 35H, 36H, 37H, 38H, 39H DB 41H, 42H, 43H, 44H, 45H, 46H END 实验步骤: (1)编写实验程序,编译、链接无误后联机调试; (2)将待转换的数存放在 R7 中,如令 R7 中的值为 0x86;

AD教案实验6单片机最小系统原理图设计

实验六单片机最小系统原理图设计 1 实验目的及要求 ?熟悉Altium designer的操作 ?能够画库原件中没有的库以及封装,并能加载到库,在原理图中熟练调用 ?能够设计较为复杂的电路原理图,并输出元件清单表 2 实验设备 装有Altium designer的电脑一台 3 实验步骤 新建设计工作区:文件-新建-设计工作区 新建PCB工程:文件-新建-工程-PCB工程 新建原理图,PCB图,原理图库以及PCB图库:文件-新建-原理图/PCB/库-原理图库/PCB图库 保存PCB工程文件到以自己名字新建的文件夹里面,保存文件名为51DPJ,文件类型为默认。(实验五已经新建完的可以直接打开,不用再新建一遍了。) 然后在新建完的原理图的里面把本次实验的原理图设计出来。本次实验注重在原理图的编辑以及PCB的制作,以51单片机最小系统为例,大家做的时候可以不完全按照所给原理图画,然后很多元器件可以在网上找到PDF的文档资料,资料中会比较详细介绍元器件的信息,封装,电路图,实物图,以及检测的效果图,电路中的封装基本按照上面来做。

图3 实验原理图 输出元件清单表BOM BOM表对一个项目来说非常重要,因为这张表不仅包含了原理图上的所有元件,同事也是生成部分和采购部门的重要参考文件,因为生成部要利用BOM知道元件的位置及型号,二采购部要知道元件完整型号以及精度等级等参数从而去进行选购,因此,工程师一定要保证BOM单不能出错,否则造成的麻烦可能影响你的产品设计周期。 完整BOM单输出: ?进入BOM单输出对话框:单机菜单Reports---bill of Materials进入BOM单输出对 话框 ?设置BOM单格式并输出:All columns 表格内用于选择 BOM单要添加的栏;从 all columns 栏选中某关键字拖拽到 Grouped Columns 栏用于设置以前关键字进行整行合并;Export 区域内用于设置 BOM 单输出格式;最后单击 EXPORT 按钮导出BOM 单。 ?变量BOM单输出:按照第二部设置好BOM格式后,如果要以变量形式输出 BOM单,课单机Menu按钮,从中选择Change Variant 变量,再到处BOM单既可以变量形式输出。

C程序设计题库

填空题 20*2 ■对于51系列单片机,现有4种语言支持程序设计,它们是(汇编语言)、PL/M、(C语言)、BASIC。 ■单片机程序设计时需要在主程序中设计死循环来防止程序跑飞。在C语言中采用(while(1))或for(;;)语句实现死循环。 ■单片机程序设计中经常用到中断,在C语言程序设计中外部中断1的中断入口序号(2),而汇编语言程序设计中外部中断1的入口地址是(0013H)。 ■编写串口中断程序时要在函数说明部分后写interrupt 4 。 ■编写定时器0中断程序时要在函数说明部分后写interrupt 1 。 ■C语言程序设计中有一个无符号形字符变量temp和一个位变量Flag,现在分别对它们取反。相应的语句为temp=__~___temp; Flag=_!___Flag;。 ■I2C总线在传送数据过程中共有三种类型控制信号,它们分别是:_(起始信号)____、应答信号、_(停止信号)_____。 ■I2C的地址由(协议规定)与(硬件设置)两部分组成。 ■I2C器件的两条信号线分别为串行时钟线SCL 与串行数据线 SDA 。 ■MCS-51单片机操作I2C器件时,单片机必须做为主机,I\O编程。 ■在Cx51所有的数据类型中,只有bit 与unsigned char 直接支持机器指令。 ■编译器性能比较有如下几个方面:算数支持、生产代码大小、开打速度、支持浮点和long 。 ■在KEIL开发套件中,BL51链接器/定位器用于创建一个绝对目标横快。 ■Cx51中函数分为两大类:标准库函数和用户自定义函数。 ■在函数名前如果不指定函数类型,则该函数的类型为整型。 ■具有一定格式的数字或数值叫做数据,数据的不同格式叫做数据类型, 数据按一定的数据类型进行的排列、组合及架构称为数据结构。 ■数据类型的转换有自动转换与强制转换两种。 ■直接出现在程序中的数值(如TMOD=0x21)称为常数。在程序运行的过程中,其值不能改变且被定义为符号的(如#define CONST 60)称为常量。 ■软件对常量与变量的命名规范是:常量名用大写字母,变量名用小写字母。 ■MCS-51单片机串口用于中断通讯时,在进行初始化时必须设置的特殊功能寄存器有:

单片机原理与应用及C51程序设计实验报告

《单片机原理与应用及C51程序设计》 实验报告

一.软件仿真 1.实验要求 基本要求:用串口输出“hello word”语句。增加的要求:延时或定时输出语句,采用查询/中断的方式控制启动/停止。 2.源程序: (1).采用延时函数,延迟输出语句,p0_0控制启动/停止。 #include #include sbit p0_0=P0^0; void Delay(unsigned int Delaytime); void main(void) { SCON = 0x50; //串口方式1,允许接收 TMOD = 0x20; //定时器1 定时方式2 TCON = 0x40; //设定时器1 开始计数 TH1 = 0xE8; //11.0592MHz 1200 波特率 TL1 = 0xE8; TI = 1; TR1 = 1; //启动定时器 while(1) { if(p0_0==0) {Delay(10000); printf ("Hello World!\n"); //显示Hello World } } } void Delay(unsigned int Delaytime) {unsigned int j=0; for(;Delaytime>0;Delaytime--) for(j=0;j<100;j++); } (2).采用定时器定时,延迟输出语句。P0_0控制启动/停止。 #include

#include sbit p0_0=P0^0; #define uchar unsigned char #define uint unsigned int uchar count; void main() { SCON = 0x50; //串口方式1,允许接收 TMOD = 0x21; TCON = 0x40; //设定时器1 开始计数 TH1 = 0xE8; //11.0592MHz 1200 波特率 TL1 = 0xE8; TH0=0X3C; TL0=0XB0; EA=1; ET0=1; TI = 1; TR1 = 1; //启动定时器 while(1) { if(p0_0==0) { TR0=1; if(count==200) { count=0; printf("hello world!\n"); } } } } void timer0()interrupt 1 { TH0=0X3C; TL0=0XB0; count++; } 3.实验心得: 第一次实验不需要硬件实现,只需要用软件仿真,串口输出“hello word”语句就ok,所以此次实验比较简单,不需要费太多时间就能把实验完成。 二.键控流水灯 1.实验要求: 8051单片机的P1口的P1.0—P1.7分别接有LED(D1—D8),当某一端口输出,为“0”

(完整版)单片机技术教案(综合版)

第一讲 一、授课内容: 1.授课科目:单片机技术 2.授课内容:1.1什么是单片机 1.2单片机的发展 1.3 MCS-51和80C51系列简介 1.4单片机的应用领域和应用模式 3.授课类型:讲授 4.授课时间:2学时 5.主讲教师:刘珊 二、教学目的:了解单片机的发展,应用领域和应用模式,掌握单片机的特点 三、教材分析: 重点/难点:单片机的特点 四、教学设想: 1.借助多媒体教学,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识 的讲解. 2.借助EWB软件做演示实验,增强学生对知识的理解,同时提高他们对本学科的兴趣. 五、教学过程:(板书) 一、什么是单片机 单片机是将CPU,RAM,ROM,定时器/计数器以及I/O接口电路等计算机的主要部件集成在一块电路芯片上。 SCM:单片微型计算机 MCU:微控制器 SOC: 片上系统 二、单片微型计算机发展概况 单片机出现的历史并不长, 但发展十分迅猛。它的产生与发展和微处理器的产生与发展大体同步, 自1971年美国Intel公司首先推出4位微处理器(4004)以来, 它的发展到目前为止大致可分为5个阶段: 第1阶段(1971~1976): 单片机发展的初级阶段。1971年11月Intel公司首先设计出集成度为2 000只晶体管/片的4位微处理器Intel 4004, 并配有RAM、ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器Intel 8008, 以及其它各公司相继推出的8位微处理器。 第2阶段(1976~1980): 低性能单片机阶段。以1976年Intel公司推出的MCS—48系列为代表, 采用将8位CPU、8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于 4 KB), 也没有串行I/O, RAM、ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。 第3阶段(1980~1983): 高性能单片机阶段。这一阶段推出的高性能8位单片机普遍带有串行口, 有多级中断处理系统, 多个16位定时器/计数器。片内RAM、ROM的容量加大,且寻址范围可达64 KB, 个别片内还带有A/D转换接口。 第4阶段(1983~80年代末): 16位单片机阶段。1983年Intel公司又推出了高性能的16位单片机MCS—96系列, 由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管

单片机c语言设计试题答案

单片机C语言程序设计师试题 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。 2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。 3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。 4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。 5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。 6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。 7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。 8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。 9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。 10、子程序返回指令是________,中断子程序返回指令是_______。 11、8051单片机的存储器的最大特点是____________________与____________________分开编址。 12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。 13、_______是C语言的基本单位。 14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。 15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。 16、一个函数由两部分组成,即______________和______________。 17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。 18、利用8155H可以扩展___________个并行口,___________个RAM单元。 19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。二、选择题 1、C语言中最简单的数据类型包括()。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 2、当MCS-51单片机接有外部存储器,P2口可作为 ( )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址 3、下列描述中正确的是()。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 4、下列计算机语言中,CPU能直接识别的是()。 A、自然语言 B、高级语言 C、汇编语言 D、机器语言 5、MCS-5l单片机的堆栈区是设置在( )中。 A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区 6、以下叙述中正确的是()。 A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C程序实现的算法可以没有输入但必须要有输出 D、用C程序实现的算

单片机课程设计教学大纲.

《单片机课程设计》教学大纲 课程编号:08105 学时:1周学分:1 修课方式:必修承担单位:信息科学与工程学院考核方式:考查 一、课程设计目的与任务 1.目的: (1培养学生综合运用所学理论知识分析和解决实际问题的能力。 (2锻炼学生的独立工作能力,也是对前期理论与实践教学效果的检验。 (3通过课程设计使学生深入理解单片机的基本原理,硬件结构和工作原理。掌握程序的编制方法和程序调试的方法,掌握常用接口的设计及使用。掌握一般接口的扩展方法及接口的调试过程。为学生将来在电子信息工程、测试计量技术及仪器、通信工程、电子科学与技术及其他领域应用单片机技术打下良好基础及应用实践能力。 2.任务: (1设计以单片机为控制核心的测量系统或控制系统,完成对指定目标或对象的测量及控制。 (2设计单片机与测量及控制对象的接口并进行硬件调试。 (3针对要求测量或控制的对象完成程序的编制。 (4硬件软件联调,完成指导教师布置的各个具体题目所要求完成的功能。 二、课程设计的基本要求

本课程设计重视培养并提高学生创新设计能力、理论与实际相结合的综合素质、单片机系统硬件设计能力,软件编程技巧,软硬件联合调试技巧及技能等实践能力。 1.选题要求:满足课程设计的教学目的与要求,使学生得到全面的综合训练,题目难度和工作量应适合学生的知识和能力状况。 2.学生根据课程实际任务书的要求合理地安排设计进度, 3.学生对自己课程设计的题目,应概念清楚,设计方案合理,硬件设计正确,程序编制正确合理,调试结果符合设计要求,课程设计报告书撰写规范。 三、课程设计内容及学时分配 1.查阅相关设计技术资料:0.5天。 2.根据设计题目和所学理论知识及相关文献资料,确定系统的整体设计方案:0.5天。 3.硬件电路设计及原理图绘制:1天。 4.根据课题具体要求编制相应软件并进行调试:1.5天。 5.撰写设计计算说明书,不少于3000字,说明书格式,结构及要求等符合规范要求: 1天。 6.成果验收:教师在学生调试的过程中应掌握每个学生调试的具体情况并验收 结果。 7.答辩:教师对学生课程设计验收成果后,由答辩小组主持答辩,学生自述约5分钟,并回答3-4个问题,每个学生答辩时间约15分钟:0.5天。 四、课程设计参考资料

单片机-实验二-分支程序设计实验

实验二实验报告 ·

将00-99的十进制数据转换成二进制进行开关量的输入,L0灯亮 将100的十进制转换为01100010的二进制开关量进行输入,L1灯亮

将101-127的十进制转换为二进制进行开关量的输入,L2灯亮 完整的接线图

实验操作 1、正确连接实验板子和电脑,将点源接入,数据线连接到电脑的USB接口,在电脑端运行 软件,取消勾选模拟器,按照实验装置的名称正确的选择响应的系统。 2、在软件内部按照输入分支程序结构。 3、打开点源开关。 4、调整输入的各个断口的开关量,着重关注在二进制数01100010附近的变化. 5、整理实验器材。 思考题1 写出分支程序设计的要点 分支结构也成为选择结构。在程序中每个分支均为一个程序段。为分支需要,程序设计时不要忘记给程序段的起始地址赋予一个地址标号,以供选择分支使用。 这次实验使用的是一个多分支程序结构,可以通过一系列的JC\JNC\JB\JNB的判断,进行逐级分支。并且可以使用CJNE进行实现。 80C51中没有专门的多分支转移指令,可以使用的变址转移指令“JMP @A+DPTR”,但是这样的指令需要数据表格配合。 思考题2 8051单片机有几个并行口,写出各并行口的特点 8051单片机有4个并行I/O口,分别为P0\P1\P2\P3,以实现数据的并行输入与输出。 这4个并行口均是8为双向口线,各占8个引脚,在P3口线上有着引脚复用,均有第二功能信号,这些第二功能信号都是重要的控制信号,在实际使用中总是先按需要优先选用第二功能,剩下的不用的再当作口线使用。 并行可以有效的提高单片机的工作效率。 思考题3 实验中遇到的苦难 在这个实验中和实验一显著不同的是我们需要重新认识硬件与软件的配合,一些数据线的链接,点源的通断都是我们学习的要点,我们也第一次接触到了输入口和输出口相互之间的区别。 这个实验我们一定要将十进制的思维转换过来转换为二进制的思维,在机器语言中只有开关量的通断,而这个题目也是很好的应用了开关量的通断完成了这个实验。 学会了分支判断方式的编程

5 STC15F2K60S2单片机的程序设计 例题

第5章STC15F2K60S2单片机的程序设计 例题 例5.1 分析ORG在下面程序段中的控制作用 ORG 1000H START: MOV R0,#60H MOV R1,#61H …… ORG 1200H NEXT: MOV DPTR,#1000H MOV R2,#70H …… 解:以START开始的程序汇编后机器码从1000H单元开始连续存放,不能超过1200H 单元;以NEXT开始程序汇编后机器码从1200H单元开始连续存放。 例5.2 分析END在下面程序段中的控制作用。 START: MOV A,#30H …… END START NEXT: …… RET 解:汇编程序对该程序进行汇编时,只将END伪指令前面的程序转换为对应的机器代码程序,而以NEXT标号为起始地址的程序将予以忽略。因此,若NEXT标号为起始地址的子程序是本程序的有效子程序的话,应将整个子程序段放到END伪指令的前面。

例5.3 分析下列程序中EQU指令的作用 AA EQU R1 ;给AA赋值R1 DA TA1 EQU 10H ;给DA TA1赋值10H DELAY EQU 2200H ;给DELAY赋值2200H ORG 2000H MOV R0,DATA1 ;R0←(10H) MOV A,AA ;A←(R1) LCALL DELAY ;调用起始地址为2200H的子程序 END 解:经EQU定义后,AA等效于R1,DATA1等效于10H,DELAY等效于2200H,该程序在汇编时,自动将程序中AA换成R1、DATA1换成10H、DELAY换成2200H,再汇编为机器代码程序。 使用赋值伪指令EQU的好处在于程序占用的资源数据符号或寄存器符号用占用源的英文或英文缩写字符名称来定义,后续编程中凡是出现该数据符号或寄存器符号就用该字符名称代替,这样,采用有意义的字符名称进行编程,更容易记忆和不容易混淆,也便于阅读。

单片机-分支程序设计教案

一、复习上次课内容 1、什么是标识符? 答:标识符是程序员选择的名字,用来标识常量、变量、过程、段名等。 2、什么是伪指令? 答:注释性的,没有对应的机器码,不令计算机做任何操作,不产生目标程序,不影响程序的执行。。 二、讲授新课 4.3分支程序设计 在很多实际问题中,都需要根据不同的情况进行不同的处理。这种思想体现在程序设计中,就是根据不同条件而转到不同的程序段去执行,这就构成了分支程序。分支程序的结构有两种,如图4.2所示。 图4.2 分支程序结构 图4.2(a)结构使用条件转移指令来实现分支,当给出的条件成立时,执行程序段A,否则执行程序段B。 图4.2 (b) 结构使用散转指令JMP来实现多分支转移,它首先将分支程序按序号的值来实现分支转移。 分支程序的特点是改变程序的执行顺序,跳过一些指令,去执行另外一些指令。应注意:对每一个分支都要单独编写一段程序,每一分支的开始地址赋给一个标号。 1 / 5

在编写分支程序时,关键是如何判断分支的条件。在MCS-51系列单片机中可以直接用来判断分支条件的指令并不多,只有累加器为零(或不为零)、比较条件转移指令CJNE等,MCS-51单片机还提供了位条件转移指令,如JC,JB等。把这些指令结合在一起使用,就可以完成各种各样的条件判断。 【例4-5】设补码X放在内部RAM30H单元中,函数Y与X有如下的关系式: 试编写程序,根据X的值求出Y,并放回原单元。 解取出X后先做取值范围的判断,用累加器A状态转移指令判断X是否为0,用位状态转移指令判断X是大于0还是小于0。程序流程图如图4.3所示。 程序如下: MOV A,30H JZ ZER0 2 / 5 JNB ACC.7,PLUS

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

PIC系列单片机程序设计基础

1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 ORG ——地址定义伪指令 PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为: PIC16C54/55:1FFH PIC16C56:3FFH PIC16C57/58:7FFH 一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式供参考。 TITLE This is …… ;程序标题 ;-------------------------------------- ;名称定义和变量定义 ;-------------------------------------- F0 EQU 0 RTCC EQU 1 PC EQU 2 STATUS EQU 3 FSR EQU 4 RA EQU 5 RB EQU 6 RC EQU 7 ┋ PIC16C54 EQU 1FFH ;芯片复位地址 PIC16C56 EQU 3FFH PIC16C57 EQU 7FFH ;----------------------------------------- ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序 ORG 0 ;在0000H开始存放程序

;----------------------------------------- ;子程序区 ;----------------------------------------- DELAY MOVLW 255 ┋ RETLW 0 ;------------------------------------------ ;主程序区 ;------------------------------------------ MAIN MOVLW B‘00000000’ TRIS RB ;RB已由伪指令定义为6,即B口 ┋ LOOP BSF RB,7 CALL DELAY BCF RB,7 CALL DELAY ┋ GOTO LOOP ;------------------------------------------- END ;程序结束 注:MAIN标号一定要处在0页面内。 2、PIC单片机程序设计基础 1) 设置 I/O 口的输入/输出方向 PIC16C5X单片机的I/O 口皆为双向可编程,即每一根I/O 端线都可分别单独地由程序设置为输入或输出。这个过程由写I/O控制寄存器TRIS f来实现,写入值为“1”,则为输入;写入值为“0”,则为输出。 MOVLW 0FH ;0000 1111(0FH) 输入输出 TRIS 6 ;将W中的0FH写入B口控制器,

单片机原理与C51语言程序设计与基础教程 课后习题答案

单片机原理与C51语言程序设计与基础教 程课后习题答案 习题 填空题 1.一般而言,微型计算机包括、、、四个基本组成部分。 2.单片机是一块芯片上的微型计算机。以为核心的硬件电路称为单片机系统,它属于地应用范畴。 3.Atmel 公司生产的CMOS型51系列单片机,具有内核,用 代替ROM作为程序存储器, 4.单片机根据工作温度可分为、和三种。民用级的温度范围是0℃一70℃,工业级是-40℃~85℃,军用级是-55℃-125℃(不同厂家的划分标推可能不同。 5.在单片机领域内,ICE的含义是。 选择题 1.单片机的工作电压一般为V? A 5V B 3V C 1V D 4V 2.单片机作为微机的一种,它具有如下特点: A 具有优异的性能价格比 B 集成度高、体积小、可靠性高 C 控制功能强,开发应用方便 D 低电压、低功耗。 3.民用级单片机的温度范围是: A -40℃~85℃ B 0℃一70℃ C -55℃-125℃ D 0℃一50℃ 4.MCS-51系列单片机最多有个中端源。 A 3 B 4 C 5 D 6 5.下列简写名称中不是单片机或单片机系统的是 A MCU B SCM C ICE D CPU 问答题 1.单片机常用的应用领域有哪些? 2.我们如何学习单片机这么技术? 3.单片机从用途上可分成哪几类?分别由什么用处? 答案

填空题 1.运算器、控制器、存储器、输入输出接口 2.单片机嵌入式系统 3.MCS-51 Flash ROM 4.民用级(商业级) 工业级军用级 5.在线仿真器 选择题 1.A 2.ABCD 3.B 4.C 5.D 问答题 1.单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: (1)在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 (2)在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 (3)在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 (4)在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 (5)单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 2.首先,大概了解单片机的机构,例如本书的第2章则是主要讲了单片机的内部结构以及资源。对单片机的内部结构有了初步了解之后,读者就可以进行简单的实例练习,从而加深对单片机的认识。 其次,要有大量的实例练习。其实,对于单片机,主要是软件设计,也就是编程。目前最流行的用于51系列单片机地编程软件是Keil。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好

《单片机的C语言程序设计与运用(第2版)》期末复习题及答案2

第四章 中断类 例4-1 P104 假设外部中断0和外部中断1均为下降沿触发,当外部 中断0发生时,P0端口的电平反向,当外部中断1发生 时,P1端口的电平反向。 #include void IS0(void) interrupt 0 { P0=~P0;} //P0端口反向 void IS1(void) interrupt 2 { P1=~P1;} //P1端口反向 void main( )

{ P0=0x00; P1=0xFF; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; while(1); } 【例4-9】外部中断示例 在本实例中,首先通过P1.7口点亮发光二极管D1,然后外部输入一脉冲串,则发光二极管D1亮、暗交替。 #include sbit P1_7=P1^7; void interrupt0( ) interrupt 0 using 2 //外部中断0 { P1_7=!P1_7;} void main( )

{ EA=1; //开中断 IT0=1; //外部中断0脉冲触发 EX0=1; //外部中断0 P1_7=0; do{ }while(1); } 如果有3个脉冲,则灯亮、暗交替一次,可如下面编程:#include Sbit P17=P1^7; unsigned char i=3; void main( ) { EA=1; IT0=1; EX0=1; P17=0; do{ }while(1); } void interrupt0( ) interrupt 0 { i=i-1; if(i==0) { P17=!P17; i=3; } } 【例4-10】如图4-18所示,8只LED阴极接至单片机P0口,两开关

实验一_单片机数据区传送排序程序设计复习课程

实验一_单片机数据区传送排序程序设计

实验一单片机数据区传送/排序程序设计 一、单片机数据区传送/排序程序设计 一、实验目的 1.进一步掌握汇编语言程序设计和调试方法。 2.了解单片机RAM中的数据操作 二、实验说明 要求:编写程序把R2、R3源RAM区首地址内的R6、R7字节数据传送到R4、R5目的地址的RAM区。 三、实验仪器 计算机 伟福软件( lab2000P ) 四、实验内容 在R0、R1中输入源地址(例如:3000H),R2、R3中输入目的地址(例如4000H),R6、R7中输入字节数(例如:1FFFH)。 查看RAM 区3000~30FFH和4000~40FFH内容,也可自己重新赋值。 运行程序,首先单步,然后用执行到指定位置,最后用连续运行方式。 记录下运行结果,检查3000~30FFH中内容是否和4000~40FFH内容完全一致。 五、思考题 1、改变源地址,例如00FFH; 2、改变目的地址,例如2000H; 3、改变传输的个数,小于256个和大于256个的情况。

4、把程序改为对某一数据存储区RAM赋都相同一个数值。 六、源程序及其修改原理 org 0000H Block equ 2000h mov dptr, #Block ; 起始地址 mov r0,#12h mov a,#20h ;修改2000h开始的地址所存放的内容为20h Loop: mov r1,#14h ;增加r1计数,用循环方式实现大于256的数据传输(思考题3) Loop1: movx @dptr,a inc dptr ; 指向下一个地址 djnz r1,Loop1 djnz r0, Loop ; 双循环实现r0,r1计数相乘 (以上程序实现对某一数据存储区2000h~2168hRAM赋都相同一个数值20h,思考题4) mov r0, #20h ;改变源地址为2000h(思考题1) mov r1, #00h mov r2, #50h;改变目的地址为5000h(思考题2) mov r3, #00h mov r7, #0 Loop: mov dph, r0 mov dpl, r1 movx a, @dptr mov dph, r2 mov dpl, r3 movx @dptr, a

单片机C语言程序设计师试题及答案

单片机C语言程序设计师试题 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。 2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。 3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。 4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。 5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。 6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。 7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。 8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。 9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。 10、子程序返回指令是________,中断子程序返回指令是_______。 11、8051单片机的存储器的最大特点是____________________与____________________分开编址。 12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。 13、_______是C语言的基本单位。 14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。 15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。 16、一个函数由两部分组成,即______________和______________。 17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。 18、利用8155H可以扩展___________个并行口,___________个RAM单元。 19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。 二、选择题 1、C语言中最简单的数据类型包括(b )。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 2、当MCS-51单片机接有外部存储器,P2口可作为( c )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址 3、下列描述中正确的是( d )。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 4、下列计算机语言中,CPU能直接识别的是( d )。 A、自然语言 B、高级语言 C、汇编语言 D、机器语言 5、MCS-5l单片机的堆栈区是设置在( c )中。

单片机课程设计教案

《单片机技术及其应用》课程设计教案 一、课程设计的目的 课程设计是在学完《单片机原理及接口技术》课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础. 1.了解并掌握单片机的原理、结构、指令、接口及应用。 2.提高综合运用所学的理论知识独立分析和解决问题的能力。3.掌握汇编语言程序设计和调试。 4. 掌握C51语言的设计和调试。 二、课程设计的要求 1.根据设计要求,画出硬件接线图及程序的总体流程图,然后进行各控制模块的硬件设计及软件设计。 2.掌握如何应用单片机仿真器来开发应用系统及仿真调试的过程。 三、课程设计的安排 1.时间安排,课程设计时间分为三个阶段: 第一阶段(8学时):主要是学生接受课程设计的准备阶段。包括:1)学生集中介绍课程设计的具体内容和具体要求,学生选题。(4学时) 2)安排学生收集相关资料,确定课程设计的总体方案。(4学时)第二阶段(20学时):主要是学生具体课程设计的过程。包括:学生做的工作 1)确定电路中使用的电子元器件(包括元件名称和及参数值)

2)软件设计与仿真(画出软件流程图,并编写具体的代码) 老师做的工作 1)辅导学生解决在制作过程中出现的问题 2)协助学生购买设计中需要的电子元器件 3)辅导学生焊接电路板和相关元器件 4)辅导学生完成程序的烧写和硬件测试 提供烧写器给学生,由学生能够进行软件仿真调试程序。学生在焊接完毕后,将程序下载到主芯片里并测试电路。由辅导老师辅导学生调试硬件和软件部分,共同解决测试过程中出现的问题,使学生在测试过程进一步学习。 第三阶段(8学时):主要是文档资料整理和答辩 1)安排学生交课程设计报告并总结 2)每组随机抽取3个人进行答辩,取平均成绩作为小组每个人的答辩成绩 课程设计结束后,将学生的设计的实物做课程设计汇报,在实验中心1楼做一个展览。 2. 分组安排 学生可以自由组合,3-6名学生成立一个小课题组,选一名组长,确定课题后由组长进行分工。 3.课题选择 以小组为单位,一组选择一个课题,可以自己选定题目,也可以在指导教师提供的课题中选择。 四、可供选择的课题 1、抢答器的设计

相关主题
文本预览
相关文档 最新文档