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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机按键控制单个数码管显示变化数字源程序
, x+ U+ q+ |. \0 w# ^  U8 o; i
6 S8 W" H6 C, A% A' O3 P

; q% y% |9 J! |+ H2 M# R这是我单片机课程中按键控制单个数码管显示的程序
6 I4 Q2 ^. ~5 j) y2 Z  C $ e$ q4 Y/ f8 e: Z! @" v
单片机源程序如下:
( w' c9 g' O; v+ [
/*-----------------------------------------------
3 B+ D  x" e6 B- u  名称:单个共阳数码管动态显示变化数字
0 E) t/ w- I* [# v' k! e2 a  修改:无# E* I9 f4 x/ G, P8 |# m+ f
  内容:通过循环检测P1口按键输入值,然后用数码管输出,
( B2 H+ `' }/ Q* U        没有按键按下时原值不变
4 @( n8 Z8 S4 R5 ?  S+ o------------------------------------------------*/
% {& i, b8 w! A5 M2 `#include<reg52.h> //包含头文件,一般情况不需要改动,
0 z/ J2 v5 ]# t" e$ f//头文件包含特殊功能寄存器的定义
5 Y/ J7 p0 ?* u6 x  g/ S5 E+ U) N  g  w: u, {

. H6 n; }* c# ?# U1 k  lunsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,* m6 U2 R8 \/ k9 a
                                    0x92,0x82,0xf8,0x80,0x90,}; 7 E$ J+ M" J! w6 P- o; o
                                                                        // 显示数值表0-9% u& Y6 p$ g: R

! n0 j$ W1 @  N( K
; n% z6 g& C1 F1 {- s# i5 q
/*------------------------------------------------
9 l1 `7 V9 `+ [0 }: |                    主函数
- |6 I/ R' X6 V% C3 m------------------------------------------------*/
7 a6 n9 \+ i$ X) {! ovoid main (void)" ]/ E, g/ P8 H& P
{
1 n( g& {; _4 R# T                  3 `7 N# H4 b' m- J, H9 J

5 u6 k0 F) i: d$ {' Y
1 l( }9 U. u7 q, G1 B
while (1)         //主循环6 u* X4 M' @' A$ w2 M
  {( @' Q1 D, z0 {& I; O! X

' V, F- y: ~9 T2 e, Q& s" w! q
% E2 z5 ^- {% \: p+ n4 p9 U
  switch(P3)  //P3口作为独立按键输入端,检测端口电平并做如下判断                            ( h! X/ P  i, |2 m1 d$ h" N4 M
       {
) V* s, E2 U# e/ Q            case 0xfe1=dofly_table[1];break;//0xfe = 1111 1110,2 H/ T+ f& e/ F# r* h0 j: b: E
//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环; m2 [3 `" H7 ?. D- x1 u% M! l
                case 0xfd1=dofly_table[2];break;//调用表中的第三个
% D- P8 X+ E4 Q: g, p. o6 `//元素 0xa4 下标 0 才表示数组中的第一个元素
3 ?% l3 B7 B( u$ @/ q2 ]                case 0xfb1=dofly_table[3];break;- n' h0 C" A* z) A) y3 o
                case 0xf7:P1=dofly_table[4];break;
! h% a" D. a4 v  s                case 0xef:P1=dofly_table[5];break;
- y& c. H. G7 K: x& \. Y. Q! t' C                case 0xdf:P1=dofly_table[6];break;
& |& [( z% F- W& h0 ^                case 0xbf:P1=dofly_table[7];break;! t3 _3 {/ @. `: D; b& o. k
                case 0x7f:P1=dofly_table[8];break;& O1 o# E  k) }, b; O
                default:break;    //如果都没按下,直接跳出
5 p; C2 m, G8 y6 U. F2 p8 X' `           }
) G  m, S5 k% j" r1 U, c                     //主循环中添加其他需要一直工作的程序
% x6 b! `' l' P/ b+ j" K9 q  
# H/ ?. Z! _4 g/ q  \( Z7 E
) [" u( Z- s7 C, J4 H4 v% e5 _/ ~

9 ?/ f+ A9 P+ q6 B5 Y/ {) k
, m) q$ ?: o- c% |) j

; Z, b1 s$ F# h, n5 n4 U) i0 a  |/ r…………限于本文篇幅 余下代码请从论坛下载附件…………( X' W. J: ^- Q: b
完整代码下载:
; j; X$ C: N9 `" K/ Z+ K
游客,如果您要查看本帖隐藏内容请回复

+ v. `9 t. A+ K. H0 J( ~3 E3 O# ?0 T

0 f5 j5 M8 d9 a- r

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-11 13:58 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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