当前位置:文档之家› 89c52单片机中断嵌套设计

89c52单片机中断嵌套设计

89c52单片机中断嵌套设计
89c52单片机中断嵌套设计

单片机及DSP课程设计报告

专业:电子信息

班级:信息092

姓名:邵长宁

学号:200927101

指导教师:何香玲、王辛杰、吴则举

时间:2012-06-11~24

通信与电子工程学院

一、设计目的

为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

1、通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP原理与

应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较

完整的实用程序,并仿真运行,保证设计的正确性。

3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器

件、布线、编程、调试、撰写报告等。

二、设计内容

题目42:中断嵌套的设计。

设计要求:实现中断嵌套程序。51单片机的P1口上接有8只LED。在外部中断0输入引脚P3.2(0

INT)引脚接有一只按钮开关K1。在外部中断1输入引脚P3.3(1

INT)引脚接有一只按钮开关K2。要求K1和K2都未按下时,P1口的8只LED呈流水灯显示,当K1按下再松开时,产生一个低优先级的外中断0请求(跳沿触发),进入外中断0中断服务程序,左右4只LED交替闪烁。此时按下K2再松开时,产生一个高优先级的外中断1请求(跳沿触发),进入外中断1中断服务程序,P1口的8只LED全部闪烁。当显示一段时间后,再从外中断1返回继续执行外中断0中断服务程序,即P1口控制8只LED左右4只LED交替闪烁。设置外中断1为高优先级,外中断0为低优先级。

三、设计分析

89c52有两个外部中断,外部中断0和外部中断1。分别由INT0和INT1两个端口控制。默认是外部中断0的优先级高于外部中断1,但是设计要求是中断0为高优先级,所以需要用PX1=1更改优先级设置。这样中断1的优先级高于中

断0,即中断1可打断中断0以实现设计要求。

外部中断的的中断方式默认为电平触发,要改为跳沿触发应使用EX0=1,EX1=1两个语句,这样只要K1,K2电平发生变化就会触发中断。

在流水灯的设计过程中用到了一个—_crol_循环左移的函数,方便的实现了led的流水显示。在使用—_crol_时要要调用库intrins.h.

在中断1结束后需要人为的打开中断0,才能进入中断0。即需要在中断1结束后给K1一个下降沿,用K1=0来实现。

四、硬件设计

本次设计主要用到了89c52,键盘,led灯等硬件。下面对这三个硬件进行介绍:

89c52:89C52内置8位中央处理单元、256字

节内部数据存储器RAM、8k片内程序存储器

(ROM)32个双向输入/输出(I/O)口、3个16位

定时/计数器和5个两级中断结构,一个全双工串

行通信口,片内时钟振荡电路。

本次设计用到了89c52的P3_2,P3_3两个端口

控制两个外部中断,P0控制led的显示。用按

键的按下产生电平变化,来触发中断。

Led灯:8个led灯由P0的8个端口来控

制。

此led的接法为共阳极,所以低电平有效。

键盘:独立键盘的P30,P31,P32,P33

来控制,本次设计只用到了P32,和P33

口。

用按键的按下来产生跳变,来开始结束中断。总原理图:

五、程序设计

流程图

编程概述:再实现流水灯的时候,使用了_crol_,极大地简化了程序。通过循环左移并且利用延时函数使led出现流水灯的效果。在程序中大量的使用了延时,所以将延时做成函数,方便每次的调用和达到简化程序的目的

在主函数中只进行开中断,中断方式选择,中断优先级的设定,调用函数。将大块的程序写成函数的形式,如:流水灯函数,延时函数。这样可以是程序看起来简洁,整齐,同时方便错误的查找。还有值得注意的是中断不需要声明.

六、程序清单

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit k1=P3^2;

sbit k2=P3^3;

void delay(uint z);

void liushui();

main()

{

EA=1//开总中断

EX0=1;//开外部中断0

EX1=1;//开外部中断1

IT0=1;//跳沿触发

IT1=1;//跳沿触发

PX1=1;//设中断1为高优先级

liushui();//流水灯函数

}

void delay(uint z)//延时函数

{

int x,y;

for(x=z;x>0;x--)

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

}

void liushui()//流水灯函数

{

uchar temp;

temp=0xfe;

P0=temp;

while(1)

{

temp=_crol_(temp,1);//循环左移一位

delay(600);

P0=temp;

}

}

void extre0() interrupt 0//外部中断0

{

while(1)

{

P0=0xf0;

delay(600);

P0=0x0f;

delay(600);

}

}

void extre1() interrupt 2//外部中断1

{

int t=5;

while(t--)

{

P0=0x00;

delay(600);

P0=0xff;

delay(600);

}

k1=0;

}

七、仿真综述

在proteus上面按照原理图画出仿真电路,在仿真电路上进行程序的检验。在程序编译的时候,要生成hex文件,这样可以将程序下载到单片机上。程序导

入后,未有按键按下时。Led灯流水亮,当K1按下时,左右四只led灯交替闪烁,说明单片机进入了中断0。然后按下K2,led全部闪烁五次后,继续左右四只led灯交替闪烁,做闪烁时按K1时没有反应。这说明K2按下后单片机进入中断1,并且中断1优先级高于中断0。

