|
| 天气预报 |
|
|
| 百宝日历 |
载入中... |
|
百宝专栏 |
载入中... |
| 最新货色 |
|
载入中... |
| 粉丝评论 |
|
载入中...
|
|
百宝信息 |
|
载入中... |
| 百宝流量 |
|
(2006-07-01开始)
|
|
匠人手记 |
|
| |
|
|
|
|
|
|
|
|
关于LCD/LED段码 程序匠人 发表于 2007-7-18 11:33:00 阅读全文 | 回复(1) | 引用通告 | 编辑 |
|
|
|
123楼: 关于段码,匠人曾经苦苦追寻,直到那一天………… |
用了下面的方法后,救火车的软件就彻底没有用了。
使用方法: 在项目中,先定义以下8个参数: ;**************************** ;显示段定义 ;定义每一段的位地址 ;(说明:根据不同项目需要重新设置) ;**************************** ;bit_a EQU 0 ;bit_f EQU 1 ;bit_e EQU 2 ;bit_d EQU 3 ;bit_b EQU 4 ;bit_g EQU 5 ;bit_c EQU 6 ;bit_h EQU 7
;-------------------------------------------------------- ;**************************** ;字符笔画代码表: ; A ; ----- ; F| G |B ; ----- ; E| D |C ; ----- ; ·H ;(说明:根据不同项目不需重新设置) ;**************************** ;====段定义 s_a EQU 1 << bit_a s_b EQU 1 << bit_b s_c EQU 1 << bit_c s_d EQU 1 << bit_d s_e EQU 1 << bit_e s_f EQU 1 << bit_f s_g EQU 1 << bit_g s_h EQU 1 << bit_h
;====定义有效性判断 IF s_a + s_b + s_c + s_d + s_e + s_f + s_g + s_h != 0XFF MESSAGE "段码定义可能有误,请核查!" ;说明: bit_a,bit_b.....bit_h的定义为0~7,顺序可调,但不得重复 ENDIF
;====字符定义 SEG_0 EQU s_a + s_b + s_c + s_d + s_e + s_f ;'0' SEG_1 EQU s_b + s_c ;'1' SEG_2 EQU s_a + s_b + s_d + s_e + s_g ;'2' SEG_3 EQU s_a + s_b + s_c + s_d + s_g ;'3' SEG_4 EQU s_b + s_c + s_f + s_g ;'4' SEG_5 EQU s_a + s_c + s_d + s_f + s_g ;'5' SEG_6 EQU s_a + s_c + s_d + s_e + s_f + s_g ;'6' SEG_7 EQU s_a + s_b + s_c ;'7' SEG_8 EQU s_a + s_b + s_c + s_d + s_e + s_f + s_g ;'8' SEG_9 EQU s_a + s_b + s_c + s_d + s_f + s_g ;'9' SEG_A EQU s_a + s_b + s_c + s_e + s_f + s_g ;'A'大写 SEG_B EQU s_a + s_b + s_c + s_d + s_e + s_f + s_g ;'B'大写 SEG_B_ EQU s_a + s_d + s_e + s_f + s_g ;'b'小写 SEG_C EQU s_a + s_d + s_e + s_f ;'C'大写 SEG_C_ EQU s_d + s_e + s_g ;'c'小写 SEG_D_ EQU s_b + s_c + s_d + s_e + s_g ;'d'小写 SEG_E EQU s_a + s_d + s_e + s_f + s_g ;'E'大写 SEG_F EQU s_a + s_e + s_f + s_g ;'F'大写 SEG_G EQU s_a + s_c + s_d + s_e + s_f + s_g ;'G'大写 SEG_G_ EQU s_a + s_b + s_c + s_d + s_f + s_g ;'g'小写 SEG_H EQU s_b + s_c + s_e + s_f + s_g ;'H'大写 SEG_H_ EQU s_c + s_e + s_f + s_g ;'h'小写 SEG_I EQU s_b + s_c ;'I'大写 SEG_I_ EQU s_c ;'i'小写 SEG_J EQU s_b + s_c + s_d ;'J'大写 SEG_J_ EQU s_c + s_d ;'j'小写 SEG_K EQU s_b + s_d + s_e + s_f + s_g ;'K'大写 SEG_L EQU s_d + s_e + s_f ;'L'大写 SEG_M EQU s_a + s_c + s_e + s_g ;'M'大写 SEG_N EQU s_a + s_b + s_c + s_e + s_f ;'N'大写 SEG_N_ EQU s_c + s_e + s_g ;'n'小写 SEG_O EQU s_a + s_b + s_c + s_d + s_e + s_f ;'O'大写 SEG_O_ EQU s_c + s_d + s_e + s_g ;'o'小写 SEG_P EQU s_a + s_b + s_e + s_f + s_g ;'P'大写 SEG_Q_ EQU s_a + s_b + s_c + s_f + s_g ;'q'小写 SEG_R_ EQU s_e + s_g ;'r'小写 SEG_S EQU s_a + s_c + s_d + s_f + s_g ;'S'大写 SEG_T_ EQU s_d + s_e + s_f + s_g ;'t'小写 SEG_U EQU s_b + s_c + s_d + s_e + s_f ;'U'大写 SEG_U_ EQU s_c + s_d + s_e ;'u'小写 SEG_V EQU s_b + s_c + s_d + s_e + s_f ;'V'大写 SEG_V_ EQU s_c + s_d + s_e ;'v'小写 SEG_W EQU s_b + s_d + s_f + s_g ;'W'大写 SEG_X EQU s_b + s_c + s_e + s_f + s_g ;'X'大写 SEG_Y_ EQU s_b + s_c + s_d + s_f + s_g ;'y'小写 SEG_Z EQU s_a + s_b + s_d + s_e + s_g ;'Z'大写 SEG_O__ EQU s_a + s_b + s_f + s_g ;'o'上半圈 SEG_ EQU 0 ;' '空格 SEG__ EQU s_d ;'_'下划线 SEG___ EQU s_g ;'-'中划线 SEG____ EQU s_a ;'-'上划线
签名:
____________________________ ∽∽∽ / \ ( 。 。) ( 技术源于积累,成功源于执着! ) -oOOo-∪-oOOo-\ ___________________________/ |/ |

