单片机作业提问
单片机延时问题20问

单片机延时问题20问延时与中断出错,是单片机新手在单片机开发应用过程中,经常会遇到的问题,本文汇总整理了包含了MCS-51系列单片机、MSP430单片机、C51单片机、8051F的单片机、avr单片机、STC89C52、PIC单片机…..在内的各种单片机常见的延时与中断问题及解决方法,希望对单片机新手们,有所帮助!1、单片机延时程序的延时时间怎么算的?答:如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。
第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。
本程序中假设使用频率为12 MHz的晶振。
最长的延时时间可达216=65 536 μs。
若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
2、求个单片机89S51 12M晶振用定时器延时10分钟,控制1个灯就可以答:可以设50ms中断一次,定时初值,TH0=0x3c、TL0=0xb0。
中断20次为1S,10分钟的话,需中断12000次。
计12000次后,给一IO口一个低电平(如功率不够,可再加扩展),就可控制灯了。
而且还要看你用什么语言计算了,汇编延时准确,知道单片机工作周期和循环次数即可算出,但不具有可移植性,在不同种类单片机中,汇编不通用。
用c的话,由于各种软件执行效率不一样,不会太准,通常用定时器做延时或做一个不准确的延时,延时短的话,在c中使用汇编的nop做延时3、51单片机C语言for循环延时程序时间计算,设晶振12MHz,即一个机器周期是1us。
for(i=0,i<100;i++)for(j=0,j<100;j++)我觉得时间是100*100*1us=10ms,怎么会是100ms答:不可能的,是不是你的编译有错的啊我改的晶振12M,在KEIL 4.0 里面编译的,为你得出的结果最大也就是40ms,这是软件的原因,不可能出现100ms那么大的差距,是你的软件的原因。
单片机课程设计评语

单片机课程设计评语一、课程目标知识目标:1. 让学生掌握单片机的基本结构、工作原理及其在各行各业的应用。
2. 使学生了解并熟练运用单片机编程语言,完成简单的程序编写和调试。
3. 帮助学生理解单片机与其他电子元件的协同工作原理,培养电路设计与系统集成能力。
技能目标:1. 培养学生运用单片机进行创新设计的能力,能独立完成简单的单片机项目。
2. 提高学生动手实践能力,熟练使用编程软件、开发板等工具,具备初步的故障排查和问题解决能力。
3. 培养学生团队协作精神,学会在项目中进行有效沟通与分工合作。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养科技创新精神。
2. 培养学生严谨、细心的学习态度,提高自主学习能力。
3. 引导学生关注单片机在现实生活中的应用,认识到科技对社会发展的推动作用,增强社会责任感。
课程性质:本课程为实践性较强的学科,注重理论联系实际,培养学生动手能力、创新能力及团队协作能力。
学生特点:本年级学生具备一定的电子基础知识,对新技术、新事物充满好奇,但实践经验不足,需要通过本课程加强实践操作能力的培养。
教学要求:教师应结合学生特点,以实践为主线,注重启发式教学,引导学生主动探索,提高课堂教学效果。
同时,关注学生个体差异,因材施教,确保每个学生都能在课程中取得实际进步。
通过课程目标分解,为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础理论:- 单片机的结构组成与工作原理- 单片机编程语言(C语言基础)- 单片机指令系统与寻址方式2. 单片机编程与调试:- 常用编程软件的使用方法- 单片机程序设计步骤与技巧- 程序调试与故障排查3. 单片机外围电路设计:- 常用电子元件的原理与应用- 单片机与外围电路的接口技术- 电路设计与系统集成4. 实践项目:- 简单的交通灯控制系统- 数字温度计设计- 智能小车控制教学大纲安排:第一周:单片机基础理论及编程语言介绍第二周:单片机指令系统与寻址方式学习第三周:编程软件使用及程序设计基础第四周:外围电路设计原理及实践第五周:实践项目一:简单交通灯控制系统设计与实现第六周:实践项目二:数字温度计设计第七周:实践项目三:智能小车控制教材章节关联:第一章:单片机概述第二章:单片机结构与原理第三章:单片机编程语言第四章:单片机指令系统第五章:单片机外围电路设计第六章:单片机实践项目教学内容确保科学性和系统性,以实践为导向,结合教材章节,分阶段逐步提升学生的理论水平和实践能力。
考研复试单片机问答

