牙龈肿痛吃什么消炎药| 水泡长什么样| 男人是女人的什么| 第一次同房要注意什么| 师团长是什么级别| nas是什么| 木节念什么| 半盏流年是什么意思| 6月26日什么星座| 翡翠戴久了会有什么变化| 什么鱼有毒| s 是什么意思| 原始鳞状上皮成熟是什么意思| 什么是斜视| 撤退性出血是什么意思| 狗子是什么意思| 拿什么不用手| 冉字五行属什么| 生化全套主要检查什么| 脚面麻木是什么原因| 汲汲营营是什么意思| e是什么单位| 夏至该吃什么| 鱼豆腐是用什么做的| 面肌痉挛是什么原因引起的| 多吃什么可以长头发| 什么零食热量低有利于减肥| 婴儿枕头里面装什么好| 水瓶座与什么星座最配| 得意门生是什么意思| 先祖是什么意思| 属龙的守护神是什么菩萨| 手心出汗什么原因| 做梦梦到自己生病了是什么意思| 微量蛋白尿高说明什么| 医院三甲是什么意思| 什么是电解水| 宫腔内偏强回声是什么意思| 野格是什么酒| 五脏六腑是什么意思| 什么叫做罹患疾病| 线束厂是做什么的| 裸车是什么意思| 家有蝙蝠是什么兆头| 办准生证需要什么资料| 吃芒果对人有什么好处| 苏小小属什么生肖| 铁是什么颜色| 长期口苦是什么原因| 老人肚子胀是什么原因| 痰饮是什么意思| 促排卵针什么时候打| 中医师承是什么意思| tommyhilfiger什么牌子| 屎为什么是臭的| 为什么会心肌梗死| 二月春风似剪刀的上一句是什么| 后脖子出汗多是什么原因| 什么是条件兵| 文武双全是什么生肖| 男属鼠的和什么属相最配| 四氯化碳是什么| 感冒发烧吃什么好| 晚上适合喝什么茶| 硒是什么| 前胸后背长痘痘是什么原因| 子宫直肠窝积液是什么意思| 过敏性结膜炎用什么药| 低烧吃什么药最好| 白无常叫什么名字| 女人脾肾两虚吃什么好| 牛黄解毒片不能和什么药一起吃| 肿瘤指标偏高什么意思| 舌战群儒是什么意思| 肾最怕什么食物| 严重脱发是什么原因| 什么的清香| 红豆薏仁水有什么功效| 开水烫了用什么紧急处理| 琥珀五行属什么| 脚后跟疼用什么药好| 吃一个海参相当于吃了什么| 尿发黄是什么原因| 昆明有什么好吃的| 寒冷的反义词是什么| 低蛋白血症吃什么最快| 肺动脉流的是什么血| 劳燕分飞是什么意思| 座驾是什么意思| 为什么会多囊| 豆腐是什么意思| 包租婆是什么意思| 儿童缺铁吃什么补得快| 孕妇吃维生素c有什么好处| 大便失禁是什么原因造成的| 大作是什么意思| 为什么胸一碰就疼| 唯利是图是什么生肖| 12月17号什么星座| 乳腺结节应该挂什么科| 验孕棒什么时候测准确| 海蜇是什么动物| 肾阳虚吃什么中药| 泪沟是什么| 96122是什么电话| 吃什么能生精和提高精子质量| 悬饮是什么意思| cmc是什么| 伤食是什么意思| 解脲脲原体是什么意思| 什么是肥皂剧| 2024年属什么| 性出血是什么原因造成的呢要怎么办| 4月4日是什么日子| 心急是什么病的症状| 凌霄花什么时候开花| 一日三餐是什么生肖| 淋巴炎挂什么科| 生育保险是什么意思| 处女膜破了有什么影响| 子宫癌筛查做什么检查| samsung是什么牌子| 瑞字属于五行属什么| 锁阳泡酒有什么功效| 梦代表什么生肖| 梦见黑色的蛇是什么意思| 肠炎可以吃什么食物| 医保卡是什么| 甲状腺炎吃什么药好得快| 白里透红的透是什么意思| 血脂高能吃什么水果| 异位妊娠是什么意思| 上焦不通吃什么中成药| 晨起嘴苦是什么原因| 超敏c反应蛋白高说明什么| 什么食物含蛋白质高| 肾结石吃什么药最好| 什么火锅最好吃| 空腹血糖受损是什么意思| 室内传导阻滞什么意思| 羊的尾巴有什么作用| 为什么不建议女人上环| 王源粉丝叫什么| 阿戈美拉汀片是什么药| 间接胆红素高是什么原因| 放疗有什么副作用| 左下腹疼痛挂什么科| 贤惠是什么意思| cdfi未见明显血流信号是什么意思| 头晕呕吐是什么原因| 蛇脱皮在家有什么预兆| 病是什么结构| 丹参是什么样子| 什么蔬菜含钾高| 绿茶婊是什么意思| 荔枝有什么好处| 辰字属于五行属什么| 日字旁跟什么有关| 一什么木屋| 女人大腿内侧黑是什么原因引起的| 女性喝什么茶比较好| 胰腺炎是什么| 大便不正常是什么原因造成的| 当兵什么时候体检| 吃什么降糖最快| 前庭功能是什么意思| 珙桐属于什么植物| 什么降胆固醇| 慢性阑尾炎吃什么药| 女性经常手淫有什么危害| 粉蒸肉用什么肉好吃| 唐僧取经取的是什么经| 亨廷顿舞蹈症是什么病| 赶集是什么意思| 球是什么意思| 萝卜喝醉了会变成什么| 尿检阴性是什么意思| 早餐做什么| 倒走对身体有什么好处| 什么是红斑狼疮病| 农历3月14日是什么星座| 什么的陪伴| 尿黄吃什么药| 老年人血压忽高忽低是什么原因| 犹太是什么意思| 国字脸适合什么发型| 抛光是什么意思| 闹觉是什么意思| 牙疼可以吃什么药| 985和211是什么意思| 总价包干是什么意思| 内心孤独的人缺少什么| 送什么礼物给女老师| 什么样的女人容易出轨| 逆流而上是什么意思| 蜜蜂为什么要采蜜| 早晨5点是什么时辰| 眼花缭乱是什么意思| 士人是什么意思| 影子代表什么生肖| 脾阳虚吃什么食物好| 静脉炎的症状是什么| 1969年什么时候退休| 猪八戒有什么优点| 白菜发苦是什么原因| 鬼子来了为什么被禁| 幽门螺旋杆菌弱阳性是什么意思| 什么情况下要打狂犬疫苗| 玹字五行属什么| 掼蛋是什么意思| 三级残疾是什么程度| 头七有什么规矩| 深海鱼油什么牌子好| 庖丁是什么意思| 梦见输钱是什么预兆| 肚子拉稀像水一样是什么情况| 皇帝菜是什么菜| 04年属什么| 风向标是什么意思| 童子是什么意思| 孕妇梦见别人怀孕是什么意思| 瓠子是什么| 井是什么生肖| pdrn是什么| 文科生选什么专业| 白脉病西医叫什么病| 五音指什么| 夏天出汗多是什么原因| 代谢不好吃什么药| 黄昏是什么时辰| c肽测定是什么意思| 月抛什么意思| 成语什么争鸣| 干咳喝什么止咳糖浆好| 吃什么增加抵抗力| sara是什么意思| 经常的近义词是什么| norm什么意思| dears是什么意思| 什么是肇事逃逸| 中元节出什么生肖| 神经内科看什么病的| 低压高用什么药| 官宣是什么意思| 补牙用什么材料最好| 霖五行属性是什么| 缺碘会有什么症状| 腰腿疼痛吃什么药效果好| 拉黑屎是什么原因| 生理曲度变直什么意思| love是什么词性| 孩子吃什么有助于长高| 荔枝什么时候成熟| 93什么意思| 自残是什么心理| 小孩子上火吃什么能降火| 索是什么意思| 指尖发麻是什么原因| 无犯罪证明需要什么材料| 怀孕嗜睡什么时候开始| 十一月底是什么星座| 杜甫自号什么| 躺枪是什么意思| 猴跟什么生肖配对最好| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 不用仿真器一样进行AVR程序开发

 京公网安备110115000130—110115000225号

