你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

用systick定时器写的时钟

[复制链接]
得蜜 发布时间:2008-12-8 17:51
<font size="7"><font size="2">下面是  程序说明     6 D. _8 ]2 j3 }
       具体的程序参看附件
# ^$ b5 {. `7 S( p/ O  X& @( y+ D                    程序说明
1 d) F& {3 B2 z. K. J  此程序实现了键盘扫描的功能,键盘使用行列式扫描的方法,并且将扫描到的按键值用开发板上的lcd显示出来!
4 T! B. H- J  ^" \  1.其中键盘的分布如下所示:
! {6 f: L2 T0 p5 F                                键盘
+ i, p: N4 ?! j. A  -8------————9------————---------------------GPIO_Pin_6
. s! W2 _5 c, Q, S; }; o' \$ D   |              |              |             |/ _# M- p" {: r4 `; e
   |              |              |             |7 ^) S: U0 _: E; [6 G' e
  -4------————5-------——---6-------------7------GPIO_Pin_50 |* m2 {6 [2 ~/ _+ W
   |              |              |             |, c, `6 I6 ?1 G' h0 e
   |              |              |             |) ]- q( C8 `8 U  M8 b5 {3 H/ ^& y5 W
  -0------————1--------------2-------------3------GPIO_Pin_4; F- P: j- c% @( Y8 Z3 ~
  GPIO_Pin_7  GPIO_Pin_1      GPIO_Pin_2    GPIO_Pin_3 ! C/ b. J# I/ t" v
  2.有关键盘的扫描按如下方法扫描:
4 @" ^7 V5 n1 n/ c& j) X! S                                       键盘扫描函数& V8 t4 b+ Z. f: U% E* R* E/ ]
           1.先将 GPIO_Pin_4设置为低电平,GPIO_Pin_5、GPIO_Pin_6设置为高电平
* O& R! X0 Q/ r' O# d& C*              依次扫描GPIO_Pin_7 ,判断GPIO_Pin_7 是否为0,若GPIO_Pin_7 为0,说明有键按下,: e9 F; D8 b, M- P
           查表得键值0x00,若不为0则扫描GPIO_Pin_1;5 H# _! O" {- B. a  w& T
               扫描GPIO_Pin_1 ,判断GPIO_Pin_1 是否为0,若GPIO_Pin_1 为0,说明有键按下,
# S4 E. }, i+ u& j           查表得键值0x01,若不为0则扫描GPIO_Pin_2;
3 ?1 r# i8 z  _8 g6 M) P2 H, S+ [               扫描GPIO_Pin_2 ,判断GPIO_Pin_2 是否为0,若GPIO_Pin_2 为0,说明有键按下,
2 K9 w  E/ i+ C8 @/ b/ V7 ?4 f) z9 ^           查表得键值0x02,若不为0则扫描GPIO_Pin_3;
3 z7 F9 U% `9 c1 J9 d2 g               扫描GPIO_Pin_3 ,判断GPIO_Pin_3 是否为0,若GPIO_Pin_3为0,说明有键按下," O! t5 e* a4 _! `+ T9 r! _
           查表得键值0x03,若不为0则进行下一轮扫描;
' d1 ?% P  ~6 v0 P/ a          2. 再将 GPIO_Pin_5设置为低电平,GPIO_Pin_4、GPIO_Pin_6设置为高电平
! {" L% j- J2 \*              依次扫描GPIO_Pin_7 ,判断GPIO_Pin_7 是否为0,若GPIO_Pin_7 为0,说明有键按下,! G# |/ a0 e. e1 {
           查表得键值0x04,若不为0则扫描GPIO_Pin_1;
0 P$ y8 b7 c, ]7 ^. W               扫描GPIO_Pin_1 ,判断GPIO_Pin_1 是否为0,若GPIO_Pin_1 为0,说明有键按下,' g  Q3 b! I+ X( E4 l" A/ a9 Y6 \
           查表得键值0x05,若不为0则扫描GPIO_Pin_2;- A9 g" v/ X# p' t* c& q( {
               扫描GPIO_Pin_2 ,判断GPIO_Pin_2 是否为0,若GPIO_Pin_2 为0,说明有键按下,5 ?* E" s1 v; s& n& U; I3 p) \
           查表得键值0x06,若不为0则扫描GPIO_Pin_3;
* D* H5 g4 V+ l( }" e               扫描GPIO_Pin_3 ,判断GPIO_Pin_3 是否为0,若GPIO_Pin_3为0,说明有键按下,9 x' }- }& ^7 I, p  @
           查表得键值0x07,若不为0则进行下一轮扫描;
$ \9 y4 F8 u; n- |5 A. }          3. 再将 GPIO_Pin_6设置为低电平,GPIO_Pin_4、GPIO_Pin_5设置为高电平% m" v& A% [0 l8 l7 u
*              依次扫描GPIO_Pin_7 ,判断GPIO_Pin_7 是否为0,若GPIO_Pin_7 为0,说明有键按下,
$ S$ O! _' n/ C1 [3 {4 [) q           查表得键值0x08,若不为0则扫描GPIO_Pin_1;) ~: r  d7 K/ J9 n& g) R  X
               扫描GPIO_Pin_1 ,判断GPIO_Pin_1 是否为0,若GPIO_Pin_1 为0,说明有键按下,6 T, z4 t5 C7 |: b' N2 I) s
           查表得键值0x09,若不为0则扫描GPIO_Pin_2;1 q2 F) \/ r$ \" t4 q" H& ~% d, Q
               扫描GPIO_Pin_2 ,判断GPIO_Pin_2 是否为0,若GPIO_Pin_2 为0,说明有键按下,
5 Q" g7 e* @# r5 z3 K! H; S           查表得键值0x10,若不为0则扫描GPIO_Pin_3;
5 ~" F8 P/ Q# L1 a, @3 L               扫描GPIO_Pin_3 ,判断GPIO_Pin_3 是否为0,若GPIO_Pin_3为0,说明有键按下," m* S9 z! u. f6 l9 Q0 V: i- A
           查表得键值0x11,若不为0则结束扫描,回到主函数;
5 F6 V( F3 M& |+ `# L8 B4 m      若要显示则只需将变量jianzhi送入到lcd显示程序中去即可
& U0 S: ^2 m# `$ p; G      以下是键盘扫描函数:
. R, j# G; T) g" W- L# r0 f* f- F      void jiansao(void)
" Z7 S$ V& K5 D5 G! g, ~4 n    {
+ o3 F# M$ k: \6 g      unsigned char kongzhi,scan,i;
$ k# p: y+ b8 w* w! I9 i       GPIO_WriteBit(GPIOD,GPIO_Pin_5|GPIO_Pin_6, Bit_SET);
/ Z2 @( }' e: V- \, L       GPIO_WriteBit(GPIOD, GPIO_Pin_4, Bit_RESET);) b9 j% J/ o$ _
       kongzhi=0;2 W8 _/ M' v& Y1 y
       for(i=0;i

systick时钟(不可调).rar

下载

625.25 KB, 下载次数: 42

赞 收藏 评论2 发布时间:2008-12-8 17:51

举报

2个回答
yunfei7370 回答时间:2008-12-11 09:16:25

RE:用systick定时器写的时钟

呵呵!
cdluoy 回答时间:2011-4-4 14:10:51

回复:用systick定时器写的时钟

呵呵
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版