经过仿真检验证明程序完全实现了设计要求。

八、困难分析

在程序的编写过程中要多次的用到延时程序,延时的长短需要很好的把握,延时太长,闪烁太慢,延时太短,闪烁看不清。所以要在硬件上不断的尝试调整延时的时间,在这方面耗费了大量的时间。

在设置中断的时候,需要将中断1设置为高优先级。由于书上没有介绍方法,所以到网上查找到用PX1=1来解决。

在设置中断的时候和定时器搞混了。导致将中断设置成定时器了。在参考资料后得到了解决。弄清楚了中断怎样设置。

在proteus上仿真的过程中不知道器件的英文名称,需要上网查找,减慢的制作进度.

九、心得体会

通过本次的设计主要学习了89c52的中断嵌套,同时学习了led显示,延时程序。中断嵌套算是一个比较综合的问题,编写程序复习加深了所学的知识。同时学到了书本上没有的知识,如怎样更改中断优先级。最主要的是将所学习的知识和硬件联系到了一起,让我们对所学的知识有了更加直观的了解。

同时了解了proteus是简单实用,可以再proteus上进行仿真.在没有板子的情况下,也能够检验程序。

这次设计激发了对单片机的学习热情,以后会更加深入的学习。同时对为本次设计提供帮助的老师表示感谢,以后会更加的努力。

参考文献:

[1] 童诗白,华成英.模拟电子技术基础。高等教育出版社

[2] 阎石.数字电子技术基础.高等教育出版社

[3]高峰.单片微型计算机原理与接口技术.科学出版社

[4]谭浩强.c程序设计.清华大学出版社

[5]陈锋.DSP原理与系统设计.电子工业出版社

单片机课程设计大纲

单片机原理及应用课程设计教学大纲 课程设计名称:单片机原理及应用课程设计编号:E1010020 课程设计学分:2.0 课程设计周(时)数:2周课程设计授课单位:测控技术及仪器指导方式: 集体辅导与个别辅导相结合课程设计适用专业:测控技术与仪器、自动化、电气工程及其自动化 课程设计教材及主要参考资料: 《单片机原理及应用》,张毅刚,高等教育出版社,2004年, 《单片机教程》,蔡惟铮编,东北大学出版社,2001年, 服务课程名称:单片机原理服务课程编号:T1010020 服务课程讲课学时:40 服务课程学分:2.5 一、课程设计教学目的及基本要求 1.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 2.提高综合运用所学的理论知识独立分析和解决问题的能力。 3.掌握汇编语言的设计和调试。 4. 掌握C-51语言的设计和调试。 二、课程设计内容及安排 1.掌握各种进制数的特点及其转换方法。 2.掌握MCS-51单片机的硬件结构的特点,详细了解MCS-51单片机的各种资源。 3.了解单片机的指令系统、指令格式及其意义。 4.理解中断的基本概念,了解单片机的中断响应。 5.掌握存储器的分类,熟练掌握存储器的扩展。 6.了解单片机的接口技术及其串行通讯方式。 7.编写课程设计报告,掌握汇编语言的设计和调试方法。 设计题目: 1.交通灯控制系统 实验目的:(1)学习输出口的使用方法;(2)学习延时子程序的编写;(3)交通灯的控制规律 实验要求:设计并且制作交通灯控制系统,编制控制系统监控软件;交通灯控制软件,要求以单片机为核心,P1口输出口接三只发光二极管(红绿黄), 编写程序,使发光二极管按交通灯的控制规律点亮。 思考问题:改变延时常数,使发光二极管闪亮时间改变。红绿灯不允许同时点亮,红绿灯交换时黄灯闪烁,考虑车流量情况,改变交通灯指挥状况,单路 口/多路口情况,寻求最佳交通流量。

单片机毕业设计完整版

安徽工业大学继续学院《单片机原理》期末课程设计 题目:单片机计时时钟设计与制作 专业:电气工程及其自动化 班级:14 电升 姓名:夏云飞 学号:1410102003035 指导老师:贺容波 成绩: ( 2015.12 )

目录 一、绪论 (1) 1.1单片机简介 (1) 二、硬件系统设计方案 (3) 2.1 时钟电路的设计 (3) 2.2复位电路的设计 (4) 2.3 数码显示电路的设计 (5) 2.4按键电路的设计 (7) 2.5 蜂鸣器电路的设计 (8) 2.6接线图 (9) 三、软件系统设计方案 3.1 模块化设计方案 (10) 3.2 主程序的设计 (11) 3.3 LED动态显示程序的设计 (14) 3.4 计时程序模块的设计 (17) 3.5 键盘程序的设计 (19) 3.6 蜂鸣器程序的设计 (22) 3.7整个程序 (23) 四、总结 总结与致谢 (28) 参考文献 (29) 使用说明 (29)