作者: 时间:2025-08-04 来源:网络 收藏
百度 器型有盘、碗、瓶、壶、罐、盒、枕等。

在开发单片机程序时,有许多人依赖于仿真机,一旦离开了仿真机开发程序时就感觉无从下手。其实对FLASH存贮器单片机,不要仿真机也能方便快速地开发程序。具体可以从以下几方面入手:

一、尽量使用高级语言开发系统程序 您有没有在写汇编程序时,标错一个标号而浪费您大把时间找错或跳转偏移量过大而不得不改动程序结构的经历。其实您如果使用高级语言开发程序,就不会有这样的痛苦。 在开发程序时,除了建立一个良好的开发文档外,使用语言的选择也很重要。有许多人认为使用汇编写程序比较精简,而用高级语言开发会浪费很多程序空间,其实这是一种误解。对一个有经验的,而且非常熟悉某种单片机的汇编高手而言,他是能写出比高级语言更精简的代码。而对汇编不是很熟的开发者、或突然更换了一种新的单片机,您能保证一定可以写出比高级语言更简练的代码吗? 高级语言的优越性是汇编语言不能比的:
1、程序移植方便
2、程序的坚固性
3、对数学运算的支持
4、条理清晰的结构化编程,程序的可维护性
5、开发周期短
现在的高级语言编译器(如C编译器)已可以产生代码效率很高的机器代码,因此建议大家能用高级语言实现的程序尽可能使用高级语言写,在对速度和时序要求特严的场合可以采用混合编程的方法来解决。

