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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机按键控制单个数码管显示变化数字源程序, a7 f  G' {, x  f# H

4 ?* g: u0 E1 s# ^

  ?  F! n3 V0 w- n9 w4 a; t# C这是我单片机课程中按键控制单个数码管显示的程序* S( o/ `+ m- D0 O/ l

  O( ]. e' g9 {' P单片机源程序如下:

+ b% O) c. T3 F: D) B/*-----------------------------------------------
! i* Y0 n+ O( R9 C  名称:单个共阳数码管动态显示变化数字" T+ x) V; b( K4 k6 V( h8 T$ x5 Q" M
  修改:无
& X$ v+ r/ Z! s2 k  内容:通过循环检测P1口按键输入值,然后用数码管输出,
. S- \, M& {" h  E2 ?        没有按键按下时原值不变
4 {5 o* s1 O: `& ]* X! r------------------------------------------------*/7 |, a/ \+ ?) r& e" t5 p3 z+ M: |8 c
#include<reg52.h> //包含头文件,一般情况不需要改动,: D4 ]7 Y, H0 H
//头文件包含特殊功能寄存器的定义
" g- d& Q6 J" Z( _5 H! P0 C
, D6 M' C- u: F3 x4 T( W; I

9 A! {0 i# }1 {2 J* Gunsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,% d- [: B) V' \
                                    0x92,0x82,0xf8,0x80,0x90,}; # G2 s( w3 P$ C+ j5 C1 T
                                                                        // 显示数值表0-9
8 u( X8 r) a$ `& ]6 U' [3 d2 ?/ s6 }! Q

# S+ U/ _+ q3 t/*------------------------------------------------
$ r2 g* f& I$ Q$ n9 R                    主函数4 h' k  f# q6 h* k# P6 q
------------------------------------------------*/
  p, [$ R( @! _. y  Uvoid main (void); Y) }8 P, U, O
{2 f  M8 M) I) ?1 d+ Y0 W
                  ) c& e1 ^2 W! N, m

6 y3 a; A3 y' @/ ?
; t! R6 V; y7 s& [0 H2 s( x
while (1)         //主循环, R4 A1 R- b& h  p2 _! ^
  {& w3 j- \- X3 @

  g! ~7 E2 u! R, D. d; r  W
9 _6 a1 m& F+ ^$ z
  switch(P3)  //P3口作为独立按键输入端,检测端口电平并做如下判断                           
$ V+ G, ]2 a' {( m. y       {
5 f2 v& d" J4 q6 j' [            case 0xfe1=dofly_table[1];break;//0xfe = 1111 1110,
. N4 d! H9 C& t6 |: w: c//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环/ M( ]* `7 T5 I0 p: h
                case 0xfd1=dofly_table[2];break;//调用表中的第三个+ W# f3 N2 ?# q& R
//元素 0xa4 下标 0 才表示数组中的第一个元素2 j' q% r. S6 O$ F& N) r
                case 0xfb1=dofly_table[3];break;
, S& ^# A! c. i4 J# @                case 0xf7:P1=dofly_table[4];break;
, \* n! v" V$ u                case 0xef:P1=dofly_table[5];break;
6 A  D- e0 J9 I                case 0xdf:P1=dofly_table[6];break;8 \7 o  j% O  Q. y+ V
                case 0xbf:P1=dofly_table[7];break;) ~  U2 J* ^) ^+ [5 U- A
                case 0x7f:P1=dofly_table[8];break;) I" E, Z6 p- N8 K: f
                default:break;    //如果都没按下,直接跳出# f" ]' d% G- y# ~  B9 K
           }
. o2 C5 B: E- g. h                     //主循环中添加其他需要一直工作的程序8 D8 e) [3 t( t' m% h+ M
  3 ~) r( K& T5 _* w. [
4 Q# L% j& H: T1 J
- p' D" Y" {* Q2 v( p$ m5 C; P0 `
( I* [( i( I% h; c- h" C. S* i
) j& J& E9 q! E1 g7 G1 `0 C0 X2 n
…………限于本文篇幅 余下代码请从论坛下载附件…………9 g. j6 N& h" g$ t) Y
完整代码下载:+ S+ N4 s, y% Q# Z
游客,如果您要查看本帖隐藏内容请回复
( m- ^8 S1 F3 g- o' R* \+ X# p

- ^* [6 c1 l. k/ A5 O3 B/ X7 V

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 17:05 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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