安徽工业大学继续教育学院《单片机原理》期末课程设计——单片机计时时钟设计与制作 一绪论 1.1单片机简介 1.1.1单片机的产生 计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展,从而出现了单片微型计算机。 所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处理器CPU、存储器ROM和RAM、输入/输出(I/O)接口电路等集成在一块集成电路芯片上的微型计算机,简称单片机。总体来讲,单片机可以用以下“表达式”来表示:单片机=CPU+ROM+RAM+I/O+功能部件 1.1.2单片机的特点 随着现代科技的发展,单片机的集成度越来越高,CPU的位数也越来越高,已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有以下特点: ①体积小,功耗低,价格便宜,重量轻,易于产品化。 ②控制功能强,运行速度快,能针对性地解决从简单到复杂的各类控制问题,满足工业控制要求,并有很强的位处理和接口逻辑操作等多种功能。 ③抗干扰能力强,适用温度范围宽。由于许多功能部件集成在芯片内部,受外界影响小,故可靠性高。 ④虽然单片机内存储器的容量不可能很大,但存储器和I/O接口都易于扩展。 ⑤可以方便的实现多机和分布式控制。 1.1.3单片机的应用 单片机的应用具有面广量大的特点,目前它广泛的应用于国民经济各个领域,对技术改造和产品的更新起着重要作用。主要表现在以下几个方面: ①单片机在智能化仪器、仪表中的应用:由于单片机有计算机的功能,它不仅能完成测量,还既有数据处理、温度控制等功能,易于实现仪器、仪表的数字化和智能化。 ②单片机在实时控制中的应用:单片机可以用于各种不太复杂的实时控制系统中, 第1页

单片机中断程序大全

单片机中断程序大全公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

//实例42:用定时器T0查询方式P2口8位控制L E D闪烁#include // 包含51单片机寄存器定义的头文件void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 //实例43:用定时器T1查询方式控制单片机发出1KHz音频

#include // 包含51单片机寄存器定义的头文件sbit sound=P3^7; //将sound位定义为P3.7引脚 void main(void) {// EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值 TL1=(65536-921)%256; //定时器T1的高8位赋初值 TR1=1; //启动定时器T1 TF1=0; while(1)//无限循环等待查询 { while(TF1==0); TF1=0; sound=~sound; //将P3.7引脚输出电平取反 TH1=(65536-921)/256; //定时器T0的高8位赋初值 TL1=(65536-921)%256; //定时器T0的高8位赋初值 } } //实例44:将计数器T0计数的结果送P1口8位LED显示 #include // 包含51单片机寄存器定义的头文件sbit S=P3^4; //将S位定义为P3.4引脚

单片机课程设计题目

《单片机原理与应用》课程设计题目 1.基于单片机的电子秒表 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。 要求按键输入采用中断方式,按键A接INT0,按键B接INT1。 2.智能电动百叶窗 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。 设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。 按键输入采用中断方式,按键中断请求信号接INT0. 单片机根据设定光强S1和S2(S2 > S1)和实测光强P控制电机M的动作:当P<=S1时,控制M正转以增加进光量; 当P>S2时,控制M反转以减少进光量; 当S1S+1时,控制R断开电加热回路; 当S-1

单片机原理与应用及C51程序设计(第三版)(1、2、3、4、7章课后习题答案)

第一章: 1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。 +45 -89 -6 +112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101 【-89】原=11011001,【-89】反=10100110,【-89】补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】补=11111010 【+112】原=01110000,【+112】反=01110000,【+112】补=01110000 2. 指明下列字符在计算机内部的表示形式。 AsENdfJFmdsv120 答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H 3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。 答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。存储器是用来存放程序和数据的记忆装置。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。I/O接口电路是外部设备和微型机之间传送信息的部件。总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。微型计算机的各大功能部件通过总线相连。 4.简述8086CPU的内部结构。 答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。 5.何谓总线?总线按功能可分为哪几种? 答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。总线功能来划分又可分为地址总线(Address Bus)、数据总线(Date Bus)和控制总线(Control Bus)三类。 6.内部存储器由哪几部分组成? 答:包括随机存储器(RAM)和只读存储器(ROM)。 7.简述8086中的存储器管理? 答:8086把1M空间分成若干块(称为“逻辑段”),各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64K字节,这样就可用16位寄存器提供地址访问。一个存储单元的地址可由段基址和偏移地址组成,这个地址我们称为逻辑地址,一般表示为“段基址:偏移地址”。而1M存储空间中的20位地址称为物理地址。逻辑地址是程序中使用的地址,物理地址是访问存储器的实际地址。 物理地址=段基址×16 + 段内偏移地址 8.什么是接口电路?接口电路有何功能? 答:I/O接口电路是外部设备和微型机之间传送信息的部件。接口电路主要功能。(1) 数据的寄存和缓冲功能。(2) 信号转换功能。(3) 设备选择功能。(4) 外设的控制和监测功能。(5) 中断或DMA管理功能。(6) 可编程功能。 9.外部设备与CPU之间的数据传送方式常见有几种?各有什么特点? 答:外部设备与微机之间的信息传送传送方式一般有无条件传送方式、查询传送方式、中断控制方式等。无条件传送方式是指CPU直接和外部设备之间进行数据传送。查询传送方式又称为条件传送方式,是指CPU通过查询I/O设备的状态决定是否进行数据传输的方式。中断是一种使CPU暂停正在执行的程序而转去处理特殊事件的操作。即当外设的输入数据准备好,或输出设备可以接收数据时,便主动向CPU发出中断请求,CPU可中断正在执行的程序,转去执行为外设服务的操作,服务完毕,CPU再继续执行原来的程序。 10.什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 11.和一般微型计算机相比,单片机有何特点? 答:主要特点如下: 1) 在存储器结构上,单片机的存储器采用哈佛(Harvard)结构 2) 在芯片引脚上,大部分采用分时复用技术 3) 在内部资源访问上,采用特殊功能寄存器(SFR)的形式