考研复试单片机问答单片机作为计算机科学与技术领域的重要组成部分,广泛应用于各个行业和领域。
对于考研复试中涉及到单片机的问答题目,考生需要具备扎实的基础知识和综合运用能力。
本文将就考研复试中常见的单片机问答题目进行解析和回答。
1. 什么是单片机?单片机是一种高度集成的计算机系统,包括中央处理器(CPU)、存储器和输入输出设备等功能模块,并具有可编程功能。
它广泛应用于电子产品、汽车电子、工业自动化等领域。
2. 单片机的特点有哪些?单片机具有体积小、功耗低、功能强大、成本低廉等特点。
同时,它还可以通过编程来实现不同的功能,具有较高的灵活性和可扩展性。
3. 单片机与微处理器有何区别?单片机与微处理器都属于计算机系统,但存在一定的区别。
单片机是一种完整的系统,包括CPU、存储器和输入输出设备等功能模块,而微处理器只是一个处理核心,需要外部芯片来实现其他功能。
4. 什么是单片机的时钟周期?单片机的时钟周期是指一条指令的执行所需的时间周期。
它通常由晶振提供,每个晶振周期内完成一个机器周期的操作。
5. 单片机的I/O口有哪几种工作方式?单片机的I/O口包括输入和输出两种工作方式。
输入方式包括上拉输入、下拉输入和三态输入,输出方式包括推挽输出和开漏输出。
6. 单片机的中断是什么?单片机的中断是一种异步事件,可以打断CPU当前的工作,转而处理其他任务。
中断分为外部中断和内部中断两种类型。
7. 单片机的存储器有哪几种类型?单片机的存储器包括ROM、RAM和EEPROM等。
其中,ROM用于存储程序代码和常量数据,RAM用于存储临时数据,EEPROM用于存储可变的数据。
8. 单片机的通信方式有哪几种?单片机的通信方式包括串口通信、并口通信和SPI通信等。
串口通信使用单个数据线进行传输,而并口通信则使用多个数据线进行传输,SPI通信则是一种同步方式的通信。
9. 什么是单片机的PWM输出?单片机的PWM输出是指利用数字输出口模拟出一种脉冲信号的输出方式。
《单片机技术应用》课程标准

《单片机技术应用》课程标准课程名称:单片机技术应用适用专业:电气技术应用专业一、课程性质《单片机技术应用》前叙课程是:电工电子综合课程、机床电气控制、电机与变压器,单片机技术应用课程是将综合应用上述课程的知识,让学生掌握单片机小型控制系统的设计、调试、维护方法,为后继《机电一体化设备》课程和顶岗实习做准备。
二、课程设计思路大部分的单片机控制设备属于机电一体系统,单片机岗位群的典型工作是从事单片机应用系统进行设计、制作和维护的。
具体工作包括:1.根据产品开发需要设计单机片系统,包括总体设计方案、硬件电路设计、软件程序开发;2.撰写相关的技术文档,包括进行材料表的整理和归档,作业文件的编写。
3.参与产品的可靠性测试、转产和生产的支持。
岗位要求从业者熟悉单片机的相关知识,可以熟练运用单片机做应用开发;具有能熟练应用单片机开发软件的能力;了解相关硬件调测仪器的使用方法和测试仪器:万用表、数字示波器、逻辑分析仪等;根据岗位对从业者的知识技能、工作的情感态度要求,单片机课程教学应当围绕岗位的要求、岗位的组成环节来提出教学的能力目标和知识系统的构建方式。
《单片机技术应用》是机电技术应用三年制中职专业设置的必修课程之一,是一门集合了电力电子知识、传感器知识和自动控制知识于一体的课程。
课程从工作过程分析出发,根据企业机电岗位岗位,职业能力需求,使课程的目标、内容、设计和评价贴近真实的工作岗位的需求,培养学生胜任实际工作岗位的能力。
工作项目是课程实施的载体,《单片机技术应用》课程的工作项目的内容选取应当具备以下特点:选用典型的单片机控制系统作为开展教学活动的载体;工作项目中应当使用岗位常用的编译软件;工作项目应当尽量使用单片机控制系统常用的器件,例如:主流单片机芯片、各种传感器、电机;工作项目中应当包含典型单片机技术应用的安装、调试、维护和维修各个完整的工作过程。
《单片机技术应用》本课程开设一学期,教学课时数为80学时,4学分。
单片机复习题

