资源描述
液晶电视实习平台用户手册
桂林电子科技大学
机电综合工程训练中心
-3-18
序言
电子实习是电子类专业院校必开实习课程,是提升学生对电子技术实践动手能力关键教学步骤,关键是为了落实理论联络实际教学标准,巩固和扩大学过电子技术基础知识,同时电子装配工艺有足够了解。基于此目标,我们开发了此液晶电视实习平台作为高等院校电子实习内容。
一、系统组成
1.1 实习平台资源
液晶电视实习平台由六个模块组成:高频头模块、中放电路模块、液晶屏驱动电路模块、伴音模块、单片机模块和电源模块。各模块之间经过固定接口进行连接。
图1-1 实习平台位置图
图1-2 实习平台硬件图
1.1.1 高频头模块
1.1.1.1 硬件组成
此电路关键由高频头、自动调整电路和自动/手动装换等电路组成。图1-2所表示。
图1-2 高频头和自动调整电路组成
1.1.1.2 接口定义
对外接口关键经过IDC16接插件进行连接,各引脚定义图1-3:
图1-3 对外接口定义
其中
1脚:手动/自动对比度公共输出端,接液晶屏驱动电路对比度调整端
2脚:对比度自动调整,接51单片机P3.2输出引脚,PWM调整
3脚:+5V模块电源
4脚:手动/自动亮度公共输出端,接液晶屏驱动电路亮度调整端
5脚:亮度自动调整,接51单片机P3.1输出引脚,PWM调整
6脚:VH波段电压自动调整输出,和8脚配合使用,当VH为1,VL为0时,处于VH段接收。
7脚:+33V调台电压
8脚:VL波段电压自动调整输出,和6脚配合使用,当VH为0,VL为1时,处于VL段接收。
9脚:自动调台,接51单片机P3.3输出引脚,PWM调整
10脚:电视信号输出端,送往送放电路
11脚:中放电路工作电路+12V
12脚:+5V模块电源,同3脚
13脚:音量自动调整输出,接51单片机P3.0输出引脚,PWM调整
14脚:接来自中放电路AGC控制电压
15脚:音量调整输出,接伴音电路音量控制输出端
16脚:来自中放电路控制电压,控制高频头电压
1.1.2 中放电路模块
1.1.2.1 硬件组成
此电路关键由预中放、声表面滤波器、图像中放和视频跟随输出等电路组成,图1-4所表示。
图1-4 中放电路模块
1.1.2.2 接口定义
图1-5 中放电路模块接口
其中:
1脚:电视信号输出
2脚:+12V模块电压
3脚:视频信号输出
4脚:来自高频头及自动调整模块中频信号
5脚:同时信号正脉冲,输出到单片机P2.7
6脚:中放电路输出AGC控制电压,控制高频头信号
7脚:同时信号负脉冲,输出到单片机P2.6
8脚:输出到高频头控制端
9脚:AFT电压输出端,经单片机检测后确定电视机搜台最好状态
10脚:接地
1.1.3 液晶屏驱动电路模块
1.1.3.1 硬件组成
此电路由色度亮度解码电路、。。。。。。电路组成,图1-6。
图1-6 液晶屏驱动电路模块
1.1.3.2 接口定义
图1-7 液晶驱动模块接口
J601:亮度调整电位器接口
J602:对比度调整电位器接口
J603:液晶屏驱动电路视频信号输入和工作电压+12V
1.1.4 伴音电路模块
1.1.4.1 硬件组成
此电路由鉴频电路、电压放大电路和功率放大电路等组成,图1-8。
图1-8 伴音电路模块电路
1.1.4.2 接口定义
图1-9 伴音模块电路接口
1、2脚:接地
3、4脚:音量自动控制输入端
5、6脚:电视信号输入端
7、8脚:电视声音信号输出到扬声器
9、10脚:+24V模块工作电压
1.1.5 单片机控制电路模块
1.1.5.1 硬件组成
此电路关键由单片机、1602液晶屏、A/D转换器ADC0832、红外接收头、I2C存放器24C08等电路组成,图1-10.
图1-10 单片机控制电路模块
1.1.5.2 接口定义
图1-11 单片机控制电路模块接口
其中:
1脚:检测正脉冲同时信号
2脚:+5V模块工作电压
3脚:检测正脉冲同时信号
4脚:接来自中放电路AFT电压,经A/D转换后判定接收电台最好状态
5脚:输出到音量自动调整电路,在自动调整电路中经PWM调整后输出
6脚:输出控制VH波段电压
7脚:输出到亮度自动调整电路,在自动调整电路中经PWM调整后输出
8脚:输出控制VL波段电压
9脚:输出到对比度自动调整电路,在自动调整电路中经PWM调整后输出
10脚:输出到调台自动调整电路,在自动调整电路中经PWM调整后输出
1.1.6 电源电路模块
1.1.6.1 硬件组成
此电压关键由变压器、整流管、稳压管、DC-DC变换等电路组成,图1-12。
图1-12 电源电流模块
1.1.6.2 接口定义
图1-13 电源电路接口
其中:
1、2脚:+24V伴音电路工作电压
3、4脚:+12V液晶屏工作电压
5、6脚:+33V高频头调台电压
7、8脚:+5V单片机工作电压
9、10脚:+12V中放电路工作电压
1.2 配件资源
序号
配件
数量
备注
1
7寸液晶屏
1
加ABS塑料外壳
2
1602液晶屏
1
蓝屏
3
51单片机程序下载线
1
4
耳机一副
1
5
电源线
1
6
红外遥控器
1
二、光盘资料
液晶电视实习平台说明书、51单片机下载程序、单片机调台程序。
三、实习平台使用
3.1 开启过程
1、图接好底板和各模块之间连线,把电源电路模块对外接口断开,插上电源线,打开箱体后面电源开关,正常情况下,电源电路模块上5个LED会发光,表示电源电路工作正常。
2、把各个模块电源打开,各个模块电源指示灯应该会亮。
3.2 手动调台过程
1、开启以后,把高频头及自动调整模块5个手动/自动波段开关全部拨至“手动”一边。
2、接上电视信号线,选择VH和VL波段电压。
3、调整调台线性电位器,收到对应电视节目。
3.3 单片机调台过程
1、开启以后,把高频头及自动调整模块5个手动/自动波段开关全部拨至“自动”一边。
2、接上电视信号线。
3、按电视遥控器相关按钮进行选台。
液晶电视实习平台试验指导书
桂林电子科技大学
机电综合工程训练中心
.3
GDYJ0910液晶电视实习平台介绍
GDYJ0910液晶电视实习平台是桂林电子科技大学机电综合工程训练中心设计研发教学设备系统,集试验和实习于一体,该系统针对工科高校本、专科电子信息类专业试验实习教学而设计。
GDYJ0901液晶电视实习平台电路采取了模块化设计理念。依据电视接收和显示原理,把液晶电视电路分为六大模块,各个模块全部是相对独立,模块之间信号是经过固定接口进行连接。实习平台组成方框图以下:
图1-1 液晶电视实习平台组成方框图
GDYJ0910液晶实习平台特点:
1、 模块化设计理念
该系统是依据电视接收和显示原理,把液晶电视电路划分为高频头电路模块、中放电路模块、液晶屏驱动电路模块、伴音电路模块、单片机控制模块和电源电路模块六大模块。各个模块电路功效是独立实现,模块之间是经过固定接口连接。既能确保模块独立性,又能确保液晶电视整体性。模块化设计优点在于能够自由更换各个模块,尤其适合于实习教学。
2、 模拟数字技术结合
液晶电视实现是利用模拟电路技术来实现,而实习平台加入了单片机控制模块,用于红外信号接收和手动调整要求。这么就把数字电子技术引入了实习平台,实现模拟电子技术结合。
3、 硬件和软件相结合
液晶电视系统能够经过手动调整措施能够纯硬件实现,也能够加入单片机控制系统实现自动调整,在单片机控制系统中能够经过编程来完成不一样功效。真正做到了硬件和软件结合。
4、 集试验和实习于一体
因为模块化设计,模块实现和更换是很方便。在该平台上能够完成多个试验,还能够经过扩展模块来完成其它相关试验。同时该系统也适合于学生实习,学生能够单独设计某一模块,也能够设计整个液晶电视,很方便实现。而且在调试过程中经过模块替换措施很轻易排除各类故障。所以说该系统既能用于了解电视原理试验和单片机试验,又能够用于电子类学生实习课程。
5、 系统扩展升级方便、实现电路多样化
只要了解了液晶电视实现过程,设计过程中不固定某一个电路实现。通常能完成一样功效电路全部能够替换。这个设计克服了高等院校实习课程内容单调性,学生能够充足发挥自己想象力去设计电路,并经过做板完成测试。
在试验平台上能够开设试验内容:
试验一 稳压电源测试
试验二 图像中放级测试
试验三 伴音低放电路测试
试验四 亮度色度解码电路测试(扩展内容)
试验五 单片机键盘显示试验
试验六 单片机多路PWM控制试验
试验七 EEPROM读/写试验
试验八 单片机红外遥控试验
试验九 A/D转换试验
注:具体试验内容附后。
试验一 稳压电源测试
电视机电源电路是电视机能正常工作前提条件。
一、仪器设备及调试中作用
仪器设备
数量
作用
SS1792C直流稳压电源
1
提供所需电压并用于测量电流
指针式万用表
1
测量交流输入电压和整流等其它直流电压
二、测量在路直流电阻(电视插头不接电源)
下面三项测试中,电视机插头不接电。
1. 变压器初级电阻
方法:万用表档位拨到×1Ω,短接表笔,调零后,测量电视机电源插头两极间电阻。
数据统计:R1= 。
2. 整流输出电阻:
方法:万用表档位拨到×1KΩ,调零后,测量C401两极间电阻,红表笔接才C401正极,黑表笔接C401负极,指针稳定后,读出正向电阻R2;表笔对换后,测出反向电阻R3。
万用表档位拨到×1KΩ,调零后,测量C411两极间电阻,红表笔接才C411正极,黑表笔接C411负极,指针稳定后,读出正向电阻R4;表笔对换后,测出反向电阻R5。
数据统计:正向电阻R2= ;反向电阻R3= 。
正向电阻R4= ;反向电阻R5= 。
3.稳压电源输出电阻:
方法:万用表档位拨到×1KΩ,调零后,测量C403两极间电阻,红表笔接C403正极,黑表笔接C405负极,指针稳定后,测出正向电阻R6;表笔对换后,测出反向电阻R7。
万用表档位拨到×1KΩ,调零后,测量C405两极间电阻,红表笔接C405正极,黑表笔接C405负极,指针稳定后,测出正向电阻R8;表笔对换后,测出反向电阻R9。
数据统计:正向电阻R6= ;反向电阻R7= 。
正向电阻R8= ;反向电阻R9= 。
注:只有电阻值均不出现0或∞情况下,才能进行通电测试。
三、通电测试
1、计算全波整流电路输出和输入关系
通电条件下,电源开关打开,用万用表交流档测量变压器两路输出电压分别为:
V1=_______________ V2=_________________;
用万用表直流档测量经过整流桥滤波以后直流电压分别为:
V3=_______________ V4=_________________;
计算电压输入有效值和输出得关系:
Q1=V1/V3=____________ Q2=V2/V4=_______________。
2、静态工作电压测试
(1)DC-DC变换电路U403—LM34063各脚电压(填入下表):
管脚
1
2
3
4
5
6
7
8
电压(V)
(2)跟随输出Q401偏置电压:
Ub= V; Uc= V; Ue= V。
3、各个模块消耗功率测量
注:在连接电路之前要把直流稳压电源调整到要求电压值,以免因电压过高烧坏电路模块。
把+5V开关拨到下端,用直流稳压电源供电,正常工作时,从直流稳压电源电流显示表读出该电流值I1=____________,算出单片机控制模块消耗功率P1=________________。
把IFA12V开关拨到下端,用直流稳压电源供电,正常工作时,从直流稳压电源电流显示表读出该电流值I2=_____________,算出中放电路消耗功率P2=________________。
把LCD12V开关拨到下端,用直流稳压电源供电,正常工作时,从直流稳压电源电流显示表读出该电流值I3=__________,算出液晶屏驱动电路消耗功率P3=______________。
把+24V开关拨到下端,用直流稳压电源供电,正常工作时,从直流稳压电源电流显示表读出该电流值I4=_____________,算出伴音电路消耗功率P4=________________。
把+33V开关拨到下端,用直流稳压电源供电,正常工作时,从直流稳压电源电流显示表读出该电流值I5=_____________,算出高频头电路功率P5=________________。
计算电源输出总功率P=P1 + P2 + P3 + P4 + P5 =___________________。
***电源调试结束,关闭电源,整理好仪表和导线***
思索题
1、电源电路工作原理是什么?
2、DC-DC变换基础原理是什么?
3、什么是纹波电压?纹波电压为电路有什么影响?
试验二 图像中放级测试
电视机中放幅频特征直接影响到整灵巧敏度、选择性及通频带等特征。
一、 仪表设备及调试中作用
仪器设备
数量
作用
BT-3频率特征测试仪
1
测量中频放大器通道频率特征
万用表
1
测量中频放大器直流工作点电压
二、 图象中放调试
1、静态工作电压测量(不接收电视节目)
(1)三极管Q201电路组成预中放级电路,关键作用是为了赔偿声表面波滤波器插入损耗,测量其静态工作点电压是确保其工作正常关键。
数据统计:Ub= v;Uc= v; Ue= v。
(2)中放IC201-D7611各管脚工作电压:
管 脚
1
2
3
4
5
6
7
8
电压(V)
管 脚
9
10
11
12
13
14
15
16
电压(V)
2、中放幅频特征测试
电视机中放幅频特征直接影响到整灵巧敏度、选择性及通频带等特征。
(1)预置BT-3频率特征测试仪;
预置方法:
① 频标选“1.10”(表示短标为1MHZ,长标为10MHZ),频标幅度和扫频宽度适宜;
② 扫描方法选“窄扫”,输出衰减粗细调置于“0”,调Y位移选钮使显示器上基线于适宜位置;
③ 旋动中心频率旋钮,找到零标(不规则点)后,再继续顺时针方向旋中心频率旋钮,数3个长标,5个短标,对准显示平中心垂直线。即中心频率为35MHZ;
④ Y轴输入口选择带检波探头(带有金属头电缆线),和扫频输出口短接;
⑤ 调整Y增益旋钮,使中心频率35MHZ点基线和扫频线间距离为6大格(调好后就不能再动此旋钮了)。预置完成。
(2)关闭电视和B-3电源,图2-1连接好测试电路。Y轴输入线换用开路电缆(双夹子线)。
(3)开机后,电视置空频道,出现中放幅频特征曲线。标准幅频特征曲线图2-2,曲线应满足:增益≥60db;图象载频点38MHZ增益≥50%;双峰间带宽约3MHZ,顶部凹陷≤20%;三个吸收点幅度应分别为≤5%(31.5MHZ)、≤7%(39.5MHZ)、≤3%(30MHZ)。
(4)画出实测中放曲线,填入图2—3(因为测试条件和仪器误差,应和标准曲线有区分)。
(5)调整BT—3扫频仪“输出衰减”粗细调旋钮,使中心频率基线和扫描线间距为6格,可读出本机实际中放级增益为:粗调+细调= db。
***中放电路调整完成,关闭电源,整理仪器和测试线***
思索题
1、中放电路出现问题,电视将出现什么故障现象?
2、声表面波滤波器在中放电路作用是什么?为何要增加预中放电路?
3、AGC电路作用是什么?
4、AGC电路按被控管受控方法可分哪多个?按电路形式可分为哪多个?
5、画出延迟式AGC特征曲线,并简单说明。
6、画出电视机中放电路原理框图。说明各框功效。
7、中放电路输出信号包含哪些?分别被送到哪个电路?
试验三 伴音低放特征测试
一、仪表设备
仪器设备
数量
作用
失真度测试仪
1
测量伴音低放谐波失真
示波器
1
测量伴音低放输出波形
低频信号发生器
1
产生调试所需多种频率信号
交流毫伏表
1
测量输入和输出信号强度(峰缝值)
万用表
1
测量伴音电路静态直流电压
二、伴音低放电路调试
1、静态工作点测试
(1) 静态电流测试(不接收电视伴音):
方法:用万用表电压1V档,测量3R5(18Ω)两端电压。
数据统计:U = V,求得 Im = U / 18= mA 。(小于30mA)
(2) 伴音集成电路IC301-D7273P管脚工作电压:
管 脚
1
2
3
4
5
6
7
电压(V)
管 脚
8
9
10
11
12
13
14
电压(V)
2、动态调试:
(1) 伴音低放调试仪表连接图5-1,电视不接收信号。
注:Y2、Y3、Y7分别对应于电路板上35、34、19点。
交流毫伏表只配一个时候,能够在输入和输出端之间交替测量。
交流毫伏表在开机时,会因为电流冲击而瞬间达成满偏,属于正常现象,几秒后会恢复正常。
(2) 灵敏度测量:
放大电路灵敏度通常指达成额定输出功率或电压时输入端所加信号电压大小。
测量方法:低频信号发生器输出1KHZ信号,缓慢调整信号输出电平强度,同时观查测V2毫伏表指示,当V2刚好为2V时,停止调整。读出测V1毫伏表读数。
数据统计:伴音低放灵敏度为: 。(小于50mV)
(3) 额定功率测量:
最大不失真输出功率指是放大器输入一定频率正弦波,调整输入信号幅度,输出失真度小于某值时(5%)最大输出功率。
测量方法:
① 低频信号发生器输出1KHZ信号,逐步增大低频信号发生器输出强度(或调整音量电位器)。同时观察示波器显示波形,初步确定波形临界失真时,停止调整;
② 用失真度测试仪测量出此时失真度。假如失真度大于5% 。合适减小信号发生器输出强度;
③ 假如测出失真度小于5% ,满足测量最大不失真功率条件。读出测量V2毫伏表值。
数据统计: Pmax = V22/ r = 。 (Pmax应该≥0.5W,r为扬声器直流阻抗为8Ω)
本试验中失真测试仪测量失真方法:
① 信号从不平衡口输入,衰减器置“0”,量程置“100%”,“电压/校准/失真”置“电压”,频率表选到1KHZ;
② 观察表头指针是否超出表头最大指示,如超出,经过衰减器是指针回到刻度范围内。如没超出,则进入第③步;
③“电压/校准/失真”置“校准”,调整“校准”旋钮,使表头指针指到最大刻度。
④“电压/校准/失真”置“失真”,调整频率“粗调”、“微调”和“相位”三个旋钮,是指针指示最小。从指针指示能够直接读出失真度,读失真度时指针指示在表头中间时最准,能够经过减小“量程”档位来调整:
失真度读数方法:
量程档位位置表示满刻度时失真度,如置“100%”,表示满刻度失真为100% ,指针指到“0.5”(读表头满刻度为1一排)时,能够换算出失真度为50% 。如量程置“30%” ,表示满刻度失真为30% ,指针指到“1.5”(读表头满刻度为3一排),能够换算出失真度为15% 。
(4)频率响应测量:
功放输出增益随输入信号频率改变而提升或衰减和相位滞后随输入信号频率而变现象。这项指标是考评功放品质优劣最为关键一项依据,该分贝值越小,说明功率放大器频率响应曲线越平坦,失真越小,信号还原度和再现能力越强。
测量方法:
① 低频信号发生器输出1KHZ信号,调整信号发生器输出强度和音量电位器,同时观察V2毫伏表指示,当V2为-2db(毫伏表置放到“1V/Odb”档,指针指到-2db)时,停止调整;
② 低频信号发生器输出信号频率从100HZ调整到10KHZ,观察V2毫伏表指示电压改变情况。
数据统计:V2在 db到 db间改变,表明电压不均匀度小于2db 。
***伴音功放电路调整完成,关闭电源,整理仪器和测试线***
思索题
1、画出伴音通道原理方框图,并解释各方框功效作用。
2、全电视信号中包含伴音信号吗?
3、伴音信号是采取什么方法调制?
4、伴音在电视机中采取二次变频处理,两次降频频率各是多少?
5、怎样判定是伴音电路出故障造成无电视伴音现象?
试验四 亮度色度解码电路测试试验(扩展内容)
一、仪表设备
仪器设备
数量
作用
双踪示波器
1
测量各点信号波形
万用表
1
测量静态工作点电压
二、调试步骤
1、静态工作点测量
(1)亮度和色度控制切换集成电路IC601-4053管脚电压:
管 脚
1
2
3
4
5
6
7
8
电压(V)
管 脚
9
10
11
12
13
14
15
16
电压(V)
(2)亮度色度分离集成电路IC602—TDA9181管脚电压:
管 脚
1
2
3
4
5
6
7
8
电压(V)
管 脚
9
10
11
12
13
14
15
16
电压(V)
(3)亮度色度解码电路各三极管偏置电压:(单位V)
B
E
C
Q615
Q616
Q617
2、亮度色度解码电路关键点波形测量
把测试结果填入下面表4-1中:
(1)全电视信号波形:
测试点:液晶屏驱动电路图纸上②点。
(2)色差信号波形:
测试点:液晶屏驱动电路图纸上③点。
(3)亮度信号波形:
测试点:液晶屏驱动电路图纸上④点。
(4)红色差信号波形:
测试点:液晶屏驱动电路图纸上⑤点。
(5)蓝色差信号波形:
测试点:液晶屏驱动电路图纸上⑥点。
用示波器测量波形时,假如已经知道被测信号频率,则先选好扫描时间选择开关,能够提升测量速度。
表4-1 测量信号波形
信号名称
全电视信号
色差信号
亮度信号
波 形
信号名称
红色差信号
蓝色差信号
波 形
***亮度色度解码电路调试完成,关闭电源,整理仪器和测试线***
思索题
1、现在国际上流行三大彩色电视制式是什么?
2、彩色全电视信号包含什么信号?
3、怎样从色差信号中分离出R、G、B三基色信号?
试验四 51开发环境使用
一、试验目标
1、熟悉Keil C51 开发环境
2、学会怎样下载程序
3、掌握Keil C51相关参数设置
4、掌握C51程序函数库文件定义和引用
5、掌握单片机C语言编程基础结构
5、掌握C51中止编程方法
二、试验设备
PC机、GDYJ0910液晶电视实习平台、Keil C51 开发环境、ISP51下载环境
三、Keil C51 开发环境设置
1、新建工程
在编辑程序之前,首先要新建一个工程。点击面板上Project(工程)àNew(新建)à给工程命名à保留在指定路径。
2、选择目标器件
保留了工程以后,软件会跳出目标器件选择界面。这个时候,我们就需要依据所要烧写单片机型号,来选择。比如说AT89S51就要选择Atmel企业下面AT89S51。
3、新建文件
选择完目标器件以后,就会进入到软件编辑界面。此时所建立工程是空白,接下来就要建立一个空白文本文件,并在里面编写你软件。软件编辑完成后,依据软件内容,给此文本文件命名。当用C语言编写时,在保留时候文件后缀用“.C”;当用汇编语言编写时,后缀用“.ASM”;假如是要建立库函数文件,后缀用“.h”。然后点保留,即自动保留在工程所在文件夹里面。
4、在工程中添加程序
保留了编写好文本文件以后,假如要在工程中编译、调试这个文件,就要把它添加到工程中去。添加时只需双击“Source Group 1”,就会跳出添加对话框,然后在里面选中刚才所保留文件,点击“Add”即可。
5、编译软件
点击左上方编译按钮(Rebuild all target fields)软件自动对编辑好程序进行编译处理。但此时并没有生成可烧写到单片机里HEX文件。
6、设置生成HEX文件
在工程根目录“Target 1”上点击鼠标右键,选择“Options for Target ‘Target 1’ ”。在弹出菜单上点击Out(输出),并在选项Create HEX file(创建HEX文件)右边方框上点击打勾,然后点击“确定”即可。
此时再编译一次,就能够在工程文件夹里面生成“.hex”为后缀文件。此文件为下一步把程序下载到单片机上二进制文件。
四、单片机程序下载
单片机程序下载方法会依据编程器不一样而不一样。本试验采取了89s51ISP下载方法把程序下载到芯片里。ISP下载器和上位机连接时,常见有并口、串口和USB口三种接口。下载软件我们使用了PROG ISP来进行。在下载之前首先要选择编程器接口类型,其次是下载芯片型号。选择好了以后单击“调入flash”,选择已经编译好.hex文件,然后点击“自动”,下载软件就会自动把hex文件下载到芯片上。
五、51单片机C语言编程方法
1、MC51库函数
C51提供了丰富能够直接调用库函数,使用库函数能够使程序代码简单,结构清楚,易于调试和维护。下面介绍几类关键库函数,及其引用方法:
(1)专用寄存器文件
专用寄存器文件为51全部特殊功效寄存器SFR和她们位定义。比如8031、8051均为reg51.h,其中包含了全部8051SFR及其位定义。而reg52.h关键为80C52和80C32专用寄存器定义文件。专用寄存器文件里面关键把寄存器名字和它所对应地址联络起来。这么在编程时,就能够直接引用名字,对寄存器进行设置。通常特殊功效寄存器用sfr来定义,而sfr16用来定义16位特殊功效寄存器如DPTR。可位寻址特殊功效寄存器位变量定义用关键字sbit。下面给出reg52.h部分文件内容:
/* BIT Registers */
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
/* BYTE Registers */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sbit P = PSW^0; //8052 only
在用C语言编写51程序时,必需要在程序开始时,引用专用寄存器文件。
(2)intrins.h库函数
内部包含了9个本征函数,编译时产生是插入代码,而不是产生ACALL或LCALL指令去调用一个功效函数,所以代码量小,效率更高。其内部函数说明以下:
_crol_,_cror_: 将char型变量循环向左(右)移动指定位数后返回。
_iror_,_irol_: 将int型变量循环向左(右)移动指定位数后返回。
_lrol_,_lror_: 将long型变量循环向左(右)移动指定位数后返回。
_nop_: 相当于插入NOP。
_testbit_: 相当于JBC bitvar测试该位变量并跳转同时清除。
_chkfloat_: 测试并返回源点数状态。
(3)math.h库函数
math.h内部包含常见算术运算函数,如sin计算正弦、cos计算余弦、tan计算正切、log计算参数自然对数等等。在程序设计中,假如需要用到部分数值运算能够直接调用库里面函数。
(4)库函数引用
在程序中引用库函数时候,通常在程序开始时引用,也叫做头文件。引用库函数要用#include 语句,下面给出一段引用例子:
/*头文件*/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define _Nop() _nop_()
(5)自定义库函数
除了能够调用现有库函数之外,在编程过程中,假如碰到需要反复调用函数,或为了使程序结构清楚,易于移植,我们也能够编写自己库函数文件。下面用一个例子来讲解自定义库函数文件和库函数过程。
在设计中,假如有多个程序全部需要用到LCD显示程序,我们就能够利用前面已经编写好,并调试成功LCD显示程序,把对LCD全部操作子程序定义成一个“lcd.h”库文件,库文件里面包含了全部LCD接口程序定义和子程序具体实现。在需要用到时候,只要在程序头文件里用“#include lcd.h”,就能够在下面程序中直接调用里面子程序了。
自定义库文件和库文件里面函数编写需要两个文件,一个是以“.h”为后缀库文件,里面关键包含了引脚定义、全局变量定义和包含子函数说明。以下所表示:
“lcd.h”
-----------------------------------------------------------------------------
#ifndef _LCD_H_
#define _LCD_H_
#define LCD_BUS P2 /*define lcd data bus*/
sbit _rd = P0^6; /*read signal*/
sbit _wr = P0^5; /*write signal*/
extern void void delay(uint t) /*delay*/
extern void DataWrite(uchar wrdata); /*write data*/
#endif
另一个是和“.h”文件名相同但以“.c”为后缀文件,此文件关键是对前面“.h”文件内部定义子函数,进行具体描述并实现。以下所表示:
“lcd.c”
-----------------------------------------------------------------------------
#include "lcd.h"
void delay(uint t)
{ uint j;
for(j = 0; j < t; j++)
_nop_(); }
void DataWrite(uchar wrdata)
{ delay(1);;
_rd = 1;
_wr = 1;
rs = 1;
LCD_BUS = rr(wrdata); /*write data*/
省略 }
编辑完以后,假如在其它程序需要调用LCD读写指令时,只要在程序开始加上#include "lcd.h"语句即可。
2、C51程序结构
在编写程序时,要使程序能在单片机上运行,最基础要求是有一个主程序main()函数。单片机上电时候,会跳到初始地址#0000H开始运行。C语言中,地址#0000H即是main()函数入口地址。所以程序设计时,关键操作步骤是在main()函数中实现。而其它子函数定义和编写能够放在main()函数之外进行。通常程序结构以下例所表示:
#Include “头文件”
#define 定义变量
play1();
play2();
main()
{ play();
play2() }
因为定义函数作用域遵照向下标准,所以要使在main()函数里面调用play1()和play2()有效,必需在main()函数之前定义好。或在建立需要调用子程序库函数文件,并在main()函数开头用#include语句把它包含进来。
3、中止编程
(1)C语言中止命名方法
C51能够用C来申明中止和编写中止服务程序。中止过程经过使用interrupt 关键字和中止号(0~31)来实现。中止号告诉编译器中止程序入口地址。中止命名方法以下所表示:
中止函数() interrupt 中止号
中止号对应着IE寄存器中使能位,IE寄存器中0位对应着外部中止0。下表反应了中止号和中止源对应关系。在编程时,依据中止源类型来设置中止号即可。
中止号
中止源
0
外部中止0
1
定时器0溢出
2
外部中止1
3
定时器1溢出
4
串行口中止
5
定时器2溢出
比如:用定时器0,当定时器溢出时转入其中止子程序,中止子程序以下所表示:
void tim0_isr (void) interrupt 1
{
irtime++;
}
(2)中止使能寄存器
在程序设计中仅仅有中止服务程序,单片机还不能进行中止操作。C51每个中止源全部有单独使能位,经过软件设置IE中对应使能位,能够在任何时候势能或严禁中止。同时经过设置中止使能寄存器IEEA位,能够势能全部中止。中止势能寄存器IE各位,及功效以下所表示:
中止使能寄存器IE(可位寻址)
EA
-
ET2
ES
ET1
EX1
ET0
EX0
EA ---- 使能标志位,置“1”则全部使中止能使,置“0”则严
展开阅读全文