编制用软件汇编延时1s程序的程序

哪位会用C语言编写1s 延时程序(不是单片机延时,纯属是在C程序中延时),请求指教_百度知道
哪位会用C语言编写1s 延时程序(不是单片机延时,纯属是在C程序中延时),请求指教
for(b=171;0;
/b&gt,c;a&if Kb--)
for(a=16;a--);0;/c&
for(c=167;
_nop_();误差 0us{0void delay1s(void)
/&#47,require use intrins,b
其他类似问题
为您推荐:
延时的相关知识
其他1条回答
用汇编语言可以吗
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编写一个定时一秒的子程序,利用该子程序编写一个延时一分钟的程序。单片机汇编语言题目求解_百度知道
编写一个定时一秒的子程序,利用该子程序编写一个延时一分钟的程序。单片机汇编语言题目求解
精度不是很高的;分存放单元,#60inc minret delay1sec,de1djnz r5:mov r5:mov r3:mov r4,$djnz r4,看着办delay1min,#10djnz r3,exitmov r6,#20de1,#250de2:acall delay1secdjnz r6equ
能加个好友吗,叫我一下,我一点都不会
建议改学C51语言QQ
其他类似问题
为您推荐:
其他1条回答
这个把你们教科书上的延时程序改改就行了。子程序定时一秒,然后主程序中循环60次。
单片机汇编语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁利用Keil精确实现软件延时_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
利用Keil精确实现软件延时
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
你可能喜欢查看: 1762|回复: 4
用滴答定时器做延时,1s的延时,为什么调试时显示延时一次不是一秒呢
主题帖子精华
初级会员, 积分 73, 距离下一级还需 127 积分
在线时间0 小时
#include"main.h"
#include"delay.h"
uint16_t lay[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管0~9的显示
uint16_t sec=0; &
uint32_t &n,fas_us,Delay_ms,fas_ms,reload,m;
int main(void)
GPIO_InitTypeDef GPIO_D
SystemInit();
delay_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
GPIO_Def.GPIO_Pin=0
GPIO_Def.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Def.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&GPIO_Def);
GPIO_Def.GPIO_Pin=0
GPIO_Def.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Def.GPIO_Mode=GPIO_Mode_Out_PP; & & & &&
& GPIO_Init(GPIOB,&GPIO_Def); & & & & & & & & & & & & & & & &//GPIOA和GPIOB的初始化
GPIO_ResetBits(GPIOA,0XFF);
GPIO_ResetBits(GPIOB,0XFF); & & & & & & & & & & & & & & & //GPIOA GPIOB 引脚清零
GPIO_Write(GPIOA,lay[sec/10]); & & & & & & & & & & & &&
GPIO_Write(GPIOB,lay[sec%10]); & & & & & & & & & & & & &//GPIOA GPIOB中写入数值,GPIOA显示秒表十位数字,GPIOB显示个位数字
delay_ms(100);
& & if(sec==60)sec=0;
void delay_init()
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fas_us=SystemCoreClock/8000000; & & & & & & & & & & & & & & & & & & & & //为系统时钟的1/8
SysTick-&CTRL|=SysTick_CTRL_ENABLE_M & & & & & & & & & & & & & & & & //开启systick
fas_ms=(u16)fas_us*1000;
void delay_ms(u16 nms)
SysTick-&LOAD=nms*fas_ & & & & & & & & & & & & & & & & & & & & & & & & & & //时间加载
SysTick-&VAL=0x00; & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &//清空计数器
SysTick-&CTRL=0X01; & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //ENABLE SYSTICK
temp=SysTick-&CTRL;
while(temp&0x01&&!(temp&(1&&16))); & & & & & & & & & & & & & & & & & & & & //等待时间到达,标志位为1时,跳出循环
SysTick-&CTRL=0x00; & & & & & & & & & & & & & & & & & & & & & & & & & & & &//DISABLE SYSTICK
SysTick-&VAL=0x00; & & & & & & & & & & & & & & & & & & & & & & & & & & & &//清空计数器
ee78aa2e0cf8ff71a58e_308.jpg (0 Bytes, 下载次数: 0)
22:54 上传
程序如上,大神看看有错吗,还有图中的sec 是秒吗,怎么觉得显示为1.000000时觉得过了好长时间呢
主题帖子精华
在线时间273 小时
回复【楼主位】pengxiaokui:
---------------------------------
软件仿真的时候,比现实时间慢很多的。。。。
你下载到单片机仿真,就正常了。
我的淘宝小店:
主题帖子精华
初级会员, 积分 73, 距离下一级还需 127 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
谢谢站长
主题帖子精华
新手上路, 积分 23, 距离下一级还需 27 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
你把主函数启动之前的SystemInit给注释掉,不要忽悠别人好不好,误人子弟。
主题帖子精华
在线时间273 小时
回复【4楼】dhairootDH:
---------------------------------
请看我们教程。楼主的代码,我不知道他哪里搞来的,不要算到我头上。
我的淘宝小店:
Powered by单片机。用汇编语言编程。 设计一软件延时1s的子程序。设晶振频率为12MHz。_百度知道
单片机。用汇编语言编程。 设计一软件延时1s的子程序。设晶振频率为12MHz。
帮帮忙,求求各位大虾!
提问者采纳
(设置频率和记数方式)(上升记数还是下降记数) mov tmr0c.6
(是否有中断请求标志)(有就跳过) jmp $-1
(退回一步) clr tmr0c,high() mov TMR0hdelay1000ms,low() mov TMR0L.4 (打开记数) snz intc0:(HT46R65的单片机)(注意不要开启中断允许位) mov a,a
(计数器的赋予初始值的低位寄存器) mov a,a
计数器的控制寄存器) mov a.4
(关闭记数) clr intc0,a(计数器的赋予初始值的高位寄存器) set tmr0c
其他类似问题
为您推荐:
其他1条回答
你可以算一下啊,每条nop指令需1个指令周期,再设置循环次数次(循环嵌套)
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 软件延时程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信