《单片机》复习题一、填空题:8051单片机的存储器分为片内程序存储器、外部程序存储器、外部数据存储器、内部RAM和特殊功能寄存器。
单片机复位方式有电平复位、脉冲复位和自动复位。
8051单片机的并行I/O口共有4个,分别是p0口、p1口、p2口和p3口。
8051单片机指令系统按操作功能可分为数据传送指令、算术运算指令、逻辑运算指令、位操作指令、控制及转移指令五大类。
操作码助记符是由英文字母组成的字符串,它规定了指令的执行动作。
8051单片机堆栈中数据的压入和弹出是按先进后出的规律。
堆栈指令包括数据入栈指令和数据出栈指令两类。
二、判断题(正确的打√,错误的打×,)1、只读存储器ROM内部信息停电后会丢失。
(×)2、堆栈操作是按“后进先出”的原则存取数据。
(√)3、8051单片机访问存储器时,同一地址对应惟一的存储单元。
(×)4、数据寄存器指针DPTR由DPH和DPL组成。
(√)5、程序计数器PC总是指向正在执行的指令地址。
(√)6、汇编语言程序中的注释可以缺省。
(√)7、指令中操作码助记符项可有可无。
(×)8、计算机寻址方式越多,计算机的功能超强,灵活性亦越大。
(√)9、若累加器A中“1”的个数为偶数,则奇偶标志位P为1。
(×)10、作算术运算时,若有进位则一定有溢出。
(×)三、选择题1、单片机机器内的数是以(C)的形式表示的A、原码B、反码C、补码D、ASCII码2、8051单片机有()个特殊功能寄存器。
A、3B、10C、21D、1283、数据寄存器指针DPTR是一个()位的寄存器。
A、8B、16C、24D、324、8051单片机的工作寄存器分成(B)组,每组有(D)单元。
A、2个B、4个C、6个D、8个5、SJMP rel指令中rel的取值范围为()。
A、+127~-127B、0~+127C、0~-128D、+127~-1286、指令MOVX A,@DPTR中源操作数属于()方式。
51单片机课程设计题目

51单片机课程设计题目一、课程目标知识目标:1. 理解51单片机的基本结构、工作原理及功能特点;2. 学会使用51单片机的开发环境,掌握相关编程语言;3. 掌握51单片机外围电路的设计方法,能进行基本的电路连接;4. 了解51单片机在实际应用中的典型场景和案例分析。
技能目标:1. 能够独立完成51单片机的程序编写、调试及优化;2. 能够运用51单片机进行简单的控制系统设计,具备实际操作能力;3. 能够通过查阅资料、团队协作等方式解决51单片机开发过程中遇到的问题;4. 能够对51单片机项目进行评估、总结,提高自身项目管理和执行能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生严谨、细致的学习态度,养成良好的编程习惯;3. 培养学生团队协作精神,提高沟通与表达能力;4. 培养学生具备一定的工程素养,关注51单片机在科技发展中的应用。
课程性质:本课程为实践性较强的课程,以项目驱动、任务导向的方式进行教学。
学生特点:学生具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足。
教学要求:结合课程性质和学生特点,注重实践操作,引导学生主动探索、动手实践,培养解决实际问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过课程学习,使学生具备51单片机开发的基本技能,为后续深入学习打下坚实基础。
二、教学内容1. 51单片机基本原理及结构:包括内部资源、引脚功能、工作原理等;教材章节:第一章 51单片机概述2. 51单片机指令系统与编程:掌握汇编语言编程、C语言编程;教材章节:第二章 51单片机指令系统与编程3. 51单片机开发环境:学习Keil、Proteus等开发工具的使用;教材章节:第三章 51单片机开发环境及工具4. 51单片机I/O口编程与应用:掌握I/O口编程,实现基本输入输出控制;教材章节:第四章 51单片机I/O口编程与应用5. 51单片机中断系统:学习中断处理程序编写,了解中断优先级;教材章节:第五章 51单片机中断系统6. 51单片机定时器/计数器:学习定时器/计数器的编程及应用;教材章节:第六章 51单片机定时器/计数器7. 51单片机串行通信:了解串行通信原理,学会串行通信编程;教材章节:第七章 51单片机串行通信8. 51单片机外围电路设计:学习外围电路设计方法,进行实际操作;教材章节:第八章 51单片机外围电路设计9. 51单片机项目实践:结合实际案例,进行项目设计与实施;教材章节:第九章 51单片机项目实践教学内容安排与进度:共10个课时,每课时45分钟。
单片机课程设计题目大全

