版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目2使用数码管实现计数操作学习情境2-单片机控制数码管的显示任务5--数码管的左移3任务要求:根据源程序代码,小组内讨论并分析该程序实现的功能是什么?引导问题10根据学习情境2项目2所学知识,在实现数码管的动态显示时,为什么需要进行段码和位码的锁存?承上引导问题11接上题,在实现段码和位码锁存的时候,使用的是哪个芯片?锁存引脚为高电平还是低电平时实现数据锁存?承上引导问题12项目2设计程序时,采用P2^2连接段锁存,P2^3连接位锁存,这两个管脚能否使用其它管脚替换?要求小组讨论,共同完成将结果记录到侧边栏承上引导问题13数码管显示数字是其基本功能,如果要求一个数码管以静态显示的方式实现从0~9间隔一秒依次变化,将设计实现的思路写到下边。启下引导问题14如果要求一个数码管以动态显示的方式实现从0~9间隔一秒依次变化,将设计实现的思路写到下边。启下任务6-数码管动态显示一位数字的累加操作任务要求:实现8位数码管中的第3位执行一位数字的累加操作,即先显示0,间隔一定时间后,显示1,然后显示2,以此类推,直到显示到数字9,循环显示。任务分析:
基本实现流程如下:1) 设置好段码和位码的数组;2) 将第三位数码管锁定;3) 取段码的显示数据,锁存;4) 使用for循环实现段码显示数据0~9依次显示。引导问题15(1)硬件连接按照下表的硬件连接说明及注意事项,小组讨论并完成硬件的连接操作,将硬件连接心得写到侧边栏。启下(2)在划横线部分填写合适的代码(1、2、3、4),使程序能完成任务1要求的功能。#include<reg51.h>#defineDataPortP0#defineuccunsignedcharcodesbitDuan_LATCH=P2^2;//定义锁存使能端口段锁存sbitWei_LATCH=P2^3;
//位锁存uccDuanMa[10]={_____1_____};//定义段码数组uccWeiMa[]={______2____};//定义位码数组voidDelay(unsigned
intt);//函数声明voidDelay(unsigned
intt){
while(--t);}main(){
unsigned
inti;
while(1)
{
for(i=0;i<9;i++)
{DataPort=0;//清空数据,防止有交替重影Duan_LATCH=1;//段锁存Duan_LATCH=0;
DataPort=WeiMa[3];//取位码Wei_LATCH=1;
//位锁存Wei_LATCH=0;DataPort=DuanMa[4];//取显示数据,段码Duan_LATCH=1;//段锁存Duan_LATCH=0;
Delay(100000);//扫描间隙延时
}
}}(3)基于上一问题的结论,小组合作完成硬件连接、编写代码、调试程序、下载、运行、观察结果。引导问题16该任务还可以使用下面程序实现。阅读下列代码,完成下列挑战任务。启下(1)小组内讨论并分析该程序,将程序难点写到下面。(2)该程序相比较第一个实现程序,难度更大,更复杂,但是它有什么优点吗?#include<reg51.h>#defineDataPortP0#defineuccunsignedcharcodesbitDuan_LATCH=P2^2;//定义锁存使能端口段锁存sbitWei_LATCH=P2^3;
//位锁存uccDuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uccWeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned
charDisplayData[8];//存储显示值voidDelay(unsigned
intt);//函数声明voidDisplay(unsigned
charFirst,unsigned
charNum);
voidmain(){
unsigned
charnum;
while(1)
{
for(num=0;num<10;num++)
{Delay(500);DisplayData[0]=DuanMa[num%10];//将需要显示的信息赋值给数组Display(2,1);
}
}}/*--------------------------------------------------------------------------------------Display是显示函数,first表示需要显示的第一位,n表示需要显示的位数。----------------------------------------------------------------------------------------------*/voidDisplay(unsigned
charfirst,unsigned
charn){
unsigned
chari;
for(i=0;i<n;i++)
{DataPort=0;//清空数据,防止有交替重影Duan_LATCH=1;//段锁存Duan_LATCH=0;DataPort=WeiMa[i+first];//取位码Wei_LATCH=1;
//位锁存Wei_LATCH=0;DataPort=DisplayData[i];//取显示数据,段码Duan_LATCH=1;//段锁存Duan_LATCH=0;
Delay(200);//扫描间隙延时,时间太长会闪烁,太短会造成重影
}}voidDelay(unsigned
intt){
while(--t);}任务要求:实现8位数码管中的第3,4位执行两位数字的累加操作,即先显示00,间隔一定时间后,显示01,以此类推,直到显示到数字99,然后循环显示。任务7--数码管实现两位数字的累加操作引导问题17(1)参照任务1的实现方式,将任务2实现的思路写到下边。重点考虑任务1中的第二种实现方式。(2)在划横线部分填写合适的代码(1、2、3),使该程序能完成任务2要求的功能。#include<reg51.h>#defineDataPortP0#defineuccunsignedcharcodesbitDuan_LATCH=P2^2;//定义锁存使能端口段锁存sbitWei_LATCH=P2^3;
//位锁存uccDuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uccWeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned
charDisplayData[8];//存储显示值voidDelay(unsigned
intt);//函数声明voidDisplay(unsigned
charFirst,unsigned
charNum);
voidmain(){
unsigned
charnum;
while(1)
{
for(num=0;num<100;num++)
{Delay(500);DisplayData[0]=DuanMa[num/10];
DisplayData[1]=DuanMa[num%10];Display(2,2);
}
}}/*--------------------------------------------------------------------------------------Display是显示函数,first表示需要显示的第一位,n表示需要显示的位数。----------------------------------------------------------------------------------------------*/voidDisplay(unsigned
charfirst,unsigned
charn){
unsigned
chari;
for(i=0;i<n;i++)
{DataPort=0;//清空数据,防止有交替重影Duan_LATCH=1;//段锁存Duan_LATCH=0;DataPort=WeiMa[i+first];//取位码Wei_LATCH=1;
//位锁存Wei_LATCH=0;DataPort=DisplayData[i];//取显示数据,段码Duan_LATCH=1;//段锁存Duan_LATCH=0;
Delay(200);//扫描间隙延时,时间太长会闪烁,太短会造成重影
}}voidDelay(unsigned
intt){
while(--t);}引导问题18如果要求实现8位数码管第6,7,8位显示三位数字的累加操作,需要怎样修改程序。(1)小组内讨论并分析该程序,将程序修改部分写到下面。(2)基于上一问题的结论,小组合作完成硬件连接、编写代码、调试程序、下载、运行、观察结果。任务要求:参考任务1和任务2,实现1位数字、2位数字、3位数字的递减操作,小组内讨论并完成程序。将关键代码修改部分写到下面。任务7--数码管实现两位数字的累加操作任务要求:本任务要求完成一个时钟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年石家庄工商职业学院单招职业技能考试模拟试题含详细答案解析
- 2026年广西卫生职业技术学院单招综合素质笔试备考题库含详细答案解析
- 2026年天津公安警官职业学院单招综合素质笔试模拟试题含详细答案解析
- 2026年焦作工贸职业学院高职单招职业适应性测试备考题库及答案详细解析
- 2026年聊城职业技术学院单招综合素质笔试备考题库含详细答案解析
- 2026年皖西卫生职业学院单招职业技能考试备考试题含详细答案解析
- 2026年陕西能源职业技术学院单招职业技能考试备考试题含详细答案解析
- 2026年兰州职业技术学院高职单招职业适应性测试模拟试题及答案详细解析
- 2026年湘中幼儿师范高等专科学校单招综合素质笔试备考题库含详细答案解析
- 2026贵州省审计厅所属事业单位招聘2人考试重点题库及答案解析
- 专利免责合同范例
- 《我国中药饮片产业国际竞争力探析》9200字(论文)
- 检验项目管理培训
- 《梅毒诊断及治疗》课件
- DB45T 2313-2021 奶水牛同期发情-人工授精操作技术规程
- 购买助动车合同模板
- 两个合伙人股权协议书范文模板
- GB/T 44082-2024道路车辆汽车列车多车辆间连接装置强度要求
- 控烟中医科普知识讲座
- 脱碳塔CO2脱气塔设计计算
- 产品报价单货物报价表(通用版)
评论
0/150
提交评论