NBA中“绝杀”英文标准说法是Buzzer Beater。
Buzzer Beater(英 [ˈbʌzə ˈbi:tə] 美 [ˈbʌzɚ ˈbitɚ])
本意是:压哨球;篮球比赛结束前的最后一投。 buzzer是比赛用的蜂鸣器。
尽管buzzer beater本意表示“压哨球”,但“压哨球”与“绝杀球”又有所区别:比赛的每一节都可能有“压哨球”,但只有最后一节决定胜负的“压哨球”才是“绝杀球”。
绝杀是终极的、绝对的击杀,不留给对手任何机会的击杀。
扩展资料:
在NBA篮球中,绝杀应符合的标准:
比赛双方NBA球队在终场前的最后时刻(常规时间或加时的最后24秒)紧咬分(分差一般不超过2分),在最后一次进攻中场上NBA球员完成有效得分并反超分数结束比赛。
如果给对方留下极少时间,而且对方没有完成反绝杀这样的球为“准绝杀”。
NBA官方承认的绝杀出手时间为球员从接球到完成投篮出手最少为0.4秒。绝杀球是制胜球,但是制胜球不一定是绝杀球。
参考资料来源:百度百科-绝杀
1、一般12MM无源的一般电压是1.5V,有源电磁式蜂鸣器的一般电压为1.5,3.0,5.0,9.0,12V。
2、用直流电压输入相应电压(可以由小调到大),频率大概2.7KHZ,可以直接响的为有源电磁式蜂鸣器,不直接响的,需要方波来驱动才可以响的为无源电磁式蜂鸣器。
有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”表示。
扩展资料:
目测别区别有源、无源蜂鸣器
拿KS-12C01YE和KS-12D05YA做比较,其中“C”代表无源,"D"代表有源;
前者的外形是12*8.5,后者是12*9.5,两者极为相似,如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
但是,这只是判断的初步标准,而不是唯一的标准。如果加上KS-1240T2PA那辨别就更为复杂了,它的外形尺寸是12.5*6,这款是目前市场上最小的压电式无源蜂鸣器;
随着市场不断发展的需要,对品质的要求也是越来越高,现在好多厂家需要12MM的蜂鸣器需要底部封胶,为了其性能的稳定和防止磁芯脱落等不良情况出现,所以,目测只是初步的辨别方法。
参考资料来源:百度百科-有源蜂鸣器。
参考资料来源:百度百科-无源蜂鸣器。
SF小前锋
PF大前锋
(slam) dunk:(强力)灌篮 。
bank shot:擦板球
double pump:拉杆式投篮(verb)
fade-away shot:后仰式跳投 。
hook shot:钩射投篮 。
jump shot:跳投
layup:带球上篮
perimeter shot:中距离投篮 。
set shot:立定投篮
three-point shot:三分球 。
NBA 各种统计术语
assist:助功
block shot:阻攻,盖火锅儿 。
defensive rebound:防守篮板球 。
field goal percentage:投球命中率 。
field goal:投球命中 。
free throw percentage:罚球命中率 。
free throw:罚球offensive rebound:进攻篮板球 。
rebound:篮板球
scoring:得分
steal:抄截
three-point shot percentage:三分球命中率 。
turnover:失误
场地装备篇
backboard:篮板
back court:后场
freethrow lane:罚球圈,禁区 。
freethrow line:罚球线 。
front court:前场 。
game clock:比赛用时钟 。
halftime:中场休息时间 。
hoop:篮框,篮圈
mid-court:中场
net:篮网
painted area:罚球圈,禁区 。
restricted area near the basket:禁区内篮框下的小圆圈区域 。
rim:篮框,篮圈
scoring table:记录台,记分台 。
shot clock:时限钟(进攻方在24秒内必须投篮,并且球必须触及 。
篮框,否则即违例)
three-point line:三分(球)线 。
top of the circle:靠近禁区顶端之三分(球)线附近 。
wing:(左、右两边)底线区域 。
规则篇
blocking foul:阻挡犯规 。
buzzer:(比赛用的)蜂鸣器(表示时间终了,换人…等)
charging foul:(带球)撞人(犯规)
dead ball:死球(停止比赛进行时段)
defensive basket interference:防守方干扰投篮得分 。
delay of game:阻碍比赛之正常进行 。
disqualification:犯满离场,“毕业”
double dribble:两次运球(违例)
ejection:驱逐出场
elbowing:打拐子
expiration (of game, first half…):(全场比赛,上半场…的比赛 。
)时间终了
first half:上半场 。
first (second, third, fourth) period:比赛的第一(第二,第三,
第四)节
five ticks left on the (game clock, shot clock…):(全场比赛 。
,时限钟上…的)时间只剩下5秒钟 。
flagrant foul:恶性犯规 。
foul:犯规
foul out:犯满离场,“毕业”
foul trouble:快要犯满离场,“领到一张准毕业证书”
full timeout:全时(100秒的)暂停 。
goaltending:干扰投篮得分 。
hand-checking:以手掌推挡对方进攻球员之犯规动作 。
held ball:持球(双方均持球不放)
illegal defense:防守违例 。
illegal offense:进攻违例(见isolation)
isolation:四位进攻球员在一边,而由第五位球员单吃对方防守球员 。
jump ball:争球,跳球 。
loose ball foul:双方均无持球权时的犯规(通常发生于双方争夺篮 。
板球时)
offensive basket interference:进攻方干扰投篮得分 。
out of bound:球出界线(千万不要说outside)
overtime:加时赛,延长赛 。
referee:裁判
second half:下半场 。
shot clock violation:违反24秒内必须投篮(并且球必须触及篮框 。
)时限之规定
substitute:换人(上场、下场)
suspension:停止出赛(之处罚)
technical foul:技术犯规 。
ten-second violation:进攻方10秒钟内未带球过中场之违例 。
three-second violation:(篮下)3秒钟之违例 。
throw a punch:出拳打架 。
throw in:发球入场
traveling:(带球)走步 。
twenty-second timeout:只有20秒钟之暂停 。
walking:(带球)走步 NBA 球队一览表 。
Western Conference西区 。
Pacific Division 大西洋组 。
Golden State Warriors 金州勇士队 。
LA Clippers 洛杉矶快艇队 。
LA Lakers 洛杉矶湖人队 。
Phoenix Suns凤凰城太阳队 。
Portland Trailblazers (简称Blazers) 波特兰拓荒者队 。
Sacramento Kings 沙加缅度国王队 。
Seattle Supersonics (简称Sonics) 西雅图超音速队 。
Midwest Division 中西部区 。
Dallas Mavericks 达拉斯小牛队 。
Denver Nuggets 丹佛金砖队 。
Houston Rockets 休斯敦火箭队 。
Minnesota Timberwolves 明尼苏达木狼队 。
San Antonio Spurs 圣安东尼 。
Utah Jazz犹他爵士队 。
Vancouver Grizzlies 温哥华灰熊队 。
Eastern Conference 东区 。
Atlantic Division 大西洋组 。
Miami Heat 迈阿密热浪队 。
0 New York Knickerbockers (简称Knicks) 纽约尼克队 。
Philadelphia 76ers 费城七十六人队 。
Orlando Magic奥兰多魔术队 。
Boston Celtics 波士顿塞尔蒂克队 。
New Jersey Nets 纽泽西篮网队 。
Washington Wizards 华盛顿魔法师队 。
Central Division 中央组 。
Atlanta Hawks 亚特兰大老鹰队 。
Charlotte Hornets 夏洛特黄蜂队 。
Chicago Bulls 芝加哥公牛队 。
Cleveland Cavaliers克里夫兰骑士队 。
Detroit Pistons底特律活塞队 。
Indiana Pacers 印地安纳溜马队 。
Milwaukee Bucks 密尔瓦基雄鹿队 。
Toronto Raptors 多伦多暴龙队 。
战术篇
backdoor cut:从两边底线往篮下的战术 。
block out:把对方球员挡住,使其不易强到篮球赛,卡位 。
cut:切入
double team:用两位防守球员包夹进攻球员 。
dribble out the time:进攻方以运球方式消耗掉比赛所剩下时间 。
eat up the clock:进攻方以运球或传球方式消耗掉比赛所剩下时间 。
fast break:快攻
foul strategy:犯规战术 。
give and go:(进攻方持球球员的)传切战术 。
jockey for position:(篮下)卡位 。
milk the time away:进攻方以运球或传球方式消耗掉比赛所剩下时 。
间
one-one-one defense:人盯人防守 。
pick and roll:(进攻方做掩护之球员的)挡切战术 。
post-up play:(进攻方持球球员背对篮框)单吃对方防守球员之战 。
术
triple team:用三位防守球员包夹进攻球员 。
zone defense:区域防守,区域联防 。
动作篇
(throw a) baseball pass:(快攻时)长传 。
(shoot) an air ball:(投)篮外空心球,“面包“
behind-the-back dribble:背后(换手)运球 。
carrying the ball:“翻球”
cross-leg dribble:胯下运球 。
dribble:运球
driving to the hoop:带球上篮 。
four-point play:投进3分球后因被犯规再罚进一分 。
hacking:打手犯规
holding:拉手犯规
make the basket:投篮得分 。
make the hoop:投篮得分 。
monster dunk:狂猛灌篮 。
nothing but the net:空心球(入篮)
palming:“翻球”
reverse dunk:倒灌篮 。
reverse lay-up:反手走篮 。
shoot behind the arc:投三分球 。
score a basket:投篮得分 。
swish:空心球(入篮)
tap in:托球入篮
three-point play:投进2分球后因被犯规再罚进一分 。
球队球员篇
assistant coach:助理教练 。
backcourt:后卫组(包括控球后卫及得分后卫)
backup:后备(替换,支持)球员 。
bench:(指全体)后备(替换,支持)球员 。
bench player:(指个人)后备(替换,支持)球员 。
center中锋(又称5号位置球员)
coach:教练
frontline:锋线(包括大前锋,小前锋,中锋)
GM(general manager):球队经理 。
Mascot:球队吉祥物
MVP:最有价值球员
one-guard:控球后卫 。
point guard:控球后卫 。
power forward:大前锋(又称4号位置球员)
rookie:第二年球员,菜鸟(球员)
shooting guard:得分后卫 。
sixth man:第六人
small forward:小前锋(又称3号位置球员)
sophomore:第二年球员 。
starter:(指个人)先发球员 。
starting lineup:(指全体)先发球员 。
swingman:摇摆人(指兼能担任得分后卫及小前锋的球员)
trainer:球队训练员
two-guard:得分后卫 。
veteran:资深球员,老鸟(球员)
比赛篇
away game:客场比赛 。
final:总决赛
first round:首轮比赛 。
GB (games behind):落后战绩最领先球队的胜场场数 。
guest team:客队
home court:主场
home court advantage:主场优势 。
home game:主场比赛 。
home team:主队
losing streak:连败场数,连败纪录 。
post season:季后赛 。
regular season:季赛 。
road game:客场比赛 。
schedule:赛程
semi-final:准决赛 。
standings:战绩(表)
winning streak:连胜场数,连胜纪录 。
Air ball:“三不沾”,投出的球什么都没碰到。
Alley-oop:“空中接力”。一个运动员把球抛向空中,另一个队员在空中 。
接住球把球扣入篮筐。
Arena:比赛场;竞技场。比如Seattle的主场名叫Key Arena。
Assist:助攻(缩写:Ast。)。
Backboard:篮板。注意不是basketboard。
Backcourt:后场。一支球队本方的半场为后场,即这支球队所要防守的那 。
半场。
Backdoor paly:篮球基本战术之一。当一个队员在罚球弧周围接到球时,
另一个动员立刻从弱侧切入篮下,接队友的传球投篮得分。
Baseline:底线。球场两端的边界线。
Basket:篮筐。也作ring,还有一种通俗的说法是hoop。
Bench:替补队员。
Block shot:盖帽(缩写:Blk。)。
Boo:嘘声;发出嘘声(v)。球迷发泄不满的一种方法。
Bounce pass:击地传球。
Box out:抢篮板球挡人,即抢篮板球时站在对手和篮之间,用身体挡住防守队员的动 。
作。
Brickv)球打在篮筐或篮板上被崩出来。许多公牛队的球迷在客队罚球时 。
都手执一块上写“Brick”的牌子在罚球队员的眼前不停的晃动,扰乱他的视 。
线,以达到干扰罚球的目的。
Buzzer beater:比赛结束前的最后一投。buzzer是比赛用的蜂鸣器。
Captian:队长。队长是场上惟一有资格与裁判讨论规则和判罚的人。
Coach:教练。比如Head coach是主教练,Assistant coach是助理教练。
Coast-to-coast:从球场的一端到另一端。例如:coast-to-coast pass。
Conference:联盟。NBA分东、西两个联盟(Eastern Conference和Western 。
Conference),每个联盟都有自己的logo。
Commissioner:总裁。NBA的现任总裁是David Stern。
Court:球场;赛场。home court主场。
Crossover:交叉运球过人。是Tim Hardaway的商标动作。
Cut:切入。
Debut:首次上场。
Defense:防守。当客队进攻时,我们经常能听到主场的球迷在体育馆音效师的带领下高 。
喊“Defense! Defense!”。
Deny the ball:绕前防守。
Disqualification:被罚下场(缩写:DQ。)。
Division:赛区。NBA共有四个赛区,每个联盟下属两个赛区。
Double-double:两双,即两项技术统计指标达两位数。
Double-team:双人夹击。
Double dribble:两次运球。
Downtown:三分线以外。
Draft:选秀,即NBA每年一度的纳新大会。
Dribble:运球(vt,n)。
Duo:原义是二重唱,在篮球中专指双人组合。
Fadeaway shot:后仰投篮。也作fadeaway jumper。
Fake:假动作;做假动作(v)。
Fast break:快攻;快速突破。
Finals:总决赛。Semifinals半决赛。
Field goal:投篮(总称),包括两分球的投篮也包括三分球的投篮(缩写:FG。)。
Finger roll:低手上篮时手指拨球的动作。
Flagrant foul:没有必要或动作过大的犯规。
Foul:犯规。个人犯规是personal foul;全队的累计犯规叫team foul。
Foul troublen)一个队员由于受到犯规次数的约束而带来的麻烦,比如说这个队员的 。
法规次数已接近6次,再犯一次或两次规就将被罚下场。
Free agent:自由人。合同的期满的运动员和新人都是自由人,自由人的去留不受球队 。
约束。
Free throw:罚球(缩写:FT。)。
Frontcourt:前场。对手的半场为前场,即本方队员攻击的那半场。
Give-and-go:基本战术配合之一,进攻队员将球传给另队友--give,然后向篮下切入,
再接队友的回传球上篮(或扣篮)得分--go。也就是我们常说的“
传切配合”。
Gunner:经常投篮的投手。
Hand-checking:a:一种防守技术,即用手接触对方的身体来跟踪对手的位置。
也作hand-check。b:防守犯规的一种。防守队员用手阻挡进攻队员的走位。
不能张开双臂阻挡防守队员的移动,合法的hand-checking技术只允许用手接 。
触对方的身体来跟踪对手的位置,但手部不允许加力,也不允许阻碍对手的 。
视线。
Hang time:滞空时间,即运动员投篮时在空中停留的时间。
High post:罚球弧的周围。
Hook shot:钩手投篮,有时也直接用“hook”表示。
Illegal defense:非法防守。联防防守即为非法防守。
Injury list:伤员名单。如果某个队员受伤不能参加比赛,根据NBA的规定必须要将其 。
列入伤员名单(伤员名单是公开的),以示对球迷的负责。
Jam:扣篮。one-handed jam单手扣篮;two-handed jam双手扣篮。著名歌星 。
Michael Jackson和Michael Jordan合作拍过一部MTV,名字就叫“Jam”。
Jersey:运动员的背心,也作uniform。有些为球队做出过巨大贡献的运动员退役时他的 。
jersey也跟随他一起退役,他的jersey被高悬在球队主场的天花 。
板上,这意味着以后其他运动员不能再使用这件jersey上的号码了。
Jump ball:跳球;争球。
Jump shot:跳投。也作jumper。
Lane:罚球区,也作free throw lane。篮球刚发明的时侯罚球区是细长的,其宽度比罚 。
球弧的直径还要短,形状就象把钥匙,所以也称之为the key。
Layup:上篮。
Ligament:韧带。cruciate ligament,十字韧带,膝关节中的韧带,是运动员最容易受 。
伤的部位,分anterior cruciate ligament和posterior cruciate 。
ligament。
Locker room:更衣室。
Lottery:确定选秀顺序的过程。以前是通过掷硬币决定,因其不确定性所以称之为 。
“lottery”。
Low post:三秒区内,篮筐两侧,靠近底线的那部分。
Matchup:攻防上各个位置的对应关系。
Meniscus:半月板。膝关节中的一块软骨,也是运动员容易受伤的地方之一,我们经常 。
会听到某个运动员因为半月板撕裂而上了伤员名单,几个月不能打球。
Move:移动。这个词在NBA里出现的频率特别高,比如,一个漂亮的移动我们说“Great 。
move!”;后转身的摆脱我们称之为“Spin move”。
MVP:Most Valuable Player,最有价值的运动员。
Net:篮网。检验球是否入筐的标志,原Utah的David Benoit在扣篮时,球砸在自己的头 。
上从篮筐中弹出,而且整个过程中球又没有触及篮网,结果进球 。
被判无效。
No-charge area:进攻有理区。根据去年的新规则在两个篮下各画定一以篮筐的中心为 。
圆心,以4英尺为半径的半圆(虚线),此区域被称作进攻有理区,在 。
进攻有理区里只有带球撞人而没有阻挡犯规(注:O'Neal修正案除外)。
Offense:进攻。形容词形式是offensive(缩写:off。),可以修饰其它名词,例如 。
offensive rebound就是前场篮板球(进攻篮板球)。
Outlet pass:抢到篮球板后的第一传,一般都是隔场的长传。
Overtime:加时赛,时间为5分钟。
Palming:我们常说的“翻腕”,运球违例动作,也作Carrying the ball。
Pass:传球。
Personal foul:个人犯规。
Pick-and-roll:挡拆战术。篮球中的基本进攻战术之一,进攻队员给持球的队友作掩护 。
英语叫“set a pick”,然后掩护队员向篮下移动叫“roll”,再接 。
队友的传球,在无人防守的情况下投篮。Pick n‘ Roll是Malone和Stockton的看家本 。
领。以pick为基础衍生出的战术还有pick-and-fade、pick-and-split 。
等。
Pick:掩护。
Pivot:a:以一只脚为中枢脚转动身体改变方向的动作。b:篮下,通常由中锋控制的 。
区域。
Playoff:复赛;季后赛,即常规赛结束后各联盟的前八名的淘汰赛。
Point guard:组织后卫,也作控球后卫。
Position:位置。NBA中运动员被分为三个位置--前锋、中锋、后卫。
Power forward:大前锋,我国常称之为“二中锋”。二者略有不同,“二中锋”是基于 。
中锋的位置,来源于“双中锋”战术,这是我们从苏联老大哥那 。
里学来的;大前锋还是前锋,他们是队里的篮板能手和防守中坚。
Press:紧逼(防守)。full-court press,全场紧逼;half-court press,半场紧逼。
Pump fake:投篮的假动作。
Quadruple-double:四双。即四项技术统计指标超过两位数。
Quarter:节。一场NBA比赛分四节,每节12分钟。前两节称first-half,后两节称 。
second-half。
Rebound:篮板球(缩写:Reb。)。
Refree:裁判。
Rejection:盖帽。
Reverse:反身的(a)。比如从底线切入后的反身扣篮是reverse dunk。
Rookie:新人,即第一年在NBA打球的运动员。
Run:连续得分。比赛中屏幕上会经常打出某支球队12-0 run in last 4 minutes,就是 。
说这支球队在刚刚过去的4分钟内连得了12分,打了个12比0的小高潮。
Salary Cap:工资上限。
Score:得分。Scorer得分手。
Screen:掩护,同pick。
Season:赛季。
Shot clock:24秒计时器。
Sideline:边线。
Sixth man:第六人,即第一个替补上场的队员。
Slam dunk:重扣,特指双手持球高高跳起的使出吃奶力气的重扣,也可以是单手的重 。
扣,这里slam表示砰的一声,强调扣篮时发出的声音。也作Dunk。
Squad:五人组,篮球队的非正式说法。
Starting-lineup:开场阵容。
Steal:断球;抢断球(缩写:Stl。)。
Strong side:强侧。有球的一侧为强侧。(关于强侧与弱侧的具体定义请见《联 。
防FAQ》)
Substitutes:替补队员。
Suspend:暂时中止运动员上场比赛;禁赛。
Switch:换(防)。
Team:夹击。(注:不一定是双人夹击,可以是多人夹击)
Technical foul:技术犯规。
Three-point shot:三分投篮。
Three-pointer:三分球。
Three-second violation:三秒违例。
Tie:平局;打平。
Timeout:暂停。NBA中有20秒的短暂停(20-second timeout)和100秒的长暂停 。
(regular timeout)。
Tip-in:补篮。
Transition:由攻转守的过程。
Traveling:走步违例,也作Walking。
Triple-double:三双,即三项技术统计指标超两位数。
Turnover:失误,(缩写:To。)。NBA中专门有一项数据统计叫assist/turnover,是用这 。
个队员助攻数比上他的失误数,这项统计能准确的反映一个组织后卫 。
是否称职。
Uniform:制服。篮球运动员的制服当然是背心和短裤了,uniform有时也特指背心。
Veteran:老运动员。NBA非常重视veteran,各球队都把自己的veteran视作一笔财富,
veteran这个词在NBA出现的几率是非常高的。
Weak side:弱侧。无球的一侧为弱侧。(关于强侧与弱侧的具体定义请见《联防FAQ》)
Wide open:开阔,无人防守。大多数情况下战术配合的目的就是给队友制造wide 。
open,以便从容出手。
Zone:联防;区域防守。也作Zone defense。
你用的是“ ST MCU 三合一体验套件 ” 里面的那套STM8S的开发板嚒·?
如果是的话可以参考以下例程:是在微雪电子那采购的官方套件光盘中的示例程序,不知道能不能帮到你! 有分的话给点分用用,嘿嘿!
/*============================================================================*/。
/* PROJECT: DRIVING BUZZER THROUGH STM8 TIMER2 PWM DEMO SYSTEM */。
/* MODULE: main.c */。
/* COMPILER: STM8 Cosmic C Compiler */。
/* DATE: Feb 2009 */。
/*----------------------------------------------------------------------------*/。
/* DESCRIPTION: Demonstration firmware for STM8 Mini Kit */。
/* playing a tune through its buzzer. */。
/*============================================================================*/。
/******************************************************************************。
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS。
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE。
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY。
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING。
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE。
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.。
*
* COPYRIGHT 2008 STMicroelectronics。
******************************************************************************。
*/
/* Includes ------------------------------------------------------------------*/。
#include "STM8S105C_S.h" /* Registers and memory mapping file. */。
/******************************************************************************/。
/* Macro definitions。
/******************************************************************************/。
/* Music instruction and note coding. */。
#define _END_ 0xFF /* Music END. */。
#define _PAUSE_ 0xFE /* Pause between different tunes. */。
/* Note tone definition...... */。
#define _FA0 0x00 /* FA- */。
#define _SOL0 0x01 /* SOL- */。
#define _LA0 0x02 /* LA- */。
#define _SI0 0x03 /* SI- */。
#define _DO 0x04 /* DO */。
#define _RE 0x05 /* RE */。
#define _MI 0x06 /* MI */。
#define _FA 0x07 /* FA */。
#define _SOL 0x08 /* SOL */。
#define _LA 0x09 /* LA */。
#define _SI 0x0A /* SI */。
#define _DO2 0x0B /* DO+ */。
#define _M 0x0C /* MUTE */。
#define _RE2 0x0D /* RE+ */。
#define _SOL2 0x0E /* SOL+ */。
#define _FAd 0x0F /* FA# */。
/* Note length definition...... */。
#define sq 0x10 /* Semiquaver notes. */。
#define q 0x20 /* Quaver notes. */。
#define qp 0x30 /* 1.5 quaver notes. */。
#define c 0x40 /* Crotchet notes. */。
#define cn 0x60 /* 1.5 crotchet notes.*/。
#define m 0x80 /* Minim notes. */。
/*a note is defined here by a combination of a tone and a length, both parts。
being easily retrievable with the AND binary operator: note = tone+length,。
and tone&length=0*/。
/******************************************************************************/。
/* RAM SEGMENT variables */。
/******************************************************************************/。
/* Global variable used to store the ADC result. */。
unsigned int AD_Value;。
/* Global variable used to store the Key pressed for changing octave. */。
unsigned char Flag_Octave_Chg;。
/* Global variable used as index for the array of notes: position in the tune.*/。
unsigned int current_note = 0;。
/* Global variable used as index for the array of notes. */ 。
unsigned char c1,c1_buf;。
/* Music note coding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */。
/* FA0 SOL0 LA0 SI0 DO RE MI FA SOL LA SI DO2 MUTE RE2 SOL2 FA# */。
/* TIM2 CCR1 High byte. */。
const unsigned char Low_Note_h[] /* Lower octave */。
={0x2C,0x27,0x23,0x1F,0x1D,0x1A,0x17,0x16,0x13,0x11,0x0F,0x0E,0x00, 0x0D, 0x09, 0x15 };。
const unsigned char Hi_Note_h[] /* Higher octave */。
={0x16,0x13,0x11,0x0F,0x0E,0x0D,0x0B,0x0B,0x09,0x08,0x07,0x07,0x00, 0x06, 0x04, 0x0A };。
/* TIM2 CCR1 Low byte. */。
const unsigned char Low_Note_l[] /* Lower octave */。
={0xA4,0xDC,0x82,0xA1,0xEE,0xA9,0xAC,0x62,0xEE,0xC1,0xD0,0xF0,0x00, 0x4F, 0xF7, 0x2C };。
const unsigned char Hi_Note_l[] /* Higher octave */。
={0x52,0xEE,0xC1,0xD0,0xF7,0x54,0xD6,0x31,0xF7,0xE0,0xE8,0x78,0x00, 0xA7, 0xFB, 0x96 };。
/* The actual tune sequence: an array of notes. */。
const unsigned char tune[] =。
_M+sq, _M+sq, /* Two "buffer" mutes needed to manage smoothly the */。
/* current_note/current_note_init comparison. */。
/*------------------ DO RE MI FA SOL LA SI DO2 --------------------------*/。
/*------------------ DO2 SI LA SOL FA MI RE DO --------------------------*/。
_DO+c,_RE+c,_MI+c,_FA+c,_SOL+c,_LA+c,_SI+c,_DO2+c,_M+m, _PAUSE_,。
_DO2+c,_SI+c,_LA+c,_SOL+c,_FA+c,_MI+c,_RE+c,_DO+c,_M+m, _PAUSE_,。
/*---------------------------- 新年好 ------------------------------------*/。
_DO+c,_DO+c,_DO+c,_M+sq,_DO+m,_SOL0+m,_MI+c,_MI+c,_M+sq,_MI+m,_DO+m,_DO+c,。
_MI+c,_M+sq,_SOL+m,_SOL+m,_FA+c,_MI+c,_M+sq,_RE+m,_RE+m,_M+sq,_RE+c,_MI+c,。
_FA+m,_M+sq,_FA+m,_MI+c,_RE+c,_MI+m,_DO+m,_M+sq,_DO+c,_MI+c,_RE+m,_SOL0+m,。
_SI0+c,_RE+c,_DO+m,_DO+m,_PAUSE_,。
/*--------------------------- 两只老虎 -----------------------------------*/。
_DO+c,_RE+c,_MI+c,_DO+c,_DO+c,_RE+c,_MI+c,_DO+c,_MI+c,_FA+c,_SOL+m,_MI+c,。
_FA+c,_SOL+m,_SOL+qp,_LA+sq,_SOL+qp,_FA+sq,_MI+c,_DO+c,_SOL+qp,_LA+sq,。
_SOL+qp,_FA+sq,_MI+c,_DO+c,_M+sq,_DO+c,_SOL0+c,_DO+m,_M+sq,_DO+c,_SOL0+c,。
_DO+m,_M+sq,_PAUSE_,。
/*---------------------------- 甜蜜蜜 ------------------------------------*/。
_MI+m,_SOL+c,_LA+c,_MI+m,_MI+c,_DO+c,_RE+cn,_DO+q,_RE+c,_MI+q,_SOL+q,_MI+m,。
_MI+m,_RE+c,_RE+c,_RE+c,_RE+q,_MI+q,_RE+q,_DO+cn,_LA0+q,_SOL0+cn,_DO+m,。
_DO+c,_RE+c,_MI+cn,_RE+q,_MI+q,_RE+q,_MI+q,_SOL+q,_RE+m,_RE+m,_RE+m,_RE+m,。
_MI+m,_SOL+c,_LA+c,_MI+m,_MI+c,_DO+c,_RE+cn,_DO+q,_RE+c,_MI+q,_SOL+q,_MI+m,。
_MI+m,_RE+c,_RE+c,_RE+c,_RE+q,_MI+q,_RE+q,_DO+cn,_LA0+q,_SOL0+cn,_DO+m,。
_DO+c,_MI+c,_RE+q,_DO+q,_DO+c,_LA0+q,_SOL0+cn,_DO+m,_DO+m,_DO+m,_DO+m,_MI+m,。
_MI+m,_SOL0+m,_LA0+q,_DO+q,_SOL0+q,_LA0+q,_DO+m,_DO+m,_DO+m,_DO+m,_LA0+c,。
_SI0+c,_LA0+c,_SI0+c,_LA0+c,_LA0+q,_DO+q,_LA0+q,_SOL0+q,_SOL0+c,_MI+m,_MI+m,。
_MI+m,_MI+m,_LA0+c,_SI0+c,_LA0+c,_SI0+c,_LA0+c,_LA0+q,_DO+q,_LA0+q,_SOL0+q,。
_SOL0+c,_MI+m,_MI+m,_MI+m,_M+c,_SOL+q,_LA+q,_SOL+m,_M+c,_SOL+q,_LA+q,_SOL+m,。
_M+c,_SOL+q,_LA+q,_SOL+c,_SOL+q,_LA+q,_SOL+c,_SOL+q,_LA+q,_SOL+m,_SOL+m,。
_MI+m,_SOL+c,_LA+c,_MI+m,_MI+c,_DO+c,_RE+cn,_DO+q,_RE+c,_RE+q,_SOL+q,_MI+m,。
_MI+m,_RE+c,_RE+c,_RE+c,_RE+q,_MI+q,_RE+q,_DO+cn,_LA0+q,。
_SOL0+cn,_DO+m,_DO+c,_MI+c,_RE+q,_DO+q,_DO+c,_LA0+q,_SOL0+cn,_DO+m,_DO+m,。
_DO+m,_DO+m,_MI+m,_MI+m,_SOL0+m,_LA0+q,_DO+q,_SOL0+q,_LA0+q,_DO+m,_DO+m,。
_DO+m,_DO+m,_PAUSE_,。
/*------------------ _END_ marks to end of the tune ----------------------*/。
_END_
};
/******************************************************************************/。
/* Function definitions */。
/******************************************************************************/。
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: Buzz_Init */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Initialize the TIM2 as PWM mode for BUZZ control. */。
/* -------------------------------------------------------------------------- */。
void Buzz_Init ( void )。
PD_DDR |= 0x10; /* Configure PD4 as output (for the PWM). */。
PD_CR1 |= 0x10; /* PD4 Push pull output. */。
TIM2_CCMR1 |= 0x70; /* Output mode PWM2. */。
TIM2_CCER1 |= 0x03; /* CC polarity low,enable PWM output */。
TIM2_ARR = 0; /* Freq control register: ARR */。
TIM2_CCR1 = 0; /* Dutycycle control register: CCR */。
TIM2_PSCR |= 0x00; /* fCK_CNT is equal to fCK_PSC. */。
TIM2_CR1 |= 0x01; /* Enable TIM2. */ 。
current_note = 1;。
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: Buzz_Wait */。
/* INPUT/OUTPUT: Note duration (4bit MSB information) / None. */。
/* DESCRIPTION: 1) Sample AIN voltage and store in AD_Value. */。
/* 2) Polling wait routine for note duration(based on 4ms delay).*/。
/* duration: Quaver (2), crotchet (4) or minim (8) selection. */。
/* ---------------------------------------------------------------------------*/。
void Buzz_Wait(unsigned char duration)。
int i = 0;
unsigned char uc = 0;。
unsigned long Temp;。
/* Sample AIN voltage in ADC single mode. */。
ADC_CR1 |= 0x01; /* First set ADON to power on the ADC module. */。
i = 6; /* Wait >7us to ensure the ADC power on finished.*/。
while(i--); 。
ADC_CR1 |= 0x01; /* Set ADON again to start AD convert. */。
while(!(ADC_CSR & 0x80));/* Waiting for AD convert finished (EOP=1). */。
/* Store ADC value to AD_Value */。
AD_Value = ((((unsigned int)ADC_DRH)<<2)+ADC_DRL)>>2;。
if (AD_Value < 0x01)。
{ AD_Value = 0x01; }。
if (AD_Value > 0xC0)。
{ AD_Value = 0xC0; }。
if (Flag_Octave_Chg==1)。
{
Temp = ((((unsigned int) Low_Note_h [c1_buf])<<8)+Low_Note_l [c1_buf]);。
}
else
{
Temp = ((((unsigned int) Hi_Note_h [c1_buf])<<8)+Hi_Note_l [c1_buf]);。
}
Temp = (Temp*AD_Value)>>9;。
/* The new duty cycle value is written in CCR */。
TIM2_CCR1H=(unsigned char)(((unsigned int)Temp & 0xff00)>>8);。
TIM2_CCR1L=(unsigned char)((unsigned int)Temp & 0x00ff);。
/* Delay time = duration * Y */。
while ( uc < duration ) /* The following loop is run "duration" times. */。
{
while ( i < 1200 ) /* This loop "Y" waits approximately 4.3ms. */。
{
i++;。
}
i = 0;。
uc++;
}
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: Buzz_PlayTune */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Plays a music score (one tune at a time). */。
/* -------------------------------------------------------------------------- */。
void Buzz_PlayTune ( void ) 。
unsigned ui;。
unsigned long temp_DCR;。
unsigned char temp;。
while(1)
{
if(tune[current_note] == _END_)。
{
/* End of the music, reset to beginning. 1 is a mute at the */。
/* beginning of the array of notes; differs from 0. */。
current_note = 1;。
break;。
}
else if(tune[current_note] == _PAUSE_)。
{
/* End of a tune, save the position in the music, stop playing. */。
current_note++;。
break;。
}
else
{
c1 = tune[current_note];。
/* Loads a note (or mute) on the relevant registers */。
/* The note information is carried only by the 4 lowest bits. */。
c1_buf= c1 & 0x0f;。
if (Flag_Octave_Chg==1)。
{
temp_DCR = ((((unsigned int)Low_Note_h [c1_buf])<<8)+Low_Note_l[c1_buf]);。
TIM2_ARRH = Low_Note_h [c1_buf];。
TIM2_ARRL = Low_Note_l [c1_buf]; 。
}
else。
{
temp_DCR = ((((unsigned int) Hi_Note_h [c1_buf])<<8)+Hi_Note_l [c1_buf]);。
TIM2_ARRH = Hi_Note_h [c1_buf];。
TIM2_ARRL = Hi_Note_l [c1_buf]; 。
}
temp_DCR = (temp_DCR*AD_Value)>>9;。
/* The new duty cycle value is written in DCR0. */。
temp=((unsigned int)temp_DCR & 0xff00)>>8;。
TIM2_CCR1H=(unsigned char)temp;。
temp=((unsigned int)temp_DCR & 0x00ff);。
TIM2_CCR1L=(unsigned char)temp;。
/* Waits for the duration of the note. */。
/* The duration info is carried by the 4 highest bits. */。
Buzz_Wait(c1&0xF0);。
/* Progressing in the array of notes: the tune. */。
current_note++;。
}
}
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: GPIO_Init */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Initialize the GPIO for LED,TLI. */。
/* -------------------------------------------------------------------------- */。
void GPIO_Init(void) 。
/* LED IO Configuration */。
/* LD3: PD3 */。
/* LD2: PD1 */。
/* LD1: PD0 */。
PD_DDR |= 0x0D; /* Output. */。
PD_CR1 |= 0x0D; /* PushPull. */。
PD_CR2 = 0x00; /* Output speed up to 2MHz. */。
/* PD7 external interrupt */。
EXTI_CR1 = 0x00; /* External interrupt (TLI) sensitivity. */。
EXTI_CR2 = 0x00;。
PD_DDR &=~0x80; /* PD7: Input */。
PD_CR2 |= 0x80; /* Enable TLI interrupt. */。
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: CLK_Init */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Initialize the clock source */。
/* -------------------------------------------------------------------------- */。
void CLK_Init(void)。
/* Configure HSI prescaler*/。
CLK_CKDIVR &= ~0x10; /* 01: fHSI= fHSI RC output/2. */。
/* Configure CPU clock prescaler */。
CLK_CKDIVR |= 0x01; /* 001: fCPU=fMASTER/2. */。
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: ADC_Init */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Initialize the AD converter. */。
/* -------------------------------------------------------------------------- */。
void ADC_Init(void)。
ADC_CR2 = 0x00;。
ADC_CR1 = 0x00;。
ADC_CSR = 0x03;。
ADC_TDRL = 0x20;。
/* -------------------------------------------------------------------------- */。
/* ROUTINE NAME: TIM_Init */。
/* INPUT/OUTPUT: None. */。
/* DESCRIPTION: Initialize the TIM4 as LED timebase. */。
/* -------------------------------------------------------------------------- */。
void TIM_Init(void)。
/* TIM4 Peripheral Configuration */ 。
/* Time Base configuration */。
TIM4_PSCR = 0x04; /* Configure TIM4 prescaler. */。
TIM4_ARR = 0xFF; /* Configure TIM4 period. */。
/*TIM4 counter enable */。
TIM4_CR1 |= 0x01; /* Enable TIM4. */。
TIM4_IER |= 0x01; /* Enable TIM4 OVR interrupt. */。
/* -------------------------------------------------------------------------- */。
/* ROUTINE: main */。
/* main entry */。
/* -------------------------------------------------------------------------- */。
void main ( void )。
{
unsigned int j;。
_asm("sim"); /* Disable interrupts. */。
Flag_Octave_Chg=0;。
CLK_Init();。
GPIO_Init();。
TIM_Init();。
ADC_Init();。
_asm("rim"); /* Enable interrupts. */。
Buzz_Init (); /* Init TIMER peripheral. */。
while ( 1 )。
{
/* Play the current score. */ 。
Buzz_PlayTune();。
Buzz_Wait(0x80); /* Wait around one second. */。
}
/* --------------------------- End of file -----------------------------------*/。
#include<reg52.h>。
sbit bz=P3^1;
unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};。
unsigned char n,time=60;。
main()
P1=a[0];
P2=a[6];
TMOD=0X01;
TH0=(65536-10000)/256;。
TL0=(65536-10000)%256;。
EA=1;
ET0=1;
TR0=1;
while(1);
timer0() interrupt 1。
TH0=(65536-10000)/256;。
TL0=(65536-10000)%256;。
if(time!=0)
n++;
if(n==100)
n=0;
time--;
P1=a[time%10];
P2=a[time/10];
else bz=~bz;