单片机实验四报告材料_外中断实验

大学实验报告 学生:学号:专业班级: 实验类型:?验证?综合■设计?创新实验日期:2018.05.29 实验成绩: 实验四外中断实验 (一)实验目的 1.掌握单片机外部中断原理; 2.掌握数码管动态显示原理。 (二)设计要求 1.使用外部中断0和外部中断1; 2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。 (三)实验原理 1.中断 所谓中断是指程序执行过程中,允许外部或部时间通过硬件打断程序的执行,使其转向为处理外部或部事件的中断服务程序中去,完成中断服务程序后,CPU返回继续执行被打断的程序。如下图所示,一个完整的中断过程包括四个步骤:中断请求、中断响应、中断服务与中断返回。 当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被中止的程序之处(断电),继续执行被中断的主程序。 如果单片机没有终端系统,单片机的大量时间可能会浪费在是否有服务请求发生的查询操作上,即不论是否有服务请求发生,都必须去查询。因此,采用中断技术大大地提高了单片机的工作效率和实时性。

2.IAP15W4K58S4单片机的中断请求 IAP15W4K58S4单片机的中断系统有21个中断请求源,2个优先级,可实现二级中断服务嵌套。由IE、IE2、INT_CLKO等特殊功能寄存器控制CPU是否相应中断请求;由中断优先级高存器IP、IP2安排各中断源的优先级;同优先级2个以中断同时提出中断请求时,由部的查询逻辑确定其响应次序。 中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下: (1)外部中断0(INT0):中断请求信号由P3.2引脚输入。通过IT0来设置中断请求的触发方式。当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0。一旦输入信号有效,则置位IE0标志,向CPU申请中断。 (2)外部中断1(INT1):中断请求信号由P3.3引脚输入。通过IT1来设置中断请求的触发方式。当IT1为“1”时,外部中断1为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断1。一旦输入信号有效,则置位E1标志,向CPU申请中断。 中断源是否有中断请求,是由中断请求标志来表示的。在IAP15W4K58S4单片机中,外部中断 0、外部中断1等请求源的中断请求标志分别由特殊功能寄存器TCON和SCON控制,格式如下: (1)TCON寄存器中的中断请求标志。TCON为定时器T0与T1的控制寄存器,同时也锁存T0和T1的溢出中断请求标志及外部中断0和外部中断1的中断请求标志等。格式如下图所示: D7 D6 D5 D4 D3 D2 D1 D0 88H 与中断有关的各标志位功能如下: ①TF1:T1的溢出中断请求标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件 置位TFI,同时向CPU发出中断请求,此标志一直保持到CPU 响应中断后才由硬件自动清0。 也可由软件查询该标志,并由软件清0。 ②TF0:T0的溢出中断请求标志。T0被启动计数后,从初值做加1计数,计满溢出后由硬件 置位TF0,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清 0。也可由软件查询该标志,并由软件清0。 ③IE1:外部中断1的中断请求标志。当INT1(P3.3)引脚的输入信号满足中断触发要求时,置 位IE1,外部中断1向CPU申请中断。中断响应后中断请求标志自动清0。 ④IT1:外部中断1(INT1)中断触发方式控制位。当(IT1)=1时,外部中断1为下降沿触发方式。 在这种方式下,若CPU检测到INT1出现下降沿信号,则认为有中断申请,随即使IE1标志 置位。中断响应后中断请求标志会自动清0,无须做其他处理。当(T1)=0时,外部中断1为

51单片机独立按键程序查询法和外部中断两种

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 //用//11111111111111111代表第一个程序。//2222222222222222222222222代表第二个程序,以此类推 //1111111111111111111111111111111111111111111111111111111111111111111 //1111111111111111111111111111111111111111111111111111111111111111111 /****************************************************************************** * * 实验名: 左右流水灯实验 * 使用的IO : LED使用P2,键盘使用P3.1 * 实验效果: 按下K1键, * 注意: ******************************************************************************* / #include #include #define GPIO_LED P2 sbit K1=P3^1; void Delay10ms( ); //延时10ms /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main(void) { unsigned int i,j; j=0xfe; //1111_1110 while(1) { GPIO_LED=j; if(K1==0) //检测按键K1是否按下 { Delay10ms(); //消除抖动 if(K1==0) {

单片机课程设计题目汇总(全)