单片机课程设计题目大全一、课程目标知识目标:1. 理解单片机的基本原理和功能,掌握常见单片机的工作原理及编程方法。
2. 学会使用一种单片机开发环境,如51单片机或Arduino,并能运用C语言进行程序设计。
3. 掌握单片机外围电路的连接和调试方法,实现简单的电子项目。
技能目标:1. 培养学生动手实践能力,能独立完成单片机程序的编写、烧录和调试。
2. 培养学生运用单片机解决实际问题的能力,提高创新意识和团队合作精神。
3. 提高学生查阅资料、自主学习的能力,形成良好的学习习惯。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学习热情,增强自信心。
2. 培养学生勇于尝试、不畏困难的精神,形成积极向上的学习态度。
3. 培养学生具备良好的合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,但实践经验不足。
教学要求:教师应注重理论与实践相结合,引导学生通过实践项目掌握单片机知识,提高学生的实际操作能力。
同时,关注学生的个体差异,因材施教,使学生在课程中取得较好的学习成果。
通过课程学习,学生能够达到上述知识、技能和情感态度价值观目标。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容1. 单片机基础知识- 单片机概述、发展及应用- 单片机的组成、工作原理及性能指标2. 单片机编程语言- C语言基础语法- 单片机C语言编程规范与技巧3. 单片机开发环境及编程工具- 51单片机开发环境搭建- Arduino开发环境及编程工具使用4. 单片机外围电路设计- 常用电子元器件及其功能- 单片机与外围电路的连接方法5. 单片机程序设计与调试- 单片机程序结构及编程流程- 常见程序设计实例分析- 程序烧录、调试及优化方法6. 单片机应用案例分析- 简单电子项目设计原理及实现- 创新性项目设计方法与步骤教学内容安排及进度:1. 第1-2周:单片机基础知识学习,了解单片机的基本原理和性能指标。
单片机中断问题30例

