- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安交通大学电子线路实验实验报告
电子线路实验实验报告
姓名:刘妍
班级:电信硕31
学号:2130508002
指导老师:张良祖、许宏斌、刘美兰
一、实验目的:
1. 学习单片机基础知识;
2. 熟练掌握Keil软件的使用方法;
3. 学会使用C51编程调试实验板,调试程序。
二、实验设备:
计算机、Keil软件、示波器、C51编程调试板等。
三、实验内容:
1.实验一:
创建一个工程将键盘阵列定义为0. 1. 2 E. F,编程实现
键盘设置时钟显示在LED显示屏上,设置日历显示在LCD显示屏上,
用键盘按键实现日历、时钟变换位置显示。
2.实验二:
利用D/A转换通道(下行通道)实现锯齿波发生器;输出(1~5V)
固定电压转换成(4~20mA)电流。
3.实验三:
利用A/D转换通道(上行通道)实现数据采集,将采集信号显示
在LED、LCD屏上。程序要求分别具有平均值滤波、中值滤波和滑动
滤波功能,同时将三种滤波结果显示在LED、LCD屏上。
实验过程:
实验一:
#include SST89x5x4.H
#include INTRINS.H
#define uchar unsigned char
#define uint unsigned int
unsigned char code
table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6
f};
#include keyboard.h
#include pcf.h
#include LCDshow.h
#include show.h
bit ReadTimeFlag=1;
uchar *Time,key,key1;
uint i=0;
uint ChooseFlag=0;
void Init_Timer(void);
void main(void)
{Init_Timer();
Init8563();
LCD_Init();
while(1)
{Key_Init();
key=0xff;
key=GetKey();
switch(key)
{case0x0a://按下10键设置时间
LCD_Init();
Delay_s(1);
TAB_T[0]=0x0;
TAB_T[1]=0x0;
TAB_T[2]=0x0;
key=0xff;
for (i= 6; i 0; i--)
{key=0xff;
while(key==0xff)
{Delay_ms(50);
key=GetKey(); }
if(((i%2)!=1)(i!=6))
{WritD(0x3a);}
key1=Key_ASC2(key);
WritD(key1);
Delay_s(1);
if((key=0x09)(key=0x00)(i4))
TAB_T[2]+=key(4*(i-5));
if((key=0x09)(key=0x00)(i2)(i=4))
TAB_T[1]+=key(4*(i-3));
if((key=0x09)(key=0x00)(i=2))
TAB_T[0]+=key(4*(i-1));}
if(TAB_T[2]=0x24)
TAB_T[2]=0x00;
if(TAB_T[1]=0x60)
TAB_T[1]=0x00;
if(TAB_T[0]=0x60)
TAB_T[0]=0x00;
Write8563(0x03,TAB_T[1]);
Write8563(0x04,TAB_T[2]);
Write8563(0x02,TAB_T[0]);
ChooseFlag=ChooseFlag;
LCD_Init();
break;
case 0x0b: //按下11键设置日期
LCD_Init();
Key_Init();
Delay_s(1);
TAB_T[3]=0x00;
TAB_T[5]=0x00;
TAB_T[6]=0x00;
for(i=7;i0;i--)
{key=0xff;
while(key==0xff)
{Delay_ms(50);
key=GetKey();}
if(((i%2)==1)(i!=7)(i!=1))
WritD(0x2f);
if(i==1)
WritD(0x2d);
key1=Key_ASC2(key);
WritD(key1);
Delay_s(1);
if((key=0x09)(key=0x00)(i5))
TAB_T[6]+=key(4*(i-6));
if
文档评论(0)