重拾单片机 第二天 数码管的使用 (动态扫描数码管)

我们要实现的功能是什么呢?

从 第一个数码管扫描 1 到第二个数码管 2 ,第三个数码管 3,。。。。。。。一直到 第8个数码管 显示8

 1         /*--------------www.szjcdz.cn--------------------
 2   名称:数码管动态扫描
 3   编写:shenhui
 4   日期:2015.10.28
 5   内容:数码管动态扫描
 6 ------------------------------------------------*/
 7 #include<reg52.h>
 8 #define uchar8 unsigned char
 9 #define uint16   unsigned int
10 sbit LATCH1=P2^6;
11 sbit LATCH2=P2^7;
12 void display( );
13
14 uchar8 code DuanMa[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};// 显示段码值0~F
15 uchar8 code WeiMa[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//分别对应相应的数码管点亮,即位码
16
17 uchar8     Template;    // 存储显示值的全局变量
18
19 // 延时函数
20 void DelayMS(uint16 val)
21 {
22        uint16  i,j;
23        for(i=0;i<val;i++)
24            for(j=0;j<113;j++);
25
26 }
27
28
29 //*******************************主函数*******************************//
30 void main(void)
31 {
32   37
38
39     display( );
40
41 42
43
44 }
45
46
47
48 void display( void )
49 {
50      uint16 i;
51     while(1)
52     {
53
54      for(i=0;i<8;i++)
55      {
56         P0=0;
57         LATCH1=1;
58         LATCH1=0;
59
60
61         P0=WeiMa[7-i];
62         LATCH2=1;
63         LATCH2=0;
64
65
66         P0=DuanMa[i];
67         LATCH1=1;
68         LATCH1=0;
69
70         DelayMS(200);
71
72       }
73
74      }
75
76
77 }
时间: 2024-12-22 12:07:35

重拾单片机 第二天 数码管的使用 (动态扫描数码管)的相关文章

重拾单片机 第二天 数码管的使用 ( 按下加按键,数值增加直到最大值,按减按键,数值减小,直到最小值 )

1. 1 /*--------------www.szjcdz.cn-------------------- 2 名称:2按键加减操作 3 编写:szjcdz 4 日期:2010.9 5 内容:按下加按键,数值增加直到最大值,按减按键,数值减小,直到最小值 6 ------------------------------------------------*/ 7 #include<reg52.h> 8 #define uchar8 unsigned char 9 #define uint16

重拾单片机 第三天 中断讲解(一)

52单片机: 中断源: INTO0--外部中断0,由P3.2端口线引入,低电平或下降沿引起. INTO1--外部中断1,有P3.3端口线引入,低电平或下降沿引起. T0--定时器/计数器0中断,由T0计数器计满回零引起. T1--定时器/计数器1中断,由T1计数器计满回零引起. T2--定时器/计数器2中断,由T2计数器计满回零引起. TI/RI--串口中断,串行端口完成一帧字符发送/接收后引起. 单片机在使用中断功能时,通常需要设置两个与中断有关的寄存器: ①中断允许寄存器IE ②中断优先级寄

重拾MVC——第二天:Vue学习与即时密码格式验证

今天是复习MVC的第二天,准备自己写一个后台管理,然后慢慢写大,做全. 个人感觉做 Web 的,前端知识是必备的,所有今天学习了一下 Vue,很多人用这个,我以前没有用过,今天把它补起来. 比较了各个学习 Vue 的地方,感觉官方文档讲得很详细,推荐一个学习的网站,将 Vue 讲的很清楚:http://how2j.cn/k/vuejs/vuejs-start/1744.html 这个网站主要是学 Java 的,不过 Java 部分我还没怎么看,只是大致浏览了一下前端部分,感觉很不错,站主很用心.

(二)重拾单片机 第一天 LED灯

由图知道 低电平 亮,高电平 灭 控制第一个 LED1 亮灭程序代码,如下 #include<reg52.h> #define uchar8 unsigned char #define uint16 unsigned int sbit LED1=P1^0; /*****************************/ // 函数名称: DelayMS( ) // 函数功能: 延时 // 入口函数: 延时毫秒 // 出口函数: 无 /********* *******************/

重拾单片机 第一天 LED灯

由图知道 低电平 亮,高电平 灭 控制第一个 LED1 亮灭程序代码,如下 1 #include<reg52.h> 2 #define uchar8 unsigned char 3 #define uint16 unsigned int 4 sbit LED1=P1^0; 5 /*****************************/ 6 // 函数名称: DelayMS( ) 7 // 函数功能: 延时 8 // 入口函数: 延时毫秒 9 // 出口函数: 无 10 /*********

使用JWT和Spring Security保护REST API,重拾后端之Spring Boot

通常情况下,把API直接暴露出去是风险很大的,不说别的,直接被机器***就喝一壶的.那么一般来说,对API要划分出一定的权限级别,然后做一个用户的鉴权,依据鉴权结果给予用户开放对应的API.目前,比较主流的方案有几种: 用户名和密码鉴权,使用Session保存用户鉴权结果.使用OAuth进行鉴权(其实OAuth也是一种基于Token的鉴权,只是没有规定Token的生成方式)自行采用Token进行鉴权第一种就不介绍了,由于依赖Session来维护状态,也不太适合移动时代,新的项目就不要采用了.第二

重拾linux

重拾linux 起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使用linux.docker等.记录下过程,防止以后忘记!(所以不会涉及具体的安装步骤) 下载 到网易开源镜像站,挑选一个linux下载.我安装linux只要是为了学习运维方面的知识,同时用于进行网络知识方面的实践.如果你跟我一样,推荐Ubuntu server版本,纯字符界面,就跟一

重拾qt

最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文字符: 函数:把一般字符串转为中文字符串: //中文处理 QString mysqlServerTs:: handleTheChinesCode(const char*words){ QTextCodec* tc = QTextCodec::codecForLocale(); return tc->

重拾梦想,做更好的自己

亥时,就寝,忽入空灵,甲申年出师已历一纪,诸多记忆电光石火逐一闪现.时年家贫无靠,生计无着,每日波奔却心系梦想,虽日日身疲体倦,却每以<孟子·告子下>篇中名句“天降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行指乱其所为,所以动心忍性,曾益其所不能也”以慰寸心,类比篇中清史名人,胸中满溢浩然正气,行事尽显峥嵘:历12载,生活稳定,已婚并育一女,四老体健而心宽,内子贤而持家,小女伶俐活泼,此三项尽得,可谓得意了. 然忆及往昔践行之路与现时行走之途,高下立判,原所行皆可日日前行,步步