前八例1、单片机外中断INT0为下降沿触发,当中断被触发后cpu执行中断程序,若本次中断的程序还未执行完INT0又来了一个相同的下降沿中断信号怎么办?cpu会怎么处理?若是定时器中断呢?串口中断呢?求解释答:再来一个INT0信号不会执行。
相同的优先级不会打断正在执行的中断。
一. 如果是高优先级的中断来了,会打断低优先级的正在执行的中断而执行高优先级的中断。
51单片机的默认(此时的IP寄存器不做设置)中断优先级为:外部中断0 > 定时/计数器0 > 外部中断1 > 定时/计数器1 > 串行中断;当同时有几种中断到达时,高优先级中断会先得到服务。
例如:当计数器0中断和外部中断1(优先级计数器0中断>外部中断1)同时到达时,会进入计时器0的中断服务函数;但是在外部中断1的中断服务函数正在服务的情况下,这时候任何中断都是打断不了它的,包括逻辑优先级比它高的外部中断0计数器0中断。
51单片机的中断优先级控制寄存器IP可以把默认的中断优先级设置为高或低级,例如默认是外部中断0 > 定时/计数器0 > 外部中断1 > 定时/计数器1 > 串行中断;现在设为定时1 和串行中断为高优先级其它为低,那么中断0执行时会被定时器1 或串行中断打断,如果设定的两个高优先级定时/计数器1 和串行中断同时响应,会再自然排队,先执行定时1中断再执行串行中断。
2、单片机中断问题,中断3为什么不执行,整个程序有什么不对的地方呢?#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit p1_0=P1^0;sbit p1_1=P1^1;sbit p1_2=P1^2;sbit p1_3=P1^3;sbit p1_4=P1^4;sbit p1_5=P1^5;uchar PWM_T1 = 0;uchar PWM_T2 = 0;uint i,m;void delay(uint z){for(i=z;i>0;i--)for(m=0;m<110;m++);}void PWM_value_left(int pwm_set){PWM_T1=pwm_set;}void PWM_value_right(int pwm_set){PWM_T2=pwm_set;}void main(void){bit flag = 1;uint n;TMOD=0x22;TH0=241;TH1=241;TL0=241;TL1=241;TR0=1;TR1=1;ET0=1;ET1=1;EA=1;P1=0xf0;delay(20);PWM_value_left(7); PWM_value_right(10); delay(100);PWM_value_left(8); PWM_value_right(9); delay(100);PWM_value_left(9); PWM_value_right(8); delay(100);PWM_value_left(10); PWM_value_right(7);}timer0() interrupt 1 using 2 {static uint t ;t++;if(t==10){t=0;p1_0=1;p1_1=0;}if(PWM_T1==t)P1=P1&0xfc;}timer1() interrupt 3{static uint t1 ;t1++;if(t1==10){t1=0;p1_2=1;p1_3=0;}if(PWM_T2==t1)P1=P1&0xf3;}答:没有主循环,没有等到中断3程序运行一次就跑飞了!!!在void main(void){//...你的程序//在这里加死循环,等待中断while(1){;}}而且,中断响应函数里必须要清中断标志位(你的没有)!3、各位大侠帮我看一下我写的51单片机C程序中断有没有问题,执行中断后不能继续执行主程序,注:P3.2口一直接注:P3.2口一直接地,程序如下:#include <reg52.h>sbit dula=P2^6;sbit wela=P2^7;sbit d0=P1^0;sbit d1=P1^1;sbit d2=P1^2;sbit d3=P1^3;sbit d4=P1^4;sbit d5=P1^5;sbit d6=P1^6;sbit d7=P1^7;#define uchar unsigned char#define uint unsigned int uchar num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint z);void main(){EA=1;EX0=1;IT0=0;wela=1;P0=0xc0;wela=0;while(1){for(num=0;num<16;num++) {dula=1;P0=table[num];dula=0;delay(1000);}}}void delay(uint z){uint a,b;for(a=z;a>0;a--)for(b=110;b>0;b--);}void exter0() interrupt 0 {uint c;for(c=0;c<25000;c++);d0=0;for(c=0;c<25000;c++);d0=1;for(c=0;c<25000;c++);d1=0;for(c=0;c<25000;c++);d1=1;for(c=0;c<25000;c++);d2=0;for(c=0;c<25000;c++);d2=1;for(c=0;c<25000;c++);d3=0;for(c=0;c<25000;c++);d3=1;for(c=0;c<25000;c++);d4=0;for(c=0;c<25000;c++);d4=1;for(c=0;c<25000;c++);d5=0;for(c=0;c<25000;c++);d5=1;for(c=0;c<25000;c++);d6=0;for(c=0;c<25000;c++);d6=1;for(c=0;c<25000;c++);d7=0;for(c=0;c<25000;c++);d7=1;}答:IT0=0;//低电平触发,只要单片机监测到是低电平,就触发中断你P3.2一直接地,一直是低电平,那中断就不断的执行,当然回不到主程序中了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、sfr sfr16 sbit 的用法
2、解释程序中delay()语句
3、如何读写IO口?
4、什么是中断,51有多少个中断?
5、51单片机默认的中断优先级别是怎么排列的?
6、IP寄存器的用途是什么?PX0=0表示什么?PT0=1又说明什
么?
7、TCON内部各位是什么?有什么用?
8、IE内部各位是什么?有什么用?
9、初始化外部中断1要哪些步骤?如果用边沿触发应该如何设
置?电平触发呢?
10、中断服务程序中的interrupt后面的数字是什么意思?编写串口
中断,那么interrupt 后面的数字应该多少?定时器1呢?
11、定时器工作方式寄存器TMOD内部各位是什么?有什么用?
12、如果让定时/计数器工作在计数方式,模式1,应该如何设置寄
存器相关位?这时计数器最多可以计多少数?
13、如果让定时/计数器0工作在定时方式,模式2,10us溢出一次,
应该如何设置寄存器相关位?初值是怎么算的?
14、如果让两个定时器也像外部中断一定的工作,那么应该工作于
定时器模式还是计数器模式?初值多少?
15、开定时/计数器1工作于定时器方式,模式1,产生一个1S的脉
冲,中断服务程序应该如何编写?
16、单片机18、19脚接什么?有什么用?第30脚输出脉冲频率多
少?31脚和9脚分别怎么处理?
17、分析9脚复位电路的工作原理,从上电瞬间开始。
18、单片机P0口和其它IO口有何不同?
19、动态扫描的工作原理是什么?扫描频率多少合适?
20、单片机按键接法有两种,分别怎么画?读取程序怎么写?
21、按键的抖动问题怎么解决?
22、单片机静态显示,P1口分别按顺序接数码管的A~H笔段,如
果让数码管显示5,P1口应该赋什么值?显示8呢?
23、画出定时器0的内部结构图。
24、模式3工作方式下定时器1工作吗?产生溢出吗?为什么?
25、解释你的程序。