二、更多的使用软件模拟仿真环境 现在许多单片机都提供软件模拟仿真环境,如单片机" style="color:blue;text-decoration:none;font-weight:normal;">单片机就可以在ATMEL公司提供的 STUDIO开发平台的模拟仿真环境中进行软件的模拟调试。BASCOM-AVR还提供了更加人性化和配合外部图形界面(键盘、标准LCD显示器等)的软件模拟调试环境。 ATMEL的AVR STUDIO是一个开发AVR单片机的集成开发环境,其支持高级语言和汇编语言的源代码级软件模拟调试。在模拟仿真条件下调试算法、程序流程等可以说和硬件仿真机是没有区别的;而调试延时程序、计算一段程序运行所花的时间等方面,可以说比硬件更方便,因为许多仿真机(如JTAG ICE)是无法提供程序运行时间等调试参数的。 另外,对I/O端口、定时器、UART、中断响应等,在AVR STUDIO中均可实现模拟仿真,用户也可以采用软件的单步运行、设置断点等手段,分析内存和查看AVR中所有的硬件资源的数据以及使用情况。 学会使用和以软件模拟仿真为主、已硬件仿真配合的系统开发调试手段可以大大提高项目的开发效率,缩短开发周期。因为,一旦系统整体设计完成,硬件PCB板的设计和制作同软件系统的开发可同时进行。当硬件系统板完成后,软件总体的架构也已经调试完成,既可进行实际的调试阶段。