单片机原理与接口技术课程设计题目汇总 说明:为便于同学提前探讨开发思路,特将本课程设计的可选题目发给大家。 每个同学可以在以下题目中选一题要求:课程设计考核内容包括:源程序;设计报告文档基于单片机的电子时钟设计设计内容:1、用LCD液晶作为显示设备(30分) 2、可以分别设定小时,分钟和秒,复位后时间为:00: 00:00 (30 分) 3、能实现日期的设置,年、月、日(30分) 4、其他创新内容(10分)如:闹钟功能;显示星期;整点音乐报时等。 图示: 2010-04-09 MON 11:06:42 基于单片机的交通灯显示系统(一) 设计内容:1、东西方向、南北方向均有红、黄、绿三种信号灯;(30 分) 2、带紧急制动按钮,按钮按下,所有方向亮红灯;再次按下,恢复正常显 示(20分) 3、夜间模式按钮按下,所有方向显示黄灯闪烁(20分) 4、实时提醒绿灯亮的剩余时间(30分)图示: 基于单片机的交通灯显示系统(二) 设计内容:1、东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒(40分) 2、信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒 钟。(30分) 3、东西干道和南北干道交替控制,每次干道绿灯交替时,有 3 秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过。(30分)

4、其他创新内容。(10分) 图示: 四、基于单片机的波形发生器设计 设计内容:1、设计一款能产生3种以上波形的波形发生器(30分) 2、设计波形选择按钮(采用3个独立按键)(10分) 3、点阵显示波形图案(20分) 4、能同时输出两种波形(30分) 5、显示频率(10分) 图示: 五、基于单片机的LED点阵广告牌设计 设计内容:1、能显示不同字符、图形的LED点阵广告牌(30分) 2、用独立按键控制不同字符的切换效果(如闪烁、静止、平移)(30 分) 3、可通过串口从电脑下载更新需要显示的字符(30分) 4、其他创新功能(10分) 图示:略 六、基于单片机的篮球计分器设计 设计内容:1、设计LCD显示篮球比分牌(30分) 2、通过加分按钮可以给A队或B队加分(20分) 3、设计对调功能,A队和B队分数互换,意味着中场交换场地。(20 分) 4、显示比赛倒计时功能(20分) 5、创新内容:如显示第几小节(10分) 显示: A 083: B 079 4th Period 10:25

单片机外部中断实验(附C语言程序)

单片机外部中断实验(附c程序) 一、实验目的 掌握外部中断的C语言和汇编语言编程方法,会用外部中断解决实际应用问题。 。 二、实验内容 8051C51单片机P2.0接一个发光二极管LED1、P2.1接一个发光二极管LED2,P3.2接一个开关、P3.3接一个开关要求实现以下功能: (1)合上、P3.3断开时LED1闪烁 (2)P3.2断开、P3.3合上时LED2闪烁 (3)P3.2合上后(不断开)再合上P3.3,LED1闪烁LED2不闪烁 (4)P3.3合上后(不断开)再合上P3.2,LED2不闪烁LED1闪烁 试编写C语言和汇编语言程序 使用自然优先级就可以 也可 XO 高级X1低级PX0=1 PX1=0 四、实验电路 五、参考程序(自己完成) C程序: Include Sbit P2_0=P2^0; Sbit P2_1=P2^1; Sbit P3_2=P3^2; Sbit P3_3=P3^3; void delay02s(void) //延时0.2秒子程序 { unsigned char i,j,k; for(i=20;i>0;i--) for(j=20;j>0;j--) for(k=248;k>0;k--); }

Void main { EA=1; EX0=1; EX1=1; ITO=1; IT1=1; PX0=1; PX1=0; While(1); } Void int0(void) interrupt 0 { if(!P3_2) { While(1) { P2_0=1; delay02s(); P2_0=0; delay02s(); } } } Void int1(void) interrupt 2 { if(!P3_3) { While(1) { P2_1=1; delay02s(); P2_1=0; delay02s(); } } }

51单片机毕业论文大全

