
msp430 编程问题
就这样计算。
小数部分0.41乘以8,取整,得到3,也就是UMCTLx的值,这说明需要有三个bit的宽度需要加一个BRCLK。
这三个bit可以任选,你所列的是一种,还可以选00000111,11100000...都行。
不知道说明白了没有,欢迎追问~
基于单片机的00秒-99秒的秒表设计
工程技术学院课程设计题用单片机AT89C51设计一个2位的LED数码显示作为表”专业:电气工程及其自动化:2009级学号:200914472009141420091444姓名:付忠林梁宗林李座指导教师:杨彦鑫日期:2012年12月12日云南农业大学工程技术学院目录一、设计和要求:2二、设计目的:3三、设计内容:4四、课程设计心得体会21五、参考文献22六、课程设计指导教师评审标准及成绩评定23附件1:秒表原理图(实际接线图)24附件2:仿真图125附件3:仿真图226一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写
51单片机中的定时器中断是怎么用的
所以中断的使用:1.开全局中断 51是 EA = 12.对应中断使能 比如定时器1 ET1 = 1、定时器0 ET0 = 13.定时器工作方式配置: 有三种方式 双8位定时 16位定时 还有捕捉方式 定时器2有4种 ,具体不介绍了 TMOD 是定时器0和定时器1方式配置的寄存器 TMOD = 0x01,定时器0工作在方式1(16位计数)4.打开定时器 TR0 = 1;定时器1打开是 TR1 = 1;5.:就是定时时间到,你要处理的事务。
例子:\\\/\\\/50ms定时void main(void){ TMOD = 0x01; \\\/\\\/配置方式 TH0 = 0x3C; \\\/\\\/计数时间 TL0 = 0xB0; TR0 = 1; \\\/\\\/开启定时器 EA = 1; \\\/\\\/全局中断打开 ET0 = 1; \\\/\\\/定时器0中断打开 for(;;)}void Timer0_ISR(void) intterupt 1 \\\/\\\/{ TH0 = 0x3C; \\\/\\\/计数时间 TL0 = 0xB0; P1 = 0x11; \\\/\\\/定时到,要执行的动作}
用定时器计数器设计一个简单的秒表
目录摘要I1Proteus简介12主要相关硬件介绍22.1AT89C52简介22.2四位数码管42.374LS139芯片介绍53设计原理54电路设计64.1电路框图设计64.2电路模块介绍74.2.1控制电路74.2.2译码电路74.2.3数码管显示电路74.3仿真电路图85设计代码86仿真图127仿真结果分析148实物图149心得体会15参考文献16摘要现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小到广泛使用的各种智能IC卡、各种计时和计数器等等。
本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器\\\/计数器设计一个简单的秒表。
本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器\\\/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。
将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为0~99.99秒,计时精度为0.01秒,能正确地进行计时,并显示计时状态和结果。
其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
关键词:秒表,AT89C51,proteus,C语言1Proteus简介Proteus是世界上著名
单片机定时器实验.
你的注释有的有错误,现重新更正如下 ORG 0000HAJMP STARTORG 001BH ;外中断1入口地址AJMP INT_T1ORG 0100HSTART:MOV SP,#60H;设置堆栈深度MOV TMOD,#10H ;置T1为方式1MOV TL1,#00H ;延时50mS的时间常数MOV TH1,#4BHMOV R0,#00H;表格计数器MOV R1,#20;1s计数器即20*50ms=1000ms=1s,得到所需要定时时间1sSETB TR1;打开定时器1SETB ET1:允许定时器1中断SETB EA ;开总中断SJMP $:等待INT_T1: ;T1中断服务子程序PUSH ACC ;保护现场PUSH PSWPUSH DPLPUSH DPHCLR TR1 ;关定时器MOV TL1,#00H ;重新载入计数初值MOV TH1,#4BHSETB TR1 ;再次打开定时器DJNZ R1,EXIT;判断是否到达20个50ms,如果没有则继续循环MOV R1,#20 ;重新载入1s计数值MOV DPTR,#DATA ;置常数表首地址MOV A,R0 ;置常数表偏移量MOVC A,@A+DPTR ;读常数表MOV P1,A ;这里中的A决定是什么花色,也就是显示什么INC R0;指向下一个数ANL 00,#07H;EXIT:POP DPH ;恢复现场POP DPLPOP PSWPOP ACCRETILED显示常数表DATA: DB 0FAH,0F5H,0AFH,05FH,0AAH,55H,00H,0FFHEND总的来说显示什么样的花色是由你提前计算好,然后将对应的值放入表格中。
比方说,你的led是共阴极接法,那么你要L1和L3亮就要给p1口送00000110B,这个值放到表格中等你用的时候从表格中取出来就行了
51单片机电子秒表设计(Proteus)
目录一、简述1二、主要工具1三、线路连接图(ISIS7Professional环境)1四、实现细则1显示电路1定时计数器2五、程序2六、模拟运行截图7七、心得体会7一、简述此秒表主要实现的功能是利用单片机内部定时计数器实现计时,然后通过LED组件显示出来。
因为这次设计时使用的是并排的6个数字显示LED,所以在计时时精确到10ms,最大即时59分59秒99。
实现过程中的主要部分包含显示和定时。
因为该LED与单片机相接的引脚只有14个,其中8个接在P0口上实现字形的显示,剩下的6个接在P2口用于选择6个数字型LED中的一个显示,所以每次只能显示一个数字。
要实现多个数字的显示需要快速显示每个LED,利用人的视觉差来实现多个数字同时显示。
计时只用到定时计数器T1(因为需要配合中断优先级,故没有使用T0,下文会详细讲到)。
另外还用到了两个按键,和两个LED灯(红、绿)。
按键用于控制开始计时和暂停、重置,LED灯用于指示当前工作状态。
二、主要工具KeiluVision3,ISIS7Professional,AT89C51基础组件(试验箱)。
三、线路连接图(ISIS7Professional环境)四、实现细则显示电路数字型LED的实现原理为每个单元(共6个单元)含8个发光独立的LED灯,其中7个构成“8”字形,剩下的一个为小数点。
6个单元的每个相同位置引脚并联起来,最后通过8根线连接到单片机的P0口。
因此如果不把另外6根线连接上,每次通过P0口输出值时6个显示单元都会显示相同的图
单片机定时器中断实验 程序(汇编语言)不要c语言的
下列程序,已经经过实验,可以满足题目要求. ORG 0000H SJMP MAIN ORG 000BH SJMP T0_INTMAIN: MOV TMOD, #01H ;T0定时方式1 MOV TH0, #(65536-50000) \\\/ 256 ;定时50ms@12MHz MOV TL0, #(65536-50000) MOD 256 ; SETB TR0 ;启动T0 MOV IE, #82H ;开中断;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L4,L6亮,第四秒钟L5,L7亮,;第五秒L0,L2,L4,L6亮,第六秒钟,L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭. MOV 30H, #11111010B MOV 31H, #11110101B MOV 32H, #10101111B MOV 33H, #01011111B MOV 34H, #10101010B MOV 35H, #01010101B MOV 36H, #00000000B MOV 37H, #11111111B MOV R0, #30H MOV R7, #20M_LOOP: SJMP M_LOOP ;无限循环T0_INT: MOV TL0, #(65536-50000) MOD 256 ; MOV TH0, #(65536-50000) \\\/ 256 ;定时50ms@12MHz DJNZ R7, T0_END MOV R7, #20 MOV P1, @R0 INC R0 CJNE R0, #38H, T0_END MOV R0, #30HT0_END: RETIEND ;完



