完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
用tab排版之后可移植性果然差了很多……
顺便还有几个小问题。 1、主函数里面依然需要设置 TH0 = (65536-TIME)/256; TL0 = (65536-TIME)%256; 吗? 因为我不了解具体的定时器的工作,是独立于CPU的么? 那样在interrupt 1 里面已经设置了 TH0 = (65536-TIME)/256; TL0 = (65536-TIME)%256; 上电之后定时器就应该开始跑了吧……那在主函数里面再初始化不是很多余么。。 |
|
|
|
|
|
|
|
|
|
|
|
首先,你的这个代码不够规范 工程首先要有一个总的说明与描述 然后每个函数都要有说明功能返回值,还有 语句 对齐与空格 还有注释 这些都很重要 一定要养成良好的习惯 不然程序一多了 自己先乱了 找错都费劲
其次,调试时有技巧的 分步,分功能去调试,我打个比方 四个数码管弄不清楚的话就一个一个来 最后,要有耐心,这是最关键的!也是最重要的 |
|
|
|
解决了就好
|
|
|
|
看看…………。……。……。…。……。…。…。。……………。
|
|
|
|
谢谢你的点评 以后我会注意你所说的细节 |
|
|
|
分享一下自己写的程序
/*========================================================== * 开发人员:laowang * 当前版本:V1.0 * 创建时间:11/21/2013 * 修改时间: * 功能说明:用定时器中断实现数码管的动态扫描,大家可以对比用普通的delay()函数来实现动态扫描有什么区别 *==========================================================*/ #include ***it dula = P3^4; //段选 ***it wela = P3^5; //位选 unsigned char num1; //定义一个变量,用来对定时器中断进行计数 unsigned char code table1[]= //数码管(共阴)的段选编码,范围是0-F { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; unsigned char code table2[]= //数码管的位选编码,范围是1-8 { 0xfe,0xfd,0xfb,0xf7, //例如,0xfe=1111 1110 点亮第一个数码管 0xef,0xdf,0xbf,0x7f }; /*========================================================== *函数名称:Init() *功 能:对定时器进行初始化 *入口参数: *出口参数: *说 明:定时器0,工作方式为1 *==========================================================*/ void Init() { TMOD = 0x01; // 定时器工作方式为1 TH0 = 63536/256; //赋初值,此处设定的中断时间为2ms,(65536-2000)/256 TL0 = 63536%256; EA = 1; //开总中断 ET0 = 1; //打开定时器0中断 TR0 = 1; //开启定时器 } //主函数 void main() { Init(); //初始化 while(1); //程序一直在空循环,如果有中断发生,则去执行中断(进行数码管显示), //平时执行空循环 } /*========================================================== *函数名称:Timer0() *功 能:定时器中断服务内容 *入口参数: *出口参数: *说 明: *==========================================================*/ void Timer0() interrupt 1 //中断序号为1 { TH0 = 63536/256; //每次中断发生后,先进行赋初值 TL0 = 63536%256; //以下部分为数码管的显示部分 P1=table1[num1+1]; //段选信号,将这一语句放在前面有消影的作用 dula=1; dula=0; P1=table2[num1]; //位选信号 wela=1; wela=0; num1++; //对定时器的中断进行计数,每中断一次,数码管更换一次内容 if(num1==8) num1=0; } |
|
|
|
{:3:}
|
|
|
|
默默地努力 发表于 2013-11-21 21:01 请问 你这个有汇编语言的吗? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11780 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 10:47 , Processed in 1.101120 second(s), Total 94, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号