mcu001 80386保护模式【论文+91页+4.2万+doc】 mcu002 ARM硬件电路板设计之外围接口电路研究【毕业论文+21页+1.2万+doc】 mcu003 CDMA通信系统中的接入信道部分进行仿真与分析【doc格式+45页+毕业论文1.6万】 mcu004 CDMA通信系统中的接入信道部分进行仿真与分析【论文+45页+1.7万+doc】 mcu005 CDMA系统的研究与MATLAB仿真【论文+41页+1.8万+doc】 mcu006 DS18B20温度采集【doc+毕业论文+45页1.9万】 mcu007 FIRA 5v5机器人足球赛进攻策略研究【毕业论文+45页+1.8万+doc】 mcu008 FIR数字滤波器设计与实现【论文+28页+0.7万+doc】 mcu009 FPGA实现差错控制编码技术【论文+31页+1.3万+doc】 mcu010 FPGA在数字滤波器设计中的应用【论文+9页+0.7万+doc】 mcu011 GPRS远程登陆数据终端设计【论文+55页+1.5万+doc】 mcu012 GPRS远程控制系统设计——信息收集与处理子系统【论文+16页+0.3万+doc】 mcu013 GPRS远程控制系统设——远程控制设计【论文+73页2.6万+doc】 mcu014 GPS汽车定位系统设计【论文+30页+1.35万+doc】 mcu015 GSM无线网络优化【论文+53页+2.6万+doc】 mcu016 I2C总线接口的数据采集系统【毕业论文+27页+0.85万+doc】 mcu017 IIR带通滤波器的VHDL描述及仿真【论文+doc+47页+2.1万字】 mcu018 LED显示屏动态显示和远程监控的实现【论文+11页+0.8万+doc】 mcu019 MCS-51单片机温度控制系统【论文+6页+0.2万+doc】 mcu020 MSN机器人程序的设计与实现【论文+0.8万+36页+doc】 mcu021 PLC在自动售货机中的运用【论文+26页+0.5万+doc】 mcu022 PT100温度巡检【毕业论文+22页+1万+doc】 mcu023 QPSK、QAM的调制通信仿真【毕业论文+43页+2万+doc】 mcu024 SPCE061A的教育机器人硬件平台设计【毕业论文+184页+1.37万+doc】 mcu025 USB接口的多路温湿度采集系统设备端设计【毕业论文+25页+0.9万+doc】 mcu026 USB摄像头驱动开发与研究【论文+28页+1.6万+doc】 mcu027 USB数据采集系统设计【论文+1.4万+46页+doc】 mcu028 Y2O3添加量对低居里点PTC热敏电阻器性能的影响【论文28页+1.7万+doc】 mcu029 π4-DQPSK信号的FPGA实现【论文+54页+2.5万+doc】 mcu030 板厚为6mm的0Cr18Ni9钢板采用焊条电弧焊的焊接工艺评定(拉伸)关于焊接的毕业论文【论文+1.3万+24页+doc】 mcu031 步进电机控制器设计与实现【毕业论文+30页+0.9万+doc】 mcu032 板卡式语音平台开发【论文+55页+2.3万+doc】 mcu033 采矿工程本科毕业论文【论文+6.3万+140页+doc】 mcu034 采用适用的跟踪来区分和监控站点活动【毕业论文+13页+0.8万+doc】 mcu035 仓库温湿度的监测系统【毕业论文+31页+1.4万+doc】 mcu036 常用电子元器件SQL查询系统设计【论文+33页+1.2万+doc】 mcu037 超声波明渠流量计【论文+84页+3.4万+doc】 mcu038 超声波明渠流量计的研究【论文+71页+2.1万+doc】 mcu039 车库电脑收费管理系统【论文+60页+2.3万+doc】 mcu040 传感器控制温度【毕业论文+33页+1.4万+doc】【论文+91页+4万+doc】 mcu041 串口通信与控制系统【毕业论文+38页+1.5万+doc】 mcu042 磁性物含量计设计【论文+95页+4.2万+doc】

单片机毕业设计

毕业设计(专科)设计题目单片机电子时钟 学院贵州师范大学职业技术学院 系部机电系 专业电气自动化技术专业 班级 2011电气 姓名刘超 指导教师高飞 2014年 5 月

摘要 单片机即单片微型计算机。(Single-Chip Microcomputer ),是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要求也越来越高。怎样让时钟更好的为人民服务,怎样让我们的老朋友再次焕发青春呢?这就要求我们不断设计出新型的时钟,来不断满足人们的日常生活需要。然而市场上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么,有没有一款既简单实用价格又便宜的时钟呢? 我们课程设计小组设想:可不可以利用单片机功能集成化高,价格又便宜的特点设计一款结构既简单,价格又便宜的单片机电子时钟呢? 基于这种情况,我们课程设计小组成员多方查阅资料,反复论证设计出了这款既简单实用,又价格便宜的——单片机电子时钟。 关键词:单片机;时钟;计时 前言 电气自动化是高等院校开设的一门工科专业。 培养德、智、体全面发展,具有良好的科学素养和创新精神,培养能够从事与电气工程有关的系统运行、自动控制、电力电子技术、信息处理、试验分析、研制开发以及电子与计算机应用等领域工作的宽口径复合型高级工程技术人才。

本专业主要学习电子技术、电工技术、信息控制、电气测量、计算机技术等方面较宽广的工程技术基础和专业知识。本专业主要特点是强电弱电结合、电工技术与电子技术相结合、软件与硬件结合、元件与系统结合,学生受到电工电子、信息控制及计算机技术方面的基本训练,具有解决电气工程与自动化领域技术问题的基本能力。 该专业是强电和弱电、计算机技术与电气控制技术交叉渗透的综合型专业学科。电气工程及其自动化专业培养出的毕业生,以理论基础扎实、专业知识面宽广、实践动手能力强、适应性强在国内有较好的声誉 主干课程电路原理、电子技术基础、计算机技术(语言、软件基础、硬件基础、单片机)、信号与系统、电磁场理论与应用、自动控制原理、电机学、电力电子技术、电气测量、电力拖动与控制等。 就业方向适合到国民经济各部门从事与电气工程有关的系统运行、自动控制、电力电子技术、信息处理、试验分析、研制开发等方面的工作,也能在科研院所、高等学校从事电气信息与自动化技术相关的研究开发、技术引进与改造及教学工作。 目录 目录 (1) 绪论 (2) 一MCS-51单片机的结构 (一)控制器 (3) (二)存储器的结构 (4) 1程序存储器 (4) 2内部数据存器 (4) 3特殊功能寄存器 (5) (三)并行I/O口 (5) (四)时钟电路与时序 (5) (五)单片机的应用领域 (5)