2007年的新目标是写书(点击查看匠人写书近况……) |
KEITHLEY 2007移动终端测试技术方案研讨会(北京、深圳) 热门讲座:如何降低FPGA设计的成本与功耗
| | 
程序匠人 发表于 2007-7-17 12:58 侃单片机 ←返回版面  |
124楼: 上述方法是汇编方法,在C中同样可以实现。 |
| 
大雁塔菜农 发表于 2007-7-17 13:08 侃单片机 ←返回版面  |
125楼: 哈哈~~~俺喜欢这样 |
enum enum_SystemLedSeg { LedSegA = PORTB0, LedSegB = PORTB1, LedSegC = PORTB2, LedSegD = PORTB3, LedSegE = PORTB4, LedSegF = PORTB5, LedSegG = PORTB6, LedSegH = PORTB7 };
enum enum_SystemLedBit { LedBit1 = PORTD4, LedBit2 = PORTD5, LedBit3 = PORTD6, LedBit4 = PORTD7, };
enum enum_SystemLedChar { LedChar0 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF)), LedChar1 = ((1 << LedSegB) |(1 << LedSegC)), LedChar2 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegG)), LedChar3 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegG)), LedChar4 = ((1 << LedSegB) |(1 << LedSegC) |(1 << LedSegF) |(1 << LedSegG)), LedChar5 = ((1 << LedSegA) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegF) |(1 << LedSegG)), LedChar6 = ((1 << LedSegA) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)), LedChar7 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC)), LedChar8 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)), LedChar9 = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegF) |(1 << LedSegG)), LedCharA = ((1 << LedSegA) |(1 << LedSegB) |(1 << LedSegC) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)), LedCharB = ((1 << LedSegC) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)), LedCharC = ((1 << LedSegA) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF)), LedCharD = ((1 << LedSegB) |(1 << LedSegC) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegG)), LedCharE = ((1 << LedSegA) |(1 << LedSegD) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)), LedCharF = ((1 << LedSegA) |(1 << LedSegE) |(1 << LedSegF) |(1 << LedSegG)) };
签名:
●█〓██▄▄▄▄▄▄ ●●●●●●→ ''''╭WWWW╮ ▄▅██████▅▄▃▂ 灌水入坛传播非典 ( ●_●) ██████████████ '''',,,;,;,;'''/▇\'' ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤ 东戳西顶一片天/MMMM\
|
点击遨游水上蔬菜批发市场

打造菜农最倒塌的BLOG |
KEITHLEY 2007移动终端测试技术方案研讨会(北京、深圳) 热门讲座:如何降低FPGA设计的成本与功耗
| | 
程序匠人 发表于 2007-7-17 13:12 侃单片机 ←返回版面  |
126楼: 菜农的方法和匠人一样的原理 |
|
签名:
____________________________ ∽∽∽ / \ ( 。 。) ( 技术源于积累,成功源于执着! ) -oOOo-∪-oOOo-\ ___________________________/ |/ |

2007年的新目标是写书(点击查看匠人写书近况……) | | | |
看《匠人手记》,与匠人同行!北航出版,正在热卖!
|
Re:关于LCD/LED段码 st103发表评论于2007-7-23 22:01:00 个人主页 | 引用 | 返回 | 删除 | 回复 |
|
ding
|
看《匠人手记》,与匠人同行!北航出版,正在热卖!
|
|
|
|
广告5号位 [投放] |
|
 学习板、开发板、编程器、下载器、仿真器(查看详情……)
|
|

| |
|