1. 学单片机预备知识,如何点亮一个发光管,流水灯程序
点亮一个发光管,要看发光管的接法,比如共阳极接法那么给控制端送“低”就点亮了。
流水灯,就是循环点亮一排发光管产生的效果。比如:
LED EQU P0
....
MOV A,#0FEH
LOOP:
MOV LED,A
RL A
LCALL DELAY
SJMP LOOP
DELAY:
......
2. 设计单片机控制二极管发光
使用AT89C51单片机,选用集成温度传感器AD590和气体传感器TGS202作为敏感元件,利用多传感器信息融合技术,开发了可用于小型单位火灾报警的语音数字联网报警器。 关键词:单片机;传感器;信号处理;火灾报警器 1 引 言 我国的火灾自动报警控制系统经历了从无到有、从简单到复杂的发展过程,其智能化程度也越来越高。目前国内厂家多偏重用于大型仓库、商场、高级写字楼、宾馆等场所大型火灾报警系统的研发,他们采用集中区域报警控制方式,其系统复杂、成本较高。而在居民住宅区、机房、办公室等小型防火单位,需要设置一种单一或区域联网、廉价实用的火灾自动探测报警装置,因此,研制一种结构简单、价格低廉的语音数字联网火灾报警器是非常必要的。 一般小型防火单位火灾报警系统如图1所示。现场火灾报警器通过对传感器火情信息的检测,使用智能识别算法实现对火灾的监测。当报警器监测到火情信息后,直接通过Modem经公用电话交换网迅速向消防指挥中心报告火情信息(包括火灾单位编码、单位名称、火情级别以及报警时间等),同时产生声光报警信号,并按事先预留的电话号码自动拨号通知单位有关负责人。消防指挥中心根据接收到的火警信息,立即在消防信息数据库中查询单位位置、周围道路、交通、水源情况等基本信息,根据所获得的信息迅速确定最佳救火方案,通过网络将出警命令直接下达各消防中队。本文将详细介绍小型防火单位语音数字联网报警器的设计与实现。 2 报警器硬件设计 2.1 硬件组成 如图2所示,报警器硬件由温度烟雾信号采集模块、声光报警模块以及单片机与Modem通信模块组成。图中1,2,3组成数据采集模块,4,5组成声光报警模块,5,6,7组成与Modem通信模块。其中,1为传感器(包括烟感和温感),将现场温度、烟雾等非电信号转化为电信号;2为信号调理电路,将传感器输出的电信号进行调理(放大、滤波等),使之满足A/D转换的要求;3为A/D转换电路,完成将温度传感器和烟雾传感器输出的模拟信号到数字信号的转换。声光报警模块由单片机和报警电路组成,由单片机控制实现不同的声光报警(异常报警、故障报警、火灾报警)功能。单片机与Modem通信模块由单片机、GM16C550串行端口扩展芯片和RS232电平转换电路组成,实现报警器经Modem与消防指挥中心的通信。下面对上述各模块进行简要介绍。 2.2 温度烟雾信号采集模块 要准确地进行火灾报警,选择合适的温度和烟雾传感器是准确报警的前提。综合考虑各因素,本文选择集成温度传感器AD590和气体传感器TGS202用作采集系统的敏感元件。 AD590是美国Analog Devices公司生产的一种电流型二端温度传感器。电路如图3所示。由于AD590是电流型温度传感器,他的输出同绝对温度成正比,即1μA/k,而数模转换芯片ADC0809的输入要求是电压量,所以在AD590的负极接出一个10 kΩ的电阻R1和一个100Ω的可调电阻W,将电流量变为电压量送入ADC0809。通过调节可调电阻,便可在输出端VT获得与绝对温度成正比的电压量,即10 mV/K。 火灾中气体烟雾主要是CO2和CO。TGS202气体传感器能探测CO2,CO,甲烷、煤气等多种气体,他灵敏度高,稳定性好,适合于火灾中气体的探测。如图4所示,当TGS202探测到CO2或CO时,传感器的内阻变小,VA迅速上升。选择适当的电阻阻值,使得当气体浓度达到一定程度(如CO浓度达到0.06%)时,VA端获得适当的电压(设为3 V)。 A/D转换电路采用了常用的8位8通道数模转换专用芯片ADC0809,电路如图5所示。温度、烟雾传感器的输出分别接到ADC0809的IN0和IN1。ADC0809的通道选择地址A,B,C分别由89C51的P0.0~P0.2经地址锁存器74LS373输出提供。当P2.7=0时,与写信号WR共同选通ADC0809。图中ALE信号与ST信号连在一起,在WR信 号的前沿写入地址信号,在其后沿启动转换。例如,输出地址7FF8H可选通通道IN0,实现对温度传感器输出的模拟量进行转换;输出地址7FF9H可选通通道IN1,实现对烟雾传感器输出的模拟量进行转换。图中ADC0809的转换结束状态信号EOC接到89C51的INT1引脚,当A/D转换完成后,EOC变为高电平,表示转换结束,产生中断。在中断服务程序中,将转换好的数据送到指定的存储单元。 2.3 声光报警模块 声光报警电路在单片机P1口的控制下,可以根据不同情况(火灾、异常、故障)发出不同的声光报警信号。声音信号由专用语音芯片提供。通过给语音芯片的S1和S2端输入不同的逻辑电平(00,01,10,11),便可以获得4种不同的声音信号。由单片机的P1.0和P1.1控制。另外该芯片还需要一个选通信号,由P1.3提供。只有当该信号为高电平时,芯片才会根据S1和S2端的控制信号发出不同的报警声,否则不会发声报警。 由P1口的P1.4~P1.7分别控制4个发光二极管,予以光报警,如图6所示。P1.4~P1.7控制的灯依次为绿色(正常信号灯)、黄色(故障信号灯)、红色(异常信号灯)和红色(火灾信号灯)。当这些输出端输出低电平时,对应的信号灯便会发光报警。 2.4 单片机与Modem通信模块 当报警器监测到火灾信息后,除了在火灾现场产生声光报警信号外,还需要将火灾信息按事先预留的电话号码自动拨号通知单位有关人员,并迅速上报消防指挥中心,为此,系统设计了单片机与Modem通讯模块,该模块由单片机、GM16C550串行端口扩展芯片和RS232电平转换电路组成。限于篇幅,对通讯模块的硬件电路及编程不做详细论述。 3 报警器监控程序设计 监控程序流程图如图7所示。系统复位后,首先要进行初始化,包括对各个控制用寄存器的初始化、设置中断服务程序的入口地址、设置堆栈等。 为了便于系统维护和功能扩充,采用了模块化程序设计方法,系统各个模块的具体功能都是通过子程序调用实现的。本系统主要包括数据采集子程序、火灾判断与报警子程序以及Modem通讯子程序等。 3.1 数据采集子程序 数据采集部分的程序设计包括:驱动ADC0809的IN0和IN1进行A/D转换,分别由子程序ADC1(温度转换)和ADC2(烟雾浓度转换)完成;单片机接收转换好的数据,存入指定内存单元,由INT1中断服务程序完成。每次驱动A/D转换后等待外部中断1,中断到来说明A/D转换已经完成,通过中断服务程序读取转换得到的数据。 3.2 火灾判断与报警程序 为了降低误报率,系统采用了多次采集、多次判断的方法。每次数据采集后根据得到的数据对现场情况进行判断:00H表示正常、01H表示异常、02H表示火灾;然后综合多次判断结果做出最终的火情判断。数据在内部RAM存储单元中的存放情况如表1所示。具体判断方法如下: (1)对温度和烟雾进行了两次数据采集与判断 温度≥100℃,温度异常,置标志位为1,否则为0;烟雾(CO,CO2)浓度≥0.06%,烟雾浓度异常,置标志位为1,否则为0。 (2)根据温度和烟雾的异常标志位判断现场情况 2个标志位均为0,表示情况正常,给53H或56H单元送00H;2个中仅有1个为1,表示情况异常,送01H;2个均为1,表示有火灾发生,送02H。 (3)综合两次情况做最后判断,并予以报警 若53H和56H中数据不相同,说明是误报,调故障报警子程序;否则按该单元中的数据调相应的报警子程序。 00H为情况正常,返回。 01H为情况异常,调异常报警子程序。 02H为现场有火灾,调火灾报警子程序,并向消防中心报告火情。 4 结 语 本文研制的用于小型防火单位的语音数字联网火灾报警器具有以下特点: (1)能对室内烟雾(CO2,CO)及温度突变进行报警(声光报警)。 (2)如果出现硬件故障(如传感器遗落、内部元器件损坏等),能发出故障报警。 (3)如果只有一种参数出现异常(如烟雾浓度过大或是温度较高),能发出异常报警信号,令值班人员到现场处理。 (4)如果烟雾和温度同时出现异常,则说明有火灾,发出火灾警报,并及时将火灾信息上报消防指挥中心。 现场模拟实验表明,本系统安全可靠,误报率低。且由于其体积小、操作维护方便、成本低廉等,具有广阔的应用前景。
3. 关于AT89C51单片机控制二极管发光的程序
简单,我就是做这个的,你说的是数码管吧,或者是想表达发光二极管的共阴或者共阳的意思。
只需要把发光二极管中的芯片正极接一支脚,阴极街上N支脚,就可以了。
不知道有没有说对
4. 求单片机课程设计 用汇编语言设计计数器(要求从0~9999,在数码管上显示)!!!!!!!!!!!!!
单片机课程设计报告
题 目 计时器设计
班 级 电 信 093
学 号 090301334
姓 名 周 剑
时 间 2010.12.20
成 绩
指导教师 石巧云
目录
一、 前言………………………………………………………………1
单片机的应用介绍…………………………………………………1
二、 课程设计的目的和要求…………………………………………2
(一)课程设计的目的…………………………………………… 2
(二)课程设计的基本要求……………………………………… 3
三、 总体设计…………………………………………………………3
(一)工作原理…………………………………………………… 3
(二)硬件总体设计……………………………………………… 4
(三)软件总体设计……………………………………………… 5
四、综合调试………………………………………………………… 7
(一)keil调试 …………………………………………………… 8
(二)Proteus调试………………………………………………… 9
五、结束语…………………………………………………………… 9
六、参考文献 …………………………………………………………10
前言
单片机的应用介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用单片机的应用介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应
智能化控制的科学家、工程师。
与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
(1.在智能仪器仪表上的应用
(2.在工业控制中的应用
(3.在家用电器中的应用
(4.在计算机网络和通信领域中的应用
(5.单片机在医用设备领域中的应用
(6.在各种大型电器中的模块化应用
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
二、 课程设计的目的和要求
(一)课程设计的目的
1. 进一步熟悉和掌握8051单片机的结构及工作原理。
2. 掌握单片机的接口技术及相关外围芯片的外特性,控制方法
3. 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5. 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。
(二)课程设计的基本要求
用AT89C51 单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,但一秒产生时,秒计数加1,秒计数加到60时,自动从0开始。单片机晶振频率为12MHz。
二、 总体设计
(一) 工作原理
LED显示器的结构与原理
1、结构种类
七段LED显示器(数码管)系发光器件的一种。常用的LED发光器件有两类:数码管和点阵。数码管内部有七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组成字符。常见数码管有10根管脚。管脚排列如下图(a)所示。其中COM为公共端,根据内部发光二极管的接线形式可分为共阴极和共阳极两种。如下图(b)(c)所示,使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。发光二极管需5~10mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。
2、显示原理
LED数码管的a~g七个发光二极管。加正电压的发光加零电压的不能发光,不同亮暗的组合能形成不同的字符,这种组合称为字型码。共阳极和共阴极的字型码是不同的,如下图所示。
LED字符显示代码表
显示 段符号 十六进制代码
dp g f e d c b a 共阴极 共阳极
0 0 0 1 1 1 1 1 1 3FH C0H
1 0 0 0 0 0 1 1 0 06H F9H
2 0 1 0 1 1 0 1 1 5BH A4H
3 0 1 0 0 1 1 1 1 4FH B0H
4 0 1 1 0 0 1 1 0 66H 99H
5 0 1 1 0 1 1 0 1 6DH 92H
6 0 1 1 1 1 1 0 1 7DH 82H
7 0 0 0 0 0 1 1 1 07H F8H
8 0 1 1 1 1 1 1 1 7FH 80H
9 0 1 1 0 1 1 1 1 6FH 90H
(二) 硬件总体设计
1、主要元器件选择
主要元器件选用型号和数量如下:
1个AT89C51(单片机) 1个CRYSTAL(晶振) 2个CAP(电容)
3个RES(电阻) 2个7SEG-COM-CATHOD(共阴极数码管)
1个CAP-ELEC(电解电容)
2、系统板上硬件连线
(1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2. 把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
3、计时器电原理图
(三)软件总体设计
1、程序设计内容
(1.在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,从新秒计数。
(2.对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。
(3.在数码上显示,仍通过查表的方式完成。
(4.一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。
2、延时1秒子程序
DELY1S: MOV R5,#100
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
3、程序流程图
4、汇编源程序设计
Second EQU 30H
ORG 0
START: MOV Second,#00H ;设置显示初值为00
NEXT: MOV A,Second
MOV B,#10
DIV AB ;十位数存于A中,个位数存于B中
MOV DPTR,#TABLE ;字型码地址送DPTR
MOVC A,@A+DPTR ;查十位字型码
MOV P1,A ;送P1口显示
MOV A,B
MOVC A,@A+DPTR ;查个位字型码
MOV P2,A ;送P2口显示
LCALL DELY1S ;调用延时1秒子程序DELY1S
INC Second ;显示值加1
MOV A,Second
CJNE A,#90,NEXT ;显示值不为90转到NEXT执行
LJMP START ;返回到主程序
DELY1S: MOV R5,#100 ;1S延时子程序
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴数码管字型码
END
四、综合调试
(一)Keil调试
程序调试完成图
(二)Proteus调试
五、结束语
完成情况:经过两个星期的努力,我们一组成员终于完成了秒表控制方案的设计,主要是用AT89C51单片机实现0-99秒计时器控制方案。本设计还包含数码管显示部分,可直接显示时间可方便观察。通过这次课程设计,使我得到了一次用专业知识和专业技能去分析问题、解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及用汇编语言设计程序的思路技巧等方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
六、参考文献
[1]. 江力主编,单片机原理与应用技术,清华大学出版社,2008年4月第6次印刷
[2].蔡骏主编,单片机实验指导教程,安徽大学出版社,2008年7月第一次印刷
[3]. http://www.51c51.com/51test/cc411.htm
5. 利用单片机控制8个发光二极管,设计8个灯同时闪烁的控制程序
方法:
1:设定一个变量i,可以从0到3循环的变化
2:检测一个经过消抖处理的按键,按一下,i+1
3:当i值为各个值时,执行相应的花样。
流水灯参考程序
#include
#include
#define uchar unsigned char
uchar j,temp;
void delay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<123;t++);
}
void main()
{
P1=0xff;
delay(500);
temp=0xfe; //有点怪,led接在P2.3~P2.6
for(j=0;j<4;j++)
{
P1=temp;
delay(500);
temp=_crol_(temp,1);
}
P1=0xff;
while(1);
}
6. 单片机是怎样控制发光二极管的亮与不亮
1.LED的阳极接地,阴极接单片机IO口,那么IO口高电平,LED灭,低电平,LED亮
2.LED的阴极接地,阳极接单片机IO口,那么IO口高电平,LED亮,低电平,LED灭
7. 如何用单片机控制LED 想让LED发出不同颜色的光 怎么用单片机进行控制
听你的问题应该是刚入门不久的,如果可以的话,用三基色LED做,用PWM调光,实现全彩色显示。
8. 通过stc89c52rc单片机怎么控制发光二极管渐亮和渐暗
通过stc89c52rc单片机控制发光二极管渐亮和渐暗方法有两种:
1、用PWM控制来产生不同的点空比的电流来调整发光二极管的电流,具体参见单片机PWM控制;
2、用DA转换来调整二极管的电流,通过改变DA的输出电压来达到调整亮度的目的,例如采用DA0832,改变输入的数值量就能改变其输出的电压.
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
9. 在单片机中如何用8个发光管演示出8位二进制数字自减过程(用c语言)
#include"reg51.h"
voiddelay(unsignedintms)
{
unsignedchari;
while(ms--)for(i=110;i--;i>0);
}
//-------------------------
voidmain()
{
unsignedcharabc=0;
while(1){
P1=abc;//在P1口外接8个LED,低电平发光.
abc++;//加,负逻辑将显示为自减.
delay(500);//延时,供观察现象.
}}
=============================================
要求由最高位P0^0作为二进制的最高位。
这个新要求,可以在焊接LED器件的时候进行调整。
更改一下程序,也不难,如下:
#include"reg51.h"
unsignedcharbdataabc=0,bbb;
sbita0=abc^0;
sbita1=abc^1;
sbita2=abc^2;
sbita3=abc^3;
sbita4=abc^4;
sbita5=abc^5;
sbita6=abc^6;
sbita7=abc^7;
sbitb0=bbb^0;
sbitb1=bbb^1;
sbitb2=bbb^2;
sbitb3=bbb^3;
sbitb4=bbb^4;
sbitb5=bbb^5;
sbitb6=bbb^6;
sbitb7=bbb^7;
voiddelay(unsignedintms)
{
unsignedchari;
while(ms--)for(i=110;i--;i>0);
}
voidmain()
{
while(1){
b0=a7;
b1=a6;
b2=a5;
b3=a4;
b4=a3;
b5=a2;
b6=a1;
b7=a0;
P1=bbb;
//P1=abc;//在P1口外接8个LED,低电平发光.
abc++;//加,负逻辑将显示为自减.
delay(500);//延时,供观察现象.
}}