单片机实现干簧管计数器的实验
单片机计数器输入输出原理实验
单片机原理实验报告实验三:计数器输入输出实验学院: 物理与机电工程学院专业: 电子科学与技术班级: 2013 级 2 班学号:姓名:指导老师:实验三计数器输入输出实验目的:学习单片机用定时器/计数器来输入输出。
内容:编程计数,计满溢出将二极管点亮或熄灭。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先要把相关的引脚设置在输入状态,然后写一个计数程序,选用计数器T0、工作方式2、计数4次,溢出将P0口接的发光二极管取反点亮,观察二极管状态和计数次数是否一致。
步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将试验箱上的的IO1连接到L1输出端上,T0连接到计数器的P+上面,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_INPUT下的工程文件IO_INPUT.Uv2编译程序,上电,在程序注释处设置断点,进入调试状态,打开窗口Peripherals-->IO-Port-->P0,改变P+状态记录次数,运行程序到断点处,观察窗口的数值与开关的对应关系。
4、整理器材,离开实验室。
ORG 0000HAJMP MAINORG 000BH //开T0中断SJMP L1ORG 0030HMAIN:MOV P0,#00HMOV A,P0MOV TMOD,#06H //T0计数,方式2 MOV TH0,#0FDHMOV TL0,#0FDH //计数3次SETB EA //开中断SETB ET0 //允许T0溢出SETB TR0 //SJMP $L1:CLR ET0CPL AMOV P0,ASETB ET0RETI程序分析:从上面的程序可以看出我们需要用导线将试验箱上的IO1连接到L1发光二极管上,连接好仿真器。
再通过T0计数的值来对P0口所接的对应的发光二极管的状态。
结论:通过上面这段程序,我们实现了用外部中断T0来计数,以此控制P0口所接的发光二极管的亮灭。
毕业设计中期报告
11级通信工程专业毕业设计中期报告:基于单片机的多功能自行车记录仪设计学生:杜伟,通信3班,1162310316指导教师:陶剑锋1、研究背景与意义自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲娱乐运动的用途。
随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
因此,人们希望自行车的功用更强大,能给人们带来更多的方便。
自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。
本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车的速度表,它能自动地显示当前自行车运行的速度。
2、国内外文献综述与分析在如何设计基于单片机的测速系统问题上,目前业界采用的思路大体相同,即由传感器获得数据,通过单片机处理后,使用液晶将结果显示出来。
目前最大的区别是采用何种传感器。
文献[1]以STC89C52RC 单片机为核心,干簧管测转速,实现对自行车里程/ 速度的测量统计,并实现在系统掉电的时候保存里程信息,将自行车里程数及速度用LCD 液晶屏实时显示。
系统硬件电路简单,子程序具有通用性,可移植到摩托车、电动机等需要测速的系统使用。
其测速系统总体方案为图1 自行车测速系统结构框文献[2]也以51单片机作为控制模块,使用光电管检测车轮运转情况,将不同测速转换成不同频率的脉冲,并传输到单片机中,单片机进行处理和计算,将最终结果用LED 显示出来。
文献[3]以430单片机为处理核心, 通过外接电路包括霍尔传感器, 显示电路, 温度传感器等组成一个可满足用户需要的自行车测速功能仪器。
根据该单片机的已有资源设计出合理的外围电路, 选择稳定高效的元器件及关应用的程序设计。
基于MSP430单片机的智能IC卡水表控制器
基于MSP430单片机的智能IC卡水表控制器陈义平【摘要】介绍了一种以MSP430单片机为控制核心的IC卡水表控制器的设计方案.将微控制器和4442卡技术、I2C总线技术、流量计量技术及低压检测技术等相结合,实现了水表管理的高效率和智能化.详细介绍了该控制器的基本结构及各模块的软硬件设计原理.样机试验表明该智能水表控制器具有功能完善、计量准确及通信可靠等特点.%A design scheme of intelligent IC card water meter controller which takes MSP43O as the control core is introduced. The high-efficiency and intelligentization of water meter management which combines microcontroller with the technologies of 4442 card. I2C bus, flow metering and low voltage detection were realized. The basic structure of the controller and the design principle of module software and hardware are introduced in detail. The prototype experiment show that the intelligent water meter controller has the advantages of perfect function, accurate metering and reliable communication.【期刊名称】《现代电子技术》【年(卷),期】2012(035)011【总页数】3页(P123-125)【关键词】IC卡水表;4442卡;I2C总线;MSP430【作者】陈义平【作者单位】黑龙江科技学院电气与信息工程学院,黑龙江哈尔滨150027【正文语种】中文【中图分类】TN710-340 引言随着IC卡应用的普及,利用IC卡实现“预付费方式”的水费管理成为可能。
单片机课后实验---计数器实验
xx大学实验报告(机械类)开课学院及实验室:机械工程与自动化学院计算机机房实验时间 :年月日学生姓名学号成绩学生所在学院机械工程与自动化学院年级/专业/班课程名称单片机原理及应用课程代码实验项目名称计数器实验项目代码指导教师张恕远项目学分一、实验目的掌握计数器的使用方法。
二、实验内容利用计数器,记录光电开关被遮断的次数,并用LCD1602显示出来。
三、实验电路四、实验程序#include<reg51.h>#include "LCD1602.h"uchar DispBuffer[4];void main (void){TMOD=0x06;TL0=0;TH0=0;TR0=1;while(1){LCD_Initial();LCD_Prints(1,0,"THE NUMBER IS");DispBuffer[0]=TL0/100+0x30;DispBuffer[1]=TL0%100/10+0x30;DispBuffer[2]=TL0%100%10+0x30;DispBuffer[3]=' ';LCD_Prints(6,1,DispBuffer);while(1);}}五、实验步骤(1).根据实验原理图编写程序,用“Keil u Vision4”编译软件进行编译,如未通过,修改程序。
直至通过。
(2).用STC-ISP.EXE软件将所编程序的“HEX”码下载到实验板的STC89C52芯片中。
(3)运行程序,观察LCM1602是否出现“000”,用手指或纸片遮挡一次试验板左下方的光电开关,观察LCM1602是否加1变成“001”?每遮挡一次是否LCM1602继续加1?如果不符合要求,该写程序,按步骤(1)开始重新做实验,直至成功。
(4)按同样的方法调试编写实验内容(2)的程序,直至调试成功。
六、思考题为了简化编程本试验提供的子程序只能采用计数器方式2,如果采用方式1,如何将计数值全部显示出来?答:若实验中采用计数器方式1,则需要在程序代码中TMOD=0x06改为TMOD=0x05.。
单片机定时器-计数器实验总结
单片机定时器-计数器实验总结单片机定时器/计数器实验总结篇一:单片机实验之定时器计数器应用实验一一、实验目的1、掌握定时器/计数器定时功能的使用方法。
2、掌握定时器/计数器的中断、查询使用方法。
3、掌握Prteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求1、用Prteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P1.0口线上接示波器观察波形。
2、用Prteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P1.1口线上接示波器观察波形。
三、电路原理图六、实验总结通过这次实验,对定时器/计数器的查询工作方式有了比较深刻的理解,并能熟练运用。
掌握定时器/计数器的中断、查询使用方法。
对于思考题能够运用三种不同思路进行编程。
七、思考题1、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波。
答:程序见程序清单。
四、实验程序流程框图和程序清单1、以查询方式工作,在P1.0 RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #02H MV TH0, #9CH MV TL0, #9CH SETB TR0 LP: JNB TF0, LP CLR TF0 CPL P1.0 AJMP LP END2、以中断方式工作,在P1.1 RG 0000H START: LJMP MAIN RG 000BH LJMP TTC0 RG 0100H MAIN: MV TMD, #02H MV TH0, #88H MV TL0, #88H SETB EA SETB ET0 SETB TR0 HERE: LJMP HERE RG 0200H TTC0: CPL P1.1 RETI END3、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波 RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #20H MV TH1, #38H MV TL1, #38H MV TH0, #0F6H MV TL0, #14H LP1: SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CLR TR1 CPL P1.0 SETB TR0 LP3: JNB TF0, LP3 MV TH0, #0F6H MV TL0, #14H CLR TF0 CLR TR0 CPL P1.0 LJMP LP1 END RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #20H MV TH1, #38H MV TL1, #38H MV TH0, #0F0H MV TL0, #0CH SETB TR0 LP1: SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CLR TR1 CPL P1.0 SETB TR0 LP3: JNB TF0, LP3 CLR TF0 MV TH0, #0F0H MV TL0, #0CH CPL P1.0 LJMP LP1 END RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #00H LP1: MV TH1, #0F9H MV TL1, #18H SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CPL P1.0 MV TH1, #0F6H MV TL1, #14H LP3: JNB TF1, LP3 CLR TF1 CPL P1.0 LJMP LP1 END五、实验结果(波形图)篇二:单片机实验-定时器计数器应用实验一定时器/计数器应用实验一一、实验目的和要求1、掌握定时器/计数器定时功能的使用方法。
单片机计数器实验报告
计数器实验报告㈠实验目的1.学习单片机内部定时/计数器的使用和编程方法;2.进一步掌握中断处理程序的编程方法。
㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.电源一台5.信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。
㈣实验说明1.本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。
2.计数脉冲由信号发生器输入(从T0端接入)。
3.计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4.将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码 ORG 00000H LJMP MAINORG 001BH ;T0的中断入口地址 AJMP MAIN1 MAIN:MOV SP,#60HMOV TMOD,#15H ;设置T1做定时器,T0做计数器,都于方式1工作 MOV 20H,#14H ;装入中断次数 MOV TL1,#0B0H ;装入计数值低8位 MOV TH1,#3CH ;装入计数值高8位 MOV TL0,#00HMOV TH0,#00HSETB TR1 ;启动定时器T1SETB TR0 ;启动计数器T0SETB ET1 ;允许T1中断SETB EA ;允许CPU中断SJMP $ ;等待中断MAIN1:PUSH PSWPUSH ACCCLR TR0CLR TR1 ;保护现场MOV TL1,#0B0H ;装入计数值低8位MOV TH1,#3CH ;装入计数值高8位,50ms;允许T1中断DJNZ 20H,RETUNT ;未到1s,继续计时MOV 20H ,#14H;1s到重新开始SHOW: ;显示计数器T0的值MOV R0,TH0 ;读计数器当前值MOV R1,TL0MOV A,R1MOV B,#0AHDIV AB;将计数值转为十进制MOV C,ACC.3 ;显示部分,将A中保存的十位赋给L0~L3 MOV P1.0,CMOV C,ACC.2MOV P1.1,CMOV C,ACC.1MOV P1.2,CMOV C,ACC.0MOV P1.3,CMOV A,B ;将B中保存的各位转移到A中MOV C,ACC.3 ;将个位的数字显示在L4~L7上MOV P1.4,CMOV C,ACC.2MOV P1.5,CMOV C,ACC.1MOV P1.6,CMOV C,ACC.0MOV P1.7,CRETUNT:MOV TL0,#00H ;将计数器T0清零MOV TH0,#00HSETB TR0SETB TR1POP ACCPOP PSWRETI ;中断返回在频率为1000HZ时,L0~L7显示为50;频率为300HZ时,L0~L7显示为15,结果正确,程序可以正确运行。
单片机-实验二-定时器计数器实验
实验二定时器/计数器实验一、实验目的1、掌握数码管动态驱动方式的工作原理;2、掌握单片机定时器中断服务程序的编写方法;3、掌握基于单片机定时器中断调度方式的数码管动态显示驱动程序的编写方法。
二、实验内容及要求单片机通过P1 端口连接独立数码管,INT0 引脚(P3.2)和T0 引脚(P3.4)各连接一个独立按键。
通过按键向T0 引脚输入负脉冲,单片机对其进行计数,并将计数值显示在独立数码管上。
观察门控位(GATE)对计数过程的影响。
三、实验设备硬件:PC 机,nKDE-51 单片机实验教学系统;软件:Keil C51 集成开发环境,FlashMagic 单片机程序烧写软件。
四、实验原理及步骤MCS-51 定时器/计数器的结构、功能及设置方法,请参考教材相关内容。
步骤如下:1、创建新项目:Project—New Project—命名、存储—CPU类型(philips P89C52X2)2、创建新程序:编译程序—完成后保存为“.c”格式3、添加程序:Target1—Source Group—add……(程序)4、检测程序:Project—Build Target5、选择烧录程序的方式(右键点target1--opption):output—Creat Execulate:Dubug Information Browse、Creat HexDebug 右侧选择use “Keil Monitor-51 Driver”6、选择程序执行点:在Debug程序烧路后,在开始执行的程序断点上鼠标右键—Set Program Counter7、Go执行五、实验过程1. 电路连接CPU 板上的P3.2 和P3.4(J4 或J8)和基本IO 板上的独立按键SW1 和SW3(J6)相连;CPU板上的P1(J2 或J6)和基本IO 板上的独立数码管LED1(J5)相连,连接方向为P1.0 和数码管的SEG_A 对齐。
2. 程序设计按照实验要求,实验参考程序如下:#include <reg51.h>unsigned char code CharCode[] ={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};void main(void){unsigned char cc,count;TMOD = 0x05; // GATE=0,C/#T=1,Mode=2,工作于计数器模式TH0 = 0;TL0 = 0;TR0 = 1; // T0 开始运行,开启计数器P1 = CharCode[0]; // 显示 0count = 0;cc = TL0; // 设置变量初始值while(1) // 按一次 SW3,TL0 加 1{if(cc != TL0) // 计数值有变化{ cc = TL0; // 更新本次计数器值count ++; // 计数值+1if(count >= 10) count = 0; // 计数值>=10 则从 0 开始P1 = CharCode[count]; // 送数码管显示}}}3. 验证结果在Keil 中建立新工程,将上述程序代码加入工程,编译链接后,将生成的.HEX 文件烧写到单片机中,烧写完毕后复位单片机系统,按下SW3,观察数码管显示的计数值的变化,验证运行结果和设计要求是否相符。
基于单片机的自行车速度及里程表的设计
基于单片机的自行车速度及里程表的设计作者:唐志将彭森来源:《卷宗》2017年第09期摘要:随着自行车行业和电子技术的发展,自行车里程速度计技术也在不断进步和提高,用户对自行车里程速度计的要求也越来越高,因此设计了自行车里程速度计。
本文主要研究了以单片机为基础的自行车里程速度器的设计。
采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度,同时运用其他按键分别自行车单里程计数,瞬时速度、最大速度和平均速度显示以及超速报警。
该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。
1 引言我国是自行车大国,随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。
因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。
在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。
随着自行车里程表的发展,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物理量。
如佛山高明华劲电子公司的自行车里程表MS-601,能动态显示行驶里程、骑车时间、实时车速等。
2 工作原理此设计的优点在于我们能够随时随地的读出速度与里程数,主要是将输到单片机中的传感器信号的频率实时的测出来,但是因为信号的衰减性、干扰等的影响,在单片机接受信号以前要对信号放大并矫形,然后再经过单片机可以得到速度和里程,最好把这些数据存储到相应的存储器,并由液晶1602显示出所测的速度与里程。
单片机实验六计数器
实验6计数器
高源
实验内容:用P1口记录按键的次数(利用计数方式)。
• 控制箱连接:
• P3.4口连接控制箱上红色按键P ,P1口连接8个LED ,二进制显示按键次数。
参考代码(填空并看懂理解代码):
ORG 0000H
MOV TMOD, #06H (为什么?) MOV TL0,#0 MOV TH0,#0 MOV A,#0 MOV P1,A SETB TR0 HERE: MOV P1,TL0 AJMP HERE
• 思考题
• 1.如何设置计数方式? • 2.如何读取计数值?
TMOD #06H 因为想使用计数器1为计数工作模式,并且使用工作方式2 使用P3.4口INT1
汇编指令
思考题
1.如何设置计数方式?
把TMOD C/T设置为1就可以了
TMOD 示意表格
下面的表格列出了TMOD各个位的名字,点击下面的1和0就可以给各个位置1
或者置0,控制两个定时器/计数器的工作方式。
7 6 5 4 3 2 1 0
GATE C/T M1 M0 GATE C/T M1 M0
然后在对应的T0,T1输入脉冲就可以计数
计数方式的设置
通过M0,M1设置工作在什么方式,方式同定时器。
2.如何读取计数值?
根据输出口的亮灭情况
亮表示1,暗表示0
我们可以读出一个由0和1组成的二进制数
在没有溢出的情况下,将这个二进制转换为十进制就是我们最后想要的结果。
自行车里程速度计设计
毕业设计(论文)题目:自行车里程速度计设计学院:电子信息学院专业班级:自动化2011级4班指导教师:王敏职称:讲师学生姓名:***学号:***********摘要随着自行车行业和电子技术的发展,自行车速度里程计技术也在不断进步和提高,不仅可以显示速度里程,还可以显示热量消耗、心跳等参数,在大家注重环境保护和运动健康的今天,速度里程计不仅可以使运动者运动适量,还可以达到健康运动和代步的最佳效果,因此设计了以单片机为基础的自行车速度里程计,让人们能清楚地知道当前的速度、里程等物理量,而且单片机体积小、可靠性高、价格便宜。
该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。
硬件包括主控模块、数据采集模块、数据处理模块、显示模块等组成,采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,送入单片机并由单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度;软件部分用C语言编程,采用模块化设计思想,并在keil和proteus 中进行调试和仿真。
自行车里程速度计的设计本着安全、方便、性价比高、人性化的原则进行,可使现代生活显著提高。
关键词:单片机,LCD1602,霍尔传感器,里程计ABSTRACTAs the bicycle industry and the development of electronic technology, bicycle speed odometer technology is also in constant progress and improve, not only can display speed range, can also display parameters such as heat consumption, heart rate, in everybody pays attention to environmental protection and health/fitness today, speed odometer can not only make people exercise right amount motion, also can to achieve the desired effect of the health sports and walking, thus designed on the basis of the single chip microcomputer bike speed odometer, let people can clearly know the current speed, mileage and other physical quantities, in addition, SCM has small size, high reliability and cheaper price.The design expounds the working principle, hardware composition, main functions of each part and the software structure and implementation. Hardware includes main control module, data acquisition module, data processing module, display module and so on, Using the STC89C52 single-chip microcomputer as main control chip, using sensors on bicycle wheels to count, sending the signals collected by a certain time interval and the bike itself parameters to the single chip microcompute. Finally Using single chip microcomputer to collect signal analysis and display.Software part in C language programming Adopting the idea of modular design, and debugging and simulation in the keil and proteus. Bicycle mileage speedometer design in line with safe, convenient and cost-effective, humanized principle, can make modern life improved significantly.KEYWORDS:singlechip, LCD1602, Hall sensor, odometer西安工程大学毕业设计论文目录第1章绪论 (1)1.1 课题背景 (1)1.2 系统要求 (1)1.3 课题实现方法 (2)第2章系统框图及方案介绍 (3)2.1 总体方案比较 (3)2.2 总体方案选择 (3)2.2.1 系统总体框图 (3)2.2.2 系统总体设计 (3)2.3 各模块设计与选择 (4)2.3.1 单片机的选择 (4)2.3.2 显示模块的选择 (5)2.3.3 传感器的选择 (5)2.3.4 时钟芯片的选择 (6)2.3.5 按键模块的选择 (6)第3章硬件设计 (7)3.1 单片机最小系统 (7)3.1.1 最小系统接线图 (7)3.1.2 时钟电路 (7)3.1.3 复位电路 (8)3.2 显示模块 (8)3.2.1 液晶显示电路 (8)3.2.2 显示器LCD1602的介绍 (9)3.3 传感器模块 (11)3.3.1 霍尔传感器工作原理 (11)3.3.2 霍尔传感器的特性 (12)3.3.3 测速方法 (13)西安工程大学毕业设计(论文)3.4 时钟模块 (13)3.4.1 时钟电路 (13)3.4.2 时钟芯片介绍 (14)3.4.3 DS1302的工作原理 (14)3.4.4 DS1302的控制字节 (14)3.4.5 数据输入输出(I/O) (15)3.5 按键模块 (15)3.6 系统总设计图 (15)第4章系统软件设计与实现 (17)4.1 C语言介绍 (17)4.2 软件实现的功能 (18)4.3 主流程图 (18)4.5 显示子程序设计 (19)4.6 速度、里程处理流程设计 (20)4.6.1 处理流程图 (20)4.6.2 算法流程 (21)4.7 按键处理流程设计 (22)第5章系统调试与仿真 (23)5.1 软件调试 (23)5.1.1 Keil简介 (23)5.1.2 程序调试 (23)5.1.3调试中的问题 (23)5.2 硬件仿真 (24)5.2.1 Proteus简介 (24)5.2.2 Proteus与Keil联调 (25)5.2.3硬件仿真中的问题 (26)5.3实物实现 (27)第6章总结 (29)参考文献 (31)西安工程大学毕业设计论文附录.....................................................................................错误!未定义书签。
5实验五 单片机计数器的使用
姓名:学号:日期:实验五单片机计数器的使用一、实验名称:单片机计数器的使用二、实验目的1.掌握计数器的使用步骤方法;2.实现计数,当T0(P3.4)所接按键按下时,计数值加1,并把计数值通过8支LED发光二极管显示出来;三、使用仪器设备编号、部件及备件1.实验室电脑;2.单片机实验箱。
四、实验过程及数据、现象记录1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:ORG 0000HLJMP MAINORG 000BHRETIORG 0100HMAIN: MOV TMOD,#06H ;使定时器/计数器T0工作在计数方式模式2,8位自动重装MOV TH0,#00H ;初值为0MOV TL0,#00HSETB ET0 ;开中断SETB EASETB TR0 ;启动LOOP: MOV P1,TL0 ;计数值送发光二极管SJMP LOOPEND3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。
五、实验数据分析、误差分析、现象分析现象:发光二极管显示计数值,按一次按键计数值加1六、回答思考题1.如何实现大于65536的计数?2.怎么实现每按两次键,计数值加1?。
实验3、定时器计数器实验
实验三、定时器/计数器实验一、实验目的1、了解MCS-51单片机定时/计数器的基本结构、工作原理和工作方式。
2、掌握定时/计数器工作在定时器和计数器两种方式下的编程方法。
3、掌握数码管显示电路的驱动原理及编程方法。
二、实验内容1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P1口输出到发光二极管显示。
(计算机仿真)2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。
(实验台验证)3、设计一个60秒计时器,秒计时结果用两位LED数码管显示。
(计算机仿真)4、选做:设置按键控制计时器的启、停及清零功能。
三、实验原理电路原理图如下,所需元件为:AT89C52、LED-YELLOW、7SEG-COM-CAT-GRN 当晶振为22.1184M时,一个机器周期为0.54251微秒,要实现500毫秒的定时,需要921659个机器周期,对于51单片机内部定时器来说,最大只能定时65536个机器周期,定时35.535毫秒,不能满足要求,为此必须借助软件循环进行扩展。
实现的方法是:用定时器中断定时10毫秒,再用软件扩展50倍即可得到500毫秒的定时。
当到达500毫秒时,对P3.7输出取反,可得到周期为1秒的方波。
选择模式1,每个10ms中断一次,设初值为X,根据下面公式,可求得X 的值。
(216-计数初值)*机器周期=定时时间36161010101184.2212)2(-⨯=⨯⨯-X 有关定时计数器的特殊功能寄存器,请参考课本。
选择模式1,每个10ms 中断一次,设初值为X ,根据下面公式,可求得X 的值。
(完整word版)基于单片机自行车的里程测速仪
《基于单片机的自行车里程表、测速仪》单片机大作业09电子2班薛强学号:423目录摘要第一章系统设计1.1 设计任务和要求1.1.1设计任务1.1.2 基本要求1.2 总体设计方案1.2.1系统总体设计思路1.2.2方案设计与讨论1.3功能描述1.4操作说明1.5结构框图1.6原理说明第二章硬件设计2.1 硬件电路2.2 主要元件介绍第三章软件设计3.1 系统主程序流程图3.2 仿真截图3.3 源程序代码基于80C51单片机的自行车里程表、测速仪摘要:本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。
该里程测速系统以AT89C51作为系统控制核心,采用光电传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。
关键词:自行车测速;单片机;光电传感器,LCD/LED显示一、系统设计1.1 设计任务和要求1.1.1设计任务设计一个自行车里程表、测速仪,可以将自行车一段时间内的行驶里程,瞬时速度,平均速度在LCD上显示出来,有一个能用LCD显示的腕式自行车里程显示器,传感器采用霍尔元器件,安装在自行车的车轮上;1.1.2 基本要求能实时显示当前的车速和行驶里程;能去除或保留原先的里程数;电池供电。
1.2 总体设计方案1.2.1系统总体设计思路本系统实现自行车运行过程中对行驶里程、当前瞬时速度、平均速度进行测量和显示。
总体设计思路如图1所示。
系统包括控制器模块、信号检测采集模块、显示模块、电源模块四部分。
系统工作时,传感器采集到信号(用按键代表脉冲、或者用频率输入代表信号输入)传输给单片机,单片机计数器统计脉冲个数,定时器记录相应时间长度,经过运算,将行驶里程、平均速度送给LCD显示,当前(瞬时)速度送给7段数码管显示。
89C51实验三定时计数器实验
成绩实验报告实验名称定时计数器实验实验班级电子08-2姓名何达清学号12(后两位)指导教师实验日期2010年11月12日实验三定时/计数器实验一、实验目的1、掌握数码管的静态和动态扫描显示法。
2、掌握单片机定时计数器的初始化编程。
3、学会运用定时计数器进行单片机控制程序设计。
二、实验内容1、见图一,利用静态扫描显示法,让数码管显示数字6 。
(数码管元件7SEG-MPX1-CA,共阳极数码管)0RG 0000HMOV P0,#82HEND2、见图一,利用静态扫描显示法,让数码管显示数字0。
间隔时间1秒后,显示数字1。
间隔时间1秒后,显示数字2。
………间隔时间1秒后,显示数字F。
间隔时间1秒后,显示数字0 。
周而复始,循环不息。
图一程序如下:ORG 0000HLJMP MAINMAIN:MOV R0,#0FFHLOOP:INC R0CJNE R0,#16,SHOWMOV R0,#0SHOW:MOV A,R0MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,AACALL DELAY1SAJMP LOOPDELAY1S: ;误差0usMOV R7,#0A7HDL1:MOV R6,#0ABHDL0:MOV R5,#10HDJNZ R5,$DJNZ R6,DL0DJNZ R7,DL1NOPRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH END3、见图二,利用动态扫描显示法,,让数码管显示数字01234567 。
(数码管元件7SEG-MPX8-CA-BLUE,共阳极数码管)图二程序如下:ORG 0000HAJMP MAINORG 000BHAJMP TEFORG 33HMAIN:MOV SP,#60HMOV R4,#0MOV R3,#80HMOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB ET0SETB EASETB TR0LP:CJNE R4,#8,NEXTMOV R4,#0NEXT:MOV A,R4MOV DPTR,#TABMOVC A,@A+DPTRMOV R5,AAJMP LPTEF:PUSH ACCMOV A,R3RL AMOV P1,AMOV P2,R5INC R4MOV R3,APOP ACCRETITAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END4、见图二,利用动态扫描显示法,,让数码管显示数字12.34.56,每隔一秒,数字变化相当于时间计时器。
实验六 单片机定时计数器实验2
实验六 单片机定时/计数器实验
一、实验目的 1、熟悉51单片机内部定时/计数器的功能与特性 2、掌握汇编语言定时/计数器程序设计方法 3、掌握C语言定时/计数器程序设计方法
回目录
上一页
下一页
结
束
微机原理与接口技术实验
二、实验器材 1、计算机1台。 2、单片机实验箱1台 3、TKS仿真器 1台
回目录
上一页
下一页
结
束
微机原理与接口技术实验 (4)单片机输入输出C51程序设计与修改 (课外完成)
修改程序,使用定时器T1实现125ms定时 回目录 上一页 下一页 结 束
微机原理与接口技术实验 (5)修改汇编和C51程序,移植到学习板 (课内完成) 学习板发光二极管送0亮,实验箱送
1亮,因为要求闪烁,故而可以忽略
“8”,要求每过1秒“8”字左移一位,循环不断。(课内)
3、计数器实验1:CT0计数满3之后(即输入了3个外部脉
冲之后),使显示器上显示字符“8”左移一位。如此不断
重复。(课内)
4、程序移植实验 修改以上程序,移植到学习板(课内) 5、利用Proteus软件仿真以上三个实验(课外) 回目录 上一页 下一页 结 束
修改1:用T1定时2秒。 修改2:显示0-F左移。
回目录
上一页
下一页
结
束
微机原理与接口技术实验 输入输出移植实验_C51程序 (课外完成)
修改1:用T1定时2秒。 修改2:显示0-F左移。
回目录
上一页
下一页
结
束
微机原理与接口技术实验 输入输出移植实验_C51程序 (课外完成)
回目录
上一页
下一页
实验2.13 ZigBee之干簧管按钮开关量输入实验
上海企想信息技术有限公司
(一)实验目的 了解单片机数据采集的工作原理,了解开关量输入的工作原理; 学习和掌握通过ZigBee网络通信,利用上位机软件读取板载及外接 光敏传感器数据。 (二)实验设备 ZigBee套件:协调器、传感控制节点 输入设备:按钮、干簧管等 操作台:提供电源、PC、USB口、RS232串口、RJ45以太口 软件: ZigBee基础实验平台软件 (三)实验内容 利用“ZigBee基础实验平台软件”,采集按钮、干簧管等输入开关量的 状态,并进行相应控制。
(四)实验准备
• 开关量输入数据采集指令格式 (1)发送读取开关量状态请求:
02 08 CB 01 00 D3 35 00 01 0A 2D
串口接收对象:0xCB //表示协调器 网络地址:0x0001 //表示读取网络地址为0001节点的数据,若需要采集其它节点的开 关量输入情况,则需要将网络地址更改为其它的节点的网络地址。 数据对象:0xD3 //表示读取终端节点信息 命令标识:0x0035 //表示采集终端节点的开关量输入状态 数据负荷长度:0x01 数据负荷:数据为定时器间隔。0x0A表示采集间隔为1s;若为0x01,则表示100ms; 若为0x00,则表示停止数据采集。 (2)返回数据:
02 08 CB 01 00 D3 35 00 01 00 0C
数据负荷长度:0x01,表示返回数据负荷长度为1个字节 数据负荷:若返回0x00,表示当前状态为无开关量输入状态;若返回数据为0x01,则 表示有开关量输入状态;若返回数据0x00,则表示停止开关量状态采集。
(五)实验过程
1. 运行“ZigBee基础实验平台软件”,打开串口及“ZigBee串口调试工具”。 2. 获取开关量输入状态 选择“获取开关量”,发送指令02 08 CB 01 00 D3 35 00 01 0A 2D,如 图二-33所示,返回0x00,表示没有开关量输入,例如,没有按下按钮。
单片机计数器实验报告
单片机计数器实验报告引言计数器是一种常见的电子元器件,用于计数、计时和测量。
在现代电子技术中,单片机计数器已经成为常用的计数器。
本实验将介绍单片机计数器的原理、实现及其应用。
实验原理单片机计数器是基于计数器电路的基础上,将单片机芯片与计数器进行结合而成的新型计数器。
其原理如下图所示:其中,单片机芯片通过外部引脚 P3.4 和 P3.5 连接门电路,门电路将外部高电平脉冲信号转化为单片机计数器所需的时钟信号。
单片机通过 P0.0~P0.3 引脚输出计数器计数所得的二进制数码信号,实现计数器的计数功能。
具体实现方式如下:1.设置计数器初值。
将初值存放在数据寄存器中。
2.运行计数器。
将计数控制信号送入 TCON 寄存器中,启动计数器的计数功能。
3.计数器状态检测。
通过对计数器状态寄存器的读取,实现对计数器计数状态的检测。
4.计数器中断控制。
通过对计数器中断控制寄存器的设置,实现计数器中断功能的控制。
以上步骤结合起来,即可实现单片机计数器的完整功能。
实验步骤本实验采用 STC89C52 单片机,按照以下步骤进行:1.连接硬件。
连接单片机芯片、晶振、电容、电阻、LED 等电子元件,按图示连接并焊接 PCB 板。
2.编写程序。
根据实验原理和硬件连接,编写程序,并进行调试。
3.烧录程序。
将编写好的程序通过编程器烧录到单片机芯片中,实现程序的加载和运行。
4.运行实验。
串口通信方式输入脉冲信号,在 LED 显示屏上显示计数结果,并进行实验数据的记录。
实验结果本实验成功实现了单片机计数器的设计与实现,并验证了计数器的计数功能。
实验结果如下:1.在高频脉冲输入时,显示器显示秒数的计数器数值,精度可控制在毫秒及以上,经过实验结果显示正确。
2.计数器能够实现正向计数和反向计数的功能,通过程序调试和功能实验验证。
3.计数器能同时记录两个计数器数值,实现双计数器计数功能。
实验分析单片机计数器是一种集成度高、运算速度快、精度高、功能强大的计数器。
实验级通用计数计时器的开发和使用
实验级通用计数计时器的开发和使用计数计时器是实验中非常常见且重要的装置之一。
因其可以精准地测量事件发生的次数或持续时间,因此受到许多科学家和工程师的青睐。
本文将介绍一种使用数字逻辑集成电路和微控制器开发的实验级通用计数计时器,并且说明其使用方法。
1. 开发原理本设计采用基于CMOS技术的CD4543 BCD-7段译码器芯片和PIC16F628A单片机,实现了计数和计时两个功能。
其中CD4543 BCD-7段译码器芯片可以将BCD码转换成7段LED模式,而PIC16F628A单片机则可以控制计数和计时的实现。
具体实现方式如下:1.1 显示模块本设计采用的LED数字管是一款常见的共阳数码管,在通电时正极应连至公共阳极,而其他七个负极分别对应每个数码管的七个段,可通过CD4543芯片来操控。
因此,在编程时采用了一定量的位移操作来实现在每一位数码管上显示数字的效果。
同时还可以通过按下开关切换显示模式,分为计数模式和计时模式。
计数模块是使用单片机来实现的。
PIC16F628A单片机有13个可编程IO引脚,用其中的2个作为输入,1个作为输出,用于实现数字增加器,并通过BCD码输出到CD4543芯片上。
PIC16F628A的电路需包含晶振、电源模块、复位电路和可编程IO部分。
在编程时,需要定时扫描按键状态,实现键盘的扫描,并通过IO口控制计数的递增或清零。
计时模块通过定时器实现,用PIC16F628A的时钟为12MHz,开启定时器后每次中断时,程序会将计时的值加1,并将其通过BCD码输出到CD4543芯片上。
而在清零计时器时,需要将计时变量置为0并且禁用定时器。
2. 使用方法2.1 硬件配置首先,将计数计时器的电源接口连接到电源适配器上,然后将电源插头插入插座中即可开启电源。
在计数计时器上的开关上有三个位置,分别是“off”“count”和“time”。
需要根据使用模式将开关拨到相应的位置。
2.2 计数模式在计数模式下,用户可以按下左侧的“start/pause”按钮来开始或暂停计数,按下右侧的“reset”按钮可以将计数器的数值设为0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实现干簧管计数器的实验
在本实验中,要设计一个干簧管计数器,并用数码管来显示。
在本例中,还要接触单片机一个重要的功能中断。
干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃营,管中装有两个铁质的弹性簧片电板,还灌有一种叫金属铑的惰性气体。
下图是它的结构示意图。
平时,玻璃管中的两个由特殊材料制成的簧片是分开的。
当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸引接触,簧片就会吸合在一起,使结点所接的电路连通。
外磁力消失后,两个簧片由于本身的弹性而分开,线路也就断开了。
因此,作为一种利用磁场信号来控制的线路开关器件,干簧管可以作为传感器用,用于计数,限位等,同时还被广泛使用于各种通信设备中。
在实际运用中,通常用永久磁铁控制这两根金属片的接通与否,所以又被称为磁控管。
下图是干簧管状态读入电路,当磁铁靠近干簧管时,相当于按键按。