|
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 W9 _6 a1 m& F+ ^$ z
switch(P3) //P3口作为独立按键输入端,检测端口电平并做如下判断
$ V+ G, ]2 a' {( m. y {
5 f2 v& d" J4 q6 j' [ case 0xfe 1=dofly_table[1];break;//0xfe = 1111 1110,
. N4 d! H9 C& t6 |: w: c//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环/ M( ]* `7 T5 I0 p: h
case 0xfd 1=dofly_table[2];break;//调用表中的第三个+ W# f3 N2 ?# q& R
//元素 0xa4 下标 0 才表示数组中的第一个元素2 j' q% r. S6 O$ F& N) r
case 0xfb 1=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 |
|