51单片机实验之LED显示
2019-06-15 19:17
204 查看
单片机结构原理图
LED模块结构图
- LED共阳极,阴极输入低电平能使LED发光。单片机P2端口输入对应的低电平,使对应的LED发光。
LED流水显示代码
;利用定时器定时一秒,产生中断来时LED流水显示 ;定时一秒,时钟频率为11.0592,每0.01s产生一次溢出中断 ;利用r2来对定时器0中断计数,r2为100时,就定时1s了 COUNT equ 9217 ;11.0592*1*10000/12 org 0000h ljmp main org 000bh ajmp TIM0 ;定时器0中断入口 org 0030h main: mov r2, #0 mov TMOD, #01h ;选择定时方式,设置模式1,16位 mov TH0, #HIGH(65536 - COUNT) ;定时器0初始化 mov TL0, #LOW(65536 - COUNT) setb TR0 ;开启定时器0 setb ET0 ;开启定时器中断 setb EA ;开启总中断 clr TF0 ;清除TO溢出标志位 mov p2, #0ffh mov a, #0feh sjmp $ ;等待中断 org 000bh ;定时器0中断入口地址 TIM0: clr TF0 ;清除TO溢出标志位 inc r2 mov TH0, #HIGH(65536 - COUNT) mov TL0, #LOW(65536 - COUNT) cjne r2, #100, return ;不相等跳转到return,相等继续执行 mov p2, a ;控制LED灯显示 jnb acc.7, clear ;LED流水显示,当(A) = 0111 1111时,跳转到clear中 RL a ;循环左移一位 mov r2, #0 return: reti ;返回中断 clear: mov a, #0feh reti end
LED闪烁显示代码
;中断计数100次为一秒 org 0000h ljmp main org 000bh ;定时器中断0入口地址 ajmp TIM0 org 0030h main: mov r2, #0 mov TMOD, #01h ;选择定时功能,模式1 mov TH0, #HIGH(65536 - 9217) ;初始化定时器 mov TL0, #LOW(65536 - 9217) setb TR0 ;开启定时器0 setb ET0 ;开启定时器0中断 setb EA ;开启总中断 clr TF0 ;清中断标志 mov p1, #0ffh sjmp $ ;等待中断 org 000bh TIM0: clr TF0 ;清中断标志,一定要有 inc r2 mov TH0, #HIGH(65536 - 9217) mov TL0, #LOW(65536 - 9217) cjne r2, #100, return ;判断中断计数是否100次,100次就对LED进行取反,没有,则中断返回,从定时器0中断入口地址进入 cpl p2.5 mov r2, #0 return: reti end
声明:LED结构原理图来自 普某 的单片机结构原理图
相关文章推荐
- Holtek单片机 《二》 LED1602字符显示实验
- 51单片机8*8点阵LED显示原理及程序
- 名称:51单片机之数码管显示实验
- 51单片机开发系列四_LED点阵扫描显示
- 单片机实验——8X8LED点阵显示技术
- 单片机实验——8X8LED点阵显示技术(二)
- 单片机实验期末考试-使用两个外部中断控制8只LED显示的电路
- 51单片机的LCD显示
- 单片机 串行口实验解数据流怎么到发光二极管来显示的
- 一:51单片机简单IO实验(自测)
- 51单片机按键灯实验
- 51单片机串行接收并显示
- 使用 IAR for 51 实验 LED 灯模拟二进制加减法.
- 51单片机实验
- 51单片机开发系列三_数码管动态扫描显示
- 1:51单片机LED闪烁实验
- 51单片机入门之五:数码管显示(动态)
- 51proteus仿真:16x16LED显示一个汉字
- 基于proteus的51单片机仿真实例五十九、1位数码管显示实例
- 基于proteus的51单片机仿真实例六十三、字符液晶LCD1602显示单个字符实例