单片机课程设计大纲

《单片机原理及应用课程设计》教学大纲 适用专业:电子信息科学与技术 学时:一周学分: 课程编号:课程类别:专业课 开课单位:信息工程学院编写人:李丹 一、课程设计目的和要求 1、设计目的 通过课程设计,可将所学过的电子技术、模/数转换技术、传感器技术、单片机技术及智能仪器等知识综合串联起来,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,从而培养和提高学生的独立工作能力及解决实际问题的能力,为毕业设计和以后的工作打下一个良好的基础。 2、设计要求 a.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 b.提高综合运用所学的理论知识独立分析和解决问题的能力。 c.掌握汇编语言的设计和调试。 二、课程设计方式 集体辅导与个别辅导相结合 三、课程设计内容 1.课程设计课题及要求 A类题目:(此类题目主要在“THGMZ-3型单片机·微机·CPLD·FPGA·网络接口开发综合实验装置”上完成) 题目1:V/F转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Vin和Fout,画出V/F线。 2)Fout接入8051的INT0或INT1,编程由单片机完成测量及显示项目 参考资料:见附件1。 题目2:F/V转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Fin和Vout,画出F/V线。 2)Fin接单片机I/O口,编程由单片机产生频率信号。 参考资料:见附件1。

51单片机中断系统编程

51单片机中断系统编程 51单片机中断系统编程 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆中断是指如下过程(如下图所示):CPU 与外设同时工作,CPU执行主程序,外设做准备工作。当外设准备好时向CPU发中断请求信 号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序。在中断服务程序中 CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。 5.3.1 中断系统 MCS-51单片机提供了5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储 器中各有固定的中断入口地址,由此进入中断服务程序。5个中断源的符号、名称及产生 的条件如下。 ? INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 ? INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 ? T0:定时器/计数器0中断,由T0计数溢出引起。 ? T1:定时器/计数器l中断,由T1计数溢出引起。 ? TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 中断源有两级中断优先级,可形成中断嵌套。两个特殊功能寄存器用于中断控制和条件设 置。整个中断系统的结构框图如图所示。 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 中断系统结构框图 2 中断系统的控制寄存器 中断系统有两个控制寄存器(IE和IP),它们分别用来设定各个中断源的打开/关闭和中

断优先级。此外,在TCON中另有4位用于选择引起外部中断的条件并作为标志位。 (1)中断允许寄存器IE IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH。IE 用 来打开或关断各中断源的中断请求,基本格式如下: 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 ? EA:全局中断允许位。EA=0,禁止一切中断;EA=1,打开全局中断控制,此时,由各 个中断控制位确定相应中断的打开或关闭。 ? ×:无效位。 ? ES:串行I/O中断允许位。ES=1,允许串行I/O中断;ES=0,禁止串行I/O中断。 ? ETl;定时器/计数器T1中断允许位。ETl=1,允许T1中断;ETl=0,禁止T1中断。 ? EXl:外部中断l中断允许位。EXl=1,允许外部中断1中断;EXl=0,禁止外部中断1中 断。 ? ET0:定时器/计数器T0中断允许位。ET0=1,允许T0中断;ET0=0,禁止TO中断。 ? EX0:外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中 断。 (2)中断优先级寄存器IP IP在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8H一BFH。 MCS-51单片机的中断分为两个优先级,IP用来设定各个中断源属于两级中断中的哪一级, 其基本格式如下: 上传的图片

单片机外部中断实验

(仿真部分) 一、实验目的 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。 二、实验内容 在INT0和INT1上分别接了两个可回复式按钮,其中INT0上的按钮每按下一次则计数加一,其中INT1上的按钮每按下一次则计数减一。P1.0~ P1.3接LED灯,以显示计数信号。 三、实验说明 编写中断处理程序需要注意的问题是: 1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。 2.必须在中断处理程序中设定是否允许中断重入,即设置EX0位。 3.INT0和INT1分别接单次脉冲发生器。P1.0~ P1.3接LED灯,以查看计数信号. 四、硬件设计 利用以下元件:AT89C51、BOTTON、CAP、CAP-POL、CRYSTAL、RES、NOT、LED-Yellow。设计出如下的硬件电路。晶振频率为12MHz。 五、参考程序框图 中断处理程序框图

