找回密码
 注册
关于网站域名变更的通知
查看: 453|回复: 3
打印 上一主题 下一主题

单片机按键控制单个数码管显示变化数字源程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-9 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
单片机按键控制单个数码管显示变化数字源程序" r6 n+ g6 f  n4 Y

! @' L8 M' d( y1 J$ c% j4 T7 ~
: [, H4 Y2 K# Y1 n! s
这是我单片机课程中按键控制单个数码管显示的程序8 S1 ?0 s/ E/ W6 U2 q2 h" q
: R0 }& ~! ^/ v6 q, V% a  q4 M
单片机源程序如下:
1 X" B8 I, Q/ B- y
/*-----------------------------------------------  n6 d4 P5 P, g- H1 ~6 J$ P" X
  名称:单个共阳数码管动态显示变化数字
% F* X/ B! Q4 K  修改:无
0 W9 y6 U) Q" D$ t( l3 F: n  内容:通过循环检测P1口按键输入值,然后用数码管输出,
5 {$ D8 d+ D6 q, Q! w' C" u. r0 s5 d        没有按键按下时原值不变 & F9 V0 N, N" u4 u  |& L  ^1 X- i
------------------------------------------------*/
. j  W) }% g1 C; M! W( U% G#include<reg52.h> //包含头文件,一般情况不需要改动,
4 y7 x9 l$ r2 b7 ?% B/ C: A//头文件包含特殊功能寄存器的定义
. ~  B; H' L* h+ N  u
7 }' a: n* L1 T& n: d
9 _7 t; C  y) x$ f
unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,
  J# q" J4 p7 }, ~7 O                                    0x92,0x82,0xf8,0x80,0x90,}; & L  Z" t3 }5 a6 w' r
                                                                        // 显示数值表0-9: E2 o3 C  c, F" \+ S, g- ]

3 o& F* _& y" Y* t" r

8 `1 E* v4 s! m. [' e& U/*------------------------------------------------7 l" x! U% T  r8 Z
                    主函数' w; f: K6 C0 h; b' X$ @- J! `
------------------------------------------------*/
4 A% m9 f" I4 R4 a, Tvoid main (void)
! W; c0 B, C" b) F! W{
0 C  e5 L# D/ n! T3 {3 P                  
, w' j; D0 T5 F3 o7 ?9 V$ P  @7 b

+ k! U' |! }5 `, e% q( awhile (1)         //主循环: `+ a. c9 u2 @9 E6 U
  {5 }- V& u) J4 @2 Z6 |+ [

5 u  f  P4 r% z# o
6 Q' s  C" q  b. i) u) V
  switch(P3)  //P3口作为独立按键输入端,检测端口电平并做如下判断                           
- o5 R8 l+ @4 {9 T( {       {1 t1 C* @: f& l. ?
            case 0xfe1=dofly_table[1];break;//0xfe = 1111 1110,0 \9 X9 d, S. A$ u3 c
//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环
1 v" h: z! n- q/ @                case 0xfd1=dofly_table[2];break;//调用表中的第三个
; Z3 n8 f/ k1 Q* l" b8 i/ Y//元素 0xa4 下标 0 才表示数组中的第一个元素' ?  Z/ s  l$ L+ @
                case 0xfb1=dofly_table[3];break;
. X* h- y) s* r7 N* s2 Q                case 0xf7:P1=dofly_table[4];break;2 ~6 x# f' Y3 N9 G% r
                case 0xef:P1=dofly_table[5];break;
  w9 k/ n) \5 D0 L                case 0xdf:P1=dofly_table[6];break;
" F4 @6 n7 m+ M' x6 w0 f7 L9 l                case 0xbf:P1=dofly_table[7];break;6 e& p3 B7 @  l) m+ K* `4 J3 ~
                case 0x7f:P1=dofly_table[8];break;
  s7 y8 v7 ^# m7 j' M                default:break;    //如果都没按下,直接跳出4 N) j5 g+ n! _5 t# ]: Q: E
           }
6 u1 q  s0 X# u/ G                     //主循环中添加其他需要一直工作的程序  r; N8 r- z5 `6 F* v4 F
  3 Y9 U# ~4 z( \; }/ v* P# z; g, M6 ?

# F' d0 u! ^$ f/ P
' H6 ]7 N5 M3 Z' A9 J7 e& H4 F2 L
; Z6 r! N) A0 h' c7 s3 {
1 [" \1 @7 Z! a- G
…………限于本文篇幅 余下代码请从论坛下载附件…………# t' }3 P# O8 z
完整代码下载:3 ^" u8 G6 R- i0 ^
游客,如果您要查看本帖隐藏内容请回复

7 R# H7 u, R9 W+ J

, n+ V- |% j) V6 u) D6 c) o: ^

该用户从未签到

2#
发表于 2019-1-9 11:14 | 只看该作者
不错,谢谢分享

该用户从未签到

3#
发表于 2019-11-19 15:02 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-27 08:14 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表