三、善用目标板上的硬件资源 在许多系统目标板上均有LED、数码管、RS232等附件和接口,其实利用好这些附件接口,也能实现和完成程序的调试开发。 我们使用的目的是要观察单片机内部的状态和数据,利用这些附件和FLASH存贮器多次可擦写的特点,完全可以观察到单片机内部的状态。 AVR单片机是支持ISP的FLASH单片机,开发时可以通过下载电缆将其和PC连成一个整体,在程序编译完后立刻下载到目标MCU中运行。在需要观察单片机内部状态时,可以程序的适当位置加入少部分代码,把MCU的内部状态和数据通过LED、数码管等显示出来。在有RS232通信接口的应用中,可以直接将需要观察的MCU内部状态送到PC机,在PC机上用串口调试器等一些超级终端来显示数据。现在大部分的开发环境本身就提供了超级终端,如ICC、CVAVR、BASC0M-AVR等。 由于单片机采用了支持ISP的Flash技术,因此采用高级语言开发系统程序,更多的以软件模拟仿真技术,加上使用串口输出调试数据的开发手段已成为开发单片机和嵌入式系统(如32位ARM的COMMAND调试手段等)的流行和高效的方法。

四、举例
在开发AVR的I2C应用例程时,使用串口输出调试数据的方法介绍。
首先初始化UART。可以看出初始化UART只需要很少的几行代码,在完成程序调试后将可以将其删除。如果你的系统程序本身就需要使用串口,那么初始化UART就没有一行多余的代码了。
void uart_init(void)
{
UCSRB=(1

然后我们可以写一个putchar函数,或直接使用标准输入输出库中的putchar函数。
void putchar(unsigned char c)
{
while (!(UCSRA(1

接下来只要在需要调试的程序部分调用putchar函数就可以将一些需要查看的
MCU中硬件资源的数据和状态送PC机显示了。如要观察I2C中断程序中TWSR寄存器的值,只要在I2C中断程序中插入两行代码就可以了:
#pragma interrupt_handler TWI_ISR:iv_TWI
void TWI_ISR(void)
{
unsigned char temp = TestAck();
putchar(temp);
switch (temp);//调试完后,本行改为switch(TestAck()),
//删除上面两行就可以了。
{
case SR_SLA_ACK:
{
fill_rece();
TWI_STATE=TWI_RD;
Twi_ACK();
Break;
}
. . .
}
}

在PC机的超级终端软件中,设置波特率、数据格式后打开串口就可以观察TWSR寄存器的状态值了。



关键词: 仿真器 AVR 程序开发

评论


相关推荐

技术专区

关闭
什么样的鲜花 榴莲和什么不能一起吃 经常饿是什么原因 什么水果通便效果最好 羊水是什么颜色
历程是什么意思 腊月初八是什么星座 fwb什么意思 otc代表什么 尿道口灼热感吃什么药最快
什么是甘油 最大的罩杯是什么杯 海澜之家属于什么档次 后背疼是什么病的前兆 为什么医生爱开喜炎平
送什么礼品好 胆囊壁稍毛糙是什么意思 前程无量是什么意思 头很容易出汗什么原因 三维和四维有什么区别
菩萨是什么意思xscnpatent.com 下午7点是什么时辰hcv8jop7ns0r.cn 首发是什么意思hcv8jop4ns9r.cn 什么馅的馄饨好吃hcv8jop8ns7r.cn 残疾证有什么好处hcv8jop6ns1r.cn
脖子上有肿块挂什么科hcv8jop4ns5r.cn 清洁度111是什么意思hcv8jop0ns2r.cn 自信过头叫什么hebeidezhi.com 1970属什么hcv7jop5ns2r.cn 68年属什么hcv9jop2ns1r.cn
今年二十岁属什么生肖aiwuzhiyu.com 狗叫是什么意思hcv8jop5ns3r.cn 高级护理是干什么的hcv8jop8ns9r.cn 过期的维生素c有什么用途hcv8jop8ns5r.cn 大腿肿胀是什么原因hcv9jop6ns8r.cn
pb是什么hcv9jop3ns8r.cn 月经提前10天是什么原因hcv8jop5ns5r.cn 白细胞正常c反应蛋白高说明什么hcv8jop8ns0r.cn 为什么一直不怀孕是什么原因baiqunet.com lpp什么意思hcv8jop8ns7r.cn
百度