(实验箱部分) 1.实验目的 认识中断的基本概念 学会外部中断的基本用法 学会asm和C51的中断编程方法 2.实验原理 图按键中断 【硬件接法】 P1.1控制LED,低电平点亮 P3.3/INT1接按键,按下时产生低电平 【运行效果】 程序工作于中断方式,按下按键K2后,LED点亮,1.5秒后自动熄灭。 8051单片机有/INT0和/INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或下降沿触发方式来输入中断请求信号。/INT0和/INT1中断的入口地址分别是0003H和0013H。 TCON寄存器(SFR地址:88H)中的IT0和IT1位分别决定/INT0和/INT1的触发方式,置位时为下降沿触发,清零时为低电平触发。实际应用时,如果外部的中断请求信号在产生后能够在较短时间内自动撤销,则可以选择低电平触发。在中断服务程序里要等待其变高后才能返回主程序,否则会再次触发中断,产生不必要的麻烦。 如果外部的中断请求信号产生后可能长时间后才能撤销,则为了避免在中断服务程序里长时间无谓等待,可以选择下降沿触发。下降沿触发是“一次性”的,每次中断只会有1个下降沿,因此中断处理程序执行完后可以立即返回主程序,而不必等待中断请求信号恢复为高电平,这是一个重要的技巧。 3. 实验步骤 ●参考实验例程,自己动手建立Keil C51工程。注意选择CPU类型。Philips半导体的P89V51RB2。 ●编辑源程序,编译生成HEX文件。 ●ISP下载开关扳到“00”,用Flash Magic软件下载程序HEX文件到MCU BANK1,运行。 运行Flash Magic软件。各步骤操作如下: Step 1: COM Port:选择实际使用的串行口,通常为COM1; Baud Rate:波特率不可设置得过高,推荐用9600; Device:请选择正确的型号89V51RB2; Interface:选择None(ISP)。 Step 2:请勾中“Erase blocks used by Hex File”。

单片机毕业设计论文可参考范文

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。本论文详细的阐述了功率测量系统的设计思路和具体设计步骤。依据单片机的接口技术的原理,以测量功率为主要设计意图。以单片机为核心,着重的介绍了51单片机在系统中的重要地位,以及其外围硬件电路的芯片结构特点、功能和管脚知识。集测量、显示等功能于一体,设计完整、结构清晰、操作简单。在本设计中,是采用对电路中电压和电流分别进行采样,再经模数转换器ADC0809,将模拟量变为对应的数字量,利用6合一的数码管显示电压和功率。本文详细论述了硬件电路的组成。利用单片机完成整个测量电路的测试控制、数据处理和显示输出。 关键词单片机模数转换功率表采样 正文 1 引言 近年来,随着电子技术、计算机技术和半导体技术的飞度发展,给电力系统测量也带来了巨大的革命。提高电能测量技术-改机械式功率表为智能型数字功率表已成为时代的要求。电力测量系统的智能型数字表通常是以单片机为核心,配置一定的外围电路和软件,能够实现多种功能。在软件和硬件的设计中,系统的抗干扰性和系统的实时性与准确度成了解决数字表的关键所在。单片机具有成本低、可靠性高、应用灵活的特点。由各具体行业的业内人士使用单片机来开发或改造一般仪表是一条可行的道路。在电工与电子技术应用中,经常要测量功率。它是利用通有电流的可动线圈在另一个通电线圈形成的磁场中产生转动力矩而工作的仪表,其显着缺点是结构复杂、过载能力较差,本身消耗功率较大,且易受外磁场的影响,同时这样的功率表一般都是多量程的,在测量过程中需有电压表和电流表配合选定电压和电流量程,在选择不同的电压和电流量程时,刻度盘上每一分格代表不同的瓦特数,读得格数需要进行换算才能得出所要测量的功率,致使测量很不方便。另外在功率测量中,经常遇到被测电路的功率因数很低的情况,这时必须采用专门的低功率因数功率表。基于功率表是电工仪表中最常用的一种仪表,目前常用的是指针式电动系功率表。而为了更为精确的显示测量结果,数字功率表的设计成为了必

51单片机定时中断C语言的写法步骤

51单片机定时中断C语言的写法步骤 程序说明:51单片机定时器0工作于方式一,定时50ms中断一次 晶振为12M #include void main { TOMD = 0X01;//配置定时器0工作于方式一 TH1 = (65536-50000)/256; //高八位装入初值 TL1 = (65536-50000)%256; //低八位装入初值 ET0 = 1; //开定时器0中断 EA = 1; //开总中断 TR0 = 1; //启动定时器0 while(1) { ; } } void Timer0_int() interrupt 1 { //重新装初值 TH1 = (65536-50000)/256; //高八位装入初值 TL1 = (65536-50000)%256; //低八位装入初值 } /****************************************************************************** *********************************/ 上面是比较好理解的。如果实在要求简洁的话,看下面的,跟上面功能一样 #include void main { TOMD = 0X01;//配置定时器0工作于方式一 TH1 = 0x3c; //高八位装入初值 TL1 = 0xb0; //低八位装入初值 IE = 0x82;//开总中断并开定时器0中断 TR0 = 1; //启动定时器0 while(1) { ; } }

void Timer0_int() interrupt 1 { //重新装初值 TH1 = 0x3c; //高八位装入初值TL1 = 0xb0; //低八位装入初值}

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