51单片机实现定时器中断0-F
- #include <reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- sfr P0M0 = 0x94;
- sfr P0M1 = 0x93;
- sfr P2M0 = 0x96;
- sfr P2M1 = 0x95;
- uint count,i,j;
- uchar code leddata[] = {
- 0xC0, //"0"
- 0xF9, //"1"
- 0xA4, //"2"
- 0xB0, //"3"
- 0x99, //"4"
- 0x92, //"5"
- 0x82, //"6"
- 0xF8, //"7"
- 0x80, //"8"
- 0x90, //"9"
- 0x88, //"A"
- 0x83, //"B"
- 0xC6, //"C"
- 0xA1, //"D"
- 0x86, //"E"
- 0x8E, //"F"
- 0x89, //"H"
- 0xC7, //"L"
- 0xC8, //"n"
- 0xC1, //"u"
- 0x8C, //"P"
- 0xA3, //"o"
- 0xBF, //"-"
- 0xFF,
- 0xFF
- };
- uchar code weidata[] = {
- 0x01,0x02,0x04,0x08,
- 0x10,0x20,0x40,0x80,
- 0x01,0x02,0x04,0x08,
- 0x10,0x20,0x40,0x80,
- };
- void delay(uint ms){
- uint i,j;
- for(i = ;i < ms;i++)
- for(j = ;j < ;j++);
- }
- void timer_init(){
- TMOD = 0x01;
- TH0 = 0x3c;
- TL0 = 0x0b0;
- EA = ;
- ET0 = ;
- TR0 = ;
- }
- void timer_init1() interrupt {
- TH0 = 0x3c;
- TL0 = 0x0b0;
- count++;
- if(count == ){
- count = ;
- i++;
- if(i == ){
- i = ;
- }
- }
- }
- void display(){
- P0 = leddata[i];
- P2 = ~weidata[i];
- }
- void main(){
- P0M0 = 0x00;
- P0M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- timer_init();
- while(){
- display();
- }
- }
51单片机实现定时器中断0-F的更多相关文章
- TQ2440之定时器中断0——volatile关键字的重要作用
近日,在学习<ARM处理器裸机开发实战--机制而非策略>一书,在TQ2440开发板上,按照书中实例以及光盘配套程序源代码进行Timer0中断试验,编译成功后烧写到开发板上,没有任何反应,反 ...
- AVR单片机教程——定时器中断
本文隶属于AVR单片机教程系列. 中断,是单片机的精华. 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断.触发中断的事件成为中断源,处理事件的函数称为中断 ...
- 51单片机实现定时器00H-FFH、定时器000-255
#include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr ...
- 51单片机实现外部中断00H-FFH、000-255、0000-1023
外部中断00H-FFH #include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 ...
- 51单片机实现外部中断0-F
#include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr ...
- 51单片机中断interrupt……using……
51单片机中断细节的一些问题. interrupt0:外部中断0interrupt1:定时器中断0interrupt2:外部中断interrupt3:定时器中断1interrupt4:串口 using ...
- ET 与RETI 基于51单片机中断跳出指令“RETI”浅议
最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”.在有过单片机中断编程经历者都知道当EA=1,ET0=1的 ...
- 提升效率(时间准确性),减少时间和资源的消耗——由89C52/89C51的定时器中断引出的一些问题
尽量用最少的文字描述清楚问题. 事情起因是这样的: 要做遥控小车的平台迁移,STM32开发板无法方便地供电,因此又拿出了尘封的51(STC89C52RC),搭配上最小系统板就可以用排针加杜邦线供电了. ...
- [学习笔记]15个QA让你快速入门51单片机开发
一.C语言相关 Q1:sbit与sfr代表是什么?有什么作用? Q2:#define OSC_FREQ 22118400L这句宏命令里的“L”是什么意思? Q3:我粘贴了别人的代码,怎么发现没有un ...
随机推荐
- eclipce导出项目发布到tomcat
1.右击项目-Except 2.在弹出框中输入“WAR file” 3.点击“next” 在Destinatin选择保存路径,即可 4.将保存的文件复制到tomcat下,启动tomcat之后,会自动解 ...
- Java字符串常量池是什么?为什么要有这种常量池?
简单介绍 Java中的字符串常量池(String Pool)是存储在Java堆内存中的字符串池.我们知道String是java中比较特殊的类,我们可以使用new运算符创建String对象,也可以用双引 ...
- while、dowhile、switchcase 循环嵌套、穷举、迭代
for(var i=0;i<5;i++)//假如规定到5 { document.write("123456<br/>") } 如果变成这样 var i=0: fo ...
- 火狐 SSL 收到了一个弱临时 Diffie-Hellman 密钥
火狐 SSL 收到了一个弱临时 Diffie-Hellman 密钥 最近在用FireFox 调试时使用Https,连接 https网址 时发生错误. 在服务器密钥交换握手信息中 SSL 收到了一个 ...
- HTML中id和class选择器
<1>.id和class的区别? id相当于人的身份证不可以重复 class相当于人的名称可以重复 一个HTML标签只能绑定一个id名称 一个HTML标签可以绑定多个class名称 < ...
- CALayer简介(转)
一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮,一个文本标签,一个文本输入框,一个图标等等,这些都是UIView. 其实UIView之所以能显示在屏幕上,完全 ...
- leetcode笔记(三)207. Course Schedule
题目描述(原题目链接) There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may ...
- Co. - Microsoft - Windows - 快捷键
[F1-F12]键 [Win]键 Windows键就是电脑键盘上是Windows图标的键,一般在Ctrl键和Alt键之间.搜索看整个键盘你会发现键盘上有两个Windows键,主要是左右手设计方便按各种 ...
- thinkphp5 分页带参数的解决办法
文档有说可以在paginate带参数,然后研究了下,大概就是这样的: $list=Db::name('member') ->where('member_name|member_mobile|se ...
- Kubernetes中的Ingress
Ingress是什么 Ingress :简单理解就是个规则定义:比如说某个域名对应某个 service,即当某个域名的请求进来时转发给某个 service;这个规则将与 Ingress Control ...